@recoillink/cli 0.0.0-stage → 45.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/LICENSE.md +193 -0
  2. package/README.md +149 -2
  3. package/bundle/154.index.js +462 -0
  4. package/bundle/230.index.js +569 -0
  5. package/bundle/25.index.js +9569 -0
  6. package/bundle/267.index.js +1386 -0
  7. package/bundle/308.index.js +5121 -0
  8. package/bundle/367.index.js +4 -0
  9. package/bundle/369.index.js +3443 -0
  10. package/bundle/529.index.js +3596 -0
  11. package/bundle/576.index.js +36 -0
  12. package/bundle/610.index.js +86 -0
  13. package/bundle/617.index.js +1612 -0
  14. package/bundle/628.index.js +152 -0
  15. package/bundle/633.index.js +86 -0
  16. package/bundle/697.index.js +410 -0
  17. package/bundle/7183ea1c1bf0a5da980d.js +214 -0
  18. package/bundle/748.index.js +672 -0
  19. package/bundle/78.index.js +372 -0
  20. package/bundle/841.index.js +2093 -0
  21. package/bundle/868.index.js +290 -0
  22. package/bundle/902.index.js +173 -0
  23. package/bundle/956.index.js +9901 -0
  24. package/bundle/aleo_wasm.wasm +0 -0
  25. package/bundle/aleo_wasm1.wasm +0 -0
  26. package/bundle/build/Release/bigint_buffer.node +0 -0
  27. package/bundle/file.js +12 -0
  28. package/bundle/index.js +4 -0
  29. package/bundle/package.json +3 -0
  30. package/bundle/worker-pipeline.js +38 -0
  31. package/bundle/worker.js +54 -0
  32. package/bundle/worker1.js +171 -0
  33. package/bundle/worker2.js +19834 -0
  34. package/bundle/worker3.js +19834 -0
  35. package/examples/aleo/core-config.yaml +19 -0
  36. package/examples/ccip/ccip-warp-route.yaml +26 -0
  37. package/examples/ccip/multi-chain-ccip-warp-route.yaml +81 -0
  38. package/examples/chain-config.yaml +42 -0
  39. package/examples/contract-artifacts.yaml +20 -0
  40. package/examples/core-config.yaml +19 -0
  41. package/examples/cosmosnative/core-config.yaml +20 -0
  42. package/examples/cosmosnative/warp-route-deployment.yaml +21 -0
  43. package/examples/crosschain/README.md +31 -0
  44. package/examples/crosschain/cosmosnative/core-config.yaml +69 -0
  45. package/examples/crosschain/ethereum/core-config.yaml +70 -0
  46. package/examples/crosschain/radix/core-config.yaml +96 -0
  47. package/examples/fork/file-transactions.yaml +5 -0
  48. package/examples/fork/timelock-testing.yaml +36 -0
  49. package/examples/fork/warp-route-update.yaml +100 -0
  50. package/examples/hooks.yaml +70 -0
  51. package/examples/ism-advanced.yaml +33 -0
  52. package/examples/ism.yaml +13 -0
  53. package/examples/radix/core-config.yaml +29 -0
  54. package/examples/sealevel/core-config-apply.yaml +7 -0
  55. package/examples/sealevel/core-config-composite-ism.yaml +21 -0
  56. package/examples/sealevel/core-config.yaml +12 -0
  57. package/examples/sealevel/igp-hook-config.yaml +13 -0
  58. package/examples/sealevel/warp-config-routing-message-id-multisig-ism.yaml +21 -0
  59. package/examples/starknet/core-config.yaml +20 -0
  60. package/examples/submit/strategy/file-strategy.yaml +8 -0
  61. package/examples/submit/strategy/gnosis-chain-strategy.yaml +10 -0
  62. package/examples/submit/strategy/gnosis-chain-tx-builder-strategy.yaml +6 -0
  63. package/examples/submit/strategy/gnosis-strategy-avalanche.yaml +4 -0
  64. package/examples/submit/strategy/gnosis-tx-builder-ica-strategy.yaml +20 -0
  65. package/examples/submit/strategy/ica-timelock-strategy.yaml +15 -0
  66. package/examples/submit/strategy/impersonated-account-strategy.yaml +4 -0
  67. package/examples/submit/strategy/json-rpc-chain-strategy.yaml +8 -0
  68. package/examples/submit/strategy/json-rpc-ica-strategy.yaml +13 -0
  69. package/examples/submit/strategy/json-rpc-strategy.yaml +3 -0
  70. package/examples/submit/strategy/json-rpc-timelock-strategy.yaml +17 -0
  71. package/examples/submit/strategy/starknet-json-rpc-chain-strategy.yaml +11 -0
  72. package/examples/submit/transactions/anvil-transactions.yaml +10 -0
  73. package/examples/submit/transactions/avalanche-transactions.json +8 -0
  74. package/examples/submit/transactions/sepolia-transactions.json +8 -0
  75. package/examples/tron-core-config.yaml +18 -0
  76. package/examples/warp-base.yaml +24 -0
  77. package/examples/warp-config-predicate-mainnet.yaml +14 -0
  78. package/examples/warp-deployed-predicate-mainnet.yaml +19 -0
  79. package/examples/warp-ethereum.yaml +19 -0
  80. package/examples/warp-route-deployment.yaml +21 -0
  81. package/package.json +117 -3
