From 4c49d1f5fdd7c529223ebfdc9c35b96b94bf1367 Mon Sep 17 00:00:00 2001 From: zkbenny Date: Wed, 18 Sep 2024 16:20:38 +0800 Subject: [PATCH] feat: add checkL2TxStatus for base --- examples/base/.env-sample | 2 +- examples/base/package-lock.json | 27 +++++++++------------------ examples/base/package.json | 2 +- examples/base/scripts/baseTasks.js | 22 ++++++++++++++++++++++ 4 files changed, 33 insertions(+), 20 deletions(-) diff --git a/examples/base/.env-sample b/examples/base/.env-sample index 3c496bb..0108b4c 100644 --- a/examples/base/.env-sample +++ b/examples/base/.env-sample @@ -15,7 +15,7 @@ L2RPC="https://sepolia.base.org" L1RPC="" # Base chain name -BASE="BASETEST" +BASE="BASESEPOLIA" # Ethereum chain name ETHEREUM="SEPOLIA" \ No newline at end of file diff --git a/examples/base/package-lock.json b/examples/base/package-lock.json index 7c27324..957136d 100644 --- a/examples/base/package-lock.json +++ b/examples/base/package-lock.json @@ -13,7 +13,7 @@ "dotenv": "^16.4.1" }, "devDependencies": { - "@eth-optimism/sdk": "^3.2.3", + "@eth-optimism/sdk": "^3.3.2", "@nomiclabs/hardhat-ethers": "^2.0.2", "ethers": "^5.7.2", "hardhat": "^2.9.1" @@ -33,13 +33,6 @@ "ethers": "^5" } }, - "node_modules/@eth-optimism/contracts-bedrock": { - "version": "0.17.1", - "resolved": "https://registry.npmmirror.com/@eth-optimism/contracts-bedrock/-/contracts-bedrock-0.17.1.tgz", - "integrity": "sha512-Hc5peN5PM8kzl9dzqSD5jv6ED3QliO1DF0dXLRJxfrXR7/rmEeyuAYESUwUM0gdJZjkwRYiS5m230BI6bQmnlw==", - "dev": true, - "hasInstallScript": true - }, "node_modules/@eth-optimism/contracts/node_modules/@eth-optimism/core-utils": { "version": "0.12.0", "resolved": "https://registry.npmmirror.com/@eth-optimism/core-utils/-/core-utils-0.12.0.tgz", @@ -65,10 +58,9 @@ } }, "node_modules/@eth-optimism/core-utils": { - "version": "0.13.1", - "resolved": "https://registry.npmmirror.com/@eth-optimism/core-utils/-/core-utils-0.13.1.tgz", - "integrity": "sha512-1FvzbUmCEy9zSKPG1QWg2VfA2Cy90xBA9Wkp11lXXrz91zUPCNCNSRTujXWYIC86ketNsZp7p4njSf6lTycHCw==", - "hasInstallScript": true, + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.13.2.tgz", + "integrity": "sha512-u7TOKm1RxH1V5zw7dHmfy91bOuEAZU68LT/9vJPkuWEjaTl+BgvPDRDTurjzclHzN0GbWdcpOqPZg4ftjkJGaw==", "dependencies": { "@ethersproject/abi": "^5.7.0", "@ethersproject/abstract-provider": "^5.7.0", @@ -81,20 +73,19 @@ "@ethersproject/properties": "^5.7.0", "@ethersproject/rlp": "^5.7.0", "@ethersproject/web": "^5.7.1", - "chai": "^4.3.9", + "chai": "^4.3.10", "ethers": "^5.7.2", "node-fetch": "^2.6.7" } }, "node_modules/@eth-optimism/sdk": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@eth-optimism/sdk/-/sdk-3.2.3.tgz", - "integrity": "sha512-e3XQTbbU+HTzsEv/VIsJpZifK6YZVlzEtF6tj/Vz/VIEDCjZk5JPcnCQOMVcs9ICI4EJyyur+y/+RU7fPa6qtg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@eth-optimism/sdk/-/sdk-3.3.2.tgz", + "integrity": "sha512-+zhxT0YkBIEzHsuIayQGjr8g9NawZo6/HYfzg1NSEFsE2Yt0NyCWqVDFTuuak0T6AvIa2kNcl3r0Z8drdb2QmQ==", "dev": true, "dependencies": { "@eth-optimism/contracts": "0.6.0", - "@eth-optimism/contracts-bedrock": "0.17.1", - "@eth-optimism/core-utils": "0.13.1", + "@eth-optimism/core-utils": "^0.13.2", "lodash": "^4.17.21", "merkletreejs": "^0.3.11", "rlp": "^2.2.7", diff --git a/examples/base/package.json b/examples/base/package.json index 15ecc04..9ad7c27 100644 --- a/examples/base/package.json +++ b/examples/base/package.json @@ -4,7 +4,7 @@ "version": "1.0.0", "scripts": {}, "devDependencies": { - "@eth-optimism/sdk": "^3.2.3", + "@eth-optimism/sdk": "^3.3.2", "@nomiclabs/hardhat-ethers": "^2.0.2", "ethers": "^5.7.2", "hardhat": "^2.9.1" diff --git a/examples/base/scripts/baseTasks.js b/examples/base/scripts/baseTasks.js index aaa44f3..857fe10 100644 --- a/examples/base/scripts/baseTasks.js +++ b/examples/base/scripts/baseTasks.js @@ -9,6 +9,7 @@ const { encodeChangeFeeParams, encodeL1ToL2Calldata, checkL1TxStatus, + checkL2TxStatus, } = require('../../optimism/scripts/opstack-utils'); const { task, types } = require('hardhat/config'); require('dotenv').config(); @@ -22,12 +23,23 @@ async function initMessenger() { const l1Wallet = new ethers.Wallet(walletPrivateKey, l1Provider); const l2Wallet = new ethers.Wallet(walletPrivateKey, l2Provider); + let contracts = undefined; + if (ethereumName === 'SEPOLIA') { + contracts = { + l1: { + OptimismPortal2: '0x49f53e41452C74589E85cA1677426Ba426459e85', + DisputeGameFactory: '0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1', + }, + }; + } + const messenger = new base.CrossChainMessenger({ l1ChainId: await l1Wallet.getChainId(), l2ChainId: await l2Wallet.getChainId(), l1SignerOrProvider: l1Wallet, l2SignerOrProvider: l2Wallet, bedrock: true, + contracts, }); return { messenger, ethereumName, baseName }; @@ -151,3 +163,13 @@ task('checkL1TxStatus', 'Check the l1 tx status') const { messenger, ethereumName, baseName } = await initMessenger(); await checkL1TxStatus(hre, messenger, ethereumName, baseName, l1TxHash); }); + +task('checkL2TxStatus', 'Check the l2 tx status') + .addParam('l2TxHash', 'The l2 tx hash', undefined, types.string) + .setAction(async (taskArgs, hre) => { + const l2TxHash = taskArgs.l2TxHash; + console.log(`The l2 tx hash: ${l2TxHash}`); + + const { messenger, ethereumName, optimismName } = await initMessenger(); + await checkL2TxStatus(hre, messenger, ethereumName, optimismName, l2TxHash); + });