@hyperlane-xyz/sdk 32.0.1 → 33.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/testChains.d.ts +2 -2
- package/dist/consts/testChains.d.ts.map +1 -1
- package/dist/consts/testChains.js +21 -21
- package/dist/consts/testChains.js.map +1 -1
- package/dist/core/EvmCoreModule.d.ts.map +1 -1
- package/dist/core/EvmCoreModule.js +2 -1
- package/dist/core/EvmCoreModule.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +1 -0
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/types.d.ts +124 -22
- package/dist/core/types.d.ts.map +1 -1
- package/dist/deploy/warp.d.ts.map +1 -1
- package/dist/deploy/warp.js +3 -1
- package/dist/deploy/warp.js.map +1 -1
- package/dist/hook/EvmHookReader.d.ts.map +1 -1
- package/dist/hook/EvmHookReader.js +4 -0
- package/dist/hook/EvmHookReader.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +19 -10
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/types.d.ts +118 -17
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +14 -0
- package/dist/hook/types.js.map +1 -1
- package/dist/hook/updates.d.ts +4 -1
- package/dist/hook/updates.d.ts.map +1 -1
- package/dist/hook/updates.js +1 -1
- package/dist/hook/updates.js.map +1 -1
- package/dist/hook/utils.d.ts +7 -1
- package/dist/hook/utils.d.ts.map +1 -1
- package/dist/hook/utils.js +18 -0
- package/dist/hook/utils.js.map +1 -1
- package/dist/ica/types.d.ts +36 -6
- package/dist/ica/types.d.ts.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/metadata/ChainMetadataResolver.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataResolver.js +1 -13
- package/dist/metadata/ChainMetadataResolver.js.map +1 -1
- package/dist/metadata/chainIdUtils.d.ts +8 -0
- package/dist/metadata/chainIdUtils.d.ts.map +1 -0
- package/dist/metadata/chainIdUtils.js +33 -0
- package/dist/metadata/chainIdUtils.js.map +1 -0
- package/dist/metadata/chainIdUtils.test.d.ts +2 -0
- package/dist/metadata/chainIdUtils.test.d.ts.map +1 -0
- package/dist/metadata/chainIdUtils.test.js +45 -0
- package/dist/metadata/chainIdUtils.test.js.map +1 -0
- package/dist/predicate/PredicateApiClient.d.ts +45 -0
- package/dist/predicate/PredicateApiClient.d.ts.map +1 -0
- package/dist/predicate/PredicateApiClient.js +66 -0
- package/dist/predicate/PredicateApiClient.js.map +1 -0
- package/dist/predicate/PredicateApiClient.test.d.ts +2 -0
- package/dist/predicate/PredicateApiClient.test.d.ts.map +1 -0
- package/dist/predicate/PredicateApiClient.test.js +108 -0
- package/dist/predicate/PredicateApiClient.test.js.map +1 -0
- package/dist/predicate/PredicateDeployer.d.ts +56 -0
- package/dist/predicate/PredicateDeployer.d.ts.map +1 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.d.ts +2 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.js +209 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.js.map +1 -0
- package/dist/predicate/PredicateDeployer.js +218 -0
- package/dist/predicate/PredicateDeployer.js.map +1 -0
- package/dist/router/types.d.ts +54 -9
- package/dist/router/types.d.ts.map +1 -1
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js +6 -6
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js.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 +1 -0
- package/dist/test/testUtils.js.map +1 -1
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js +4 -4
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js.map +1 -1
- package/dist/token/EvmWarpModule.d.ts +55 -0
- package/dist/token/EvmWarpModule.d.ts.map +1 -1
- package/dist/token/EvmWarpModule.hardhat-test.js +29 -0
- package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
- package/dist/token/EvmWarpModule.js +264 -21
- package/dist/token/EvmWarpModule.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.d.ts +6 -0
- package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
- package/dist/token/EvmWarpRouteReader.js +34 -1
- package/dist/token/EvmWarpRouteReader.js.map +1 -1
- package/dist/token/TokenMetadata.d.ts.map +1 -1
- package/dist/token/TokenMetadata.js +2 -3
- package/dist/token/TokenMetadata.js.map +1 -1
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts +2 -8
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmCrossCollateralAdapter.js +23 -4
- package/dist/token/adapters/EvmCrossCollateralAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +21 -4
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +191 -22
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +10 -0
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/ITokenAdapter.js +8 -0
- package/dist/token/adapters/ITokenAdapter.js.map +1 -1
- package/dist/token/deploy.d.ts +4 -1
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.js +30 -1
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/types.d.ts +4427 -27
- package/dist/token/types.d.ts.map +1 -1
- package/dist/token/types.js +19 -0
- package/dist/token/types.js.map +1 -1
- package/dist/warp/WarpCore.d.ts +39 -19
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +149 -82
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/WarpCore.test.js +58 -0
- package/dist/warp/WarpCore.test.js.map +1 -1
- package/package.json +10 -10
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BigNumber, constants as ethersConstants, } from 'ethers';
|
|
2
|
-
import { ERC20__factory, ERC4626__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC4626Collateral__factory, HypERC4626__factory, HypXERC20Lockbox__factory, HypXERC20__factory, IFiatToken__factory, ITokenBridge__factory, IXERC20VS__factory, IXERC20__factory, MovableCollateralRouter__factory, TokenRouter__factory, } from '@hyperlane-xyz/core';
|
|
2
|
+
import { ERC20__factory, ERC4626__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC4626Collateral__factory, HypERC4626__factory, HypXERC20Lockbox__factory, HypXERC20__factory, IFiatToken__factory, IPostDispatchHook__factory, ITokenBridge__factory, IXERC20VS__factory, IXERC20__factory, MovableCollateralRouter__factory, PredicateRouterWrapper__factory, StaticAggregationHook__factory, TokenRouter__factory, } from '@hyperlane-xyz/core';
|
|
3
3
|
import { LazyAsync, ProtocolType, ZERO_ADDRESS_HEX_32, addressToByteHexString, addressToBytes32, assert, bytes32ToAddress, convertToProtocolAddress, eqAddress, isNullish, isZeroishAddress, normalizeAddress, strip0x, } from '@hyperlane-xyz/utils';
|
|
4
4
|
import { BaseEvmAdapter } from '../../app/MultiProtocolApp.js';
|
|
5
5
|
import { UIN256_MAX_VALUE } from '../../consts/numbers.js';
|
|
6
|
+
import { OnchainHookType } from '../../hook/types.js';
|
|
6
7
|
import { isValidContractVersion } from '../../utils/contract.js';
|
|
7
8
|
import { buildBlockTagOverrides } from './utils.js';
|
|
8
9
|
// Ensures an address is in EVM hex format (e.g. converts Tron bs58 addresses)
|
|
@@ -99,6 +100,10 @@ export class EvmHypSyntheticAdapter extends EvmTokenAdapter {
|
|
|
99
100
|
multiProvider;
|
|
100
101
|
addresses;
|
|
101
102
|
contractFactory;
|
|
103
|
+
predicateWrapperAddress;
|
|
104
|
+
clearPredicateCache() {
|
|
105
|
+
this.predicateWrapperAddress = undefined;
|
|
106
|
+
}
|
|
102
107
|
constructor(chainName, multiProvider, addresses, contractFactory = HypERC20__factory) {
|
|
103
108
|
super(chainName, multiProvider, addresses, contractFactory);
|
|
104
109
|
this.chainName = chainName;
|
|
@@ -107,17 +112,100 @@ export class EvmHypSyntheticAdapter extends EvmTokenAdapter {
|
|
|
107
112
|
this.contractFactory = contractFactory;
|
|
108
113
|
}
|
|
109
114
|
async isApproveRequired(owner, spender, weiAmountOrId) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
115
|
+
if (eqAddress(spender, this.addresses.token)) {
|
|
116
|
+
// Synthetics with PredicateWrapper need approval to the wrapper instead.
|
|
117
|
+
// Without a wrapper, transferRemote burns directly from msg.sender — no approval needed.
|
|
118
|
+
const predicateWrapper = await this.getPredicateWrapperAddress();
|
|
119
|
+
if (!predicateWrapper)
|
|
120
|
+
return false;
|
|
121
|
+
const allowance = await this.contract.allowance(toEvmAddress(owner), predicateWrapper);
|
|
122
|
+
return allowance.lt(weiAmountOrId);
|
|
123
|
+
}
|
|
124
|
+
// External spenders (e.g. QuotedCalls) get the standard ERC20 allowance check.
|
|
114
125
|
return super.isApproveRequired(owner, spender, weiAmountOrId);
|
|
115
126
|
}
|
|
116
127
|
async isRevokeApprovalRequired(owner, spender) {
|
|
117
|
-
if (eqAddress(spender, this.addresses.token))
|
|
118
|
-
|
|
128
|
+
if (eqAddress(spender, this.addresses.token)) {
|
|
129
|
+
// When a predicate wrapper is present, allowance was granted to the wrapper.
|
|
130
|
+
// Check whether the wrapper has a non-zero allowance that must be revoked first
|
|
131
|
+
// (relevant for USDT-like tokens that require zeroing before re-approval).
|
|
132
|
+
const predicateWrapper = await this.getPredicateWrapperAddress();
|
|
133
|
+
if (!predicateWrapper)
|
|
134
|
+
return false;
|
|
135
|
+
return super.isRevokeApprovalRequired(owner, predicateWrapper);
|
|
136
|
+
}
|
|
119
137
|
return super.isRevokeApprovalRequired(owner, spender);
|
|
120
138
|
}
|
|
139
|
+
async populateApproveTx(params) {
|
|
140
|
+
if (eqAddress(params.recipient, this.addresses.token)) {
|
|
141
|
+
// Synthetics with PredicateWrapper approve the wrapper, not the route contract
|
|
142
|
+
const predicateWrapper = await this.getPredicateWrapperAddress();
|
|
143
|
+
if (predicateWrapper) {
|
|
144
|
+
return this.contract.populateTransaction.approve(predicateWrapper, params.weiAmountOrId.toString());
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// External spender or no predicate wrapper — standard ERC20 approve
|
|
148
|
+
return super.populateApproveTx(params);
|
|
149
|
+
}
|
|
150
|
+
async getPredicateWrapperAddress() {
|
|
151
|
+
if (this.predicateWrapperAddress !== undefined) {
|
|
152
|
+
return this.predicateWrapperAddress;
|
|
153
|
+
}
|
|
154
|
+
const hookAddress = await this.contract.hook();
|
|
155
|
+
if (hookAddress === ethersConstants.AddressZero) {
|
|
156
|
+
this.predicateWrapperAddress = null;
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
const provider = this.getProvider();
|
|
160
|
+
const warpRouteAddress = this.addresses.token.toLowerCase();
|
|
161
|
+
// findPredicateWrapperInHook returns null when the hook structure contains no
|
|
162
|
+
// matching wrapper (a confirmed structural absence). Any exception here is an
|
|
163
|
+
// unexpected RPC/network failure — don't cache null so the next call can retry.
|
|
164
|
+
const foundWrapper = await this.findPredicateWrapperInHook(hookAddress, warpRouteAddress, provider);
|
|
165
|
+
this.predicateWrapperAddress = foundWrapper;
|
|
166
|
+
return this.predicateWrapperAddress;
|
|
167
|
+
}
|
|
168
|
+
async findPredicateWrapperInHook(hookAddress, warpRouteAddress, provider) {
|
|
169
|
+
const hook = IPostDispatchHook__factory.connect(hookAddress, provider);
|
|
170
|
+
let hookType;
|
|
171
|
+
try {
|
|
172
|
+
hookType = await hook.hookType();
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
// CALL_EXCEPTION means the contract at hookAddress doesn't implement hookType()
|
|
176
|
+
// (e.g. an old or incompatible hook). Treat as "no wrapper here".
|
|
177
|
+
// Any other error (network timeout, RPC failure) is unexpected — rethrow.
|
|
178
|
+
if (error instanceof Error &&
|
|
179
|
+
'code' in error &&
|
|
180
|
+
error.code === 'CALL_EXCEPTION')
|
|
181
|
+
return null;
|
|
182
|
+
throw error;
|
|
183
|
+
}
|
|
184
|
+
if (hookType === OnchainHookType.PREDICATE_ROUTER_WRAPPER) {
|
|
185
|
+
const wrapper = PredicateRouterWrapper__factory.connect(hookAddress, provider);
|
|
186
|
+
const warpRouteFromWrapper = await wrapper.warpRoute();
|
|
187
|
+
const matches = warpRouteFromWrapper.toLowerCase() === warpRouteAddress;
|
|
188
|
+
if (matches) {
|
|
189
|
+
return hookAddress;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
if (hookType === OnchainHookType.AGGREGATION) {
|
|
193
|
+
const aggregationHook = StaticAggregationHook__factory.connect(hookAddress, provider);
|
|
194
|
+
const subHooks = await aggregationHook.hooks('0x');
|
|
195
|
+
for (const subHook of subHooks) {
|
|
196
|
+
const found = await this.findPredicateWrapperInHook(subHook, warpRouteAddress, provider);
|
|
197
|
+
if (found) {
|
|
198
|
+
return found;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
// Known constraint: recursion only descends into AGGREGATION hooks.
|
|
203
|
+
// FALLBACK_ROUTING, DOMAIN_ROUTING, and AMOUNT_ROUTING hooks are not traversed.
|
|
204
|
+
// In practice this is fine because PredicateWrapperDeployer always places the
|
|
205
|
+
// wrapper inside a StaticAggregationHook. A wrapper nested inside a routing hook
|
|
206
|
+
// would not be detected and predicate support would silently degrade to disabled.
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
121
209
|
getDomains() {
|
|
122
210
|
return this.contract.domains();
|
|
123
211
|
}
|
|
@@ -183,7 +271,51 @@ export class EvmHypSyntheticAdapter extends EvmTokenAdapter {
|
|
|
183
271
|
tokenFeeQuote,
|
|
184
272
|
};
|
|
185
273
|
}
|
|
186
|
-
|
|
274
|
+
/**
|
|
275
|
+
* Check if this warp route supports Predicate attestations
|
|
276
|
+
* @returns True if a PredicateRouterWrapper is configured on the hook
|
|
277
|
+
*/
|
|
278
|
+
async supportsAttestation() {
|
|
279
|
+
const wrapperAddress = await this.getPredicateWrapperAddress();
|
|
280
|
+
return wrapperAddress !== null;
|
|
281
|
+
}
|
|
282
|
+
async populatePredicateTransferRemoteTx(params, nativeValue) {
|
|
283
|
+
const { weiAmountOrId, destination, recipient, attestation } = params;
|
|
284
|
+
assert(attestation, 'attestation is required');
|
|
285
|
+
const predicateWrapperAddress = await this.getPredicateWrapperAddress();
|
|
286
|
+
if (!predicateWrapperAddress) {
|
|
287
|
+
throw new Error('Attestation provided but no PredicateRouterWrapper detected on warp route hook. ' +
|
|
288
|
+
'Attestations can only be used with routes that have a PredicateRouterWrapper configured.');
|
|
289
|
+
}
|
|
290
|
+
let { interchainGas } = params;
|
|
291
|
+
if (!interchainGas) {
|
|
292
|
+
interchainGas = await this.quoteTransferRemoteGas({
|
|
293
|
+
destination,
|
|
294
|
+
recipient,
|
|
295
|
+
amount: BigInt(weiAmountOrId),
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
nativeValue += interchainGas.igpQuote.amount;
|
|
299
|
+
if (!interchainGas.tokenFeeQuote?.addressOrDenom ||
|
|
300
|
+
isZeroishAddress(interchainGas.tokenFeeQuote?.addressOrDenom)) {
|
|
301
|
+
nativeValue += interchainGas.tokenFeeQuote?.amount ?? 0n;
|
|
302
|
+
}
|
|
303
|
+
const recipBytes32 = addressToBytes32(addressToByteHexString(recipient));
|
|
304
|
+
const predicateWrapper = PredicateRouterWrapper__factory.connect(predicateWrapperAddress, this.getProvider());
|
|
305
|
+
const contractAttestation = {
|
|
306
|
+
uuid: attestation.uuid,
|
|
307
|
+
expiration: attestation.expiration,
|
|
308
|
+
attester: attestation.attester,
|
|
309
|
+
signature: attestation.signature,
|
|
310
|
+
};
|
|
311
|
+
return predicateWrapper.populateTransaction.transferRemoteWithAttestation(contractAttestation, destination, recipBytes32, weiAmountOrId, { value: nativeValue.toString() });
|
|
312
|
+
}
|
|
313
|
+
async populateTransferRemoteTx(params, nativeValue = 0n) {
|
|
314
|
+
const { weiAmountOrId, destination, recipient, attestation } = params;
|
|
315
|
+
if (attestation) {
|
|
316
|
+
return this.populatePredicateTransferRemoteTx(params, nativeValue);
|
|
317
|
+
}
|
|
318
|
+
let { interchainGas } = params;
|
|
187
319
|
if (!interchainGas)
|
|
188
320
|
interchainGas = await this.quoteTransferRemoteGas({
|
|
189
321
|
destination,
|
|
@@ -241,15 +373,52 @@ class BaseEvmHypCollateralAdapter extends EvmHypSyntheticAdapter {
|
|
|
241
373
|
getMetadata(isNft) {
|
|
242
374
|
return this.getWrappedTokenAdapter().then((t) => t.getMetadata(isNft));
|
|
243
375
|
}
|
|
244
|
-
isApproveRequired(owner, spender, weiAmountOrId) {
|
|
245
|
-
|
|
376
|
+
async isApproveRequired(owner, spender, weiAmountOrId) {
|
|
377
|
+
const wrappedTokenAdapter = await this.getWrappedTokenAdapter();
|
|
378
|
+
let effectiveSpender = spender;
|
|
379
|
+
if (eqAddress(spender, this.addresses.token)) {
|
|
380
|
+
const predicateWrapper = await this.getPredicateWrapperAddress();
|
|
381
|
+
if (predicateWrapper)
|
|
382
|
+
effectiveSpender = predicateWrapper;
|
|
383
|
+
}
|
|
384
|
+
return wrappedTokenAdapter.isApproveRequired(owner, effectiveSpender, weiAmountOrId);
|
|
246
385
|
}
|
|
247
386
|
async isRevokeApprovalRequired(owner, spender) {
|
|
248
387
|
const collateral = await this.getWrappedTokenAdapter();
|
|
249
|
-
|
|
388
|
+
let effectiveSpender = spender;
|
|
389
|
+
if (eqAddress(spender, this.addresses.token)) {
|
|
390
|
+
const predicateWrapper = await this.getPredicateWrapperAddress();
|
|
391
|
+
if (predicateWrapper)
|
|
392
|
+
effectiveSpender = predicateWrapper;
|
|
393
|
+
}
|
|
394
|
+
return collateral.isRevokeApprovalRequired(owner, effectiveSpender);
|
|
395
|
+
}
|
|
396
|
+
async populateApproveTx(params) {
|
|
397
|
+
const wrappedTokenAdapter = await this.getWrappedTokenAdapter();
|
|
398
|
+
let effectiveRecipient = params.recipient;
|
|
399
|
+
if (eqAddress(params.recipient, this.addresses.token)) {
|
|
400
|
+
const predicateWrapper = await this.getPredicateWrapperAddress();
|
|
401
|
+
if (predicateWrapper)
|
|
402
|
+
effectiveRecipient = predicateWrapper;
|
|
403
|
+
}
|
|
404
|
+
return wrappedTokenAdapter.populateApproveTx({
|
|
405
|
+
...params,
|
|
406
|
+
recipient: effectiveRecipient,
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Check if this warp route supports Predicate attestations
|
|
411
|
+
* @returns True if a PredicateRouterWrapper is configured on the hook
|
|
412
|
+
*/
|
|
413
|
+
async supportsAttestation() {
|
|
414
|
+
const wrapperAddress = await this.getPredicateWrapperAddress();
|
|
415
|
+
return wrapperAddress !== null;
|
|
250
416
|
}
|
|
251
|
-
|
|
252
|
-
|
|
417
|
+
async populateTransferRemoteTx(params, nativeValue = 0n) {
|
|
418
|
+
if (params.attestation) {
|
|
419
|
+
return this.populatePredicateTransferRemoteTx(params, nativeValue);
|
|
420
|
+
}
|
|
421
|
+
return super.populateTransferRemoteTx(params, nativeValue);
|
|
253
422
|
}
|
|
254
423
|
populateTransferTx(params) {
|
|
255
424
|
return this.getWrappedTokenAdapter().then((t) => t.populateTransferTx(params));
|
|
@@ -588,15 +757,15 @@ export class EvmHypNativeAdapter extends EvmMovableCollateralAdapter {
|
|
|
588
757
|
value,
|
|
589
758
|
});
|
|
590
759
|
}
|
|
591
|
-
async populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, }) {
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
760
|
+
async populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, attestation, }) {
|
|
761
|
+
// For native tokens the token amount is itself msg.value, so pass it as the
|
|
762
|
+
// initial nativeValue. populatePredicateTransferRemoteTx / super both add
|
|
763
|
+
// IGP fees on top of this base value.
|
|
764
|
+
const nativeValue = BigInt(weiAmountOrId);
|
|
765
|
+
if (attestation) {
|
|
766
|
+
return this.populatePredicateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas, attestation }, nativeValue);
|
|
767
|
+
}
|
|
768
|
+
return super.populateTransferRemoteTx({ weiAmountOrId, destination, recipient, interchainGas }, nativeValue);
|
|
600
769
|
}
|
|
601
770
|
async getBridgedSupply(options) {
|
|
602
771
|
const balance = await this.getProvider().getBalance(this.addresses.token, options?.blockTag);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EvmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Keypair } from '@solana/web3.js';
|
|
2
2
|
import { Address, Domain, Numberish } from '@hyperlane-xyz/utils';
|
|
3
3
|
import { EthJsonRpcBlockParameterTag } from '../../metadata/chainMetadataTypes.js';
|
|
4
|
+
import type { PredicateAttestation } from '../../predicate/PredicateApiClient.js';
|
|
4
5
|
import { TokenMetadata } from '../types.js';
|
|
5
6
|
export interface TransferParams {
|
|
6
7
|
weiAmountOrId: Numberish;
|
|
@@ -12,6 +13,8 @@ export interface TransferParams {
|
|
|
12
13
|
export interface TransferRemoteParams extends TransferParams {
|
|
13
14
|
destination: Domain;
|
|
14
15
|
customHook?: Address;
|
|
16
|
+
/** Optional Predicate attestation for compliance-gated warp routes */
|
|
17
|
+
attestation?: PredicateAttestation;
|
|
15
18
|
/** Optional extra signers for Sealevel transactions (e.g., randomWallet Keypair for dispatch PDA) */
|
|
16
19
|
extraSigners?: Keypair[];
|
|
17
20
|
}
|
|
@@ -23,6 +26,8 @@ export interface TransferRemoteToParams {
|
|
|
23
26
|
interchainGas?: InterchainGasQuote;
|
|
24
27
|
fromAccountOwner?: Address;
|
|
25
28
|
extraSigners?: Keypair[];
|
|
29
|
+
/** Optional Predicate attestation for compliance-gated warp routes */
|
|
30
|
+
attestation?: PredicateAttestation;
|
|
26
31
|
}
|
|
27
32
|
export interface QuoteTransferRemoteParams {
|
|
28
33
|
destination: Domain;
|
|
@@ -112,6 +117,11 @@ export interface IHypCrossCollateralAdapter<Tx> extends IHypTokenAdapter<Tx> {
|
|
|
112
117
|
}): Promise<InterchainGasQuote>;
|
|
113
118
|
populateTransferRemoteToTx(params: TransferRemoteToParams): Promise<Tx>;
|
|
114
119
|
}
|
|
120
|
+
export interface IPredicateAwareAdapter {
|
|
121
|
+
getPredicateWrapperAddress(): Promise<Address | null>;
|
|
122
|
+
supportsAttestation(): Promise<boolean>;
|
|
123
|
+
}
|
|
124
|
+
export declare function isPredicateCapableAdapter(adapter: IHypTokenAdapter<unknown>): adapter is IHypTokenAdapter<unknown> & IPredicateAwareAdapter;
|
|
115
125
|
export declare function isHypCrossCollateralAdapter(adapter: IHypTokenAdapter<unknown>): adapter is IHypCrossCollateralAdapter<unknown>;
|
|
116
126
|
export interface IHypCollateralFiatAdapter<Tx> extends IHypTokenAdapter<Tx> {
|
|
117
127
|
getMintLimit(): Promise<bigint>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/ITokenAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IAEnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qGAAqG;IACrG,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ITokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/ITokenAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
export function isPredicateCapableAdapter(adapter) {
|
|
2
|
+
return ('getPredicateWrapperAddress' in adapter &&
|
|
3
|
+
typeof adapter
|
|
4
|
+
.getPredicateWrapperAddress === 'function' &&
|
|
5
|
+
'supportsAttestation' in adapter &&
|
|
6
|
+
typeof adapter
|
|
7
|
+
.supportsAttestation === 'function');
|
|
8
|
+
}
|
|
1
9
|
export function isHypCrossCollateralAdapter(adapter) {
|
|
2
10
|
return ('populateTransferRemoteToTx' in adapter &&
|
|
3
11
|
typeof adapter.populateTransferRemoteToTx === 'function' &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/ITokenAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ITokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/ITokenAdapter.ts"],"names":[],"mappings":"AAgLA,MAAM,UAAU,yBAAyB,CACvC,OAAkC;IAElC,OAAO,CACL,4BAA4B,IAAI,OAAO;QACvC,OAAQ,OAAoD;aACzD,0BAA0B,KAAK,UAAU;QAC5C,qBAAqB,IAAI,OAAO;QAChC,OAAQ,OAA6C;aAClD,mBAAmB,KAAK,UAAU,CACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAkC;IAElC,OAAO,CACL,4BAA4B,IAAI,OAAO;QACvC,OAAO,OAAO,CAAC,0BAA0B,KAAK,UAAU;QACxD,0BAA0B,IAAI,OAAO;QACrC,OAAO,OAAO,CAAC,wBAAwB,KAAK,UAAU,CACvD,CAAC;AACJ,CAAC"}
|
package/dist/token/deploy.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { ChainMap, ChainName } from '../types.js';
|
|
|
9
9
|
import { TokenMetadataMap } from './TokenMetadataMap.js';
|
|
10
10
|
import { DeployableTokenType } from './config.js';
|
|
11
11
|
import { HypERC20Factories, HypERC20contracts, HypERC721Factories, TokenFactories } from './contracts.js';
|
|
12
|
-
import { HypTokenConfig, HypTokenRouterConfig, WarpRouteDeployConfig } from './types.js';
|
|
12
|
+
import { HypTokenConfig, HypTokenRouterConfig, PredicateWrapperConfig, WarpRouteDeployConfig } from './types.js';
|
|
13
13
|
export declare const TOKEN_INITIALIZE_SIGNATURE: (contractName: HypERC20contracts[DeployableTokenType]) => "initialize" | "initialize(address,address)" | "initialize(address,address,string[])" | "initialize(address,string[])";
|
|
14
14
|
declare abstract class TokenDeployer<Factories extends TokenFactories> extends GasRouterDeployer<HypTokenRouterConfig, Factories> {
|
|
15
15
|
constructor(multiProvider: MultiProvider, factories: Factories, loggerName: string, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier, concurrentDeploy?: boolean);
|
|
@@ -26,6 +26,9 @@ declare abstract class TokenDeployer<Factories extends TokenFactories> extends G
|
|
|
26
26
|
protected setBridgesTokenApprovals(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
|
|
27
27
|
protected setEverclearFeeParams(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
|
|
28
28
|
protected setEverclearOutputAssets(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
|
|
29
|
+
protected deployPredicateWrappers(configMap: ChainMap<HypTokenConfig & {
|
|
30
|
+
predicateWrapper?: PredicateWrapperConfig;
|
|
31
|
+
}>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
|
|
29
32
|
protected enrollCrossCollateralRouters(configMap: ChainMap<HypTokenConfig>, deployedContractsMap: HyperlaneContractsMap<Factories>): Promise<void>;
|
|
30
33
|
deploy(configMap: ChainMap<HypTokenRouterConfig>): Promise<HyperlaneContractsMap<Factories & ProxiedFactories>>;
|
|
31
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,SAAS,EAUT,WAAW,
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/token/deploy.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { compareVersions } from 'compare-versions';
|
|
2
2
|
import { BigNumber, constants } from 'ethers';
|
|
3
|
-
import { CrossCollateralRouter__factory, ERC20__factory, EverclearTokenBridge__factory, IMessageTransmitter__factory, MovableCollateralRouter__factory, OpL1V1NativeTokenBridge__factory, OpL2NativeTokenBridge__factory, PackageVersioned__factory, TokenBridgeOft__factory, TokenBridgeCctpBase__factory, TokenBridgeCctpV2__factory, TokenBridgeDepositAddress__factory, } from '@hyperlane-xyz/core';
|
|
3
|
+
import { CrossCollateralRouter__factory, ERC20__factory, EverclearTokenBridge__factory, IMessageTransmitter__factory, MovableCollateralRouter__factory, OpL1V1NativeTokenBridge__factory, OpL2NativeTokenBridge__factory, PackageVersioned__factory, TokenBridgeOft__factory, TokenBridgeCctpBase__factory, TokenBridgeCctpV2__factory, TokenBridgeDepositAddress__factory, TokenRouter__factory, } from '@hyperlane-xyz/core';
|
|
4
4
|
import { addressToBytes32, isEVMLike, assert, objFilter, objKeys, objMap, promiseObjAll, rootLogger, } from '@hyperlane-xyz/utils';
|
|
5
5
|
import { EvmTokenFeeModule } from '../fee/EvmTokenFeeModule.js';
|
|
6
|
+
import { PredicateWrapperDeployer } from '../predicate/PredicateDeployer.js';
|
|
6
7
|
import { GasRouterDeployer } from '../router/GasRouterDeployer.js';
|
|
7
8
|
import { resolveRouterMapConfig } from '../router/types.js';
|
|
8
9
|
import { normalizeScale } from '../utils/decimals.js';
|
|
@@ -402,6 +403,25 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
402
403
|
await this.multiProvider.handleTx(chain, everclearTokenBridge.setOutputAssetsBatch(assets, overrides));
|
|
403
404
|
}));
|
|
404
405
|
}
|
|
406
|
+
async deployPredicateWrappers(configMap, deployedContractsMap) {
|
|
407
|
+
await promiseObjAll(objMap(configMap, async (chain, config) => {
|
|
408
|
+
if (!config.predicateWrapper) {
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
411
|
+
const router = this.router(deployedContractsMap[chain]);
|
|
412
|
+
const factoryContracts = this.options.ismFactory?.getContracts(chain);
|
|
413
|
+
assert(factoryContracts?.staticAggregationHookFactory, `staticAggregationHookFactory not found for ${chain}. Ensure proxy factories are deployed.`);
|
|
414
|
+
const predicateDeployer = new PredicateWrapperDeployer(this.multiProvider, factoryContracts.staticAggregationHookFactory, this.logger);
|
|
415
|
+
// Token address is fetched from router.token() in PredicateRouterWrapper constructor.
|
|
416
|
+
// config.predicateWrapper.owner (from the original configMap) is used for wrapper
|
|
417
|
+
// ownership — it's explicit in the schema rather than read from on-chain, so it
|
|
418
|
+
// correctly points to the intended final owner even before transferOwnership runs.
|
|
419
|
+
const result = await predicateDeployer.deployAndConfigure(chain, router.address, config.predicateWrapper, config.type);
|
|
420
|
+
const signerRouter = TokenRouter__factory.connect(router.address, this.multiProvider.getSigner(chain));
|
|
421
|
+
const txOverrides = this.multiProvider.getTransactionOverrides(chain);
|
|
422
|
+
await this.multiProvider.handleTx(chain, signerRouter.setHook(result.aggregationHookAddress, txOverrides));
|
|
423
|
+
}));
|
|
424
|
+
}
|
|
405
425
|
async enrollCrossCollateralRouters(configMap, deployedContractsMap) {
|
|
406
426
|
await promiseObjAll(objMap(configMap, async (chain, config) => {
|
|
407
427
|
if (!isCrossCollateralTokenConfig(config)) {
|
|
@@ -430,6 +450,14 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
430
450
|
}));
|
|
431
451
|
}
|
|
432
452
|
async deploy(configMap) {
|
|
453
|
+
// Fail fast if any chain requires a predicate wrapper but lacks the factory.
|
|
454
|
+
// Checked before any on-chain work to avoid partial deployments.
|
|
455
|
+
for (const [chain, config] of Object.entries(configMap)) {
|
|
456
|
+
if (!('predicateWrapper' in config) || !config.predicateWrapper)
|
|
457
|
+
continue;
|
|
458
|
+
const factoryContracts = this.options.ismFactory?.getContracts(chain);
|
|
459
|
+
assert(factoryContracts?.staticAggregationHookFactory, `staticAggregationHookFactory not found for ${chain}. Ensure proxy factories are deployed.`);
|
|
460
|
+
}
|
|
433
461
|
let tokenMetadataMap;
|
|
434
462
|
try {
|
|
435
463
|
tokenMetadataMap = await TokenDeployer.deriveTokenMetadata(this.multiProvider, configMap);
|
|
@@ -500,6 +528,7 @@ class TokenDeployer extends GasRouterDeployer {
|
|
|
500
528
|
await this.setBridgesTokenApprovals(configMap, deployedContractsMap);
|
|
501
529
|
await this.setEverclearFeeParams(configMap, deployedContractsMap);
|
|
502
530
|
await this.setEverclearOutputAssets(configMap, deployedContractsMap);
|
|
531
|
+
await this.deployPredicateWrappers(configMap, deployedContractsMap);
|
|
503
532
|
await this.enrollCrossCollateralRouters(configMap, deployedContractsMap);
|
|
504
533
|
await super.transferOwnership(deployedContractsMap, configMap);
|
|
505
534
|
return deployedContractsMap;
|