trustless-generic-relayer/ethereum/Makefile

51 lines
1.5 KiB
Makefile
Raw Permalink Normal View History

2022-09-09 08:10:12 -07:00
SOURCE_FILES:=$(shell find contracts -name "*.sol")
.PHONY: dependencies forge_dependencies unit-test integration-test clean all
2022-09-09 08:10:12 -07:00
all: build
node_modules: package-lock.json
touch -m node_modules
npm ci
# Note: Forge really wants to manage dependencies via submodules, but that
# workflow is a little awkward. There's currently no support for a more
# traditional package manager workflow (with a package manifest file and
# installation into a subdirectory that can be gitignored).
# Instead, we just specify the dependencies here. make will then take care of
# installing them if they are not yet present.
# When adding a new dependency, make sure to specify the exact commit hash, and
# the --no-git and --no-commit flags (see lib/forge-std below)
.PHONY: forge_dependencies
forge_dependencies: lib/forge-std lib/openzeppelin-contracts
2022-09-09 08:10:12 -07:00
lib/forge-std:
forge install foundry-rs/forge-std@2c7cbfc6fbede6d7c9e6b17afe997e3fdfe22fef --no-git --no-commit
lib/openzeppelin-contracts:
forge install openzeppelin/openzeppelin-contracts@0457042d93d9dfd760dbaa06a4d2f1216fdbe297 --no-git --no-commit
dependencies: node_modules forge_dependencies
2022-09-09 08:10:12 -07:00
build: dependencies
2022-09-09 08:10:12 -07:00
npm run build
Move development branch to main (#23) * refactoring for multidelivery * partial ts-test fixes * use typechain in integration tests, update prettier, fix remaining integration tests * run formatter on solidity files * gas refunding * gas forwarding logic * msg.send -> refundAmount * minor test refactor & additions * created relayer engine directory * more testing & tilt environment config for relayer engine * starting work on the xMint example contracts * additions for relayer engine * minor modifications & todos * fixed some errors * refactoring + cleaned up some TODOs * updated ICoreRelayer interface * adjusted tests for new interface * Working testSend * Merged refactoring + cleaned up some TODOs * updated ICoreRelayer interface * adjusted tests for new interface * Working testSend with new interface' * refactoring interfaces & files for single VAA design * GasOracle implementation of new interface * GasOracle compiles * Gas oracle upgradable * Fix compile errors in GasOracleGovernance * minor core relayer cleanup * Changes to getters, setters, state * implement quoteEvmDeliveryPrice, quoteTargetEvmGas, assetConversionAmount for corerelayer * Correcting interface inconsistencies between CoreRelayerStructs and ICoreRelayer * Fix encodeDeliveryRequestsContainer * added single vaa delivery entrypoint logic * Encode and Decode delivery instructions * Fixed many compile errors * First attempt at removing stacktoodeep error * Commenting out chunks of code to identify stack too deep error * Continue stack too deep quest * Revert "Commenting out chunks of code to identify stack too deep error" This reverts commit 8cd55d26cea2c49dc6e6bfa481c310f1a1c1143a. * Revert "Continue stack too deep quest" This reverts commit f0cde6871e26a7063e20d9a83b63b6a50e32bf37. * Fix stack too deep error in CoreRelayerMessages * tests compile, run, pass * fixing up fee collection assertions * GasOracle tests altering * Rename encodeDeliveryIntructions to convertToEncodedDeliveryInstructions because we are going from delivery request to delivery instruction * adding evm events to delivery execution * forwarding refactor for single vaa * relay provider name refactor * Test file slight refactor to allow for multiple chains * first impl of hub and spoke example * Forward test progress * Forwarding test passes! * More general parameters for test * Testing file more modular, calls 'generic relayer' * redelivery implementation * removing todos * Tests can use arbitrary amount of chains * Address various TODOs * refactored RelayProvider to be upgradeable via proxy * Add overhead inteface to RelayProvider & adjusted necessary fee calculations * added TODOs related to rewardAddress payout * provider price quoting changes * provider payments made at source * Fixed all compile errors * testForward and testSend pass again! * Switched quoteAssetConversion to quoteApplicationBudgetFee in CoreRelayer interface * First round of changes to support individual vaas in offchain relayer - Use new custom plugin event source api in relayer engine - Supports mulit delivery - Config for celo and fuji * contracts deploy successfully to tilt * bug fixes, contracts deploy to tilt * Starting the redelivery test * Tests pass again, with exception of the RelayProvider tests that tested reverts, and the new testRedelivery which isn't finished * small plugin changes * MockRelayerIntegration is used for sending * prepare offchain relayer to run in both tilt and testnet * update readme and npm scripts for offchain relayer * nit: remove console.log(argv) * solc version bump * Tests changed to pass (commented out the tests with differing require statements and kept redelivery incomplete * chain registration typescript scripts * Redeliver works! * Redelivery test works! * testnet deploy + relayer engine test * Testing two sends * Friday changes to round trip on testnet * Shortening current tests * Funds are correct! Relayer gets paid! * Remove extraneous comments * ts scripts for deployment and config * Wormhole Fee Test Co-authored-by: chase-45 <chasemoran45@gmail.com> Co-authored-by: derpy-duck <115193320+derpy-duck@users.noreply.github.com>
2023-01-05 14:26:27 -08:00
npm run typechain
2022-09-09 08:10:12 -07:00
.env: .env.test
cp $< $@
.PHONY: test
test: unit-test
Add tests for send and deliver functionality (#9) * Complete send and deliver functionality * Clean up * Add tests for relayer send method * ethereum: remove interfaces * ethereum: fix test * ethereum: rename directory * ethereum: clean up; add ts tests * Add tests and clean up * ethereum: fix test * ethereum: fix output * Add reentrancy protection and reduce gas overhead for relayers * Add tests for full batch delivery * Update relayer contracts to reflect changes to batch VAA implementation * add rewards payout * implement redeliveries, replay protection * Complete full batch test suite * sdk: add sdk * sdk: fix package.json * Add partial batch unit test and add to integration test * Fix comments in integration test * sdk: fix tsconfig.json * ethereum: fix build * Add relayer registration to integration test * Finish integration test suite * ethereum: fix readAbi * ethereum: fix merge conflict * Complete full batch test suite * Add partial batch unit test and add to integration test * Finish integration test suite * Fix local validator test * Fix merge conflict * Add Makefile * Add documentation to relayer contracts * Fix Makefile * ethereum: clean up * ethereum: fix interface * ethereum: fix method names and tests * Prepare integration test for off-chain relayer changes * Refactor contracts Co-authored-by: Drew <dsterioti@users.noreply.github.com> Co-authored-by: Karl Kempe <karlkempe@users.noreply.github.com> Co-authored-by: valentin <valentinvonalbrecht@yahoo.de> Co-authored-by: justinschuldt <justinschuldt@gmail.com>
2022-09-30 09:18:49 -07:00
.PHONY: unit-test
unit-test: dependencies build
npm run forge-test
2022-09-09 08:10:12 -07:00
Add tests for send and deliver functionality (#9) * Complete send and deliver functionality * Clean up * Add tests for relayer send method * ethereum: remove interfaces * ethereum: fix test * ethereum: rename directory * ethereum: clean up; add ts tests * Add tests and clean up * ethereum: fix test * ethereum: fix output * Add reentrancy protection and reduce gas overhead for relayers * Add tests for full batch delivery * Update relayer contracts to reflect changes to batch VAA implementation * add rewards payout * implement redeliveries, replay protection * Complete full batch test suite * sdk: add sdk * sdk: fix package.json * Add partial batch unit test and add to integration test * Fix comments in integration test * sdk: fix tsconfig.json * ethereum: fix build * Add relayer registration to integration test * Finish integration test suite * ethereum: fix readAbi * ethereum: fix merge conflict * Complete full batch test suite * Add partial batch unit test and add to integration test * Finish integration test suite * Fix local validator test * Fix merge conflict * Add Makefile * Add documentation to relayer contracts * Fix Makefile * ethereum: clean up * ethereum: fix interface * ethereum: fix method names and tests * Prepare integration test for off-chain relayer changes * Refactor contracts Co-authored-by: Drew <dsterioti@users.noreply.github.com> Co-authored-by: Karl Kempe <karlkempe@users.noreply.github.com> Co-authored-by: valentin <valentinvonalbrecht@yahoo.de> Co-authored-by: justinschuldt <justinschuldt@gmail.com>
2022-09-30 09:18:49 -07:00
.PHONY: integration-test
integration-test: dependencies build
npm run integration-test
2022-09-09 08:10:12 -07:00
.PHONY: clean
2022-09-09 08:10:12 -07:00
clean:
rm -rf anvil.log .env node_modules build lib