@chainlink/evm-gauntlet-functions v1.1.4
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:
- From the @chainlink repository go to
/contracts
. - Run
forge build
- 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:
- From the @chainlink repository go to
/contracts
. - In
foundry.toml
the[profile.functions]
temporarily updatetest
to point only to the
test = 'src/v0.8/functions/tests/v1_X/testhelpers/FunctionsClientUpgradeHelper.sol'
- Run:
forge build --build-info --build-info-path=./info
- You will notice a new folder in
./contracts/info
. Verify that it looks as expected, then copy the contents intoFunctionsContracts.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-functionspackage.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 day ago
1 day ago
7 days ago
7 days ago
29 days ago
29 days ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago