@hyperlane-xyz/sdk 35.0.0 → 35.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +10 -1
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/hook/EvmHookReader.d.ts.map +1 -1
- package/dist/hook/EvmHookReader.js +26 -20
- package/dist/hook/EvmHookReader.js.map +1 -1
- package/dist/hook/EvmHookReader.test.js +86 -1
- package/dist/hook/EvmHookReader.test.js.map +1 -1
- package/dist/ica/EvmIcaReader.d.ts.map +1 -1
- package/dist/ica/EvmIcaReader.js +3 -1
- package/dist/ica/EvmIcaReader.js.map +1 -1
- package/dist/ism/EvmIsmReader.d.ts.map +1 -1
- package/dist/ism/EvmIsmReader.js +36 -19
- package/dist/ism/EvmIsmReader.js.map +1 -1
- package/dist/ism/EvmIsmReader.test.js +162 -3
- package/dist/ism/EvmIsmReader.test.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +3 -0
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +4 -0
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +1 -0
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +1 -0
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.js +18 -1
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.test.js +18 -0
- package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
- package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
- package/dist/providers/transactionFeeEstimators.js +5 -3
- package/dist/providers/transactionFeeEstimators.js.map +1 -1
- package/dist/test/errors.d.ts +9 -0
- package/dist/test/errors.d.ts.map +1 -0
- package/dist/test/errors.js +15 -0
- package/dist/test/errors.js.map +1 -0
- package/dist/token/EvmWarpModule.js +2 -2
- package/dist/token/EvmWarpModule.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
- package/dist/token/EvmWarpRouteReader.hardhat-test.js +12 -0
- package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.js +27 -7
- package/dist/token/EvmWarpRouteReader.js.map +1 -1
- package/dist/token/EvmWarpRouteReader.test.d.ts +2 -0
- package/dist/token/EvmWarpRouteReader.test.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.test.js +41 -0
- package/dist/token/EvmWarpRouteReader.test.js.map +1 -0
- package/dist/token/ITokenMetadata.d.ts +25 -0
- package/dist/token/ITokenMetadata.d.ts.map +1 -1
- package/dist/token/ITokenMetadata.js +7 -0
- package/dist/token/ITokenMetadata.js.map +1 -1
- package/dist/token/TokenMetadata.d.ts +1 -0
- package/dist/token/TokenMetadata.d.ts.map +1 -1
- package/dist/token/TokenMetadata.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +8 -4
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.test.js +27 -1
- package/dist/token/adapters/EvmTokenAdapter.test.js.map +1 -1
- package/dist/token/deploy.hardhat-test.js +6 -0
- package/dist/token/deploy.hardhat-test.js.map +1 -1
- package/dist/token/xerc20.d.ts.map +1 -1
- package/dist/token/xerc20.js +3 -1
- package/dist/token/xerc20.js.map +1 -1
- package/dist/utils/contract.d.ts +2 -0
- package/dist/utils/contract.d.ts.map +1 -1
- package/dist/utils/contract.js +58 -1
- package/dist/utils/contract.js.map +1 -1
- package/dist/utils/contract.test.d.ts +2 -0
- package/dist/utils/contract.test.d.ts.map +1 -0
- package/dist/utils/contract.test.js +26 -0
- package/dist/utils/contract.test.js.map +1 -0
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +36 -3
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/WarpCore.test.js +281 -0
- package/dist/warp/WarpCore.test.js.map +1 -1
- package/dist/warp/types.d.ts +27 -0
- package/dist/warp/types.d.ts.map +1 -1
- package/package.json +11 -11
|
@@ -2,8 +2,9 @@ import { HypERC20Collateral__factory, HypERC20__factory, HypXERC20Lockbox__facto
|
|
|
2
2
|
import { expect } from 'chai';
|
|
3
3
|
import { testChainMetadata } from '../../consts/testChains.js';
|
|
4
4
|
import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider.js';
|
|
5
|
+
import { missingSelectorError, networkError } from '../../test/errors.js';
|
|
5
6
|
import { stubMultiProtocolProvider } from '../../test/multiProviderStubs.js';
|
|
6
|
-
import { EvmHypXERC20LockboxAdapter } from './EvmTokenAdapter.js';
|
|
7
|
+
import { EvmHypSyntheticAdapter, EvmHypXERC20LockboxAdapter, } from './EvmTokenAdapter.js';
|
|
7
8
|
describe('EvmHypXERC20LockboxAdapter', () => {
|
|
8
9
|
let sandbox;
|
|
9
10
|
let multiProvider;
|
|
@@ -44,5 +45,30 @@ describe('EvmHypXERC20LockboxAdapter', () => {
|
|
|
44
45
|
expect(lockboxWrappedToken.calledOnce).to.equal(true);
|
|
45
46
|
expect(collateralWrappedToken.called).to.equal(false);
|
|
46
47
|
});
|
|
48
|
+
it('falls back to the legacy package version when PACKAGE_VERSION is missing', async () => {
|
|
49
|
+
const adapter = new EvmHypSyntheticAdapter(chainName, multiProvider, { token: hypTokenAddress }, {
|
|
50
|
+
connect: sandbox.stub().returns({
|
|
51
|
+
PACKAGE_VERSION: sandbox.stub().rejects(missingSelectorError()),
|
|
52
|
+
}),
|
|
53
|
+
});
|
|
54
|
+
const version = await adapter.getContractPackageVersion();
|
|
55
|
+
expect(version).to.equal('5.3.9');
|
|
56
|
+
});
|
|
57
|
+
it('throws transient package version probe failures', async () => {
|
|
58
|
+
const transientError = networkError();
|
|
59
|
+
const adapter = new EvmHypSyntheticAdapter(chainName, multiProvider, { token: hypTokenAddress }, {
|
|
60
|
+
connect: sandbox.stub().returns({
|
|
61
|
+
PACKAGE_VERSION: sandbox.stub().rejects(transientError),
|
|
62
|
+
}),
|
|
63
|
+
});
|
|
64
|
+
let thrown;
|
|
65
|
+
try {
|
|
66
|
+
await adapter.getContractPackageVersion();
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
thrown = error;
|
|
70
|
+
}
|
|
71
|
+
expect(thrown).to.equal(transientError);
|
|
72
|
+
});
|
|
47
73
|
});
|
|
48
74
|
//# sourceMappingURL=EvmTokenAdapter.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmTokenAdapter.test.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAG9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,
|
|
1
|
+
{"version":3,"file":"EvmTokenAdapter.test.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,12 @@ describe('TokenDeployer', async () => {
|
|
|
41
41
|
before(async () => {
|
|
42
42
|
[signer] = await hre.ethers.getSigners();
|
|
43
43
|
multiProvider = MultiProvider.createTestMultiProvider({ signer });
|
|
44
|
+
for (const chainName of multiProvider.getKnownChainNames()) {
|
|
45
|
+
multiProvider.metadata[chainName] = {
|
|
46
|
+
...multiProvider.metadata[chainName],
|
|
47
|
+
blockExplorers: [],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
44
50
|
const ismFactoryDeployer = new HyperlaneProxyFactoryDeployer(multiProvider);
|
|
45
51
|
const factories = await ismFactoryDeployer.deploy(multiProvider.mapKnownChains(() => ({})));
|
|
46
52
|
const ismFactory = new HyperlaneIsmFactory(factories, multiProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.hardhat-test.js","sourceRoot":"","sources":["../../src/token/deploy.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy.hardhat-test.js","sourceRoot":"","sources":["../../src/token/deploy.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xerc20.d.ts","sourceRoot":"","sources":["../../src/token/xerc20.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAO9B,OAAO,EAAE,OAAO,EAAsB,MAAM,sBAAsB,CAAC;AAOnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"xerc20.d.ts","sourceRoot":"","sources":["../../src/token/xerc20.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAO9B,OAAO,EAAE,OAAO,EAAsB,MAAM,sBAAsB,CAAC;AAOnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,UAAU,EAEX,MAAM,YAAY,CAAC;AAOpB,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,OAAO,SAAS,CAAC,aAAa,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;IAC/D,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,EAC3C,aAAa,EACb,KAAK,EACL,aAAa,EACb,MAAmB,GACpB,EAAE,IAAI,CAAC,wBAAwB,EAAE,aAAa,GAAG,QAAQ,CAAC,GAAG,OAAO,CACnE,6BAA6B,EAAE,CAChC,CAwBA;AAiHD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,gBAAgB,EAAE,qBAAqB,EACvC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC,CAwG3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,SAAS,EAAE,YAAK,EACxB,gBAAgB,EAAE,qBAAqB,EACvC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC,CAsG3B;AAED,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC,CAiCrB"}
|
package/dist/token/xerc20.js
CHANGED
|
@@ -5,6 +5,7 @@ import { assert, rootLogger } from '@hyperlane-xyz/utils';
|
|
|
5
5
|
import { getContractDeploymentTransaction, getLogsFromEtherscanLikeExplorerAPI, } from '../block-explorer/etherscan.js';
|
|
6
6
|
import { isContractAddress } from '../contracts/contracts.js';
|
|
7
7
|
import { viemLogFromGetEventLogsResponse } from '../rpc/evm/utils.js';
|
|
8
|
+
import { throwIfNotMissingSelector } from '../utils/contract.js';
|
|
8
9
|
import { TokenType } from './config.js';
|
|
9
10
|
import { XERC20Type, isXERC20TokenConfig, } from './types.js';
|
|
10
11
|
import { CONFIGURATION_CHANGED_EVENT_SELECTOR, XERC20_VS_ABI, } from './xerc20-abi.js';
|
|
@@ -66,7 +67,8 @@ async function getLockboxesFromLogs(logs, provider, chain, logger) {
|
|
|
66
67
|
await maybeXERC20Lockbox.callStatic.XERC20();
|
|
67
68
|
return log;
|
|
68
69
|
}
|
|
69
|
-
catch {
|
|
70
|
+
catch (error) {
|
|
71
|
+
throwIfNotMissingSelector(error);
|
|
70
72
|
logger.debug(`Contract at address ${log.args.bridge} on chain ${chain} is not a XERC20Lockbox contract.`);
|
|
71
73
|
return undefined;
|
|
72
74
|
}
|
package/dist/token/xerc20.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xerc20.js","sourceRoot":"","sources":["../../src/token/xerc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAO,cAAc,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAW,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EACL,gCAAgC,EAChC,mCAAmC,GACpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"xerc20.js","sourceRoot":"","sources":["../../src/token/xerc20.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/contract.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { Address } from '@hyperlane-xyz/utils';
|
|
3
3
|
export declare function isValidContractVersion(currentVersion: string, targetVersion: string): boolean;
|
|
4
|
+
export declare function isMissingSelectorCallException(error: unknown): boolean;
|
|
5
|
+
export declare function throwIfNotMissingSelector(error: unknown): void;
|
|
4
6
|
export declare function contractHasString(provider: providers.Provider, address: Address, searchFor: string): Promise<boolean>;
|
|
5
7
|
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/utils/contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/utils/contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,OAAO,EAA6B,MAAM,sBAAsB,CAAC;AAE1E,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,OAAO,CAET;AAuCD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAsBtE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE9D;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAWlB"}
|
package/dist/utils/contract.js
CHANGED
|
@@ -1,8 +1,65 @@
|
|
|
1
1
|
import { compareVersions } from 'compare-versions';
|
|
2
|
-
import { chunk, strip0x } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { chunk, isNullish, strip0x } from '@hyperlane-xyz/utils';
|
|
3
3
|
export function isValidContractVersion(currentVersion, targetVersion) {
|
|
4
4
|
return compareVersions(currentVersion, targetVersion) >= 0;
|
|
5
5
|
}
|
|
6
|
+
function isRecord(value) {
|
|
7
|
+
return typeof value === 'object' && !isNullish(value);
|
|
8
|
+
}
|
|
9
|
+
function getErrorMessage(error) {
|
|
10
|
+
return error instanceof Error
|
|
11
|
+
? error.message
|
|
12
|
+
: isRecord(error) && typeof error.message === 'string'
|
|
13
|
+
? error.message
|
|
14
|
+
: undefined;
|
|
15
|
+
}
|
|
16
|
+
function isEmptyProviderResponse(error) {
|
|
17
|
+
let current = error;
|
|
18
|
+
while (isRecord(current)) {
|
|
19
|
+
// Assumes the originating provider call was an eth_call probe. The
|
|
20
|
+
// HyperlaneJsonRpcProvider also emits this message for empty getBalance,
|
|
21
|
+
// getBlock, and getBlockNumber responses.
|
|
22
|
+
if (getErrorMessage(current) === 'Invalid response from provider') {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
current = current.cause;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
function findCallException(error) {
|
|
30
|
+
let current = error;
|
|
31
|
+
while (isRecord(current)) {
|
|
32
|
+
if (current.code === 'CALL_EXCEPTION')
|
|
33
|
+
return current;
|
|
34
|
+
current = current.cause;
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
export function isMissingSelectorCallException(error) {
|
|
39
|
+
if (!isRecord(error))
|
|
40
|
+
return false;
|
|
41
|
+
if (isEmptyProviderResponse(error))
|
|
42
|
+
return true;
|
|
43
|
+
const callException = findCallException(error);
|
|
44
|
+
if (!callException)
|
|
45
|
+
return false;
|
|
46
|
+
const nestedError = isRecord(callException.error)
|
|
47
|
+
? callException.error
|
|
48
|
+
: undefined;
|
|
49
|
+
const data = typeof callException.data === 'string'
|
|
50
|
+
? callException.data
|
|
51
|
+
: nestedError?.data;
|
|
52
|
+
if (data === '0x')
|
|
53
|
+
return true;
|
|
54
|
+
// Some ethers/provider combinations only expose empty return data in the
|
|
55
|
+
// formatted message.
|
|
56
|
+
return (typeof callException.message === 'string' &&
|
|
57
|
+
callException.message.includes('data="0x"'));
|
|
58
|
+
}
|
|
59
|
+
export function throwIfNotMissingSelector(error) {
|
|
60
|
+
if (!isMissingSelectorCallException(error))
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
6
63
|
export async function contractHasString(provider, address, searchFor) {
|
|
7
64
|
const code = await provider.getCode(address);
|
|
8
65
|
const hexString = strip0x(Buffer.from(searchFor).toString('hex'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/utils/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAW,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/utils/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.test.d.ts","sourceRoot":"","sources":["../../src/utils/contract.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { missingSelectorError, wrappedError } from '../test/errors.js';
|
|
3
|
+
import { isMissingSelectorCallException } from './contract.js';
|
|
4
|
+
describe('contract utils', () => {
|
|
5
|
+
describe('isMissingSelectorCallException', () => {
|
|
6
|
+
it('matches empty call exceptions', () => {
|
|
7
|
+
expect(isMissingSelectorCallException(missingSelectorError())).to.equal(true);
|
|
8
|
+
});
|
|
9
|
+
it('matches SmartProvider-wrapped empty call exceptions', () => {
|
|
10
|
+
expect(isMissingSelectorCallException(wrappedError(missingSelectorError()))).to.equal(true);
|
|
11
|
+
});
|
|
12
|
+
it('matches deeply wrapped empty call exceptions', () => {
|
|
13
|
+
expect(isMissingSelectorCallException(wrappedError(wrappedError(missingSelectorError())))).to.equal(true);
|
|
14
|
+
});
|
|
15
|
+
it('matches HyperlaneJsonRpcProvider empty responses', () => {
|
|
16
|
+
expect(isMissingSelectorCallException(new Error('Invalid response from provider'))).to.equal(true);
|
|
17
|
+
});
|
|
18
|
+
it('matches SmartProvider-wrapped empty provider responses', () => {
|
|
19
|
+
expect(isMissingSelectorCallException(wrappedError(new Error('Invalid response from provider')))).to.equal(true);
|
|
20
|
+
});
|
|
21
|
+
it('does not match non-call exceptions with formatted empty data', () => {
|
|
22
|
+
expect(isMissingSelectorCallException(new Error('request failed with data="0x"'))).to.equal(false);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=contract.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.test.js","sourceRoot":"","sources":["../../src/utils/contract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE/D,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,8BAA8B,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACrE,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,CACJ,8BAA8B,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC,CACrE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,CACJ,8BAA8B,CAC5B,YAAY,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC,CACnD,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,CACJ,8BAA8B,CAC5B,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAC5C,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,CACJ,8BAA8B,CAC5B,YAAY,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAC1D,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,CACJ,8BAA8B,CAC5B,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAC3C,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WarpCore.d.ts","sourceRoot":"","sources":["../../src/warp/WarpCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EACL,OAAO,EACP,SAAS,EAWV,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,EACL,sBAAsB,EAEvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"WarpCore.d.ts","sourceRoot":"","sources":["../../src/warp/WarpCore.ts"],"names":[],"mappings":"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"}
|
package/dist/warp/WarpCore.js
CHANGED
|
@@ -7,6 +7,7 @@ import { TokenAmount } from '../token/TokenAmount.js';
|
|
|
7
7
|
import { parseTokenConnectionId } from '../token/TokenConnection.js';
|
|
8
8
|
import { tokenIdentifiersEqual } from '../token/TokenMetadata.js';
|
|
9
9
|
import { ERC4626_COLLATERAL_STANDARDS, LOCKBOX_STANDARDS, MINT_LIMITED_STANDARDS, TOKEN_COLLATERALIZED_STANDARDS, TOKEN_STANDARD_TO_PROVIDER_TYPE, TokenStandard, } from '../token/TokenStandard.js';
|
|
10
|
+
import { TokenType } from '../token/config.js';
|
|
10
11
|
import { EVM_TRANSFER_REMOTE_GAS_ESTIMATE, } from '../token/adapters/EvmTokenAdapter.js';
|
|
11
12
|
import { isHypCrossCollateralAdapter, isPredicateCapableAdapter, } from '../token/adapters/ITokenAdapter.js';
|
|
12
13
|
import { buildExecuteCalldata, buildQuoteCalldata, } from '../quoted-calls/builder.js';
|
|
@@ -14,6 +15,16 @@ import { decodeQuoteExecuteResult, extractQuoteTotals, } from '../quoted-calls/c
|
|
|
14
15
|
import { TokenPullMode } from '../quoted-calls/types.js';
|
|
15
16
|
import { messageAmountFromLocal } from '../utils/decimals.js';
|
|
16
17
|
import { WarpCoreConfigSchema, WarpTxCategory, } from './types.js';
|
|
18
|
+
const DESTINATION_COLLATERAL_EXEMPT_TOKEN_TYPES = new Set([
|
|
19
|
+
TokenType.collateralCctp,
|
|
20
|
+
TokenType.collateralOft,
|
|
21
|
+
]);
|
|
22
|
+
// CCTP/OFT both map to EvmHypCollateral, so standard alone cannot distinguish
|
|
23
|
+
// protocol-backed collateral from escrowed collateral.
|
|
24
|
+
function isDestinationCollateralExemptToken(token) {
|
|
25
|
+
return (token.tokenType !== undefined &&
|
|
26
|
+
DESTINATION_COLLATERAL_EXEMPT_TOKEN_TYPES.has(token.tokenType));
|
|
27
|
+
}
|
|
17
28
|
export class WarpCore {
|
|
18
29
|
multiProvider;
|
|
19
30
|
tokens;
|
|
@@ -727,7 +738,11 @@ export class WarpCore {
|
|
|
727
738
|
interchainFee: igpQuote,
|
|
728
739
|
tokenFeeQuote,
|
|
729
740
|
attestation,
|
|
730
|
-
amount
|
|
741
|
+
// Only pass amount for predicate flows — it feeds the attested msg_value into
|
|
742
|
+
// eth_estimateGas. For non-predicate flows, let getLocalTransferFee use its
|
|
743
|
+
// minimal-amount fallback so simulation doesn't fail on large balances or
|
|
744
|
+
// placeholder senders (e.g. 0x...dead) that have no ETH.
|
|
745
|
+
amount: attestation ? originTokenAmount.amount : undefined,
|
|
731
746
|
});
|
|
732
747
|
return {
|
|
733
748
|
interchainQuote: igpQuote,
|
|
@@ -760,7 +775,7 @@ export class WarpCore {
|
|
|
760
775
|
interchainFee: interchainQuote,
|
|
761
776
|
tokenFeeQuote,
|
|
762
777
|
attestation,
|
|
763
|
-
amount: originTokenAmount.amount,
|
|
778
|
+
amount: attestation ? originTokenAmount.amount : undefined,
|
|
764
779
|
destinationToken: resolvedDestinationToken,
|
|
765
780
|
});
|
|
766
781
|
return {
|
|
@@ -776,14 +791,28 @@ export class WarpCore {
|
|
|
776
791
|
async getMaxTransferAmount({ balance, destination, recipient, sender, senderPubKey, feeEstimate, destinationToken, }) {
|
|
777
792
|
const originToken = balance.token;
|
|
778
793
|
if (!feeEstimate) {
|
|
779
|
-
|
|
794
|
+
// Get IGP and token fee quotes using the full balance so amount-dependent fees
|
|
795
|
+
// (e.g. percentage-based token fees) are correctly computed and subtracted.
|
|
796
|
+
const { igpQuote: interchainQuote, tokenFeeQuote } = await this.getInterchainTransferFee({
|
|
780
797
|
originTokenAmount: balance,
|
|
781
798
|
destination,
|
|
782
799
|
recipient,
|
|
783
800
|
sender,
|
|
801
|
+
destinationToken,
|
|
802
|
+
});
|
|
803
|
+
// Estimate local gas with no amount so getLocalTransferFee uses its minimal-amount
|
|
804
|
+
// fallback — avoids eth_estimateGas failures on native token routes where simulating
|
|
805
|
+
// the full balance leaves nothing to cover gas.
|
|
806
|
+
const localQuote = await this.getLocalTransferFeeAmount({
|
|
807
|
+
originToken,
|
|
808
|
+
destination,
|
|
809
|
+
sender,
|
|
784
810
|
senderPubKey,
|
|
811
|
+
interchainFee: interchainQuote,
|
|
812
|
+
tokenFeeQuote,
|
|
785
813
|
destinationToken,
|
|
786
814
|
});
|
|
815
|
+
feeEstimate = { interchainQuote, localQuote, tokenFeeQuote };
|
|
787
816
|
}
|
|
788
817
|
const { localQuote, interchainQuote, tokenFeeQuote } = feeEstimate;
|
|
789
818
|
let maxAmount = balance;
|
|
@@ -836,6 +865,10 @@ export class WarpCore {
|
|
|
836
865
|
destination,
|
|
837
866
|
destinationToken,
|
|
838
867
|
});
|
|
868
|
+
if (isDestinationCollateralExemptToken(resolvedDestinationToken)) {
|
|
869
|
+
this.logger.debug(`${resolvedDestinationToken.symbol} uses ${resolvedDestinationToken.tokenType}, skipping destination collateral check`);
|
|
870
|
+
return true;
|
|
871
|
+
}
|
|
839
872
|
if (!TOKEN_COLLATERALIZED_STANDARDS.includes(resolvedDestinationToken.standard)) {
|
|
840
873
|
this.logger.debug(`${resolvedDestinationToken.symbol} is not collateralized, skipping`);
|
|
841
874
|
return true;
|