1.4.1 • Published 10 months ago

@chainlink/evm-gauntlet-functions v1.4.1

Weekly downloads
-
License
-
Repository
-
Last release
10 months ago

Chainlink Functions package

This package is an contains the comands necessary for interacting with the Chainlink Functions contracts

Handling contract updates

Whenever a contract is changed, the ABI and build must be updated this Gauntlet package.

Prerequisites:

First, ensure that Foundry is installed

In your local environment set the following environment variable to tell Foundry to use the Functions profile:

export FOUNDRY_PROFILE=functions

To update an ABI:

  1. From the @chainlink repository go to /contracts.
  2. Run forge build
  3. In the folder ./contracts/foundry-artifacts/<contract name>/<contract name>.json there will be artifacts. Find the relevant contracts and copy the ABI.

To regenerate the FunctionsContracts.build.json file:

  1. From the @chainlink repository go to /contracts.
  2. In foundry.toml the [profile.functions] temporarily update test to point only to the
test = 'src/v0.8/functions/tests/v1_X/testhelpers/FunctionsClientUpgradeHelper.sol'
  1. Run:
forge build --build-info --build-info-path=./info
  1. You will notice a new folder in ./contracts/info. Verify that it looks as expected, then copy the contents into FunctionsContracts.build.json

*If using Linux, remove the .Linux.gcc suffix from the end of the field "solcLongVersion"

Using a local build

There are scenarios such as when testing new code or deploying to a staging DON that you may want to make changes and use them through the Gauntlet package.

The proper way to do this would be: 1. Make experimental changes 2. Bump the version here in gauntlet-evm's @chainlink/evm-gauntlet-functions package.json 3. Run yarn build from the gauntlet-evm respository 4. Now in the gauntlet repository link local package version using npm link [path to gauntlet-evm's @chainlink/evm-gauntlet-functions package.json] 5. Change gauntlet's package.json to depend on the local version that was bumped to in gauntlet-evm's @chainlink/evm-gauntlet-functions package.json 6. Run yarn install from the gauntlet repository 7. Run yarn build from the gauntlet repository 8. To verify, the gauntlet repository's node_modules should have @chainlink/evm-gauntlet-functions with the version that you set locally and running npm ls -g should show the local package version 9. Now that the packages are linked any hot changes to gauntlet-evm can be reloaded by running yarn build in gauntlet-evm and then again in gauntlet

1.2.0

1 year ago

1.2.4

11 months ago

1.2.3

12 months ago

1.2.2

1 year ago

1.2.1

1 year ago

1.4.1

10 months ago

1.4.0

10 months ago

1.3.0

11 months ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago

0.16.2

1 year ago

0.16.0

1 year ago

0.16.1

1 year ago

0.15.0

1 year ago

0.14.1

1 year ago

0.14.0

2 years ago

0.13.0

2 years ago

0.12.0

2 years ago

0.11.0

2 years ago

0.10.0

2 years ago

0.9.4

2 years ago

0.9.3

2 years ago

0.9.2

2 years ago

0.9.1

2 years ago

0.9.0

2 years ago

0.8.4

2 years ago

0.8.2

2 years ago

0.8.1

2 years ago

0.8.0

2 years ago

0.7.1

2 years ago

0.7.0

2 years ago

0.6.0

2 years ago

0.5.0

2 years ago

0.4.0

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.0.0

2 years ago