@hyperlane-xyz/sdk 13.2.1 → 13.3.0
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/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +27 -0
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/core/CoreDeployer.hardhat-test.js +5 -0
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/CosmosNativeCoreModule.d.ts.map +1 -1
- package/dist/core/CosmosNativeCoreModule.js +0 -1
- package/dist/core/CosmosNativeCoreModule.js.map +1 -1
- package/dist/core/EvmCoreModule.d.ts.map +1 -1
- package/dist/core/EvmCoreModule.hardhat-test.js +1 -2
- package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -1
- package/dist/core/EvmCoreModule.js +7 -7
- package/dist/core/EvmCoreModule.js.map +1 -1
- package/dist/core/EvmCoreReader.d.ts.map +1 -1
- package/dist/core/EvmCoreReader.js +1 -1
- package/dist/core/EvmCoreReader.js.map +1 -1
- package/dist/core/EvmIcaModule.d.ts +3 -4
- package/dist/core/EvmIcaModule.d.ts.map +1 -1
- package/dist/core/EvmIcaModule.hardhat-test.js +25 -2
- package/dist/core/EvmIcaModule.hardhat-test.js.map +1 -1
- package/dist/core/EvmIcaModule.js +13 -11
- package/dist/core/EvmIcaModule.js.map +1 -1
- package/dist/core/HyperlaneRelayer.d.ts +20 -5
- package/dist/core/HyperlaneRelayer.d.ts.map +1 -1
- package/dist/core/types.d.ts +2801 -1286
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +0 -1
- package/dist/core/types.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +2 -1
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +11 -8
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/proxy.d.ts +1 -1
- package/dist/deploy/proxy.d.ts.map +1 -1
- package/dist/deploy/proxy.js +4 -5
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +23 -4
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/ica/EvmIcaReader.d.ts +2 -5
- package/dist/ica/EvmIcaReader.d.ts.map +1 -1
- package/dist/ica/EvmIcaReader.hardhat-test.js +2 -7
- package/dist/ica/EvmIcaReader.hardhat-test.js.map +1 -1
- package/dist/ica/EvmIcaReader.js +10 -44
- package/dist/ica/EvmIcaReader.js.map +1 -1
- package/dist/ica/types.d.ts +965 -47
- package/dist/ica/types.d.ts.map +1 -1
- package/dist/ica/types.js +7 -22
- package/dist/ica/types.js.map +1 -1
- package/dist/index.d.ts +18 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -14
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.hardhat-test.js +0 -5
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
- package/dist/ism/EvmIsmReader.d.ts +4 -1
- package/dist/ism/EvmIsmReader.d.ts.map +1 -1
- package/dist/ism/EvmIsmReader.js +66 -42
- package/dist/ism/EvmIsmReader.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +0 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +4 -11
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/metadata/arbL2ToL1.hardhat-test.js +0 -1
- package/dist/ism/metadata/arbL2ToL1.hardhat-test.js.map +1 -1
- package/dist/ism/metadata/builder.d.ts +2 -2
- package/dist/ism/metadata/builder.d.ts.map +1 -1
- package/dist/ism/metadata/builder.hardhat-test.js +0 -1
- package/dist/ism/metadata/builder.hardhat-test.js.map +1 -1
- package/dist/ism/metadata/builder.js +3 -4
- package/dist/ism/metadata/builder.js.map +1 -1
- package/dist/ism/metadata/ccipread.d.ts +4 -4
- package/dist/ism/metadata/ccipread.d.ts.map +1 -1
- package/dist/ism/metadata/ccipread.hardhat-test.js +5 -37
- package/dist/ism/metadata/ccipread.hardhat-test.js.map +1 -1
- package/dist/ism/metadata/ccipread.js +4 -4
- package/dist/ism/metadata/ccipread.js.map +1 -1
- package/dist/ism/metadata/routing.d.ts.map +1 -1
- package/dist/ism/metadata/routing.js +8 -11
- package/dist/ism/metadata/routing.js.map +1 -1
- package/dist/ism/types.d.ts +59 -19
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +17 -12
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +7 -5
- package/dist/ism/utils.js.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +3 -9
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.d.ts +3 -6
- package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.js +2 -17
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +3 -8
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +11 -31
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +10 -1
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/account/contracts.d.ts +1 -4
- package/dist/middleware/account/contracts.d.ts.map +1 -1
- package/dist/middleware/account/contracts.js +1 -4
- package/dist/middleware/account/contracts.js.map +1 -1
- package/dist/middleware/account/types.d.ts +2 -2
- package/dist/providers/transactions/submitter/builder/types.d.ts +10 -10
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +2 -3
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +20 -16
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/transformer/ethersV5/types.d.ts +3 -3
- package/dist/providers/transactions/transformer/types.d.ts +3 -3
- package/dist/router/EvmRouterReader.d.ts +18 -0
- package/dist/router/EvmRouterReader.d.ts.map +1 -0
- package/dist/router/EvmRouterReader.js +60 -0
- package/dist/router/EvmRouterReader.js.map +1 -0
- package/dist/router/HyperlaneRouterChecker.d.ts +3 -0
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +14 -4
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/types.d.ts +79 -31
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js +13 -4
- package/dist/router/types.js.map +1 -1
- package/dist/token/EvmERC20WarpModule.d.ts +13 -0
- package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpModule.hardhat-test.js +354 -9
- package/dist/token/EvmERC20WarpModule.hardhat-test.js.map +1 -1
- package/dist/token/EvmERC20WarpModule.js +210 -9
- package/dist/token/EvmERC20WarpModule.js.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.d.ts +7 -11
- package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpRouteReader.js +97 -45
- package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
- package/dist/token/TokenMetadataMap.d.ts +1 -2
- package/dist/token/TokenMetadataMap.d.ts.map +1 -1
- package/dist/token/TokenMetadataMap.js +2 -20
- package/dist/token/TokenMetadataMap.js.map +1 -1
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +3 -0
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/config.d.ts +25 -0
- package/dist/token/config.d.ts.map +1 -1
- package/dist/token/config.js +25 -0
- package/dist/token/config.js.map +1 -1
- package/dist/token/configUtils.d.ts.map +1 -1
- package/dist/token/configUtils.js +13 -3
- package/dist/token/configUtils.js.map +1 -1
- package/dist/token/contracts.d.ts +37 -31
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/contracts.js +8 -1
- package/dist/token/contracts.js.map +1 -1
- package/dist/token/deploy.d.ts +12 -5
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.js +137 -5
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/types.d.ts +2720 -101
- package/dist/token/types.d.ts.map +1 -1
- package/dist/token/types.js +76 -5
- package/dist/token/types.js.map +1 -1
- package/dist/utils/decimals.d.ts +4 -0
- package/dist/utils/decimals.d.ts.map +1 -0
- package/dist/utils/decimals.js +26 -0
- package/dist/utils/decimals.js.map +1 -0
- package/package.json +11 -7
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
|
-
import { ethers } from 'ethers';
|
|
3
2
|
import hre from 'hardhat';
|
|
4
3
|
import sinon from 'sinon';
|
|
5
4
|
import { TestCcipReadIsm__factory } from '@hyperlane-xyz/core';
|
|
@@ -10,7 +9,7 @@ import { MultiProvider } from '../../providers/MultiProvider.js';
|
|
|
10
9
|
import { EvmIsmReader } from '../EvmIsmReader.js';
|
|
11
10
|
import { HyperlaneIsmFactory } from '../HyperlaneIsmFactory.js';
|
|
12
11
|
import { BaseMetadataBuilder } from './builder.js';
|
|
13
|
-
describe('
|
|
12
|
+
describe('Offchain Lookup ISM Integration', () => {
|
|
14
13
|
let core;
|
|
15
14
|
let multiProvider;
|
|
16
15
|
let testRecipient;
|
|
@@ -18,8 +17,7 @@ describe('CCIP-Read ISM Integration', () => {
|
|
|
18
17
|
let metadataBuilder;
|
|
19
18
|
let ismFactory;
|
|
20
19
|
let fetchStub;
|
|
21
|
-
|
|
22
|
-
beforeEach(async () => {
|
|
20
|
+
before(async () => {
|
|
23
21
|
// Set up a local test multi-provider and Hyperlane core
|
|
24
22
|
const signers = await hre.ethers.getSigners();
|
|
25
23
|
multiProvider = MultiProvider.createTestMultiProvider({
|
|
@@ -38,7 +36,7 @@ describe('CCIP-Read ISM Integration', () => {
|
|
|
38
36
|
const domain = multiProvider.getDomainId('test1');
|
|
39
37
|
ccipReadIsm = await multiProvider.handleDeploy(domain, new TestCcipReadIsm__factory(),
|
|
40
38
|
// Pass in desired offchain URLs for the ISM constructor:
|
|
41
|
-
[[
|
|
39
|
+
[['http://example.com/{data}']]);
|
|
42
40
|
// Configure the TestRecipient to use the CCIP-Read ISM
|
|
43
41
|
await testRecipient.setInterchainSecurityModule(ccipReadIsm.address);
|
|
44
42
|
// Prepare the metadata builder
|
|
@@ -54,7 +52,7 @@ describe('CCIP-Read ISM Integration', () => {
|
|
|
54
52
|
// Send a message from test1 to test2
|
|
55
53
|
const { dispatchTx, message } = await core.sendMessage('test1', 'test2', testRecipient.address, '0x1234');
|
|
56
54
|
// Derive the on-chain ISM config for CCIP-Read
|
|
57
|
-
const derivedIsm =
|
|
55
|
+
const derivedIsm = await new EvmIsmReader(multiProvider, 'test2').deriveOffchainLookupConfig(ccipReadIsm.address);
|
|
58
56
|
// Build the metadata using the CCIP-Read builder
|
|
59
57
|
const context = {
|
|
60
58
|
ism: derivedIsm,
|
|
@@ -67,37 +65,7 @@ describe('CCIP-Read ISM Integration', () => {
|
|
|
67
65
|
const mailbox = core.getContracts('test2').mailbox;
|
|
68
66
|
await expect(mailbox.process(metadata, message.message)).to.not.be.reverted;
|
|
69
67
|
});
|
|
70
|
-
|
|
71
|
-
const { dispatchTx, message } = await core.sendMessage('test1', 'test2', testRecipient.address, '0x1234');
|
|
72
|
-
// Derive the on-chain ISM config for CCIP-Read
|
|
73
|
-
const derivedIsm = (await new EvmIsmReader(multiProvider, 'test2').deriveIsmConfig(ccipReadIsm.address));
|
|
74
|
-
// Build the metadata using the CCIP-Read builder
|
|
75
|
-
const context = {
|
|
76
|
-
ism: derivedIsm,
|
|
77
|
-
message,
|
|
78
|
-
dispatchTx,
|
|
79
|
-
hook: {},
|
|
80
|
-
};
|
|
81
|
-
await metadataBuilder.build(context);
|
|
82
|
-
// Verify that fetch was called exactly once
|
|
83
|
-
expect(fetchStub.calledOnce).to.be.true;
|
|
84
|
-
const [url, options] = fetchStub.getCall(0).args;
|
|
85
|
-
const payload = JSON.parse(options.body);
|
|
86
|
-
expect(url).to.equal(CCIP_READ_SERVER_URL.replace('{data}', payload.data));
|
|
87
|
-
// Should include sender, data, and signature
|
|
88
|
-
expect(payload).to.include.keys('sender', 'data', 'signature');
|
|
89
|
-
expect(payload.sender).to.equal(ccipReadIsm.address);
|
|
90
|
-
// Verify that signature is valid over (data, sender)
|
|
91
|
-
const messageHash = ethers.utils.solidityKeccak256(['string', 'address', 'bytes', 'string'], [
|
|
92
|
-
'HYPERLANE_OFFCHAINLOOKUP',
|
|
93
|
-
payload.sender,
|
|
94
|
-
payload.data,
|
|
95
|
-
CCIP_READ_SERVER_URL,
|
|
96
|
-
]);
|
|
97
|
-
const recovered = ethers.utils.verifyMessage(ethers.utils.arrayify(messageHash), payload.signature);
|
|
98
|
-
expect(recovered).to.equal((await hre.ethers.getSigners())[0].address);
|
|
99
|
-
});
|
|
100
|
-
afterEach(() => {
|
|
68
|
+
after(() => {
|
|
101
69
|
fetchStub.restore();
|
|
102
70
|
});
|
|
103
71
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ccipread.hardhat-test.js","sourceRoot":"","sources":["../../../src/ism/metadata/ccipread.hardhat-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"ccipread.hardhat-test.js","sourceRoot":"","sources":["../../../src/ism/metadata/ccipread.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { utils } from 'ethers';
|
|
2
|
-
import {
|
|
2
|
+
import { AbstractCcipReadIsm__factory } from '@hyperlane-xyz/core';
|
|
3
3
|
import { IsmType } from '../types.js';
|
|
4
|
-
export class
|
|
5
|
-
type = IsmType.
|
|
4
|
+
export class OffchainLookupMetadataBuilder {
|
|
5
|
+
type = IsmType.OFFCHAIN_LOOKUP;
|
|
6
6
|
core;
|
|
7
7
|
constructor(core) {
|
|
8
8
|
this.core = core;
|
|
@@ -10,7 +10,7 @@ export class CcipReadMetadataBuilder {
|
|
|
10
10
|
async build(context) {
|
|
11
11
|
const { ism, message } = context;
|
|
12
12
|
const provider = this.core.multiProvider.getProvider(message.parsed.origin);
|
|
13
|
-
const contract =
|
|
13
|
+
const contract = AbstractCcipReadIsm__factory.connect(ism.address, provider);
|
|
14
14
|
let revertData;
|
|
15
15
|
try {
|
|
16
16
|
// Should revert with OffchainLookup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ccipread.js","sourceRoot":"","sources":["../../../src/ism/metadata/ccipread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ccipread.js","sourceRoot":"","sources":["../../../src/ism/metadata/ccipread.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/ism/metadata/routing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/ism/metadata/routing.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,WAAW,EAAU,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAEL,sBAAsB,EACtB,OAAO,EACP,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF,qBAAa,sBAAuB,YAAW,eAAe;IAChD,SAAS,CAAC,mBAAmB,EAAE,mBAAmB;gBAAxC,mBAAmB,EAAE,mBAAmB;IAEjD,KAAK,CAChB,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,EAC7D,QAAQ,SAAK,GACZ,OAAO,CAAC,MAAM,CAAC;IAYlB,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,GAC5D,eAAe,CAAC,kBAAkB,GAAG,MAAM,CAAC;CAmBhD;AAED,qBAAa,qCAAsC,SAAQ,sBAAsB;IAClE,KAAK,CAChB,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,EACvD,QAAQ,SAAK,GACZ,OAAO,CAAC,MAAM,CAAC;CAoEnB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DefaultFallbackRoutingIsm__factory
|
|
1
|
+
import { DefaultFallbackRoutingIsm__factory } from '@hyperlane-xyz/core';
|
|
2
2
|
import { assert } from '@hyperlane-xyz/utils';
|
|
3
3
|
import { EvmIsmReader } from '../EvmIsmReader.js';
|
|
4
4
|
import { IsmType, } from '../types.js';
|
|
@@ -36,29 +36,26 @@ export class RoutingMetadataBuilder {
|
|
|
36
36
|
export class DefaultFallbackRoutingMetadataBuilder extends RoutingMetadataBuilder {
|
|
37
37
|
async build(context, maxDepth = 10) {
|
|
38
38
|
const originChain = this.baseMetadataBuilder.multiProvider.getChainName(context.message.parsed.origin);
|
|
39
|
-
const isRouted = context.ism.type === IsmType.
|
|
40
|
-
context.ism.type === IsmType.
|
|
39
|
+
const isRouted = context.ism.type === IsmType.AMOUNT_ROUTING ||
|
|
40
|
+
context.ism.type === IsmType.INTERCHAIN_ACCOUNT_ROUTING
|
|
41
41
|
? false
|
|
42
42
|
: !!context.ism.domains[originChain];
|
|
43
43
|
// If the chain is routed then we are 100% sure that the ism is not an ICA ISM
|
|
44
|
-
if (isRouted
|
|
44
|
+
if (isRouted) {
|
|
45
45
|
return super.build(
|
|
46
46
|
// Typescript is not clever enough to understand that after the conditional check
|
|
47
47
|
// the ism type will be of the same expected type
|
|
48
48
|
context, maxDepth);
|
|
49
49
|
}
|
|
50
50
|
if (context.ism.type !== IsmType.FALLBACK_ROUTING &&
|
|
51
|
-
context.ism.type !== IsmType.
|
|
52
|
-
context.ism.type !== IsmType.
|
|
51
|
+
context.ism.type !== IsmType.AMOUNT_ROUTING &&
|
|
52
|
+
context.ism.type !== IsmType.INTERCHAIN_ACCOUNT_ROUTING) {
|
|
53
53
|
throw new Error(`Origin domain ${originChain} is not enrolled in DomainRoutingIsm`);
|
|
54
54
|
}
|
|
55
55
|
const destinationProvider = this.baseMetadataBuilder.multiProvider.getProvider(context.message.parsed.destination);
|
|
56
56
|
let ismAddress;
|
|
57
|
-
if (context.ism.type === IsmType.
|
|
58
|
-
|
|
59
|
-
ismAddress = await icaFallbackRoutingIsm.route(context.message.message);
|
|
60
|
-
}
|
|
61
|
-
else if (context.ism.type === IsmType.AMOUNT_ROUTING) {
|
|
57
|
+
if (context.ism.type === IsmType.AMOUNT_ROUTING ||
|
|
58
|
+
context.ism.type === IsmType.INTERCHAIN_ACCOUNT_ROUTING) {
|
|
62
59
|
const amountFallbackRoutingIsm = DefaultFallbackRoutingIsm__factory.connect(context.ism.address, destinationProvider);
|
|
63
60
|
ismAddress = await amountFallbackRoutingIsm.route(context.message.message);
|
|
64
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/ism/metadata/routing.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/ism/metadata/routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAwB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAGL,OAAO,GAER,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAahD,MAAM,OAAO,sBAAsB;IACX;IAAtB,YAAsB,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAAG,CAAC;IAE3D,KAAK,CAAC,KAAK,CAChB,OAA6D,EAC7D,QAAQ,GAAG,EAAE;QAEb,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CACrE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAC9B,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,GAAG,OAAO;YACV,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAqB;SAC1D,CAAC;QAEF,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,MAAM,CACX,QAAgB,EAChB,OAA6D;QAE7D,yEAAyE;QACzE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEpE,MAAM,cAAc,GAClB,OAAO,GAAG,KAAK,QAAQ;YACrB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE;gBAC1B,GAAG,OAAO;gBACV,GAAG,EAAE,GAAuB;aAC7B,CAAC,CAAC;QAET,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;YAC1C,QAAQ,EAAE,cAAc;SACzB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,sBAAsB;IACxE,KAAK,CAAC,KAAK,CAChB,OAAuD,EACvD,QAAQ,GAAG,EAAE;QAEb,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CACrE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAC9B,CAAC;QAEF,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc;YAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,0BAA0B;YACrD,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACzC,8EAA8E;QAC9E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,KAAK,CAAC,KAAK;YAChB,iFAAiF;YACjF,iDAAiD;YACjD,OAA+D,EAC/D,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,IACE,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,gBAAgB;YAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc;YAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,0BAA0B,EACvD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,iBAAiB,WAAW,sCAAsC,CACnE,CAAC;QACJ,CAAC;QAED,MAAM,mBAAmB,GACvB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,WAAW,CAChD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CACnC,CAAC;QAEJ,IAAI,UAAmB,CAAC;QACxB,IACE,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc;YAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,0BAA0B,EACvD,CAAC;YACD,MAAM,wBAAwB,GAC5B,kCAAkC,CAAC,OAAO,CACxC,OAAO,CAAC,GAAG,CAAC,OAAO,EACnB,mBAAmB,CACpB,CAAC;YACJ,UAAU,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAC/C,OAAO,CAAC,OAAO,CAAC,OAAO,CACxB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,kCAAkC,CAAC,OAAO,CAC5D,OAAO,CAAC,GAAG,CAAC,OAAO,EACnB,mBAAmB,CACpB,CAAC;YACF,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,YAAY,CAChC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EACtC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CACnC,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAErE,MAAM,aAAa,GAAG;YACpB,GAAG,OAAO;YACV,GAAG,EAAE,gBAAgB;SACtB,CAAC;QACF,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;CACF"}
|
package/dist/ism/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { ArbL2ToL1Ism, CCIPIsm, IAggregationIsm,
|
|
2
|
+
import { AbstractCcipReadIsm, ArbL2ToL1Ism, CCIPIsm, IAggregationIsm, IInterchainSecurityModule, IMultisigIsm, IRoutingIsm, IStaticWeightedMultisigIsm, InterchainAccountRouter, OPStackIsm, PausableIsm, TestIsm, TrustedRelayerIsm } from '@hyperlane-xyz/core';
|
|
3
3
|
import type { Address, Domain, ValueOf, WithAddress } from '@hyperlane-xyz/utils';
|
|
4
4
|
import { ChainMap, OwnableConfig } from '../types.js';
|
|
5
5
|
export declare enum ModuleType {
|
|
@@ -20,8 +20,8 @@ export declare enum IsmType {
|
|
|
20
20
|
OP_STACK = "opStackIsm",
|
|
21
21
|
ROUTING = "domainRoutingIsm",
|
|
22
22
|
FALLBACK_ROUTING = "defaultFallbackRoutingIsm",
|
|
23
|
-
ICA_ROUTING = "icaRoutingIsm",
|
|
24
23
|
AMOUNT_ROUTING = "amountRoutingIsm",
|
|
24
|
+
INTERCHAIN_ACCOUNT_ROUTING = "interchainAccountRouting",
|
|
25
25
|
AGGREGATION = "staticAggregationIsm",
|
|
26
26
|
STORAGE_AGGREGATION = "storageAggregationIsm",
|
|
27
27
|
MERKLE_ROOT_MULTISIG = "merkleRootMultisigIsm",
|
|
@@ -35,7 +35,7 @@ export declare enum IsmType {
|
|
|
35
35
|
WEIGHTED_MERKLE_ROOT_MULTISIG = "weightedMerkleRootMultisigIsm",
|
|
36
36
|
WEIGHTED_MESSAGE_ID_MULTISIG = "weightedMessageIdMultisigIsm",
|
|
37
37
|
CCIP = "ccipIsm",
|
|
38
|
-
|
|
38
|
+
OFFCHAIN_LOOKUP = "offchainLookupIsm"
|
|
39
39
|
}
|
|
40
40
|
export declare const MUTABLE_ISM_TYPE: IsmType[];
|
|
41
41
|
/**
|
|
@@ -60,21 +60,37 @@ export type OpStackIsmConfig = z.infer<typeof OpStackIsmConfigSchema>;
|
|
|
60
60
|
export type TrustedRelayerIsmConfig = z.infer<typeof TrustedRelayerIsmConfigSchema>;
|
|
61
61
|
export type CCIPIsmConfig = z.infer<typeof CCIPIsmConfigSchema>;
|
|
62
62
|
export type ArbL2ToL1IsmConfig = z.infer<typeof ArbL2ToL1IsmConfigSchema>;
|
|
63
|
-
export type
|
|
63
|
+
export type OffchainLookupIsmConfig = z.infer<typeof OffchainLookupIsmConfigSchema>;
|
|
64
64
|
export type NullIsmConfig = TestIsmConfig | PausableIsmConfig | OpStackIsmConfig | TrustedRelayerIsmConfig | CCIPIsmConfig;
|
|
65
|
-
type BaseRoutingIsmConfig<T extends IsmType.ROUTING | IsmType.FALLBACK_ROUTING | IsmType.
|
|
65
|
+
type BaseRoutingIsmConfig<T extends IsmType.ROUTING | IsmType.FALLBACK_ROUTING | IsmType.AMOUNT_ROUTING | IsmType.INTERCHAIN_ACCOUNT_ROUTING> = {
|
|
66
66
|
type: T;
|
|
67
67
|
};
|
|
68
68
|
export type DomainRoutingIsmConfig = BaseRoutingIsmConfig<IsmType.ROUTING | IsmType.FALLBACK_ROUTING> & OwnableConfig & {
|
|
69
69
|
domains: ChainMap<IsmConfig>;
|
|
70
70
|
};
|
|
71
|
-
export
|
|
71
|
+
export declare const InterchainAccountRouterIsmSchema: z.ZodObject<{
|
|
72
|
+
owner: z.ZodString;
|
|
73
|
+
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
74
|
+
type: z.ZodLiteral<IsmType.INTERCHAIN_ACCOUNT_ROUTING>;
|
|
75
|
+
isms: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
76
|
+
}, "strip", z.ZodTypeAny, {
|
|
77
|
+
type: IsmType.INTERCHAIN_ACCOUNT_ROUTING;
|
|
78
|
+
owner: string;
|
|
79
|
+
isms: Record<string, string>;
|
|
80
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
81
|
+
}, {
|
|
82
|
+
type: IsmType.INTERCHAIN_ACCOUNT_ROUTING;
|
|
83
|
+
owner: string;
|
|
84
|
+
isms: Record<string, string>;
|
|
85
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
86
|
+
}>;
|
|
87
|
+
export type InterchainAccountRouterIsm = z.infer<typeof InterchainAccountRouterIsmSchema>;
|
|
72
88
|
export type AmountRoutingIsmConfig = BaseRoutingIsmConfig<IsmType.AMOUNT_ROUTING> & {
|
|
73
89
|
lowerIsm: IsmConfig;
|
|
74
90
|
upperIsm: IsmConfig;
|
|
75
91
|
threshold: number;
|
|
76
92
|
};
|
|
77
|
-
export type RoutingIsmConfig =
|
|
93
|
+
export type RoutingIsmConfig = DomainRoutingIsmConfig | AmountRoutingIsmConfig | InterchainAccountRouterIsm;
|
|
78
94
|
export type AggregationIsmConfig = {
|
|
79
95
|
type: IsmType.AGGREGATION | IsmType.STORAGE_AGGREGATION;
|
|
80
96
|
modules: Array<IsmConfig>;
|
|
@@ -86,7 +102,6 @@ export type DeployedIsmType = {
|
|
|
86
102
|
[IsmType.CUSTOM]: IInterchainSecurityModule;
|
|
87
103
|
[IsmType.ROUTING]: IRoutingIsm;
|
|
88
104
|
[IsmType.FALLBACK_ROUTING]: IRoutingIsm;
|
|
89
|
-
[IsmType.ICA_ROUTING]: IRoutingIsm;
|
|
90
105
|
[IsmType.AMOUNT_ROUTING]: IRoutingIsm;
|
|
91
106
|
[IsmType.AGGREGATION]: IAggregationIsm;
|
|
92
107
|
[IsmType.STORAGE_AGGREGATION]: IAggregationIsm;
|
|
@@ -102,7 +117,8 @@ export type DeployedIsmType = {
|
|
|
102
117
|
[IsmType.ARB_L2_TO_L1]: ArbL2ToL1Ism;
|
|
103
118
|
[IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG]: IStaticWeightedMultisigIsm;
|
|
104
119
|
[IsmType.WEIGHTED_MESSAGE_ID_MULTISIG]: IStaticWeightedMultisigIsm;
|
|
105
|
-
[IsmType.
|
|
120
|
+
[IsmType.OFFCHAIN_LOOKUP]: AbstractCcipReadIsm;
|
|
121
|
+
[IsmType.INTERCHAIN_ACCOUNT_ROUTING]: InterchainAccountRouter;
|
|
106
122
|
};
|
|
107
123
|
export type DeployedIsm = ValueOf<DeployedIsmType>;
|
|
108
124
|
export type RoutingIsmDelta = {
|
|
@@ -173,6 +189,28 @@ export declare const CCIPIsmConfigSchema: z.ZodObject<{
|
|
|
173
189
|
type: IsmType.CCIP;
|
|
174
190
|
originChain: string;
|
|
175
191
|
}>;
|
|
192
|
+
export declare const OffchainLookupIsmConfigSchema: z.ZodObject<{
|
|
193
|
+
owner: z.ZodString;
|
|
194
|
+
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
195
|
+
type: z.ZodLiteral<IsmType.OFFCHAIN_LOOKUP>;
|
|
196
|
+
urls: z.ZodArray<z.ZodString, "many">;
|
|
197
|
+
}, "strip", z.ZodTypeAny, {
|
|
198
|
+
type: IsmType.OFFCHAIN_LOOKUP;
|
|
199
|
+
owner: string;
|
|
200
|
+
urls: string[];
|
|
201
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
202
|
+
}, {
|
|
203
|
+
type: IsmType.OFFCHAIN_LOOKUP;
|
|
204
|
+
owner: string;
|
|
205
|
+
urls: string[];
|
|
206
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
207
|
+
}>;
|
|
208
|
+
export declare const isOffchainLookupIsmConfig: (config: unknown) => config is {
|
|
209
|
+
type: IsmType.OFFCHAIN_LOOKUP;
|
|
210
|
+
owner: string;
|
|
211
|
+
urls: string[];
|
|
212
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
213
|
+
};
|
|
176
214
|
export declare const OpStackIsmConfigSchema: z.ZodObject<{
|
|
177
215
|
type: z.ZodLiteral<IsmType.OP_STACK>;
|
|
178
216
|
origin: z.ZodString;
|
|
@@ -196,13 +234,6 @@ export declare const ArbL2ToL1IsmConfigSchema: z.ZodObject<{
|
|
|
196
234
|
type: IsmType.ARB_L2_TO_L1;
|
|
197
235
|
bridge: string;
|
|
198
236
|
}>;
|
|
199
|
-
export declare const CCIPReadIsmConfigSchema: z.ZodObject<{
|
|
200
|
-
type: z.ZodLiteral<IsmType.CCIP_READ>;
|
|
201
|
-
}, "strip", z.ZodTypeAny, {
|
|
202
|
-
type: IsmType.CCIP_READ;
|
|
203
|
-
}, {
|
|
204
|
-
type: IsmType.CCIP_READ;
|
|
205
|
-
}>;
|
|
206
237
|
export declare const PausableIsmConfigSchema: z.ZodIntersection<z.ZodObject<{
|
|
207
238
|
owner: z.ZodString;
|
|
208
239
|
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
@@ -380,11 +411,20 @@ export declare const IsmConfigSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
|
380
411
|
type: IsmType.ARB_L2_TO_L1;
|
|
381
412
|
bridge: string;
|
|
382
413
|
}>, z.ZodObject<{
|
|
383
|
-
|
|
414
|
+
owner: z.ZodString;
|
|
415
|
+
ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
416
|
+
type: z.ZodLiteral<IsmType.OFFCHAIN_LOOKUP>;
|
|
417
|
+
urls: z.ZodArray<z.ZodString, "many">;
|
|
384
418
|
}, "strip", z.ZodTypeAny, {
|
|
385
|
-
type: IsmType.
|
|
419
|
+
type: IsmType.OFFCHAIN_LOOKUP;
|
|
420
|
+
owner: string;
|
|
421
|
+
urls: string[];
|
|
422
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
386
423
|
}, {
|
|
387
|
-
type: IsmType.
|
|
424
|
+
type: IsmType.OFFCHAIN_LOOKUP;
|
|
425
|
+
owner: string;
|
|
426
|
+
urls: string[];
|
|
427
|
+
ownerOverrides?: Record<string, string> | undefined;
|
|
388
428
|
}>]>;
|
|
389
429
|
export {};
|
|
390
430
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/ism/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,YAAY,EACZ,OAAO,EACP,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ism/types.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ZHash } from '../metadata/customZodTypes.js';
|
|
3
3
|
import { OwnableSchema, PausableSchema, } from '../types.js';
|
|
4
|
+
import { isCompliant } from '../utils/schemas.js';
|
|
4
5
|
// this enum should match the IInterchainSecurityModule.sol enum
|
|
5
6
|
// meant for the relayer
|
|
6
7
|
export var ModuleType;
|
|
@@ -25,8 +26,8 @@ export var IsmType;
|
|
|
25
26
|
IsmType["OP_STACK"] = "opStackIsm";
|
|
26
27
|
IsmType["ROUTING"] = "domainRoutingIsm";
|
|
27
28
|
IsmType["FALLBACK_ROUTING"] = "defaultFallbackRoutingIsm";
|
|
28
|
-
IsmType["ICA_ROUTING"] = "icaRoutingIsm";
|
|
29
29
|
IsmType["AMOUNT_ROUTING"] = "amountRoutingIsm";
|
|
30
|
+
IsmType["INTERCHAIN_ACCOUNT_ROUTING"] = "interchainAccountRouting";
|
|
30
31
|
IsmType["AGGREGATION"] = "staticAggregationIsm";
|
|
31
32
|
IsmType["STORAGE_AGGREGATION"] = "storageAggregationIsm";
|
|
32
33
|
IsmType["MERKLE_ROOT_MULTISIG"] = "merkleRootMultisigIsm";
|
|
@@ -40,13 +41,14 @@ export var IsmType;
|
|
|
40
41
|
IsmType["WEIGHTED_MERKLE_ROOT_MULTISIG"] = "weightedMerkleRootMultisigIsm";
|
|
41
42
|
IsmType["WEIGHTED_MESSAGE_ID_MULTISIG"] = "weightedMessageIdMultisigIsm";
|
|
42
43
|
IsmType["CCIP"] = "ccipIsm";
|
|
43
|
-
IsmType["
|
|
44
|
+
IsmType["OFFCHAIN_LOOKUP"] = "offchainLookupIsm";
|
|
44
45
|
})(IsmType || (IsmType = {}));
|
|
45
46
|
// ISM types that can be updated in-place
|
|
46
47
|
export const MUTABLE_ISM_TYPE = [
|
|
47
48
|
IsmType.ROUTING,
|
|
48
49
|
IsmType.FALLBACK_ROUTING,
|
|
49
50
|
IsmType.PAUSABLE,
|
|
51
|
+
IsmType.OFFCHAIN_LOOKUP,
|
|
50
52
|
];
|
|
51
53
|
/**
|
|
52
54
|
* @notice Statically deployed ISM types
|
|
@@ -58,15 +60,14 @@ export const STATIC_ISM_TYPES = [
|
|
|
58
60
|
IsmType.MESSAGE_ID_MULTISIG,
|
|
59
61
|
IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG,
|
|
60
62
|
IsmType.WEIGHTED_MESSAGE_ID_MULTISIG,
|
|
61
|
-
IsmType.ICA_ROUTING,
|
|
62
63
|
];
|
|
63
64
|
// mapping between the two enums
|
|
64
65
|
export function ismTypeToModuleType(ismType) {
|
|
65
66
|
switch (ismType) {
|
|
66
67
|
case IsmType.ROUTING:
|
|
67
68
|
case IsmType.FALLBACK_ROUTING:
|
|
68
|
-
case IsmType.ICA_ROUTING:
|
|
69
69
|
case IsmType.AMOUNT_ROUTING:
|
|
70
|
+
case IsmType.INTERCHAIN_ACCOUNT_ROUTING:
|
|
70
71
|
return ModuleType.ROUTING;
|
|
71
72
|
case IsmType.AGGREGATION:
|
|
72
73
|
case IsmType.STORAGE_AGGREGATION:
|
|
@@ -90,10 +91,14 @@ export function ismTypeToModuleType(ismType) {
|
|
|
90
91
|
return ModuleType.WEIGHTED_MERKLE_ROOT_MULTISIG;
|
|
91
92
|
case IsmType.WEIGHTED_MESSAGE_ID_MULTISIG:
|
|
92
93
|
return ModuleType.WEIGHTED_MESSAGE_ID_MULTISIG;
|
|
93
|
-
case IsmType.
|
|
94
|
+
case IsmType.OFFCHAIN_LOOKUP:
|
|
94
95
|
return ModuleType.CCIP_READ;
|
|
95
96
|
}
|
|
96
97
|
}
|
|
98
|
+
export const InterchainAccountRouterIsmSchema = OwnableSchema.extend({
|
|
99
|
+
type: z.literal(IsmType.INTERCHAIN_ACCOUNT_ROUTING),
|
|
100
|
+
isms: z.record(ZHash),
|
|
101
|
+
});
|
|
97
102
|
const ValidatorInfoSchema = z.object({
|
|
98
103
|
signingAddress: ZHash,
|
|
99
104
|
weight: z.number(),
|
|
@@ -117,6 +122,11 @@ export const CCIPIsmConfigSchema = z.object({
|
|
|
117
122
|
type: z.literal(IsmType.CCIP),
|
|
118
123
|
originChain: z.string(),
|
|
119
124
|
});
|
|
125
|
+
export const OffchainLookupIsmConfigSchema = OwnableSchema.extend({
|
|
126
|
+
type: z.literal(IsmType.OFFCHAIN_LOOKUP),
|
|
127
|
+
urls: z.array(z.string()),
|
|
128
|
+
});
|
|
129
|
+
export const isOffchainLookupIsmConfig = isCompliant(OffchainLookupIsmConfigSchema);
|
|
120
130
|
export const OpStackIsmConfigSchema = z.object({
|
|
121
131
|
type: z.literal(IsmType.OP_STACK),
|
|
122
132
|
origin: z.string(),
|
|
@@ -126,9 +136,6 @@ export const ArbL2ToL1IsmConfigSchema = z.object({
|
|
|
126
136
|
type: z.literal(IsmType.ARB_L2_TO_L1),
|
|
127
137
|
bridge: z.string(),
|
|
128
138
|
});
|
|
129
|
-
export const CCIPReadIsmConfigSchema = z.object({
|
|
130
|
-
type: z.literal(IsmType.CCIP_READ),
|
|
131
|
-
});
|
|
132
139
|
export const PausableIsmConfigSchema = PausableSchema.and(z.object({
|
|
133
140
|
type: z.literal(IsmType.PAUSABLE),
|
|
134
141
|
}));
|
|
@@ -147,9 +154,6 @@ export const WeightedMultisigIsmConfigSchema = WeightedMultisigConfigSchema.and(
|
|
|
147
154
|
]),
|
|
148
155
|
}));
|
|
149
156
|
export const RoutingIsmConfigSchema = z.lazy(() => z.discriminatedUnion('type', [
|
|
150
|
-
z.object({
|
|
151
|
-
type: z.literal(IsmType.ICA_ROUTING),
|
|
152
|
-
}),
|
|
153
157
|
z.object({
|
|
154
158
|
type: z.literal(IsmType.AMOUNT_ROUTING),
|
|
155
159
|
lowerIsm: IsmConfigSchema,
|
|
@@ -164,6 +168,7 @@ export const RoutingIsmConfigSchema = z.lazy(() => z.discriminatedUnion('type',
|
|
|
164
168
|
type: z.literal(IsmType.FALLBACK_ROUTING),
|
|
165
169
|
domains: z.record(IsmConfigSchema),
|
|
166
170
|
}),
|
|
171
|
+
InterchainAccountRouterIsmSchema,
|
|
167
172
|
]));
|
|
168
173
|
export const AggregationIsmConfigSchema = z
|
|
169
174
|
.lazy(() => z.object({
|
|
@@ -186,6 +191,6 @@ export const IsmConfigSchema = z.union([
|
|
|
186
191
|
RoutingIsmConfigSchema,
|
|
187
192
|
AggregationIsmConfigSchema,
|
|
188
193
|
ArbL2ToL1IsmConfigSchema,
|
|
189
|
-
|
|
194
|
+
OffchainLookupIsmConfigSchema,
|
|
190
195
|
]);
|
|
191
196
|
//# sourceMappingURL=types.js.map
|
package/dist/ism/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ism/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,OAAO,EAOR,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,OAAO,EAOR,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,sBAAsB,EAEtB,SAAS,EACT,OAAO,EAEP,gBAAgB,EAChB,eAAe,EAGhB,MAAM,YAAY,CAAC;AAMpB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,sBAAsB,GAC7B;IAAE,eAAe,EAAE,SAAS,EAAE,CAAC;IAAC,iBAAiB,EAAE,SAAS,EAAE,CAAA;CAAE,CA4BlE;AAYD,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,OAAO,CAAC,CAgHlB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EACpD,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAwPlB;AAED,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,SAAS,EACtB,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,EACpD,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,eAAe,CAAC,CAiB1B;AAyED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,GAChB,GAAG,CAAC,MAAM,CAAC,CA0Cb;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,GACnD,OAAO,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC9B,mBAAmB,EACnB,OAAO,GACR,EAAE;IACD,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACrD,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAIV"}
|
package/dist/ism/utils.js
CHANGED
|
@@ -286,9 +286,8 @@ export async function moduleMatchesConfig(chain, moduleAddress, config, multiPro
|
|
|
286
286
|
return matches;
|
|
287
287
|
}
|
|
288
288
|
export async function routingModuleDelta(destination, moduleAddress, config, multiProvider, contracts, mailbox) {
|
|
289
|
-
// The
|
|
290
|
-
if (config.type === IsmType.
|
|
291
|
-
config.type === IsmType.AMOUNT_ROUTING) {
|
|
289
|
+
// The AMOUNT_ROUTING ISMs are immutable routing ISMs.
|
|
290
|
+
if (config.type === IsmType.AMOUNT_ROUTING) {
|
|
292
291
|
return {
|
|
293
292
|
domainsToEnroll: [],
|
|
294
293
|
domainsToUnenroll: [],
|
|
@@ -315,12 +314,15 @@ async function domainRoutingModuleDelta(destination, moduleAddress, config, mult
|
|
|
315
314
|
if (mailbox && !eqAddress(mailboxAddress, mailbox))
|
|
316
315
|
delta.mailbox = mailbox;
|
|
317
316
|
}
|
|
317
|
+
const ismByDomainName = config.type === IsmType.INTERCHAIN_ACCOUNT_ROUTING
|
|
318
|
+
? config.isms
|
|
319
|
+
: config.domains;
|
|
318
320
|
// config.domains is already filtered to only include domains in the multiprovider
|
|
319
|
-
const safeConfigDomains = objMap(
|
|
321
|
+
const safeConfigDomains = objMap(ismByDomainName, (chainName) => multiProvider.getDomainId(chainName));
|
|
320
322
|
// check for exclusion of domains in the config
|
|
321
323
|
delta.domainsToUnenroll = deployedDomains.filter((domain) => !Object.values(safeConfigDomains).includes(domain));
|
|
322
324
|
// check for inclusion of domains in the config
|
|
323
|
-
for (const [origin, subConfig] of Object.entries(
|
|
325
|
+
for (const [origin, subConfig] of Object.entries(ismByDomainName)) {
|
|
324
326
|
const originDomain = safeConfigDomains[origin];
|
|
325
327
|
if (!deployedDomains.includes(originDomain)) {
|
|
326
328
|
delta.domainsToEnroll.push(originDomain);
|