@hyperlane-xyz/sdk 44.0.2 → 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/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +104 -772
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/consts/testChains.d.ts.map +1 -1
- package/dist/consts/testChains.js +11 -6
- package/dist/consts/testChains.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.d.ts +6 -0
- package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.js +20 -0
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.test.js +17 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +14 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/types.test.js +98 -1
- package/dist/core/types.test.js.map +1 -1
- package/dist/deploy/proxy.d.ts +1 -0
- package/dist/deploy/proxy.d.ts.map +1 -1
- package/dist/deploy/proxy.js +6 -0
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/warp.d.ts.map +1 -1
- package/dist/deploy/warp.js +32 -43
- package/dist/deploy/warp.js.map +1 -1
- package/dist/deploy/warp.test.js +62 -1
- package/dist/deploy/warp.test.js.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts +3 -2
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.js +3 -2
- package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.d.ts.map +1 -1
- package/dist/ism/EvmIsmModule.js +5 -1
- package/dist/ism/EvmIsmModule.js.map +1 -1
- package/dist/ism/EvmIsmModule.test.js +109 -0
- package/dist/ism/EvmIsmModule.test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +26 -6
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +60 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +165 -34
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.test.js +33 -6
- package/dist/ism/HyperlaneIsmFactory.test.js.map +1 -1
- package/dist/ism/types.d.ts +18 -2
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +43 -3
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/types.test.js +232 -56
- package/dist/ism/types.test.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +13 -0
- package/dist/ism/utils.js.map +1 -1
- package/dist/ism/utils.test.js +43 -1
- package/dist/ism/utils.test.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +1 -0
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +1 -0
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.test.js +14 -1
- package/dist/metadata/ChainMetadataManager.test.js.map +1 -1
- package/dist/metadata/ChainMetadataResolver.d.ts +1 -0
- package/dist/metadata/ChainMetadataResolver.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataResolver.js +1 -0
- package/dist/metadata/ChainMetadataResolver.js.map +1 -1
- package/dist/metadata/ChainMetadataResolver.test.js +4 -0
- package/dist/metadata/ChainMetadataResolver.test.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +209 -93
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +106 -13
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/agentConfig.test.js +277 -25
- package/dist/metadata/agentConfig.test.js.map +1 -1
- package/dist/metadata/chainMetadata.test.js +25 -0
- package/dist/metadata/chainMetadata.test.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +36 -0
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +26 -0
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/providers/SeismicSigner.d.ts +4 -12
- package/dist/providers/SeismicSigner.d.ts.map +1 -1
- package/dist/providers/SeismicSigner.js +84 -35
- package/dist/providers/SeismicSigner.js.map +1 -1
- package/dist/providers/SeismicSigner.test.d.ts +2 -0
- package/dist/providers/SeismicSigner.test.d.ts.map +1 -0
- package/dist/providers/SeismicSigner.test.js +160 -0
- package/dist/providers/SeismicSigner.test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.d.ts +1 -5
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js +164 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.js +35 -72
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.test.js +181 -2
- package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
- package/dist/providers/SmartProvider/jsonRpcError.d.ts +7 -0
- package/dist/providers/SmartProvider/jsonRpcError.d.ts.map +1 -0
- package/dist/providers/SmartProvider/jsonRpcError.js +67 -0
- package/dist/providers/SmartProvider/jsonRpcError.js.map +1 -0
- package/dist/providers/SmartProvider/types.d.ts +1 -0
- package/dist/providers/SmartProvider/types.d.ts.map +1 -1
- package/dist/providers/builders/ethersV5.d.ts +0 -1
- package/dist/providers/builders/ethersV5.d.ts.map +1 -1
- package/dist/providers/builders/ethersV5.js +19 -5
- package/dist/providers/builders/ethersV5.js.map +1 -1
- package/dist/providers/builders/ethersV5.test.d.ts +2 -0
- package/dist/providers/builders/ethersV5.test.d.ts.map +1 -0
- package/dist/providers/builders/ethersV5.test.js +77 -0
- package/dist/providers/builders/ethersV5.test.js.map +1 -0
- package/dist/providers/builders/radix.browser.d.ts +1 -0
- package/dist/providers/builders/radix.browser.d.ts.map +1 -1
- package/dist/providers/builders/radix.browser.js +1 -0
- package/dist/providers/builders/radix.browser.js.map +1 -1
- package/dist/providers/builders/radix.d.ts.map +1 -1
- package/dist/providers/builders/radix.gateway.test.d.ts +2 -0
- package/dist/providers/builders/radix.gateway.test.d.ts.map +1 -0
- package/dist/providers/builders/radix.gateway.test.js +39 -0
- package/dist/providers/builders/radix.gateway.test.js.map +1 -0
- package/dist/providers/builders/radix.js +1 -0
- package/dist/providers/builders/radix.js.map +1 -1
- package/dist/providers/builders/radix.test.js +1 -0
- package/dist/providers/builders/radix.test.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts +1 -1
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +1 -1
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js +60 -8
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js.map +1 -1
- package/dist/test/errors.d.ts +25 -0
- package/dist/test/errors.d.ts.map +1 -1
- package/dist/test/errors.js +31 -0
- package/dist/test/errors.js.map +1 -1
- package/dist/test/fixtures/warp-route-replay/record.d.ts +2 -0
- package/dist/test/fixtures/warp-route-replay/record.d.ts.map +1 -0
- package/dist/test/fixtures/warp-route-replay/record.js +32 -0
- package/dist/test/fixtures/warp-route-replay/record.js.map +1 -0
- package/dist/test/replayRpc.d.ts +82 -0
- package/dist/test/replayRpc.d.ts.map +1 -0
- package/dist/test/replayRpc.js +331 -0
- package/dist/test/replayRpc.js.map +1 -0
- package/dist/test/replayScenarios.d.ts +19 -0
- package/dist/test/replayScenarios.d.ts.map +1 -0
- package/dist/test/replayScenarios.js +89 -0
- package/dist/test/replayScenarios.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js +92 -7
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js.map +1 -1
- package/dist/timelock/evm/errors.js +1 -1
- package/dist/timelock/evm/errors.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.d.ts +27 -0
- package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
- package/dist/token/EvmWarpRouteReader.hardhat-test.js +28 -3
- package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.js +172 -42
- package/dist/token/EvmWarpRouteReader.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.replay.test.d.ts +2 -0
- package/dist/token/EvmWarpRouteReader.replay.test.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.replay.test.js +392 -0
- package/dist/token/EvmWarpRouteReader.replay.test.js.map +1 -0
- package/dist/token/EvmWarpRouteReader.test.js +529 -4
- package/dist/token/EvmWarpRouteReader.test.js.map +1 -1
- package/dist/token/types.d.ts +1 -1
- package/dist/token/warpCheck.d.ts +1 -0
- package/dist/token/warpCheck.d.ts.map +1 -1
- package/dist/token/warpCheck.js +25 -2
- package/dist/token/warpCheck.js.map +1 -1
- package/dist/token/warpCheck.test.js +119 -0
- package/dist/token/warpCheck.test.js.map +1 -1
- package/dist/utils/contract.d.ts +33 -0
- package/dist/utils/contract.d.ts.map +1 -1
- package/dist/utils/contract.js +116 -3
- package/dist/utils/contract.js.map +1 -1
- package/dist/utils/contract.test.js +465 -2
- package/dist/utils/contract.test.js.map +1 -1
- package/dist/utils/contract.transport.test.d.ts +2 -0
- package/dist/utils/contract.transport.test.d.ts.map +1 -0
- package/dist/utils/contract.transport.test.js +145 -0
- package/dist/utils/contract.transport.test.js.map +1 -0
- package/dist/utils/ism.d.ts +12 -6
- package/dist/utils/ism.d.ts.map +1 -1
- package/dist/utils/ism.js +92 -41
- package/dist/utils/ism.js.map +1 -1
- package/dist/utils/ism.test.js +75 -2
- package/dist/utils/ism.test.js.map +1 -1
- package/package.json +29 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.test.js","sourceRoot":"","sources":["../../src/utils/contract.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract.test.js","sourceRoot":"","sources":["../../src/utils/contract.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.transport.test.d.ts","sourceRoot":"","sources":["../../src/utils/contract.transport.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import http from 'http';
|
|
3
|
+
import { assert } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { HyperlaneSmartProvider } from '../providers/SmartProvider/SmartProvider.js';
|
|
5
|
+
import { isMissingSelectorCallException } from './contract.js';
|
|
6
|
+
const CHAIN_ID = 1;
|
|
7
|
+
const FALLBACK_STAGGER_MS = 50;
|
|
8
|
+
const CALL_PARAMS = { to: '0x' + '11'.repeat(20), data: '0x12345678' };
|
|
9
|
+
const EthMethod = {
|
|
10
|
+
ChainId: 'eth_chainId',
|
|
11
|
+
Call: 'eth_call',
|
|
12
|
+
};
|
|
13
|
+
const CallBehavior = {
|
|
14
|
+
Http500: 'http500',
|
|
15
|
+
HeaderNotFound: 'headerNotFound',
|
|
16
|
+
DestroySocket: 'destroySocket',
|
|
17
|
+
RateLimit: 'rateLimit',
|
|
18
|
+
RevertCode3: 'revertCode3',
|
|
19
|
+
ExecutionReverted: 'executionReverted',
|
|
20
|
+
EmptyResult: 'emptyResult',
|
|
21
|
+
};
|
|
22
|
+
function isJsonRpcRequest(value) {
|
|
23
|
+
return (typeof value === 'object' &&
|
|
24
|
+
value !== null &&
|
|
25
|
+
'id' in value &&
|
|
26
|
+
typeof value.id === 'number' &&
|
|
27
|
+
'method' in value &&
|
|
28
|
+
typeof value.method === 'string');
|
|
29
|
+
}
|
|
30
|
+
function assertRequest(body) {
|
|
31
|
+
if (!isJsonRpcRequest(body))
|
|
32
|
+
throw new Error('Unexpected JSON-RPC body');
|
|
33
|
+
}
|
|
34
|
+
async function startServer(callBehavior) {
|
|
35
|
+
const server = http.createServer((req, res) => {
|
|
36
|
+
const chunks = [];
|
|
37
|
+
req.on('data', (chunk) => chunks.push(chunk));
|
|
38
|
+
req.on('end', () => {
|
|
39
|
+
const body = JSON.parse(Buffer.concat(chunks).toString());
|
|
40
|
+
assertRequest(body);
|
|
41
|
+
res.setHeader('content-type', 'application/json');
|
|
42
|
+
const reply = (payload) => res.end(JSON.stringify({ jsonrpc: '2.0', id: body.id, ...payload }));
|
|
43
|
+
const replyError = (code, message, data) => reply({ error: { code, message, data } });
|
|
44
|
+
if (body.method === EthMethod.ChainId) {
|
|
45
|
+
reply({ result: '0x' + CHAIN_ID.toString(16) });
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
assert(body.method === EthMethod.Call, `Unexpected ${body.method}`);
|
|
49
|
+
switch (callBehavior) {
|
|
50
|
+
case CallBehavior.Http500:
|
|
51
|
+
res.statusCode = 500;
|
|
52
|
+
res.end('Internal Server Error');
|
|
53
|
+
return;
|
|
54
|
+
case CallBehavior.HeaderNotFound:
|
|
55
|
+
replyError(-32000, 'header not found');
|
|
56
|
+
return;
|
|
57
|
+
case CallBehavior.DestroySocket:
|
|
58
|
+
req.socket.destroy();
|
|
59
|
+
return;
|
|
60
|
+
case CallBehavior.RateLimit:
|
|
61
|
+
res.statusCode = 429;
|
|
62
|
+
res.end('Too Many Requests');
|
|
63
|
+
return;
|
|
64
|
+
case CallBehavior.RevertCode3:
|
|
65
|
+
replyError(3, 'execution reverted', '0x');
|
|
66
|
+
return;
|
|
67
|
+
case CallBehavior.ExecutionReverted:
|
|
68
|
+
replyError(-32000, 'execution reverted');
|
|
69
|
+
return;
|
|
70
|
+
case CallBehavior.EmptyResult:
|
|
71
|
+
reply({ result: '0x' });
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve));
|
|
77
|
+
const address = server.address();
|
|
78
|
+
assert(address && typeof address === 'object', 'Server not listening');
|
|
79
|
+
return { server, url: `http://127.0.0.1:${address.port}` };
|
|
80
|
+
}
|
|
81
|
+
const cases = [
|
|
82
|
+
{
|
|
83
|
+
name: 'HTTP 500',
|
|
84
|
+
behavior: CallBehavior.Http500,
|
|
85
|
+
expectedMissingSelector: false,
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: 'JSON-RPC -32000 header not found',
|
|
89
|
+
behavior: CallBehavior.HeaderNotFound,
|
|
90
|
+
expectedMissingSelector: false,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'dropped connection',
|
|
94
|
+
behavior: CallBehavior.DestroySocket,
|
|
95
|
+
expectedMissingSelector: false,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
name: 'HTTP 429 rate limit',
|
|
99
|
+
behavior: CallBehavior.RateLimit,
|
|
100
|
+
expectedMissingSelector: false,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: 'JSON-RPC code 3 revert with empty data',
|
|
104
|
+
behavior: CallBehavior.RevertCode3,
|
|
105
|
+
expectedMissingSelector: true,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
name: 'JSON-RPC -32000 execution reverted',
|
|
109
|
+
behavior: CallBehavior.ExecutionReverted,
|
|
110
|
+
expectedMissingSelector: true,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: 'empty eth_call result',
|
|
114
|
+
behavior: CallBehavior.EmptyResult,
|
|
115
|
+
expectedMissingSelector: true,
|
|
116
|
+
},
|
|
117
|
+
];
|
|
118
|
+
describe('isMissingSelectorCallException against a real SmartProvider', function () {
|
|
119
|
+
this.timeout(20_000);
|
|
120
|
+
const servers = [];
|
|
121
|
+
afterEach(async () => {
|
|
122
|
+
await Promise.all(servers.splice(0).map((server) => new Promise((resolve) => {
|
|
123
|
+
server.closeAllConnections();
|
|
124
|
+
server.close(() => resolve());
|
|
125
|
+
})));
|
|
126
|
+
});
|
|
127
|
+
for (const c of cases) {
|
|
128
|
+
it(`returns ${c.expectedMissingSelector} for ${c.name}`, async () => {
|
|
129
|
+
const a = await startServer(c.behavior);
|
|
130
|
+
const b = await startServer(c.behavior);
|
|
131
|
+
servers.push(a.server, b.server);
|
|
132
|
+
const provider = new HyperlaneSmartProvider({ chainId: CHAIN_ID, name: 'test' }, [{ http: a.url }, { http: b.url }], [], { fallbackStaggerMs: FALLBACK_STAGGER_MS, maxRetries: 1 });
|
|
133
|
+
let thrown;
|
|
134
|
+
try {
|
|
135
|
+
await provider.call(CALL_PARAMS);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
thrown = error;
|
|
139
|
+
}
|
|
140
|
+
expect(thrown).to.be.instanceOf(Error);
|
|
141
|
+
expect(isMissingSelectorCallException(thrown)).to.equal(c.expectedMissingSelector);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
//# sourceMappingURL=contract.transport.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.transport.test.js","sourceRoot":"","sources":["../../src/utils/contract.transport.test.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/ism.d.ts
CHANGED
|
@@ -2,12 +2,18 @@ import { Address, WithAddress } from '@hyperlane-xyz/utils';
|
|
|
2
2
|
import { TokenType } from '../token/config.js';
|
|
3
3
|
import { DelayedFlowRouterHookIsmConfig, IsmConfig, NetFlowRateLimitedHookIsmConfig } from '../ism/types.js';
|
|
4
4
|
type ChainAddresses = Record<string, string>;
|
|
5
|
+
export declare function ismTreeContainsRateLimited(ism: IsmConfig): boolean;
|
|
5
6
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* True if a `rateLimited` node appears anywhere inside a `compositeIsm` in
|
|
8
|
+
* the tree.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately separate from {@link ismTreeContainsRateLimited} rather than
|
|
11
|
+
* folded into it: that predicate gates the EVM `rateLimitedIsm`'s
|
|
12
|
+
* deferred-deploy machinery, which asserts an Ethereum/Tron chain
|
|
13
|
+
* (`resolveWarpIsmAndHook` and its callers in `deploy/warp.ts`). A
|
|
14
|
+
* compositeIsm is a Sealevel program and must never enter those paths.
|
|
9
15
|
*/
|
|
10
|
-
export declare function
|
|
16
|
+
export declare function ismTreeContainsCompositeRateLimited(ism: IsmConfig): boolean;
|
|
11
17
|
/**
|
|
12
18
|
* Recursively sets `recipient` on all RATE_LIMITED ISM nodes in the config tree.
|
|
13
19
|
* Pass `undefined` to strip the field.
|
|
@@ -19,13 +25,13 @@ export type HybridHookIsmConfig = NetFlowRateLimitedHookIsmConfig | DelayedFlowR
|
|
|
19
25
|
* True if a warp-route hybrid hook/ISM node (NET_FLOW_RATE_LIMITED or
|
|
20
26
|
* DELAYED_FLOW_ROUTER) exists anywhere in the ISM config tree.
|
|
21
27
|
*/
|
|
22
|
-
export declare function ismTreeContainsHybridHookIsm(ism:
|
|
28
|
+
export declare function ismTreeContainsHybridHookIsm(ism: IsmConfig | undefined): boolean;
|
|
23
29
|
/**
|
|
24
30
|
* True if a MAILBOX_DEFAULT or hybrid hook/ISM node exists anywhere in the
|
|
25
31
|
* tree. Used to keep warp-route-only and self-referential ISM types out of
|
|
26
32
|
* core default-ISM configs (see core/types.ts).
|
|
27
33
|
*/
|
|
28
|
-
export declare function ismTreeContainsMailboxDefaultOrHybrid(ism:
|
|
34
|
+
export declare function ismTreeContainsMailboxDefaultOrHybrid(ism: IsmConfig): boolean;
|
|
29
35
|
/**
|
|
30
36
|
* Deep-collects every hybrid hook/ISM node in an ISM config tree (including
|
|
31
37
|
* derived trees, whose nodes additionally carry an `address` field).
|
package/dist/utils/ism.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ism.d.ts","sourceRoot":"","sources":["../../src/utils/ism.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,WAAW,EAOZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"ism.d.ts","sourceRoot":"","sources":["../../src/utils/ism.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/ism.js
CHANGED
|
@@ -1,35 +1,100 @@
|
|
|
1
1
|
import { addressToBytes32, assert, deepEquals, eqAddress, pick, rootLogger, } from '@hyperlane-xyz/utils';
|
|
2
2
|
import { multisigIsmVerifyCosts } from '../consts/multisigIsmVerifyCosts.js';
|
|
3
3
|
import { TokenType } from '../token/config.js';
|
|
4
|
-
import { IsmType, } from '../ism/types.js';
|
|
4
|
+
import { CompositeIsmNodeType, IsmType, } from '../ism/types.js';
|
|
5
5
|
const logger = rootLogger.child({ module: 'IsmConfigUtils' });
|
|
6
6
|
function isRecord(value) {
|
|
7
7
|
return typeof value === 'object' && value !== null;
|
|
8
8
|
}
|
|
9
|
+
/** True if any node of a compositeIsm tree satisfies `matches`. */
|
|
10
|
+
function compositeIsmNodeSome(node, matches) {
|
|
11
|
+
if (matches(node))
|
|
12
|
+
return true;
|
|
13
|
+
switch (node.type) {
|
|
14
|
+
case CompositeIsmNodeType.AGGREGATION:
|
|
15
|
+
return node.subIsms.some((subIsm) => compositeIsmNodeSome(subIsm, matches));
|
|
16
|
+
case CompositeIsmNodeType.AMOUNT_ROUTING:
|
|
17
|
+
return (compositeIsmNodeSome(node.lower, matches) ||
|
|
18
|
+
compositeIsmNodeSome(node.upper, matches));
|
|
19
|
+
case CompositeIsmNodeType.ROUTING:
|
|
20
|
+
case CompositeIsmNodeType.FALLBACK_ROUTING:
|
|
21
|
+
return Object.values(node.domains ?? {}).some((domainNode) => compositeIsmNodeSome(domainNode, matches));
|
|
22
|
+
case CompositeIsmNodeType.TRUSTED_RELAYER:
|
|
23
|
+
case CompositeIsmNodeType.MULTISIG_MESSAGE_ID:
|
|
24
|
+
case CompositeIsmNodeType.TEST:
|
|
25
|
+
case CompositeIsmNodeType.PAUSABLE:
|
|
26
|
+
case CompositeIsmNodeType.RATE_LIMITED:
|
|
27
|
+
return false;
|
|
28
|
+
default: {
|
|
29
|
+
const exhaustiveCheck = node;
|
|
30
|
+
return exhaustiveCheck;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
9
34
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* @returns The extracted ISM and Hook factory addresses
|
|
35
|
+
* True if any typed node in an ISM tree satisfies `matches`.
|
|
36
|
+
* Both switches are exhaustive so new container types must define traversal.
|
|
13
37
|
*/
|
|
14
|
-
|
|
15
|
-
if (typeof ism
|
|
38
|
+
function ismTreeSome(ism, matches) {
|
|
39
|
+
if (typeof ism === 'string')
|
|
16
40
|
return false;
|
|
17
|
-
|
|
18
|
-
if (node.type === IsmType.RATE_LIMITED)
|
|
41
|
+
if (matches(ism))
|
|
19
42
|
return true;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
43
|
+
switch (ism.type) {
|
|
44
|
+
case IsmType.AGGREGATION:
|
|
45
|
+
case IsmType.STORAGE_AGGREGATION:
|
|
46
|
+
return ism.modules.some((module) => ismTreeSome(module, matches));
|
|
47
|
+
case IsmType.ROUTING:
|
|
48
|
+
case IsmType.FALLBACK_ROUTING:
|
|
49
|
+
case IsmType.INCREMENTAL_ROUTING:
|
|
50
|
+
return Object.values(ism.domains).some((domainIsm) => ismTreeSome(domainIsm, matches));
|
|
51
|
+
case IsmType.AMOUNT_ROUTING:
|
|
52
|
+
return (ismTreeSome(ism.lowerIsm, matches) || ismTreeSome(ism.upperIsm, matches));
|
|
53
|
+
case IsmType.COMPOSITE:
|
|
54
|
+
return compositeIsmNodeSome(ism.root, matches);
|
|
55
|
+
case IsmType.ROUTING_MESSAGE_ID_MULTISIG:
|
|
56
|
+
case IsmType.TEST_ISM:
|
|
57
|
+
case IsmType.OP_STACK:
|
|
58
|
+
case IsmType.PAUSABLE:
|
|
59
|
+
case IsmType.TRUSTED_RELAYER:
|
|
60
|
+
case IsmType.CCIP:
|
|
61
|
+
case IsmType.RATE_LIMITED:
|
|
62
|
+
case IsmType.BLACKLIST:
|
|
63
|
+
case IsmType.NET_FLOW_RATE_LIMITED:
|
|
64
|
+
case IsmType.DELAYED_FLOW_ROUTER:
|
|
65
|
+
case IsmType.MAILBOX_DEFAULT:
|
|
66
|
+
case IsmType.MERKLE_ROOT_MULTISIG:
|
|
67
|
+
case IsmType.MESSAGE_ID_MULTISIG:
|
|
68
|
+
case IsmType.STORAGE_MERKLE_ROOT_MULTISIG:
|
|
69
|
+
case IsmType.STORAGE_MESSAGE_ID_MULTISIG:
|
|
70
|
+
case IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG:
|
|
71
|
+
case IsmType.WEIGHTED_MESSAGE_ID_MULTISIG:
|
|
72
|
+
case IsmType.INTERCHAIN_ACCOUNT_ROUTING:
|
|
73
|
+
case IsmType.ARB_L2_TO_L1:
|
|
74
|
+
case IsmType.OFFCHAIN_LOOKUP:
|
|
75
|
+
case IsmType.UNKNOWN:
|
|
76
|
+
return false;
|
|
77
|
+
default: {
|
|
78
|
+
const exhaustiveCheck = ism;
|
|
79
|
+
return exhaustiveCheck;
|
|
80
|
+
}
|
|
27
81
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
82
|
+
}
|
|
83
|
+
export function ismTreeContainsRateLimited(ism) {
|
|
84
|
+
return ismTreeSome(ism, (node) => node.type === IsmType.RATE_LIMITED);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* True if a `rateLimited` node appears anywhere inside a `compositeIsm` in
|
|
88
|
+
* the tree.
|
|
89
|
+
*
|
|
90
|
+
* Deliberately separate from {@link ismTreeContainsRateLimited} rather than
|
|
91
|
+
* folded into it: that predicate gates the EVM `rateLimitedIsm`'s
|
|
92
|
+
* deferred-deploy machinery, which asserts an Ethereum/Tron chain
|
|
93
|
+
* (`resolveWarpIsmAndHook` and its callers in `deploy/warp.ts`). A
|
|
94
|
+
* compositeIsm is a Sealevel program and must never enter those paths.
|
|
95
|
+
*/
|
|
96
|
+
export function ismTreeContainsCompositeRateLimited(ism) {
|
|
97
|
+
return ismTreeSome(ism, (node) => node.type === CompositeIsmNodeType.RATE_LIMITED);
|
|
33
98
|
}
|
|
34
99
|
/**
|
|
35
100
|
* Recursively sets `recipient` on all RATE_LIMITED ISM nodes in the config tree.
|
|
@@ -78,7 +143,10 @@ export function setRateLimitedIsmRecipient(ismConfig, recipient, defaultOwner) {
|
|
|
78
143
|
* DELAYED_FLOW_ROUTER) exists anywhere in the ISM config tree.
|
|
79
144
|
*/
|
|
80
145
|
export function ismTreeContainsHybridHookIsm(ism) {
|
|
81
|
-
|
|
146
|
+
if (!ism)
|
|
147
|
+
return false;
|
|
148
|
+
return ismTreeSome(ism, (node) => node.type === IsmType.NET_FLOW_RATE_LIMITED ||
|
|
149
|
+
node.type === IsmType.DELAYED_FLOW_ROUTER);
|
|
82
150
|
}
|
|
83
151
|
/**
|
|
84
152
|
* True if a MAILBOX_DEFAULT or hybrid hook/ISM node exists anywhere in the
|
|
@@ -86,8 +154,9 @@ export function ismTreeContainsHybridHookIsm(ism) {
|
|
|
86
154
|
* core default-ISM configs (see core/types.ts).
|
|
87
155
|
*/
|
|
88
156
|
export function ismTreeContainsMailboxDefaultOrHybrid(ism) {
|
|
89
|
-
return (
|
|
90
|
-
|
|
157
|
+
return ismTreeSome(ism, (node) => node.type === IsmType.MAILBOX_DEFAULT ||
|
|
158
|
+
node.type === IsmType.NET_FLOW_RATE_LIMITED ||
|
|
159
|
+
node.type === IsmType.DELAYED_FLOW_ROUTER);
|
|
91
160
|
}
|
|
92
161
|
/**
|
|
93
162
|
* Deep-collects every hybrid hook/ISM node in an ISM config tree (including
|
|
@@ -103,24 +172,6 @@ function isHybridIsmNode(node) {
|
|
|
103
172
|
return (node.type === IsmType.NET_FLOW_RATE_LIMITED ||
|
|
104
173
|
node.type === IsmType.DELAYED_FLOW_ROUTER);
|
|
105
174
|
}
|
|
106
|
-
/** True if any node in the tree satisfies `matches`. */
|
|
107
|
-
function ismTreeSome(ism, matches) {
|
|
108
|
-
if (!isRecord(ism))
|
|
109
|
-
return false;
|
|
110
|
-
const node = ism;
|
|
111
|
-
if (matches(node))
|
|
112
|
-
return true;
|
|
113
|
-
if (Array.isArray(node.modules)) {
|
|
114
|
-
if (node.modules.some((module) => ismTreeSome(module, matches)))
|
|
115
|
-
return true;
|
|
116
|
-
}
|
|
117
|
-
if (isRecord(node.domains)) {
|
|
118
|
-
const domains = Object.values(node.domains);
|
|
119
|
-
if (domains.some((domainIsm) => ismTreeSome(domainIsm, matches)))
|
|
120
|
-
return true;
|
|
121
|
-
}
|
|
122
|
-
return (ismTreeSome(node.lowerIsm, matches) || ismTreeSome(node.upperIsm, matches));
|
|
123
|
-
}
|
|
124
175
|
function collectHybridIsmNodesFromUnknown(ism) {
|
|
125
176
|
if (!isRecord(ism))
|
|
126
177
|
return [];
|
package/dist/utils/ism.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ism.js","sourceRoot":"","sources":["../../src/utils/ism.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ism.js","sourceRoot":"","sources":["../../src/utils/ism.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/ism.test.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
2
|
import { ethers } from 'ethers';
|
|
3
3
|
import { test1, test2, test3 } from '../consts/testChains.js';
|
|
4
|
-
import { IsmType } from '../ism/types.js';
|
|
4
|
+
import { CompositeIsmNodeType, IsmType } from '../ism/types.js';
|
|
5
5
|
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
6
|
-
import { DelayedFlowRemoteIsmsSourceType, canonicalizeRemoteIsms, collectHybridIsmNodes, completeHybridIsmNodes, ismTreeContainsHybridHookIsm, prepareHybridIsmNodesForDeploy, resolveDelayedFlowRemoteIsms, } from './ism.js';
|
|
6
|
+
import { DelayedFlowRemoteIsmsSourceType, canonicalizeRemoteIsms, collectHybridIsmNodes, completeHybridIsmNodes, ismTreeContainsCompositeRateLimited, ismTreeContainsHybridHookIsm, ismTreeContainsMailboxDefaultOrHybrid, ismTreeContainsRateLimited, prepareHybridIsmNodesForDeploy, resolveDelayedFlowRemoteIsms, } from './ism.js';
|
|
7
7
|
const WARP_ROUTER = '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
|
|
8
8
|
const DEPLOYER = '0xdddddddddddddddddddddddddddddddddddddddd';
|
|
9
9
|
const DEFAULT_OWNER = '0xcccccccccccccccccccccccccccccccccccccccc';
|
|
@@ -46,6 +46,79 @@ function aggregationOf(...modules) {
|
|
|
46
46
|
modules,
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
+
describe('typed ISM tree traversal', () => {
|
|
50
|
+
it('finds EVM rate limiting through SDK containers only', () => {
|
|
51
|
+
const tree = {
|
|
52
|
+
type: IsmType.AMOUNT_ROUTING,
|
|
53
|
+
threshold: 1,
|
|
54
|
+
lowerIsm: { type: IsmType.TEST_ISM },
|
|
55
|
+
upperIsm: aggregationOf({
|
|
56
|
+
type: IsmType.ROUTING,
|
|
57
|
+
owner: OWNER,
|
|
58
|
+
domains: {
|
|
59
|
+
test2: {
|
|
60
|
+
type: IsmType.RATE_LIMITED,
|
|
61
|
+
maxCapacity: '86400',
|
|
62
|
+
duration: 86400n,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
}),
|
|
66
|
+
};
|
|
67
|
+
expect(ismTreeContainsRateLimited(tree)).to.be.true;
|
|
68
|
+
expect(ismTreeContainsCompositeRateLimited(tree)).to.be.false;
|
|
69
|
+
});
|
|
70
|
+
it('finds composite rate limiting through both container unions', () => {
|
|
71
|
+
const tree = aggregationOf({
|
|
72
|
+
type: IsmType.ROUTING,
|
|
73
|
+
owner: OWNER,
|
|
74
|
+
domains: {
|
|
75
|
+
test2: {
|
|
76
|
+
type: IsmType.COMPOSITE,
|
|
77
|
+
owner: OWNER,
|
|
78
|
+
root: {
|
|
79
|
+
type: CompositeIsmNodeType.AMOUNT_ROUTING,
|
|
80
|
+
threshold: '1',
|
|
81
|
+
lower: { type: CompositeIsmNodeType.TEST, accept: true },
|
|
82
|
+
upper: {
|
|
83
|
+
type: CompositeIsmNodeType.ROUTING,
|
|
84
|
+
domains: {
|
|
85
|
+
test3: {
|
|
86
|
+
type: CompositeIsmNodeType.RATE_LIMITED,
|
|
87
|
+
maxCapacity: '86400',
|
|
88
|
+
mailbox: WARP_ROUTER,
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
expect(ismTreeContainsRateLimited(tree)).to.be.false;
|
|
97
|
+
expect(ismTreeContainsCompositeRateLimited(tree)).to.be.true;
|
|
98
|
+
});
|
|
99
|
+
it('traverses past routingMessageIdMultisigIsm leaves without matching', () => {
|
|
100
|
+
const tree = aggregationOf({
|
|
101
|
+
type: IsmType.ROUTING_MESSAGE_ID_MULTISIG,
|
|
102
|
+
owner: OWNER,
|
|
103
|
+
domains: {
|
|
104
|
+
test2: { validators: [RELAYER], threshold: 1 },
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
expect(ismTreeContainsRateLimited(tree)).to.be.false;
|
|
108
|
+
expect(ismTreeContainsCompositeRateLimited(tree)).to.be.false;
|
|
109
|
+
expect(ismTreeContainsMailboxDefaultOrHybrid(tree)).to.be.false;
|
|
110
|
+
});
|
|
111
|
+
it('finds mailbox-incompatible ISMs through SDK containers', () => {
|
|
112
|
+
const tree = {
|
|
113
|
+
type: IsmType.ROUTING,
|
|
114
|
+
owner: OWNER,
|
|
115
|
+
domains: {
|
|
116
|
+
test2: aggregationOf({ type: IsmType.MAILBOX_DEFAULT }),
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
expect(ismTreeContainsMailboxDefaultOrHybrid(tree)).to.be.true;
|
|
120
|
+
});
|
|
121
|
+
});
|
|
49
122
|
describe('hybrid hook/ISM tree helpers', () => {
|
|
50
123
|
describe('ismTreeContainsHybridHookIsm', () => {
|
|
51
124
|
it('detects hybrid nodes nested in containers', () => {
|