@@ -0,0 +1,19 @@
1
+ defaultHook:
2
+ beneficiary: aleo1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px
3
+ oracleConfig:
4
+ aleo1:
5
+ gasPrice: '1'
6
+ tokenExchangeRate: '10000000000'
7
+ oracleKey: aleo1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px
8
+ overhead:
9
+ aleo1: 200000
10
+ owner: aleo1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px
11
+ type: interchainGasPaymaster
12
+ defaultIsm:
13
+ threshold: 1
14
+ type: messageIdMultisigIsm
15
+ validators:
16
+ - '0x0c60e7eCd06429052223C78452F791AAb5C5CAc6'
17
+ owner: aleo1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px
18
+ requiredHook:
19
+ type: merkleTreeHook
@@ -0,0 +1,26 @@
1
+ arbitrum:
2
+ mailbox: '0x979Ca5202784112f4738403dBec5D0F3B9daabB9'
3
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
4
+ type: synthetic
5
+ interchainSecurityModule:
6
+ type: ccipIsm
7
+ originChain: polygon
8
+ hook:
9
+ type: aggregationHook
10
+ hooks:
11
+ - '0x3b6044acd6767f017e99318AA6Ef93b7B06A5a22'
12
+ - type: ccipHook
13
+ destinationChain: polygon
14
+ polygon:
15
+ mailbox: '0x5d934f4e2f797775e53561bB72aca21ba36B96BB'
16
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
17
+ type: native
18
+ interchainSecurityModule:
19
+ type: ccipIsm
20
+ originChain: arbitrum
21
+ hook:
22
+ type: aggregationHook
23
+ hooks:
24
+ - '0x0071740Bf129b05C4684abfbBeD248D80971cce2'
25
+ - type: ccipHook
26
+ destinationChain: arbitrum
@@ -0,0 +1,81 @@
1
+ arbitrum:
2
+ mailbox: '0x979Ca5202784112f4738403dBec5D0F3B9daabB9'
3
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
4
+ type: synthetic
5
+ interchainSecurityModule:
6
+ type: domainRoutingIsm
7
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
8
+ domains:
9
+ polygon:
10
+ type: ccipIsm
11
+ originChain: polygon
12
+ base:
13
+ type: ccipIsm
14
+ originChain: base
15
+ hook:
16
+ type: aggregationHook
17
+ hooks:
18
+ - type: defaultHook
19
+ - type: domainRoutingHook
20
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
21
+ domains:
22
+ polygon:
23
+ type: ccipHook
24
+ destinationChain: polygon
25
+ base:
26
+ type: ccipHook
27
+ destinationChain: base
28
+ polygon:
29
+ mailbox: '0x5d934f4e2f797775e53561bB72aca21ba36B96BB'
30
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
31
+ type: native
32
+ interchainSecurityModule:
33
+ type: domainRoutingIsm
34
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
35
+ domains:
36
+ arbitrum:
37
+ type: ccipIsm
38
+ originChain: arbitrum
39
+ base:
40
+ type: ccipIsm
41
+ originChain: base
42
+ hook:
43
+ type: aggregationHook
44
+ hooks:
45
+ - type: defaultHook
46
+ - type: domainRoutingHook
47
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
48
+ domains:
49
+ arbitrum:
50
+ type: ccipHook
51
+ destinationChain: arbitrum
52
+ base:
53
+ type: ccipHook
54
+ destinationChain: base
55
+ base:
56
+ mailbox: '0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D'
57
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
58
+ type: synthetic
59
+ interchainSecurityModule:
60
+ type: domainRoutingIsm
61
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
62
+ domains:
63
+ polygon:
64
+ type: ccipIsm
65
+ originChain: polygon
66
+ arbitrum:
67
+ type: ccipIsm
68
+ originChain: arbitrum
69
+ hook:
70
+ type: aggregationHook
71
+ hooks:
72
+ - type: defaultHook
73
+ - type: domainRoutingHook
74
+ owner: '0x3f13C1351AC66ca0f4827c607a94c93c82AD0913'
75
+ domains:
76
+ polygon:
77
+ type: ccipHook
78
+ destinationChain: polygon
79
+ arbitrum:
80
+ type: ccipHook
81
+ destinationChain: arbitrum
@@ -0,0 +1,42 @@
1
+ # Configs for describing chain metadata for use in Hyperlane deployments or apps
2
+ # Schema here: https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/typescript/sdk/src/metadata/chainMetadataTypes.ts
3
+ ---
4
+ # Required fields:
5
+ chainId: 1234567890 # Number: Use EIP-155 for EVM chains
6
+ domainId: 1234567890 # Number: Recommend matching chainId when possible
7
+ name: mychainname # String: Unique identifier for the chain, must match key above
8
+ protocol: ethereum # ProtocolType: Ethereum, Sealevel, etc.
9
+ rpcUrls: # Array: List of RPC configs
10
+ # Only http field is required
11
+ - http: https://mychain.com/rpc # String: HTTP URL of the RPC endpoint (preferably HTTPS)
12
+ # Others here are optional
13
+ pagination:
14
+ maxBlockRange: 1000 # Number
15
+ maxBlockAge: 1000 # Number
16
+ minBlockNumber: 1000 # Number
17
+ retry:
18
+ maxRequests: 5 # Number
19
+ baseRetryMs: 1000 # Number
20
+ # Optional fields, not required for Hyperlane deployments but useful for apps:
21
+ isTestnet: false # Boolean: Whether the chain is considered a testnet or a mainnet
22
+ blockExplorers: # Array: List of BlockExplorer configs
23
+ # Required fields:
24
+ - name: My Chain Explorer # String: Human-readable name for the explorer
25
+ url: https://mychain.com/explorer # String: Base URL for the explorer
26
+ apiUrl: https://mychain.com/api # String: Base URL for the explorer API
27
+ # Optional fields:
28
+ apiKey: myapikey # String: API key for the explorer (optional)
29
+ family: etherscan # ExplorerFamily: See ExplorerFamily for valid values
30
+ nativeToken:
31
+ name: Eth # String
32
+ symbol: ETH # String
33
+ decimals: 18 # Number
34
+ displayName: My Chain Name # String: Human-readable name of the chain
35
+ displayNameShort: My Chain # String: A shorter human-readable name
36
+ logoURI: https://mychain.com/logo.png # String: URI to a logo image for the chain
37
+ blocks:
38
+ confirmations: 12 # Number: Blocks to wait before considering a transaction confirmed
39
+ reorgPeriod: 100 # Number: Blocks before a transaction has a near-zero chance of reverting
40
+ estimateBlockTime: 15 # Number: Rough estimate of time per block in seconds
41
+ # transactionOverrides: # Object: Properties to include when forming transaction requests
42
+ # Any tx fields are allowed
@@ -0,0 +1,20 @@
1
+ # Artifacts representing contract addresses
2
+ # Typically not written by hand but generated as JSON by the deploy command
3
+ # Consists of a map of chain names to contract names to addresses
4
+ ---
5
+ anvil1:
6
+ storageGasOracle: '0xD9A9966E7dA9a7f0032bF449FB12696a638E673C'
7
+ validatorAnnounce: '0x9bBdef63594D5FFc2f370Fe52115DdFFe97Bc524'
8
+ proxyAdmin: '0x90f9a2E9eCe93516d65FdaB726a3c62F5960a1b9'
9
+ mailbox: '0x35231d4c2D8B8ADcB5617A638A0c4548684c7C70'
10
+ interchainGasPaymaster: '0x6cA0B6D22da47f091B7613223cD4BB03a2d77918'
11
+ defaultIsmInterchainGasPaymaster: '0x56f52c0A1ddcD557285f7CBc782D3d83096CE1Cc'
12
+ multisigIsm: '0x9bDE63104EE030d9De419EEd6bA7D14b86D6fE3f'
13
+ testRecipient: '0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35'
14
+ interchainAccountIsm: '0x5e8ee6840caa4f367aff1FF28aA36D5B1b836d35'
15
+ staticAggregationIsmFactory: '0xc864fa3B662613cA5051f41e157d0a997f9a5A87'
16
+ domainRoutingIsmFactory: '0x1fdfD1486b8339638C6b92f8a96D698D8182D2b1'
17
+ interchainQueryRouter: '0xA837e38C3F7D509DF3a7a0fCf65E3814DB6c2618'
18
+ interchainAccountRouter: '0x9521291A43ebA3aD3FD24d610F4b7F7543C8d761'
19
+ staticMerkleRootMultisigIsmFactory: '0x82140b2ddAd4E4dd7e1D6757Fb5F9485c230B79d'
20
+ staticMessageIdMultisigIsmFactory: '0x1079056da3EC7D55521F27e1E094015C0d39Cc65'
@@ -0,0 +1,19 @@
1
+ # A config to define the core contract deployments
2
+ owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
3
+ defaultIsm:
4
+ type: 'testIsm'
5
+ threshold: 1 # Number: Signatures required to approve a message
6
+ validators: # Array: List of validator addresses
7
+ - '0xa0ee7a142d267c1f36714e4a8f75612f20a79720'
8
+ defaultHook:
9
+ type: protocolFee
10
+ maxProtocolFee: '1000000000000000000' # in wei (string)
11
+ protocolFee: '200000000000000' # in wei (string)
12
+ beneficiary: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
13
+ owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
14
+ requiredHook:
15
+ type: protocolFee
16
+ maxProtocolFee: '1000000000000000000' # in wei (string)
17
+ protocolFee: '200000000000000' # in wei (string)
18
+ beneficiary: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
19
+ owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
@@ -0,0 +1,20 @@
1
+ defaultHook:
2
+ beneficiary: hyp1jq304cthpx0lwhpqzrdjrcza559ukyy3sc4dw5
3
+ oracleConfig:
4
+ hyp:
5
+ gasPrice: '1'
6
+ tokenDecimals: 6
7
+ tokenExchangeRate: '10000000000'
8
+ oracleKey: hyp1jq304cthpx0lwhpqzrdjrcza559ukyy3sc4dw5
9
+ overhead:
10
+ hyp: 200000
11
+ owner: hyp1jq304cthpx0lwhpqzrdjrcza559ukyy3sc4dw5
12
+ type: interchainGasPaymaster
13
+ defaultIsm:
14
+ threshold: 1
15
+ type: merkleRootMultisigIsm
16
+ validators:
17
+ - '0x0c60e7eCd06429052223C78452F791AAb5C5CAc6'
18
+ owner: hyp1jq304cthpx0lwhpqzrdjrcza559ukyy3sc4dw5
19
+ requiredHook:
20
+ type: merkleTreeHook
@@ -0,0 +1,21 @@
1
+ # A config for a Warp Route deployment
2
+ # Typically used with the 'rlink warp deploy' command
3
+ #
4
+ # Token Types:
5
+ # native
6
+ # collateral
7
+ # synthetic
8
+ #
9
+ # see comprehensive [list](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/typescript/sdk/src/token/config.ts#L8)
10
+ ---
11
+ hyp1:
12
+ type: collateral
13
+ # token: "0x123" # Collateral/vault address. Required for collateral types
14
+ owner: 'hyp1jq304cthpx0lwhpqzrdjrcza559ukyy3sc4dw5' # Optional owner address for synthetic token
15
+ # mailbox: "0x123" # mailbox address route
16
+ # interchainGasPaymaster: "0x123" # Optional interchainGasPaymaster address
17
+ # isNft: true # If the token is an NFT (ERC721), set to true
18
+ # You can optionally set the token metadata
19
+ # name: "MyCollateralToken"
20
+ # symbol: "MCT"
21
+ # totalSupply: 10000000
@@ -0,0 +1,31 @@
1
+ # Cross-Chain Core Configs
2
+
3
+ These core configs are specifically designed for **cross-chain e2e tests** that involve multiple VM types (EVM, CosmosNative, Radix, Sealevel).
4
+
5
+ ## Why separate configs?
6
+
7
+ The standard example configs (in `../cosmosnative/`, `../radix/`, etc.) are minimal and protocol-specific. Cross-VM warp route deployments require:
8
+
9
+ 1. **IGP destination gas configs** for all remote chains - without these, `MsgEnrollRemoteRouter` fails on AltVMs because the remote domain isn't registered as "supported"
10
+ 2. **Consistent hook types** across VMs for interoperability testing
11
+
12
+ These configs pre-register all test chains (`hyp1-3`, `anvil1-4`, `radix1-2`, `sealevel1`) in their IGP `oracleConfig` and `overhead` settings.
13
+
14
+ ## Supported test chains
15
+
16
+ | Chain | Protocol | Domain ID | Native Token Decimals |
17
+ | --------- | ------------ | ---------- | --------------------- |
18
+ | hyp1 | CosmosNative | 758986691 | 6 |
19
+ | hyp2 | CosmosNative | 758986692 | 6 |
20
+ | hyp3 | CosmosNative | 758986693 | 6 |
21
+ | anvil1 | Ethereum | 31337 | 18 |
22
+ | anvil2 | Ethereum | 31338 | 18 |
23
+ | anvil3 | Ethereum | 31347 | 18 |
24
+ | anvil4 | Ethereum | 31348 | 18 |
25
+ | radix1 | Radix | 1421493353 | 18 |
26
+ | radix2 | Radix | 1421493354 | 18 |
27
+ | sealevel1 | Sealevel | 1399811149 | 9 |
28
+
29
+ ## Usage
30
+
31
+ Cross-chain tests reference these configs via `CROSS_CHAIN_CORE_CONFIG_PATH_BY_PROTOCOL` in `src/tests/constants.ts`. To add a new cross-VM test, use these configs instead of the standard examples.
@@ -0,0 +1,69 @@
1
+ defaultHook:
2
+ beneficiary: hyp1jq304cthpx0lwhpqzrdjrcza559ukyy3sc4dw5
3
+ oracleConfig:
4
+ # Cosmos chains (6 decimals)
5
+ hyp1:
6
+ gasPrice: '1'
7
+ tokenDecimals: 6
8
+ tokenExchangeRate: '10000000000'
9
+ hyp2:
10
+ gasPrice: '1'
11
+ tokenDecimals: 6
12
+ tokenExchangeRate: '10000000000'
13
+ hyp3:
14
+ gasPrice: '1'
15
+ tokenDecimals: 6
16
+ tokenExchangeRate: '10000000000'
17
+ # EVM chains (18 decimals)
18
+ anvil1:
19
+ gasPrice: '1'
20
+ tokenDecimals: 18
21
+ tokenExchangeRate: '10000000000'
22
+ anvil2:
23
+ gasPrice: '1'
24
+ tokenDecimals: 18
25
+ tokenExchangeRate: '10000000000'
26
+ anvil3:
27
+ gasPrice: '1'
28
+ tokenDecimals: 18
29
+ tokenExchangeRate: '10000000000'
30
+ anvil4:
31
+ gasPrice: '1'
32
+ tokenDecimals: 18
33
+ tokenExchangeRate: '10000000000'
34
+ # Radix chains (18 decimals)
35
+ radix1:
36
+ gasPrice: '1'
37
+ tokenDecimals: 18
38
+ tokenExchangeRate: '10000000000'
39
+ radix2:
40
+ gasPrice: '1'
41
+ tokenDecimals: 18
42
+ tokenExchangeRate: '10000000000'
43
+ # Sealevel chains (9 decimals)
44
+ sealevel1:
45
+ gasPrice: '1'
46
+ tokenDecimals: 9
47
+ tokenExchangeRate: '10000000000'
48
+ oracleKey: hyp1jq304cthpx0lwhpqzrdjrcza559ukyy3sc4dw5
49
+ overhead:
50
+ hyp1: 200000
51
+ hyp2: 200000
52
+ hyp3: 200000
53
+ anvil1: 200000
54
+ anvil2: 200000
55
+ anvil3: 200000
56
+ anvil4: 200000
57
+ radix1: 200000
58
+ radix2: 200000
59
+ sealevel1: 200000
60
+ owner: hyp1jq304cthpx0lwhpqzrdjrcza559ukyy3sc4dw5
61
+ type: interchainGasPaymaster
62
+ defaultIsm:
63
+ threshold: 1
64
+ type: merkleRootMultisigIsm
65
+ validators:
66
+ - '0x0c60e7eCd06429052223C78452F791AAb5C5CAc6'
67
+ owner: hyp1jq304cthpx0lwhpqzrdjrcza559ukyy3sc4dw5
68
+ requiredHook:
69
+ type: merkleTreeHook
@@ -0,0 +1,70 @@
1
+ # A config to define the core contract deployments (crosschain tests)
2
+ owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
3
+ defaultIsm:
4
+ type: 'testIsm'
5
+ threshold: 1 # Number: Signatures required to approve a message
6
+ validators: # Array: List of validator addresses
7
+ - '0xa0ee7a142d267c1f36714e4a8f75612f20a79720'
8
+ defaultHook:
9
+ beneficiary: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
10
+ oracleConfig:
11
+ # Cosmos chains (6 decimals)
12
+ hyp1:
13
+ gasPrice: '1'
14
+ tokenDecimals: 6
15
+ tokenExchangeRate: '10000000000'
16
+ hyp2:
17
+ gasPrice: '1'
18
+ tokenDecimals: 6
19
+ tokenExchangeRate: '10000000000'
20
+ hyp3:
21
+ gasPrice: '1'
22
+ tokenDecimals: 6
23
+ tokenExchangeRate: '10000000000'
24
+ # EVM chains (18 decimals)
25
+ anvil1:
26
+ gasPrice: '1'
27
+ tokenDecimals: 18
28
+ tokenExchangeRate: '10000000000'
29
+ anvil2:
30
+ gasPrice: '1'
31
+ tokenDecimals: 18
32
+ tokenExchangeRate: '10000000000'
33
+ anvil3:
34
+ gasPrice: '1'
35
+ tokenDecimals: 18
36
+ tokenExchangeRate: '10000000000'
37
+ anvil4:
38
+ gasPrice: '1'
39
+ tokenDecimals: 18
40
+ tokenExchangeRate: '10000000000'
41
+ # Radix chains (18 decimals)
42
+ radix1:
43
+ gasPrice: '1'
44
+ tokenDecimals: 18
45
+ tokenExchangeRate: '10000000000'
46
+ radix2:
47
+ gasPrice: '1'
48
+ tokenDecimals: 18
49
+ tokenExchangeRate: '10000000000'
50
+ # Sealevel chains (9 decimals)
51
+ sealevel1:
52
+ gasPrice: '1'
53
+ tokenDecimals: 9
54
+ tokenExchangeRate: '10000000000'
55
+ oracleKey: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
56
+ overhead:
57
+ hyp1: 200000
58
+ hyp2: 200000
59
+ hyp3: 200000
60
+ anvil1: 200000
61
+ anvil2: 200000
62
+ anvil3: 200000
63
+ anvil4: 200000
64
+ radix1: 200000
65
+ radix2: 200000
66
+ sealevel1: 200000
67
+ owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
68
+ type: interchainGasPaymaster
69
+ requiredHook:
70
+ type: merkleTreeHook
@@ -0,0 +1,96 @@
1
+ defaultHook:
2
+ beneficiary: account_loc12ytsy99ajzkwy7ce0444fs8avat7jy3fkj5mk64yz2z3yml6s7y7x3
3
+ oracleConfig:
4
+ # Radix chains (18 decimals)
5
+ radix1:
6
+ tokenExchangeRate: '347026904130352406214'
7
+ gasPrice: '201383436'
8
+ tokenDecimals: 18
9
+ radix2:
10
+ tokenExchangeRate: '347026904130352406214'
11
+ gasPrice: '201383436'
12
+ tokenDecimals: 18
13
+ # Cosmos chains (6 decimals)
14
+ hyp1:
15
+ tokenExchangeRate: '10000000000'
16
+ gasPrice: '1'
17
+ tokenDecimals: 6
18
+ hyp2:
19
+ tokenExchangeRate: '10000000000'
20
+ gasPrice: '1'
21
+ tokenDecimals: 6
22
+ hyp3:
23
+ tokenExchangeRate: '10000000000'
24
+ gasPrice: '1'
25
+ tokenDecimals: 6
26
+ # EVM chains (18 decimals)
27
+ anvil1:
28
+ tokenExchangeRate: '10000000000'
29
+ gasPrice: '1'
30
+ tokenDecimals: 18
31
+ anvil2:
32
+ tokenExchangeRate: '10000000000'
33
+ gasPrice: '1'
34
+ tokenDecimals: 18
35
+ anvil3:
36
+ tokenExchangeRate: '10000000000'
37
+ gasPrice: '1'
38
+ tokenDecimals: 18
39
+ anvil4:
40
+ tokenExchangeRate: '10000000000'
41
+ gasPrice: '1'
42
+ tokenDecimals: 18
43
+ # Sealevel chains (9 decimals)
44
+ sealevel1:
45
+ tokenExchangeRate: '10000000000'
46
+ gasPrice: '1'
47
+ tokenDecimals: 9
48
+ oracleKey: account_loc12ytsy99ajzkwy7ce0444fs8avat7jy3fkj5mk64yz2z3yml6s7y7x3
49
+ overhead:
50
+ radix1: 100
51
+ radix2: 100
52
+ hyp1: 200000
53
+ hyp2: 200000
54
+ hyp3: 200000
55
+ anvil1: 200000
56
+ anvil2: 200000
57
+ anvil3: 200000
58
+ anvil4: 200000
59
+ sealevel1: 200000
60
+ owner: account_loc12ytsy99ajzkwy7ce0444fs8avat7jy3fkj5mk64yz2z3yml6s7y7x3
61
+ type: interchainGasPaymaster
62
+ defaultIsm:
63
+ domains:
64
+ radix1:
65
+ domains:
66
+ radix2:
67
+ type: testIsm
68
+ owner: account_loc12ytsy99ajzkwy7ce0444fs8avat7jy3fkj5mk64yz2z3yml6s7y7x3
69
+ type: domainRoutingIsm
70
+
71
+ radix2:
72
+ validators: ['0x10E0271ec47d55511a047516f2a7301801d55eaB']
73
+ threshold: 1
74
+ type: messageIdMultisigIsm
75
+
76
+ hyp1:
77
+ type: testIsm
78
+ hyp2:
79
+ type: testIsm
80
+ hyp3:
81
+ type: testIsm
82
+ anvil1:
83
+ type: testIsm
84
+ anvil2:
85
+ type: testIsm
86
+ anvil3:
87
+ type: testIsm
88
+ anvil4:
89
+ type: testIsm
90
+ sealevel1:
91
+ type: testIsm
92
+ owner: account_loc12ytsy99ajzkwy7ce0444fs8avat7jy3fkj5mk64yz2z3yml6s7y7x3
93
+ type: domainRoutingIsm
94
+ owner: account_loc12ytsy99ajzkwy7ce0444fs8avat7jy3fkj5mk64yz2z3yml6s7y7x3
95
+ requiredHook:
96
+ type: merkleTreeHook
@@ -0,0 +1,5 @@
1
+ swell:
2
+ transactions:
3
+ - type: file
4
+ defaultSender: '0xC11e22A31787394950B31e2DEb1d2b5546689B65'
5
+ path: ./generated/transactions/swell.json
@@ -0,0 +1,36 @@
1
+ arbitrum:
2
+ transactions:
3
+ - type: rawTransaction
4
+ transactions:
5
+ - annotation: 'Schedule tx on Timelock'
6
+ timeSkip: 604800
7
+ from: '0x03fD5BE9DF85F0017dC7F4DC3068dDF64fffF25e'
8
+ to: '0xAC98b0cD1B64EA4fe133C6D2EDaf842cE5cF4b01'
9
+ data:
10
+ type: signature
11
+ signature: 'function schedule(address target,uint256 value,bytes calldata data,bytes32 predecessor,bytes32 salt,uint256 delay) public'
12
+ args:
13
+ - '0x80Cebd56A65e46c474a1A101e89E76C4c51D179c'
14
+ - '0'
15
+ - '0xf2fde38b0000000000000000000000007379d7bb2cca68982e467632b6554fd4e72e9431'
16
+ - '0x0000000000000000000000000000000000000000000000000000000000000000'
17
+ - '0x0000000000000000000000000000000000000000000000000000000000000000'
18
+ - '604800'
19
+ - annotation: 'Execute scheduled tx on Timelock'
20
+ from: '0xa7ECcdb9Be08178f896c26b7BbD8C3D4E844d9Ba'
21
+ to: '0xAC98b0cD1B64EA4fe133C6D2EDaf842cE5cF4b01'
22
+ data:
23
+ type: signature
24
+ signature: 'function execute(address target,uint256 value,bytes calldata payload,bytes32 predecessor,bytes32 salt) public'
25
+ args:
26
+ - '0x80Cebd56A65e46c474a1A101e89E76C4c51D179c'
27
+ - '0'
28
+ - '0xf2fde38b0000000000000000000000007379d7bb2cca68982e467632b6554fd4e72e9431'
29
+ - '0x0000000000000000000000000000000000000000000000000000000000000000'
30
+ - '0x0000000000000000000000000000000000000000000000000000000000000000'
31
+ eventAssertions:
32
+ - type: topicSignature
33
+ signature: 'event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)'
34
+ args:
35
+ - '0xAC98b0cD1B64EA4fe133C6D2EDaf842cE5cF4b01'
36
+ - '0x7379D7bB2ccA68982E467632B6554fD4e72e9431'
@@ -0,0 +1,100 @@
1
+ swell:
2
+ transactions:
3
+ - type: file
4
+ defaultSender: '0xC11e22A31787394950B31e2DEb1d2b5546689B65'
5
+ path: ./generated/transactions/swell.json
6
+ overrides:
7
+ '1':
8
+ to: '0xF4eae2f139D8032b8410Fef46f6873cD71A0FD76'
9
+ annotation: 'Set remote gas for Soneium'
10
+ eventAssertions:
11
+ - type: topicSignature
12
+ annotation: 'Check gas has been set for Soneium'
13
+ signature: 'event GasSet(uint32 domain, uint256 gas)'
14
+ args:
15
+ - '1868'
16
+ - '64000'
17
+ '0':
18
+ annotation: 'Enroll Soneium'
19
+ - type: rawTransaction
20
+ transactions:
21
+ # Receive Txs
22
+ - annotation: 'Receive tokens from Soneium'
23
+ from: '0x3a464f746D23Ab22155710f44dB16dcA53e0775E'
24
+ to: '0xFA3198ecF05303a6d96E57a45E6c815055D255b1'
25
+ data:
26
+ type: signature
27
+ signature: 'function handle(uint32 _origin,bytes32 _sender,bytes calldata _message) external payable'
28
+ args:
29
+ - '1868'
30
+ - '0x00000000000000000000000061F2993a644762A345b483ADF0d6351C5EdFB3b5'
31
+ - '0x000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000000000000000000000000000000000000000100000'
32
+ - annotation: 'Receive tokens from Bsquared'
33
+ from: '0x3a464f746D23Ab22155710f44dB16dcA53e0775E'
34
+ to: '0xFA3198ecF05303a6d96E57a45E6c815055D255b1'
35
+ data:
36
+ type: signature
37
+ signature: 'function handle(uint32 _origin,bytes32 _sender,bytes calldata _message) external payable'
38
+ args:
39
+ - '223'
40
+ - '0x0000000000000000000000000FC41a92F526A8CD22060A4052e156502D6B9db0'
41
+ - '0x000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000000000000000000000000000000000000000100000'
42
+ - annotation: 'Receive tokens from Boba'
43
+ from: '0x3a464f746D23Ab22155710f44dB16dcA53e0775E'
44
+ to: '0xFA3198ecF05303a6d96E57a45E6c815055D255b1'
45
+ data:
46
+ type: signature
47
+ signature: 'function handle(uint32 _origin,bytes32 _sender,bytes calldata _message) external payable'
48
+ args:
49
+ - '288'
50
+ - '0x000000000000000000000000FA3198ecF05303a6d96E57a45E6c815055D255b1'
51
+ - '0x000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000000000000000000000000000000000000000100000'
52
+ # Send Txs
53
+ - annotation: 'Send tokens to Boba'
54
+ from: '0xa7ECcdb9Be08178f896c26b7BbD8C3D4E844d9Ba'
55
+ to: '0xFA3198ecF05303a6d96E57a45E6c815055D255b1'
56
+ data:
57
+ type: signature
58
+ signature: function transferRemote(uint32,bytes32,uint256)
59
+ args:
60
+ - '288'
61
+ - '0x000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba'
62
+ - '1'
63
+ value: '250000000000000000'
64
+ eventAssertions:
65
+ - type: rawTopic
66
+ topic: '0x65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a'
67
+ - type: rawTopic
68
+ topic: '0x253a3a04cab70d47c1504809242d9350cd81627b4f1d50753e159cf8cd76ed33'
69
+ - annotation: 'Send tokens to Bsquared'
70
+ from: '0xa7ECcdb9Be08178f896c26b7BbD8C3D4E844d9Ba'
71
+ to: '0xFA3198ecF05303a6d96E57a45E6c815055D255b1'
72
+ data:
73
+ type: signature
74
+ signature: function transferRemote(uint32,bytes32,uint256)
75
+ args:
76
+ - '223'
77
+ - '0x000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba'
78
+ - '1'
79
+ value: '250000000000000000'
80
+ eventAssertions:
81
+ - type: rawTopic
82
+ topic: '0x65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a'
83
+ - type: rawTopic
84
+ topic: '0x253a3a04cab70d47c1504809242d9350cd81627b4f1d50753e159cf8cd76ed33'
85
+ - annotation: 'Send tokens to Soneium'
86
+ from: '0xa7ECcdb9Be08178f896c26b7BbD8C3D4E844d9Ba'
87
+ to: '0xFA3198ecF05303a6d96E57a45E6c815055D255b1'
88
+ data:
89
+ type: signature
90
+ signature: function transferRemote(uint32,bytes32,uint256)
91
+ args:
92
+ - '1868'
93
+ - '0x000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba'
94
+ - '1'
95
+ value: '250000000000000000'
96
+ eventAssertions:
97
+ - type: rawTopic
98
+ topic: '0x65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a'
99
+ - type: rawTopic
100
+ topic: '0x253a3a04cab70d47c1504809242d9350cd81627b4f1d50753e159cf8cd76ed33'