The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hyperlane-monorepo/.changeset/wild-fans-repair.md

6 lines
66 B

feat(cli): add submit command (#3818) ### Description * adds `hyperlane submit -t ./transactions.json -s ./strategy.json` * given a set of `transactions` and a submission `strategy`, submit those transactions according to that strategy * example strategies provided under `/cli/examples/submit/` * detailed design: https://www.notion.so/hyperlanexyz/CLI-Submitter-Integration-8a14486803ca4ab18f229e8e7f89b57a?pvs=4 ### Drive-by changes * none ### Related issues - Fixes https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3740 ### Backward compatibility - yes ### Testing #### Nice to have: - [ ] ci-test #### Manual: - [x] `hl submit -t ./examples/submit/transactions/transactions.json -s ./examples/submit/strategy/json-rpc-strategy.yaml` ``` Hyperlane Submit ---------------- Submitting 1 transactions to the jsonRpc submitter... Sent tx 0x7158756345a913630497dac948a98b1c73921626f9c17cc936994ff22dcd908f Pending https://alfajores.celoscan.io/tx/0x7158756345a913630497dac948a98b1c73921626f9c17cc936994ff22dcd908f (waiting 1 blocks for confirmation) ✅ Successfully submitted 1 transactions to the jsonRpc submitter. 🧾 Transaction receipts: [ { to: '0x9a4a3124F2a86bB5BE46267De85D31762b7a05Fd', from: '0x16F4898F47c085C41d7Cc6b1dc72B91EA617dcBb', contractAddress: null, transactionIndex: 4, gasUsed: BigNumber { _hex: '0x53b8', _isBigNumber: true }, logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', blockHash: '0x174c3355800d73e3ab9643257bf49a60fc539a6961fc6cc8adcfb27d84ab6347', transactionHash: '0x7158756345a913630497dac948a98b1c73921626f9c17cc936994ff22dcd908f', logs: [], blockNumber: 24221122, confirmations: 1, cumulativeGasUsed: BigNumber { _hex: '0x072f3f', _isBigNumber: true }, effectiveGasPrice: BigNumber { _hex: '0x01836e2100', _isBigNumber: true }, status: 1, type: 2, byzantium: true } ] ✅ Hyperlane submission complete ``` - [x] `hl submit -t ./examples/submit/transactions/transactions.json -s ./examples/submit/strategy/json-rpc-strategy.yaml --dry-run` ``` ... Dry-running against chain: alfajores 🔎 Verifying anvil node is running... ✅ Successfully verified anvil node is running Forking alfajores for dry-run... ✅ Successfully forked alfajores for dry-run Impersonating account (0x16F4898F47c085C41d7Cc6b1dc72B91EA617dcBb)... ✅ Successfully impersonated account (0x16F4898F47c085C41d7Cc6b1dc72B91EA617dcBb) Hyperlane Submit ---------------- Submitting 1 transactions to the jsonRpc submitter... Sent tx 0x89fbd7d38d6fc19df0ef24f844756153dece1e0f179b76b036c50596356dc5ce Pending https://alfajores.celoscan.io/tx/0x89fbd7d38d6fc19df0ef24f844756153dece1e0f179b76b036c50596356dc5ce (waiting 1 blocks for confirmation) ✅ Successfully submitted 1 transactions to the jsonRpc submitter. 🧾 Transaction receipts: [ { to: '0x9a4a3124F2a86bB5BE46267De85D31762b7a05Fd', from: '0x16F4898F47c085C41d7Cc6b1dc72B91EA617dcBb', contractAddress: null, transactionIndex: 0, gasUsed: BigNumber { _hex: '0x53b8', _isBigNumber: true }, logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', blockHash: '0x5a5379771a3a6d173a8dcbfc189e24f288c30abcd0a754f1df4734f465917cc7', transactionHash: '0x89fbd7d38d6fc19df0ef24f844756153dece1e0f179b76b036c50596356dc5ce', logs: [], blockNumber: 24221165, confirmations: 1, cumulativeGasUsed: BigNumber { _hex: '0x53b8', _isBigNumber: true }, effectiveGasPrice: BigNumber { _hex: '0x0104fd914d', _isBigNumber: true }, status: 1, type: 2, byzantium: true } ] ✅ Hyperlane submission complete ``` - [x] `hl submit -t ./examples/submit/transactions/transactions.json -s ./examples/submit/strategy/impersonated-account-strategy.yaml` - [x] `hl submit -t ./examples/submit/transactions/transactions.json -s ./examples/submit/strategy/impersonated-account-strategy.yaml --dry-run` - `Error: Impersonated account submitters may only be used during dry-runs.` - [x] `hl submit -t ./examples/submit/transactions/transactions.json -s ./examples/submit/strategy/gnosis-strategy.yaml` - Successfully generated proposal: https://app.safe.global/transactions/queue?safe=avax:0x7fd32493Ca3A38cDf78A4cb74F32f6292f822aBe - [ ] `hl submit -t ./examples/submit/transactions/transactions.json -s ./examples/submit/strategy/gnosis-ica-strategy.yaml` - [ ] `hl submit -t ./examples/submit/transactions/transactions.json -s ./examples/submit/strategy/gnosis-ica-strategy.yaml --dry-run`
5 months ago
---
'@hyperlane-xyz/cli': minor
---
Add 'submit' command to CLI.