@hyperlane-xyz/sdk 41.3.1 → 42.0.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/ccip/consts.d.ts.map +1 -1
- package/dist/ccip/consts.js +20 -0
- package/dist/ccip/consts.js.map +1 -1
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +20 -0
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/contracts.js +15 -0
- package/dist/contracts/contracts.js.map +1 -1
- package/dist/contracts/contracts.test.d.ts +2 -0
- package/dist/contracts/contracts.test.d.ts.map +1 -0
- package/dist/contracts/contracts.test.js +88 -0
- package/dist/contracts/contracts.test.js.map +1 -0
- package/dist/core/types.d.ts +80 -2602
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +19 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/types.test.js +58 -0
- package/dist/core/types.test.js.map +1 -1
- package/dist/deploy/warp.d.ts +119 -3
- package/dist/deploy/warp.d.ts.map +1 -1
- package/dist/deploy/warp.js +696 -33
- package/dist/deploy/warp.js.map +1 -1
- package/dist/deploy/warp.test.d.ts +2 -0
- package/dist/deploy/warp.test.d.ts.map +1 -0
- package/dist/deploy/warp.test.js +358 -0
- package/dist/deploy/warp.test.js.map +1 -0
- package/dist/deploy/warpHybridPlan.d.ts +104 -0
- package/dist/deploy/warpHybridPlan.d.ts.map +1 -0
- package/dist/deploy/warpHybridPlan.js +178 -0
- package/dist/deploy/warpHybridPlan.js.map +1 -0
- package/dist/deploy/warpHybridPlan.test.d.ts +2 -0
- package/dist/deploy/warpHybridPlan.test.d.ts.map +1 -0
- package/dist/deploy/warpHybridPlan.test.js +141 -0
- package/dist/deploy/warpHybridPlan.test.js.map +1 -0
- package/dist/hook/EvmHookModule.d.ts +1 -1
- package/dist/hook/EvmHookModule.d.ts.map +1 -1
- package/dist/hook/EvmHookModule.js +16 -3
- package/dist/hook/EvmHookModule.js.map +1 -1
- package/dist/hook/EvmHookReader.d.ts +10 -0
- package/dist/hook/EvmHookReader.d.ts.map +1 -1
- package/dist/hook/EvmHookReader.js +92 -11
- package/dist/hook/EvmHookReader.js.map +1 -1
- package/dist/hook/EvmHookReader.test.js +155 -1
- package/dist/hook/EvmHookReader.test.js.map +1 -1
- package/dist/hook/types.d.ts +107 -1983
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +49 -0
- package/dist/hook/types.js.map +1 -1
- package/dist/hook/types.test.js +21 -1
- package/dist/hook/types.test.js.map +1 -1
- package/dist/hook/updates.d.ts +1 -0
- package/dist/hook/updates.d.ts.map +1 -1
- package/dist/hook/updates.js +2 -2
- package/dist/hook/updates.js.map +1 -1
- package/dist/hook/utils.d.ts +28 -1
- package/dist/hook/utils.d.ts.map +1 -1
- package/dist/hook/utils.js +89 -0
- package/dist/hook/utils.js.map +1 -1
- package/dist/ica/types.d.ts +4 -674
- package/dist/ica/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.d.ts +28 -2
- package/dist/ism/EvmIsmModule.d.ts.map +1 -1
- package/dist/ism/EvmIsmModule.hardhat-test.js +478 -3
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
- package/dist/ism/EvmIsmModule.js +224 -10
- package/dist/ism/EvmIsmModule.js.map +1 -1
- package/dist/ism/EvmIsmReader.d.ts.map +1 -1
- package/dist/ism/EvmIsmReader.js +77 -1
- package/dist/ism/EvmIsmReader.js.map +1 -1
- package/dist/ism/EvmIsmReader.test.js +245 -4
- package/dist/ism/EvmIsmReader.test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +14 -4
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +372 -3
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +80 -6
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/delayedFlow.d.ts +31 -0
- package/dist/ism/delayedFlow.d.ts.map +1 -0
- package/dist/ism/delayedFlow.js +33 -0
- package/dist/ism/delayedFlow.js.map +1 -0
- package/dist/ism/types.d.ts +135 -4
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +263 -11
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/types.test.js +433 -1
- package/dist/ism/types.test.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +113 -3
- package/dist/ism/utils.js.map +1 -1
- package/dist/ism/utils.test.js +44 -0
- package/dist/ism/utils.test.js.map +1 -1
- package/dist/providers/MultiProviderAdapter.d.ts +3 -3
- package/dist/providers/MultiProviderAdapter.d.ts.map +1 -1
- package/dist/providers/MultiProviderAdapter.js +2 -1
- package/dist/providers/MultiProviderAdapter.js.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +4 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
- package/dist/providers/transactionFeeEstimators.d.ts +16 -9
- package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
- package/dist/providers/transactionFeeEstimators.js +66 -17
- package/dist/providers/transactionFeeEstimators.js.map +1 -1
- package/dist/providers/transactionFeeEstimators.test.js +153 -1
- package/dist/providers/transactionFeeEstimators.test.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +14 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +46 -5
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -1
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js +125 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js.map +1 -0
- package/dist/router/HyperlaneRouterDeployer.d.ts +3 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +4 -2
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/router/types.d.ts +6 -1011
- package/dist/router/types.d.ts.map +1 -1
- package/dist/test/testUtils.d.ts +1 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +17 -0
- package/dist/test/testUtils.js.map +1 -1
- package/dist/test/testUtils.test.d.ts +2 -0
- package/dist/test/testUtils.test.d.ts.map +1 -0
- package/dist/test/testUtils.test.js +28 -0
- package/dist/test/testUtils.test.js.map +1 -0
- package/dist/token/EvmWarpModule.d.ts +44 -8
- package/dist/token/EvmWarpModule.d.ts.map +1 -1
- package/dist/token/EvmWarpModule.hardhat-test.js +574 -4
- package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
- package/dist/token/EvmWarpModule.js +237 -25
- package/dist/token/EvmWarpModule.js.map +1 -1
- package/dist/token/configUtils.d.ts +17 -7
- package/dist/token/configUtils.d.ts.map +1 -1
- package/dist/token/configUtils.js +108 -0
- package/dist/token/configUtils.js.map +1 -1
- package/dist/token/configUtils.test.js +155 -1
- package/dist/token/configUtils.test.js.map +1 -1
- package/dist/token/deploy.d.ts +3 -1
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.hardhat-test.js +454 -3
- package/dist/token/deploy.hardhat-test.js.map +1 -1
- package/dist/token/deploy.js +25 -6
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/types.d.ts +169 -2931
- package/dist/token/types.d.ts.map +1 -1
- package/dist/token/types.test.js +48 -0
- package/dist/token/types.test.js.map +1 -1
- package/dist/token/warpCheck.d.ts.map +1 -1
- package/dist/token/warpCheck.js +36 -1
- package/dist/token/warpCheck.js.map +1 -1
- package/dist/utils/ism.d.ts +167 -1
- package/dist/utils/ism.d.ts.map +1 -1
- package/dist/utils/ism.js +412 -2
- package/dist/utils/ism.js.map +1 -1
- package/dist/utils/ism.test.d.ts +2 -0
- package/dist/utils/ism.test.d.ts.map +1 -0
- package/dist/utils/ism.test.js +372 -0
- package/dist/utils/ism.test.js.map +1 -0
- package/package.json +10 -10
package/dist/ism/types.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { isEmptyAddress, isNullish, isValidAddressSealevel, rootLogger, } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { addressToBytes32, isEmptyAddress, isNullish, isValidAddressSealevel, rootLogger, } from '@hyperlane-xyz/utils';
|
|
3
3
|
import { ZBigNumberish, ZBytes32String, ZHash, } from '../metadata/customZodTypes.js';
|
|
4
4
|
import { OwnableSchema, PausableSchema, RATE_LIMIT_DEFAULT_DURATION_SECONDS, } from '../types.js';
|
|
5
5
|
import { isCompliant } from '../utils/schemas.js';
|
|
@@ -51,6 +51,15 @@ export const IsmType = {
|
|
|
51
51
|
RATE_LIMITED: 'rateLimitedIsm',
|
|
52
52
|
COMPOSITE: 'compositeIsm',
|
|
53
53
|
BLACKLIST: 'blacklistIsm',
|
|
54
|
+
// Ownerless routing ISM that always defers to the mailbox's default ISM.
|
|
55
|
+
// Distinct from provider-sdk/AltVM's "default ISM" notion (the zero-address
|
|
56
|
+
// mailbox field): this is a deployed contract with its own address.
|
|
57
|
+
MAILBOX_DEFAULT: 'defaultIsm',
|
|
58
|
+
// Hybrid hook/ISM: one contract instance is installed as BOTH the hook and
|
|
59
|
+
// the ISM of a single warp router (shared bucket state). Deployed via the
|
|
60
|
+
// ISM config surface; the hook side is referenced by address.
|
|
61
|
+
NET_FLOW_RATE_LIMITED: 'netFlowRateLimitedHookIsm',
|
|
62
|
+
DELAYED_FLOW_ROUTER: 'delayedFlowRouterHookIsm',
|
|
54
63
|
UNKNOWN: 'unknownIsm',
|
|
55
64
|
};
|
|
56
65
|
// ISM types that can be updated in-place on EVM chains (consumed by
|
|
@@ -65,6 +74,10 @@ export const MUTABLE_ISM_TYPE = [
|
|
|
65
74
|
IsmType.INCREMENTAL_ROUTING,
|
|
66
75
|
IsmType.RATE_LIMITED,
|
|
67
76
|
IsmType.BLACKLIST,
|
|
77
|
+
// owner is the only mutable field; rate params force a redeploy
|
|
78
|
+
IsmType.NET_FLOW_RATE_LIMITED,
|
|
79
|
+
// owner + remote router enrollment are mutable; rate params force a redeploy
|
|
80
|
+
IsmType.DELAYED_FLOW_ROUTER,
|
|
68
81
|
];
|
|
69
82
|
/**
|
|
70
83
|
* @notice Statically deployed ISM types
|
|
@@ -80,6 +93,8 @@ export const STATIC_ISM_TYPES = [
|
|
|
80
93
|
export const DYNAMICALLY_ROUTED_ISM_TYPES = [
|
|
81
94
|
IsmType.AMOUNT_ROUTING,
|
|
82
95
|
IsmType.INTERCHAIN_ACCOUNT_ROUTING,
|
|
96
|
+
// No static domains table: route() resolves to the mailbox's default ISM
|
|
97
|
+
IsmType.MAILBOX_DEFAULT,
|
|
83
98
|
];
|
|
84
99
|
/** Type guard for dynamically routed ISM types */
|
|
85
100
|
export function isDynamicallyRoutedIsmType(type) {
|
|
@@ -93,6 +108,7 @@ export function ismTypeToModuleType(ismType) {
|
|
|
93
108
|
case IsmType.AMOUNT_ROUTING:
|
|
94
109
|
case IsmType.INTERCHAIN_ACCOUNT_ROUTING:
|
|
95
110
|
case IsmType.INCREMENTAL_ROUTING:
|
|
111
|
+
case IsmType.MAILBOX_DEFAULT:
|
|
96
112
|
return ModuleType.ROUTING;
|
|
97
113
|
case IsmType.AGGREGATION:
|
|
98
114
|
case IsmType.STORAGE_AGGREGATION:
|
|
@@ -111,6 +127,8 @@ export function ismTypeToModuleType(ismType) {
|
|
|
111
127
|
case IsmType.CCIP:
|
|
112
128
|
case IsmType.RATE_LIMITED:
|
|
113
129
|
case IsmType.BLACKLIST:
|
|
130
|
+
case IsmType.NET_FLOW_RATE_LIMITED:
|
|
131
|
+
case IsmType.DELAYED_FLOW_ROUTER:
|
|
114
132
|
return ModuleType.NULL;
|
|
115
133
|
case IsmType.ARB_L2_TO_L1:
|
|
116
134
|
return ModuleType.ARB_L2_TO_L1;
|
|
@@ -186,6 +204,77 @@ export const RateLimitedIsmConfigSchema = z
|
|
|
186
204
|
}
|
|
187
205
|
return val;
|
|
188
206
|
});
|
|
207
|
+
export const MailboxDefaultIsmConfigSchema = z.object({
|
|
208
|
+
type: z.literal(IsmType.MAILBOX_DEFAULT),
|
|
209
|
+
// No config fields: the mailbox is chain identity, supplied by the deploy
|
|
210
|
+
// context (like TRUSTED_RELAYER / RATE_LIMITED), not the declarative config.
|
|
211
|
+
});
|
|
212
|
+
/**
|
|
213
|
+
* Remote counterpart of a DelayedFlowRouterHookIsm, enrolled as a Router
|
|
214
|
+
* route. Accepts a 20-byte EVM address or a 32-byte hex value; normalized to
|
|
215
|
+
* lowercase bytes32 (the on-chain `routers(uint32)` representation) at parse
|
|
216
|
+
* time so config and derived on-chain state compare equal. Shared with the
|
|
217
|
+
* hook-side view of the same contract (../hook/types.ts).
|
|
218
|
+
*/
|
|
219
|
+
export const ZRouterBytes32 = z
|
|
220
|
+
.string()
|
|
221
|
+
.regex(/^0x([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$/, 'must be a 20-byte address or 32-byte hex value')
|
|
222
|
+
.refine((value) => !isEmptyAddress(value), {
|
|
223
|
+
message: 'must not be the zero address',
|
|
224
|
+
})
|
|
225
|
+
.transform((value) => addressToBytes32(value).toLowerCase());
|
|
226
|
+
export const NetFlowRateLimitedHookIsmConfigSchema = z
|
|
227
|
+
.object({
|
|
228
|
+
type: z.literal(IsmType.NET_FLOW_RATE_LIMITED),
|
|
229
|
+
/**
|
|
230
|
+
* Warp router this contract guards; must have it installed as hook AND
|
|
231
|
+
* ISM. Optional in warp-route deploy configs (defaults to the containing
|
|
232
|
+
* warp router, injected at deploy time like RATE_LIMITED's recipient);
|
|
233
|
+
* required for standalone ISM deploys (asserted in HyperlaneIsmFactory).
|
|
234
|
+
*/
|
|
235
|
+
warpRouter: ZHash.optional(),
|
|
236
|
+
/** Net outflow allowed per `duration` window, in bps of live TVL (< 10000). */
|
|
237
|
+
thresholdBps: z.number().int().min(0).max(9999),
|
|
238
|
+
/** Refill window in seconds — must match the on-chain immutable `DURATION`. */
|
|
239
|
+
duration: ZBigNumberish,
|
|
240
|
+
owner: ZHash.optional(),
|
|
241
|
+
})
|
|
242
|
+
.refine((val) => val.duration > 0n, {
|
|
243
|
+
message: 'duration must be greater than 0',
|
|
244
|
+
path: ['duration'],
|
|
245
|
+
});
|
|
246
|
+
/**
|
|
247
|
+
* Operational bound for DelayedFlowRouterHookIsm waits. The contract adds the
|
|
248
|
+
* delay to a uint48 Unix timestamp; uint32 seconds (~136 years) exceeds any
|
|
249
|
+
* practical delay while leaving ample timestamp headroom.
|
|
250
|
+
*/
|
|
251
|
+
export const MAX_SAFE_UINT48 = 2 ** 32 - 1;
|
|
252
|
+
export const DelayedFlowRouterHookIsmConfigSchema = OwnableSchema.extend({
|
|
253
|
+
type: z.literal(IsmType.DELAYED_FLOW_ROUTER),
|
|
254
|
+
/**
|
|
255
|
+
* Warp router this contract guards; must have it installed as hook AND
|
|
256
|
+
* ISM. Optional in warp-route deploy configs (defaults to the containing
|
|
257
|
+
* warp router, injected at deploy time like RATE_LIMITED's recipient);
|
|
258
|
+
* required for standalone ISM deploys (asserted in HyperlaneIsmFactory).
|
|
259
|
+
*/
|
|
260
|
+
warpRouter: ZHash.optional(),
|
|
261
|
+
/** Bucket size per `duration` window, in bps of live TVL (delay mode permits 100%). */
|
|
262
|
+
thresholdBps: z.number().int().min(0).max(10000),
|
|
263
|
+
/** Cap on any single message's wait, in seconds. */
|
|
264
|
+
maxDelay: z.number().int().nonnegative().max(MAX_SAFE_UINT48),
|
|
265
|
+
/** Refill window in seconds — must match the on-chain immutable `DURATION`. */
|
|
266
|
+
duration: ZBigNumberish,
|
|
267
|
+
/**
|
|
268
|
+
* Enrolled remote counterparts, keyed by chain name; values are the remote
|
|
269
|
+
* DelayedFlowRouterHookIsm instances (the contract is itself a Router, so
|
|
270
|
+
* on-chain nomenclature keeps "router": enrollRemoteRouters/routers()).
|
|
271
|
+
* Omit to leave the current on-chain enrollment untouched.
|
|
272
|
+
*/
|
|
273
|
+
remoteIsms: z.record(ZRouterBytes32).optional(),
|
|
274
|
+
}).refine((val) => val.duration > 0n, {
|
|
275
|
+
message: 'duration must be greater than 0',
|
|
276
|
+
path: ['duration'],
|
|
277
|
+
});
|
|
189
278
|
export const CCIPIsmConfigSchema = z.object({
|
|
190
279
|
type: z.literal(IsmType.CCIP),
|
|
191
280
|
originChain: z.string(),
|
|
@@ -525,6 +614,9 @@ export const BaseIsmConfigSchema = z.union([
|
|
|
525
614
|
CCIPIsmConfigSchema,
|
|
526
615
|
RateLimitedIsmConfigSchema,
|
|
527
616
|
BlacklistIsmConfigSchema,
|
|
617
|
+
NetFlowRateLimitedHookIsmConfigSchema,
|
|
618
|
+
DelayedFlowRouterHookIsmConfigSchema,
|
|
619
|
+
MailboxDefaultIsmConfigSchema,
|
|
528
620
|
MultisigIsmConfigSchema,
|
|
529
621
|
WeightedMultisigIsmConfigSchema,
|
|
530
622
|
RoutingIsmConfigSchema,
|
|
@@ -536,12 +628,121 @@ export const BaseIsmConfigSchema = z.union([
|
|
|
536
628
|
UnknownIsmConfigSchema,
|
|
537
629
|
]);
|
|
538
630
|
/**
|
|
539
|
-
*
|
|
540
|
-
*
|
|
541
|
-
*
|
|
542
|
-
*
|
|
631
|
+
* ISM types that authenticate a message's origin/authorship, as opposed to
|
|
632
|
+
* gating on local state. Used to satisfy the composition requirement of the
|
|
633
|
+
* warp-route hybrid hook/ISMs, whose `moduleType()` is NULL and which
|
|
634
|
+
* therefore verify flow, not authenticity.
|
|
635
|
+
*
|
|
636
|
+
* MEMBERSHIP CRITERION — add a type here only if the SDK deploy path
|
|
637
|
+
* (HyperlaneIsmFactory) yields an instance that provably authenticates the
|
|
638
|
+
* message in its POST-DEPLOY state, with no window in which a third party can
|
|
639
|
+
* bind the authority it checks. Being named like a verifier does not qualify a
|
|
640
|
+
* type, and neither does canonical bytecode: what matters is whether the
|
|
641
|
+
* authority the contract compares against is fixed by this deploy path itself.
|
|
642
|
+
* A contract whose authority is installed by a public initializer or setter
|
|
643
|
+
* that the deploy path neither calls nor verifies is bindable by whoever
|
|
644
|
+
* reaches it first, and an attacker-bound instance verifies attacker messages.
|
|
645
|
+
*
|
|
646
|
+
* Evidence for each member:
|
|
647
|
+
* - MERKLE_ROOT_MULTISIG / MESSAGE_ID_MULTISIG: validators and threshold are
|
|
648
|
+
* MetaProxy metadata (StaticMultisigIsm.sol:21-25) fixed at the deterministic
|
|
649
|
+
* address the factory derives from them, so even a front-run deployment is
|
|
650
|
+
* the identical contract; verify() requires `threshold` validator signatures
|
|
651
|
+
* over the checkpoint digest (AbstractMultisigIsm.sol:97-115). No owner, no
|
|
652
|
+
* initializer.
|
|
653
|
+
* - STORAGE_MERKLE_ROOT_MULTISIG / STORAGE_MESSAGE_ID_MULTISIG: deployed by
|
|
654
|
+
* constructor (deployMultisigIsm -> handleDeploy), which sets validators and
|
|
655
|
+
* threshold and calls `_disableInitializers()` (StorageMultisigIsm.sol:25-32),
|
|
656
|
+
* so `initialize` reverts for everyone and the Ownable2Step owner stays unset
|
|
657
|
+
* — `setValidatorsAndThreshold` is onlyOwner and therefore uncallable. This
|
|
658
|
+
* membership rests on THAT deploy path, not on the contract alone: the
|
|
659
|
+
* on-chain `StorageMultisigIsmFactory.deploy` instead creates a MinimalProxy
|
|
660
|
+
* and calls `initialize(msg.sender, ...)` (StorageMultisigIsm.sol:101-112),
|
|
661
|
+
* and a proxy runs no constructor, so `_disableInitializers` never applies,
|
|
662
|
+
* the owner becomes the caller and `setValidatorsAndThreshold` is callable.
|
|
663
|
+
* Moving these two types onto that factory (see the TODO in
|
|
664
|
+
* `deployMultisigIsm`) removes the property this membership rests on, so they
|
|
665
|
+
* must leave this set in the same change.
|
|
666
|
+
* - WEIGHTED_MERKLE_ROOT_MULTISIG / WEIGHTED_MESSAGE_ID_MULTISIG: same
|
|
667
|
+
* MetaProxy argument, with the validator set and threshold weight in the
|
|
668
|
+
* metadata (WeightedMultisigIsm.sol:23-34); verify() accumulates weight from
|
|
669
|
+
* recovered signatures (AbstractWeightedMultisigIsm.sol:47-90).
|
|
670
|
+
* - TRUSTED_RELAYER: mailbox and trustedRelayer are constructor immutables
|
|
671
|
+
* passed by this deploy path (TrustedRelayerIsm.sol:14-29); verify() returns
|
|
672
|
+
* `mailbox.processor(id) == trustedRelayer`, so only the operator-chosen
|
|
673
|
+
* relayer can make a message pass. No initializer, nothing to bind.
|
|
674
|
+
*
|
|
675
|
+
* Deliberately absent:
|
|
676
|
+
* - ARB_L2_TO_L1 and CCIP: both are `AbstractMessageIdAuthorizedIsm`s whose
|
|
677
|
+
* `authorizedHook` is set by `setAuthorizedHook`, a PUBLIC one-shot
|
|
678
|
+
* `initializer` (AbstractMessageIdAuthorizedIsm.sol:60-66). This deploy path
|
|
679
|
+
* neither calls it (ARB is deployed with `[bridge]` alone) nor verifies it
|
|
680
|
+
* (CCIP resolves an address out of the CCIP cache), so between deployment
|
|
681
|
+
* and the operator's own binding any account can bind the ISM to a sender it
|
|
682
|
+
* controls and preverify arbitrary message ids. Canonical bytecode does not
|
|
683
|
+
* establish that missing hook identity.
|
|
684
|
+
* - MAILBOX_DEFAULT: delegates to whatever the mailbox's default ISM happens to
|
|
685
|
+
* be at verification time, which cannot be verified statically here.
|
|
686
|
+
* - OFFCHAIN_LOOKUP: `CCIP_READ` is an extensibility interface, not an
|
|
687
|
+
* authentication guarantee — the contract is deployed out of band and its
|
|
688
|
+
* `verify` may return true unconditionally (`TestCcipReadIsm`). Such an ISM
|
|
689
|
+
* may still be composed beside a hybrid; it just does not stand in as the
|
|
690
|
+
* authenticator.
|
|
691
|
+
* - A bare address string: its type is unknowable at config-parse time, so
|
|
692
|
+
* treating it as authenticating would let a NULL-type ISM referenced by
|
|
693
|
+
* address satisfy the requirement.
|
|
543
694
|
*/
|
|
544
|
-
|
|
695
|
+
const AUTHENTICATING_ISM_TYPES = new Set([
|
|
696
|
+
IsmType.MERKLE_ROOT_MULTISIG,
|
|
697
|
+
IsmType.MESSAGE_ID_MULTISIG,
|
|
698
|
+
IsmType.STORAGE_MERKLE_ROOT_MULTISIG,
|
|
699
|
+
IsmType.STORAGE_MESSAGE_ID_MULTISIG,
|
|
700
|
+
IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG,
|
|
701
|
+
IsmType.WEIGHTED_MESSAGE_ID_MULTISIG,
|
|
702
|
+
IsmType.TRUSTED_RELAYER,
|
|
703
|
+
]);
|
|
704
|
+
/**
|
|
705
|
+
* True if `node` authenticates on its own, or is an aggregation that cannot be
|
|
706
|
+
* satisfied without one of its authenticating members.
|
|
707
|
+
*
|
|
708
|
+
* The threshold is load-bearing. AbstractAggregationIsm.verify runs only the
|
|
709
|
+
* submodules the relayer-supplied metadata carries an entry for, and requires
|
|
710
|
+
* exactly `threshold` of them to pass (AbstractAggregationIsm.sol:44-67), so
|
|
711
|
+
* the relayer picks which `threshold` members are consulted. An aggregation
|
|
712
|
+
* therefore authenticates only when its non-authenticating members are too few
|
|
713
|
+
* to reach the threshold by themselves — otherwise the relayer satisfies it
|
|
714
|
+
* with, say, an unpaused PausableIsm (PausableIsm.sol:28-33, returns true
|
|
715
|
+
* unconditionally) and the authenticating member never executes.
|
|
716
|
+
*/
|
|
717
|
+
function providesAuthentication(node) {
|
|
718
|
+
if (typeof node !== 'object' || node === null) {
|
|
719
|
+
return false;
|
|
720
|
+
}
|
|
721
|
+
if (AUTHENTICATING_ISM_TYPES.has(node.type)) {
|
|
722
|
+
return true;
|
|
723
|
+
}
|
|
724
|
+
if (node.type === IsmType.AGGREGATION ||
|
|
725
|
+
node.type === IsmType.STORAGE_AGGREGATION) {
|
|
726
|
+
const nonAuthenticatingCount = node.modules.filter((module) => !providesAuthentication(module)).length;
|
|
727
|
+
return nonAuthenticatingCount < node.threshold;
|
|
728
|
+
}
|
|
729
|
+
return false;
|
|
730
|
+
}
|
|
731
|
+
/**
|
|
732
|
+
* Validates the composition invariants of ISM types that are only safe in a
|
|
733
|
+
* mandatory position:
|
|
734
|
+
*
|
|
735
|
+
* - BLACKLIST must be a member of an aggregation whose threshold equals its
|
|
736
|
+
* module count, so its verdict can never be outvoted.
|
|
737
|
+
* - The warp-route hybrid hook/ISMs (NET_FLOW_RATE_LIMITED,
|
|
738
|
+
* DELAYED_FLOW_ROUTER) have the same requirement AND must be accompanied by
|
|
739
|
+
* an authenticating ISM. Their `moduleType()` is NULL: they meter flow, not
|
|
740
|
+
* message authenticity, so using one as a route's sole ISM lets any caller
|
|
741
|
+
* process a forged message subject only to bucket capacity (on a synthetic
|
|
742
|
+
* leg, minting arbitrary tokens).
|
|
743
|
+
*/
|
|
744
|
+
function validateIsmComposition(node, path, context, ctx) {
|
|
745
|
+
const { mandatoryPosition, underAggregation, authenticated, addressModuleSibling, } = context;
|
|
545
746
|
if (typeof node === 'string') {
|
|
546
747
|
return;
|
|
547
748
|
}
|
|
@@ -555,28 +756,79 @@ function validateBlacklistComposition(node, path, mandatoryPosition, underAggreg
|
|
|
555
756
|
});
|
|
556
757
|
}
|
|
557
758
|
break;
|
|
759
|
+
case IsmType.NET_FLOW_RATE_LIMITED:
|
|
760
|
+
case IsmType.DELAYED_FLOW_ROUTER:
|
|
761
|
+
if (!(mandatoryPosition && underAggregation)) {
|
|
762
|
+
ctx.addIssue({
|
|
763
|
+
code: z.ZodIssueCode.custom,
|
|
764
|
+
message: `A ${node.type} verifies flow, not message authenticity (moduleType is NULL), so it must be a member of an aggregation whose threshold equals its module count; it cannot be used standalone, as a routing target, or under a non-exhaustive aggregation.`,
|
|
765
|
+
path,
|
|
766
|
+
});
|
|
767
|
+
}
|
|
768
|
+
else if (!authenticated) {
|
|
769
|
+
ctx.addIssue({
|
|
770
|
+
code: z.ZodIssueCode.custom,
|
|
771
|
+
message: `A ${node.type} must be composed with an authenticating ISM (e.g. a multisig) in the same mandatory aggregation; on its own it lets any caller process a forged message subject only to bucket capacity.` +
|
|
772
|
+
(addressModuleSibling
|
|
773
|
+
? ` A module given as a bare address does not count — an already-deployed ISM has to be declared by type: re-declaring a static multisig with the same validators and threshold resolves to its existing address.`
|
|
774
|
+
: ''),
|
|
775
|
+
path,
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
break;
|
|
558
779
|
case IsmType.AGGREGATION:
|
|
559
780
|
case IsmType.STORAGE_AGGREGATION: {
|
|
560
781
|
const childMandatory = mandatoryPosition && node.threshold === node.modules.length;
|
|
561
|
-
|
|
782
|
+
// An authenticating member only guarantees authentication when it cannot
|
|
783
|
+
// be outvoted, i.e. when this aggregation is itself in a mandatory
|
|
784
|
+
// position and its own threshold cannot be met without that member.
|
|
785
|
+
const childAuthenticated = authenticated || (childMandatory && providesAuthentication(node));
|
|
786
|
+
const childAddressModuleSibling = addressModuleSibling ||
|
|
787
|
+
node.modules.some((module) => typeof module === 'string');
|
|
788
|
+
node.modules.forEach((subIsm, i) => validateIsmComposition(subIsm, [...path, 'modules', i], {
|
|
789
|
+
mandatoryPosition: childMandatory,
|
|
790
|
+
underAggregation: true,
|
|
791
|
+
authenticated: childAuthenticated,
|
|
792
|
+
addressModuleSibling: childAddressModuleSibling,
|
|
793
|
+
}, ctx));
|
|
562
794
|
break;
|
|
563
795
|
}
|
|
564
796
|
case IsmType.ROUTING:
|
|
565
797
|
case IsmType.FALLBACK_ROUTING:
|
|
566
798
|
case IsmType.INCREMENTAL_ROUTING:
|
|
567
799
|
for (const [chain, domainIsm] of Object.entries(node.domains)) {
|
|
568
|
-
|
|
800
|
+
validateIsmComposition(domainIsm, [...path, 'domains', chain], {
|
|
801
|
+
mandatoryPosition,
|
|
802
|
+
underAggregation: false,
|
|
803
|
+
authenticated,
|
|
804
|
+
addressModuleSibling,
|
|
805
|
+
}, ctx);
|
|
569
806
|
}
|
|
570
807
|
break;
|
|
571
808
|
case IsmType.AMOUNT_ROUTING:
|
|
572
|
-
|
|
573
|
-
|
|
809
|
+
validateIsmComposition(node.lowerIsm, [...path, 'lowerIsm'], {
|
|
810
|
+
mandatoryPosition,
|
|
811
|
+
underAggregation: false,
|
|
812
|
+
authenticated,
|
|
813
|
+
addressModuleSibling,
|
|
814
|
+
}, ctx);
|
|
815
|
+
validateIsmComposition(node.upperIsm, [...path, 'upperIsm'], {
|
|
816
|
+
mandatoryPosition,
|
|
817
|
+
underAggregation: false,
|
|
818
|
+
authenticated,
|
|
819
|
+
addressModuleSibling,
|
|
820
|
+
}, ctx);
|
|
574
821
|
break;
|
|
575
822
|
default:
|
|
576
823
|
break;
|
|
577
824
|
}
|
|
578
825
|
}
|
|
579
|
-
export const IsmConfigSchema = BaseIsmConfigSchema.superRefine((data, ctx) =>
|
|
826
|
+
export const IsmConfigSchema = BaseIsmConfigSchema.superRefine((data, ctx) => validateIsmComposition(data, [], {
|
|
827
|
+
mandatoryPosition: true,
|
|
828
|
+
underAggregation: false,
|
|
829
|
+
authenticated: false,
|
|
830
|
+
addressModuleSibling: false,
|
|
831
|
+
}, ctx));
|
|
580
832
|
/**
|
|
581
833
|
* Forward-compatible ISM config schema that normalizes unknown ISM types.
|
|
582
834
|
* Use this instead of IsmConfigSchema when parsing configs that may contain
|
package/dist/ism/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"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"}
|