@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.
- package/LICENSE.md +193 -0
- package/README.md +149 -2
- package/bundle/154.index.js +462 -0
- package/bundle/230.index.js +569 -0
- package/bundle/25.index.js +9569 -0
- package/bundle/267.index.js +1386 -0
- package/bundle/308.index.js +5121 -0
- package/bundle/367.index.js +4 -0
- package/bundle/369.index.js +3443 -0
- package/bundle/529.index.js +3596 -0
- package/bundle/576.index.js +36 -0
- package/bundle/610.index.js +86 -0
- package/bundle/617.index.js +1612 -0
- package/bundle/628.index.js +152 -0
- package/bundle/633.index.js +86 -0
- package/bundle/697.index.js +410 -0
- package/bundle/7183ea1c1bf0a5da980d.js +214 -0
- package/bundle/748.index.js +672 -0
- package/bundle/78.index.js +372 -0
- package/bundle/841.index.js +2093 -0
- package/bundle/868.index.js +290 -0
- package/bundle/902.index.js +173 -0
- package/bundle/956.index.js +9901 -0
- package/bundle/aleo_wasm.wasm +0 -0
- package/bundle/aleo_wasm1.wasm +0 -0
- package/bundle/build/Release/bigint_buffer.node +0 -0
- package/bundle/file.js +12 -0
- package/bundle/index.js +4 -0
- package/bundle/package.json +3 -0
- package/bundle/worker-pipeline.js +38 -0
- package/bundle/worker.js +54 -0
- package/bundle/worker1.js +171 -0
- package/bundle/worker2.js +19834 -0
- package/bundle/worker3.js +19834 -0
- package/examples/aleo/core-config.yaml +19 -0
- package/examples/ccip/ccip-warp-route.yaml +26 -0
- package/examples/ccip/multi-chain-ccip-warp-route.yaml +81 -0
- package/examples/chain-config.yaml +42 -0
- package/examples/contract-artifacts.yaml +20 -0
- package/examples/core-config.yaml +19 -0
- package/examples/cosmosnative/core-config.yaml +20 -0
- package/examples/cosmosnative/warp-route-deployment.yaml +21 -0
- package/examples/crosschain/README.md +31 -0
- package/examples/crosschain/cosmosnative/core-config.yaml +69 -0
- package/examples/crosschain/ethereum/core-config.yaml +70 -0
- package/examples/crosschain/radix/core-config.yaml +96 -0
- package/examples/fork/file-transactions.yaml +5 -0
- package/examples/fork/timelock-testing.yaml +36 -0
- package/examples/fork/warp-route-update.yaml +100 -0
- package/examples/hooks.yaml +70 -0
- package/examples/ism-advanced.yaml +33 -0
- package/examples/ism.yaml +13 -0
- package/examples/radix/core-config.yaml +29 -0
- package/examples/sealevel/core-config-apply.yaml +7 -0
- package/examples/sealevel/core-config-composite-ism.yaml +21 -0
- package/examples/sealevel/core-config.yaml +12 -0
- package/examples/sealevel/igp-hook-config.yaml +13 -0
- package/examples/sealevel/warp-config-routing-message-id-multisig-ism.yaml +21 -0
- package/examples/starknet/core-config.yaml +20 -0
- package/examples/submit/strategy/file-strategy.yaml +8 -0
- package/examples/submit/strategy/gnosis-chain-strategy.yaml +10 -0
- package/examples/submit/strategy/gnosis-chain-tx-builder-strategy.yaml +6 -0
- package/examples/submit/strategy/gnosis-strategy-avalanche.yaml +4 -0
- package/examples/submit/strategy/gnosis-tx-builder-ica-strategy.yaml +20 -0
- package/examples/submit/strategy/ica-timelock-strategy.yaml +15 -0
- package/examples/submit/strategy/impersonated-account-strategy.yaml +4 -0
- package/examples/submit/strategy/json-rpc-chain-strategy.yaml +8 -0
- package/examples/submit/strategy/json-rpc-ica-strategy.yaml +13 -0
- package/examples/submit/strategy/json-rpc-strategy.yaml +3 -0
- package/examples/submit/strategy/json-rpc-timelock-strategy.yaml +17 -0
- package/examples/submit/strategy/starknet-json-rpc-chain-strategy.yaml +11 -0
- package/examples/submit/transactions/anvil-transactions.yaml +10 -0
- package/examples/submit/transactions/avalanche-transactions.json +8 -0
- package/examples/submit/transactions/sepolia-transactions.json +8 -0
- package/examples/tron-core-config.yaml +18 -0
- package/examples/warp-base.yaml +24 -0
- package/examples/warp-config-predicate-mainnet.yaml +14 -0
- package/examples/warp-deployed-predicate-mainnet.yaml +19 -0
- package/examples/warp-ethereum.yaml +19 -0
- package/examples/warp-route-deployment.yaml +21 -0
- 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,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'
|