From fd2cd7f8ba19db208583f0341288d2b7b94ef8ad Mon Sep 17 00:00:00 2001 From: spsjvc Date: Thu, 31 Oct 2024 17:10:05 +0100 Subject: [PATCH] fixes --- src/package.json | 2 +- .../registerNewNetwork.unit.test.ts.snap | 4 -- src/utils/registerNewNetwork.ts | 33 +++++++--------- yarn.lock | 38 ++++++++++++++----- 4 files changed, 42 insertions(+), 35 deletions(-) diff --git a/src/package.json b/src/package.json index d822475c..42e695d4 100644 --- a/src/package.json +++ b/src/package.json @@ -51,7 +51,7 @@ "viem": "^1.20.0" }, "dependencies": { - "@arbitrum/sdk": "^4.0.2-beta.1", + "@arbitrum/sdk": "^4.0.2-beta.2", "@arbitrum/token-bridge-contracts": "^1.2.2", "@offchainlabs/fund-distribution-contracts": "^1.0.1", "@safe-global/protocol-kit": "^4.0.2", diff --git a/src/utils/__snapshots__/registerNewNetwork.unit.test.ts.snap b/src/utils/__snapshots__/registerNewNetwork.unit.test.ts.snap index 2ff7f5fe..83a59b9f 100644 --- a/src/utils/__snapshots__/registerNewNetwork.unit.test.ts.snap +++ b/src/utils/__snapshots__/registerNewNetwork.unit.test.ts.snap @@ -21,14 +21,12 @@ exports[`prepareArbitrumNetwork > should create orbit chain network object for E "childErc20Gateway": "0x7aEdD5a2F3bBd4841711D017Edf90d611aD96a9e", "childGatewayRouter": "0x33e59640CD7E5C5E8D43fd46d995efDdDd0Fc930", "childMultiCall": "0xEB4150a4F26Cf3563B3a86965E269C8873D48527", - "childProxyAdmin": "0x518e5FA773118b779a6231303f5593A10D3B3c84", "childWeth": "0x77684A04145a5924eFCE0D92A7c4a2A2E8C359de", "childWethGateway": "0x6e965dd667cb08f09DE8285317f012Ac889507b4", "parentCustomGateway": "0x653f8D34a86207569069164d45a031eE552A4729", "parentErc20Gateway": "0x298eb8d9f2F046AC60c01535fad40320CCdeB7c0", "parentGatewayRouter": "0x2f883c5997Cf60B4d52a2fD4039918E1f9D1147c", "parentMultiCall": "0x90B02D9F861017844F30dFbdF725b6aa84E63822", - "parentProxyAdmin": "0xCC6f49cff395c4d160C61112522700dcB007c41d", "parentWeth": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", "parentWethGateway": "0xEB2Ae03709f63CEa9E5eC6ab25C1838c4A5634BA", }, @@ -56,14 +54,12 @@ exports[`prepareArbitrumNetwork > should create orbit chain network object for c "childErc20Gateway": "0x0c71417917D24F4A6A6A55559B98c5cCEcb33F7a", "childGatewayRouter": "0xd096e8dE90D34de758B0E0bA4a796eA2e1e272cF", "childMultiCall": "0xEEC168551A85911Ec3A905e0561b656979f3ea67", - "childProxyAdmin": "0x56800fDCFbE19Ea3EE9d115dAC30d95d6459c44E", "childWeth": "0x0000000000000000000000000000000000000000", "childWethGateway": "0x0000000000000000000000000000000000000000", "parentCustomGateway": "0xb15A0826d65bE4c2fDd961b72636168ee70Af030", "parentErc20Gateway": "0xb591cE747CF19cF30e11d656EB94134F523A9e77", "parentGatewayRouter": "0x22CCA5Dc96a4Ac1EC32c9c7C5ad4D66254a24C35", "parentMultiCall": "0x90B02D9F861017844F30dFbdF725b6aa84E63822", - "parentProxyAdmin": "0x041F85dD87c46B941dc9b15c6628B19ee5358485", "parentWeth": "0x0000000000000000000000000000000000000000", "parentWethGateway": "0x0000000000000000000000000000000000000000", }, diff --git a/src/utils/registerNewNetwork.ts b/src/utils/registerNewNetwork.ts index 97efa74b..a6a31861 100644 --- a/src/utils/registerNewNetwork.ts +++ b/src/utils/registerNewNetwork.ts @@ -4,11 +4,11 @@ import { getArbitrumNetworkInformationFromRollup, registerCustomArbitrumNetwork, } from '@arbitrum/sdk'; +import { Address, Chain, PublicClient, Transport } from 'viem'; + import { testnets } from '../chains'; import { getRollupInitializedEvents } from '../createRollupFetchTransactionHash'; -import { Address, Chain, PublicClient, Transport } from 'viem'; import { publicClientToProvider } from '../ethers-compat/publicClientToProvider'; -import { createRollupPrepareTransactionReceipt } from '../createRollupPrepareTransactionReceipt'; import { createTokenBridgeFetchTokenBridgeContracts } from '../createTokenBridgeFetchTokenBridgeContracts'; const isTestnet = (parentChainId: number) => { @@ -26,26 +26,20 @@ export async function prepareArbitrumNetwork( // Fetch orbit chain chainId const { chainId } = rollupInitializedEvent[0].args; + if (!chainId) { throw new Error("RollupInitialized event doesn't contain chainId"); } - // Fetch native token address and TokenBridge address - const rollupCreationtransactionHash = rollupInitializedEvent[0].transactionHash; - const transactionReceipt = createRollupPrepareTransactionReceipt( - await parentChainPublicClient.waitForTransactionReceipt({ - hash: rollupCreationtransactionHash, - }), - ); - const { nativeToken, inbox, adminProxy } = transactionReceipt.getCoreContracts(); - const { parentChainId, ethBridge, confirmPeriodBlocks } = + const { parentChainId, ethBridge, confirmPeriodBlocks, nativeToken } = await getArbitrumNetworkInformationFromRollup( rollup, publicClientToProvider(parentChainPublicClient), ); + const { parentChainContracts, orbitChainContracts } = await createTokenBridgeFetchTokenBridgeContracts({ - inbox, + inbox: ethBridge.inbox as Address, parentChainPublicClient, }); @@ -60,18 +54,17 @@ export async function prepareArbitrumNetwork( nativeToken, tokenBridge: { parentGatewayRouter: parentChainContracts.router, - childGatewayRouter: orbitChainContracts.router, parentErc20Gateway: parentChainContracts.standardGateway, - childErc20Gateway: orbitChainContracts.standardGateway, parentCustomGateway: parentChainContracts.customGateway, - childCustomGateway: orbitChainContracts.customGateway, - parentWethGateway: parentChainContracts.wethGateway, - childWethGateway: orbitChainContracts.wethGateway, parentWeth: parentChainContracts.weth, - childWeth: orbitChainContracts.weth, - parentProxyAdmin: adminProxy, - childProxyAdmin: orbitChainContracts.proxyAdmin, + parentWethGateway: parentChainContracts.wethGateway, parentMultiCall: parentChainContracts.multicall, + + childGatewayRouter: orbitChainContracts.router, + childErc20Gateway: orbitChainContracts.standardGateway, + childCustomGateway: orbitChainContracts.customGateway, + childWeth: orbitChainContracts.weth, + childWethGateway: orbitChainContracts.wethGateway, childMultiCall: orbitChainContracts.multicall, }, } satisfies ArbitrumNetwork; diff --git a/yarn.lock b/yarn.lock index 11047932..61a904b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22,10 +22,10 @@ "@openzeppelin/contracts-upgradeable" "4.5.2" patch-package "^6.4.7" -"@arbitrum/sdk@^4.0.2-beta.1": - version "4.0.2-beta.1" - resolved "https://registry.yarnpkg.com/@arbitrum/sdk/-/sdk-4.0.2-beta.1.tgz#c6c6c5784a8eaa6a4edab3600f765e9f82ce5988" - integrity sha512-a5DG6+Ld3X4L8H3CTUl3gc27Bj/Pqjo+5UZiCI97SM2mHtHKWF1BgQ+FCk/8bgFUP5nS9dXBl5tPJRtCFfOe0A== +"@arbitrum/sdk@^4.0.2-beta.2": + version "4.0.2-beta.2" + resolved "https://registry.yarnpkg.com/@arbitrum/sdk/-/sdk-4.0.2-beta.2.tgz#4da9cf686ea93b31ca2c6a47bb26bdeca43dc9f9" + integrity sha512-ABEkDexf0U6jYbXS9yyuNDqthyzSlH2yZDwYTC/kKqcrvbSOwQI+ahfpiBx79WR05X7gaRRFHHGMEVhZ0Zha2Q== dependencies: "@ethersproject/address" "^5.0.8" "@ethersproject/bignumber" "^5.1.1" @@ -1596,7 +1596,20 @@ duplexer@^0.1.1, duplexer@~0.1.1: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -elliptic@6.5.4, elliptic@6.5.7, elliptic@^6.5.4: +elliptic@6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +elliptic@^6.5.4: version "6.5.7" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.7.tgz#8ec4da2cb2939926a1b9a73619d768207e647c8b" integrity sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q== @@ -3703,12 +3716,17 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@7.4.6, ws@7.5.10: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + +ws@8.13.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== -ws@8.13.0, ws@8.17.1: +ws@8.17.1: version "8.17.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==