{"id":19096805,"url":"https://github.com/makerdao/wormhole-integration-tests","last_synced_at":"2025-04-18T16:31:12.142Z","repository":{"id":39968377,"uuid":"433083267","full_name":"makerdao/wormhole-integration-tests","owner":"makerdao","description":"Gathers all related repos and runs a suite of integration tests using forked networks.","archived":false,"fork":false,"pushed_at":"2023-03-08T03:00:22.000Z","size":393,"stargazers_count":9,"open_issues_count":3,"forks_count":4,"subscribers_count":8,"default_branch":"master","last_synced_at":"2023-04-05T23:40:54.669Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/makerdao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-29T14:52:32.000Z","updated_at":"2022-05-24T03:42:23.000Z","dependencies_parsed_at":"2022-08-25T09:01:01.802Z","dependency_job_id":null,"html_url":"https://github.com/makerdao/wormhole-integration-tests","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerdao%2Fwormhole-integration-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerdao%2Fwormhole-integration-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerdao%2Fwormhole-integration-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makerdao%2Fwormhole-integration-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/makerdao","download_url":"https://codeload.github.com/makerdao/wormhole-integration-tests/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223783307,"owners_count":17201901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T03:37:51.137Z","updated_at":"2024-11-09T03:37:51.790Z","avatar_url":"https://github.com/makerdao.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wormhole integration tests\n\nGathers all related repos (`./repos`) and runs a suite of integration tests using forked networks.\n\n## Running\n\n```sh\ngit clone git@github.com:makerdao/wormhole-integration-tests.git # clone this repo\n\ngit submodule update --init --recursive # init submodules\n\n./scripts/setup.sh # build submodules, copy artifacts, build this project\n\n./scripts/build-infra.sh # builds dockerized optimism infrastructure (l1+l2)\n./scripts/run-infra.sh # runs infrastructure\nyarn test\n```\n\n## Tweaking smart contracts\n\nIf you wish to quickly test some changes in smart contract code, just tweak source in `repos` dir and re-run\n`./scripts/setup.sh`.\n\n# Wormhole test deployment\n\n## Arbitrum testnet\n\n1. Set the name of the new ilk in `deployment/rinkeby/deploy-wormhole.ts` then run\n   `npx hardhat run deployment/rinkeby/deploy-wormhole.ts` to deploy `dss-wormhole` and `arbitrum-dai-bridge` Wormhole\n   contracts.\n\n2. Set the address of the newly deployed `wormholeBridge` (L2WormholeGateway) in\n   `contracts/deploy/rinkeby/L2RinkebyAddWormholeDomainSpell.sol` and deploy this L2 spell on arbitrum-testnet.\n\n3. Run `npx hardhat run deployment/rinkeby/print-relay-params.ts` and copy the printed values into\n   `contracts/deploy/rinkeby/L1RinkebyAddWormholeDomainSpell.sol`.\n\n4. Set the addresses of the newly deployed `wormholeJoin`, `router` (WormholeRouter), `oracleAuth` (WormholeOracleAuth),\n   `constantFees` (WormholeConstantFees), `trustedRelay` (TrustedRelay), `slaveDomainBridge` (L1WormholeGateway) and\n   `l2ConfigureDomainSpell` (L2RinkebyAddWormholeDomainSpell) in\n   `contracts/deploy/rinkeby/L1RinkebyAddWormholeDomainSpell.sol`.\n\n5. Run `npx hardhat run deployment/rinkeby/cast-l1-spell.ts` to deploy and cast the L1 spell on rinkeby. Wait ~5 minutes\n   for the execution of the L2 spell to be confirmed.\n\n6. To validate the resulting changes, copy the addresses of the newly deployed `oracleAuth` and `l2WormholeGateway` into\n   `deployment/rinkeby/test-e2e.ts` and run `npx hardhat run deployment/rinkeby/test-e2e.ts`.\n\n### Latest deployment\n\n```\n{\n   \"Wormhole\": {\n      \"join\": \"0x894DB23D804c626f1aAA89a2Bc3280052e6c4750\",\n      \"oracleAuth\": \"0x1E7722E502D3dCbB0704f99c75c99a5402598f13\",\n      \"router\": \"0x26266ff35E2d69C6a2DC3fAE9FA71456043a0611\",\n      \"constantFee\": \"0xeFf66D2A040097919A1A36D9D8816c21acC3C6C0\",\n      \"basicRelay\": \"0xC35787975484A858B878032B045B6E0B6EfE2e2c\",\n      \"trustedRelay\": \"0xef4dF54E711e0d42754a12e85fD4186f8fF2c7A7\",\n   }\n\n   \"Arbitrum wormhole gateways\": {\n      \"l2WormholeGateway\": \"0x327c2f7aCd799f31535880Af54C2bCAB1384Ecc3\",\n      \"l1WormholeGateway\": \"0x7b84fFac4A71fE09b14CfF4E0A6429dFfa78630D\"\n   }\n\n   \"Legacy (slow) Dai withdrawal bridge\": {\n      \"l1Dai\": \"0x17B729a6Ac1f265090cbb4AecBdd53E34664C00e\",\n      \"l2Dai\": \"0x78e59654Bc33dBbFf9FfF83703743566B1a0eA15\",\n      \"l1DaiGateway\": \"0xb1cfD43BD287B2E94bf00140091A9Cca47f462cC\",\n      \"l2DaiGateway\": \"0x7DC1e34e97c990f2B7d46777a47Fa47D069A8825\"\n   }\n\n   \"Spells\": {\n      \"l1\": \"0x419D6a7603975fcFE5A2d21d7C0ef33D240eA27c\",\n      \"l2\": \"0x65adb7A66759304b5A081506Baad5408F8ceb650\"\n   }\n}\n```\n\n## Kovan testnet\n\n### Instructions\n\n1. Set the name of the new ilk in `deployment/kovan/deploy-wormhole.ts` then run\n   `npx hardhat run deployment/kovan/deploy-wormhole.ts` to deploy `dss-wormhole` and `optimism-dai-bridge` Wormhole\n   contracts.\n\n2. Set the address of the newly deployed `wormholeGateway` (L2WormholeGateway) in\n   `contracts/deploy/kovan/L2KovanAddWormholeDomainSpell.sol` and deploy this L2 spell on optimistic-kovan.\n\n3. Set the addresses of the newly deployed `wormholeJoin`, `router` (WormholeRouter), `oracleAuth` (WormholeOracleAuth),\n   `constantFees` (WormholeConstantFees), `trustedRelay` (TrustedRelay), `slaveDomainGateway` (L1WormholeGateway) and\n   `l2ConfigureDomainSpell` (L2RinkebyAddWormholeDomainSpell) in\n   `contracts/deploy/kovan/L1KovanAddWormholeDomainSpell.sol` and deploy this L1 spell on kovan.\n\n4. To test the L2 spell, copy the addresses of the newly deployed `l2Spell` and `l2WormholeGateway` into\n   `deployment/kovan/test-l2-spell.ts`, spin up a local hardhark fork of optimistic-kovan and run\n   `npx hardhat run deployment/kovan/test-l2-spell.ts --network localhost`\n\n5. To test the L1 spell, copy the addresses of the newly deployed `oracleAuth` and `l1Spell` into\n   `deployment/kovan/test-l1-spell.ts`, spin up a local hardhark fork of kovan and run\n   `npx hardhat run deployment/kovan/test-l1-spell.ts --network localhost`\n\n6. Cast the L1 spell\n\n7. To validate the resulting changes, copy the addresses of the newly deployed `oracleAuth` and `l2WormholeGateway` into\n   `deployment/kovan/test-e2e.ts` and run `npx hardhat run deployment/kovan/test-e2e.ts`.\n\n### Latest deployment\n\n```\n{\n   \"Wormhole\": {\n      \"join\": \"0x556D9076A42Bba1892E3F4cA331daE587185Cef9\",\n      \"oracleAuth\": \"0x0b0D629e294Af96A6cc245a89A5CEa92C8Be9da4\",\n      \"router\": \"0xb15e4cfb29C587c924f547c4Fcbf440B195f3EF8\",\n      \"constantFee\": \"0xf61A6F9d13aF9BBf4df95657Db5698c04A97EF85\",\n      \"basicRelay\": \"0x5B3363996Bd8164F07315faAf3F96B72D192382c\"\n      \"trustedRelay\": \"0xAAFa36901AdC6C03df8B935fFA129677D1D7Eb81\"\n   },\n\n   \"Optimism wormhole gateways\": {\n      \"l2WormholeGateway\": \"0x0aeDbEf4105fdfc0db5A3Cd8C827bE2efA93ebe0\",\n      \"l1WormholeGateway\": \"0xBD8605d11b8D3557b7399eFE1866992Eed6F9A7c\"\n   }\n\n   \"Spells\": {\n      \"l1Spell\": \"0xC48b714c3Ce421671801a248d94cE1a5ef14AF8f\",\n      \"l2Spell\": \"0xEd326504C77Dcd0Ffbb554a7925338EEd3F5fE01\"\n   }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakerdao%2Fwormhole-integration-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakerdao%2Fwormhole-integration-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakerdao%2Fwormhole-integration-tests/lists"}