@hyperlane-xyz/sdk 8.6.0 → 8.7.0-ccip.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/HyperlaneCCIPDeployer.d.ts +18 -0
- package/dist/ccip/HyperlaneCCIPDeployer.d.ts.map +1 -0
- package/dist/ccip/HyperlaneCCIPDeployer.js +122 -0
- package/dist/ccip/HyperlaneCCIPDeployer.js.map +1 -0
- package/dist/ccip/consts.d.ts +24 -0
- package/dist/ccip/consts.d.ts.map +1 -0
- package/dist/ccip/consts.js +691 -0
- package/dist/ccip/consts.js.map +1 -0
- package/dist/ccip/utils.d.ts +46 -0
- package/dist/ccip/utils.d.ts.map +1 -0
- package/dist/ccip/utils.js +95 -0
- package/dist/ccip/utils.js.map +1 -0
- package/dist/core/HyperlaneRelayer.d.ts +43 -3
- package/dist/core/HyperlaneRelayer.d.ts.map +1 -1
- package/dist/core/types.d.ts +3545 -2027
- package/dist/core/types.d.ts.map +1 -1
- package/dist/hook/EvmHookModule.d.ts +12 -4
- package/dist/hook/EvmHookModule.d.ts.map +1 -1
- package/dist/hook/EvmHookModule.hardhat-test.js +10 -1
- package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
- package/dist/hook/EvmHookModule.js +33 -10
- package/dist/hook/EvmHookModule.js.map +1 -1
- package/dist/hook/EvmHookReader.d.ts +8 -1
- package/dist/hook/EvmHookReader.d.ts.map +1 -1
- package/dist/hook/EvmHookReader.js +83 -12
- package/dist/hook/EvmHookReader.js.map +1 -1
- package/dist/hook/EvmHookReader.test.js +50 -1
- package/dist/hook/EvmHookReader.test.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +4 -2
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +34 -5
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/contracts.d.ts +4 -1
- package/dist/hook/contracts.d.ts.map +1 -1
- package/dist/hook/contracts.js +4 -1
- package/dist/hook/contracts.js.map +1 -1
- package/dist/hook/types.d.ts +2012 -3
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +28 -0
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.d.ts +4 -2
- package/dist/ism/EvmIsmModule.d.ts.map +1 -1
- package/dist/ism/EvmIsmModule.hardhat-test.js +8 -0
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
- package/dist/ism/EvmIsmModule.js +4 -4
- package/dist/ism/EvmIsmModule.js.map +1 -1
- package/dist/ism/EvmIsmReader.d.ts +1 -0
- package/dist/ism/EvmIsmReader.d.ts.map +1 -1
- package/dist/ism/EvmIsmReader.js +44 -6
- package/dist/ism/EvmIsmReader.js.map +1 -1
- package/dist/ism/EvmIsmReader.test.js +4 -1
- package/dist/ism/EvmIsmReader.test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +9 -4
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +15 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +43 -4
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/metadata/builder.d.ts.map +1 -1
- package/dist/ism/metadata/builder.js +1 -0
- package/dist/ism/metadata/builder.js.map +1 -1
- package/dist/ism/metadata/routing.d.ts.map +1 -1
- package/dist/ism/metadata/routing.js +8 -2
- package/dist/ism/metadata/routing.js.map +1 -1
- package/dist/ism/types.d.ts +34 -5
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +15 -0
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +30 -2
- package/dist/ism/utils.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +29 -8
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/types.d.ts +137 -11
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js +2 -1
- package/dist/router/types.js.map +1 -1
- package/dist/token/EvmERC20WarpModule.d.ts +4 -1
- package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
- package/dist/token/EvmERC20WarpModule.js +7 -5
- package/dist/token/EvmERC20WarpModule.js.map +1 -1
- package/dist/token/types.d.ts +573 -203
- package/dist/token/types.d.ts.map +1 -1
- package/dist/token/types.js +95 -0
- package/dist/token/types.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HyperlaneAddressesMap, HyperlaneContracts } from '../contracts/types.js';
|
|
2
|
+
import { CoreAddresses } from '../core/contracts.js';
|
|
3
|
+
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer.js';
|
|
4
|
+
import { ContractVerifier } from '../deploy/verify/ContractVerifier.js';
|
|
5
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
6
|
+
import { ChainMap, ChainName } from '../types.js';
|
|
7
|
+
export declare class HyperlaneCCIPDeployer extends HyperlaneDeployer<Set<ChainName>, {}> {
|
|
8
|
+
readonly core: ChainMap<Partial<CoreAddresses>>;
|
|
9
|
+
private ccipContractCache;
|
|
10
|
+
constructor(multiProvider: MultiProvider, core: ChainMap<Partial<CoreAddresses>>, contractVerifier?: ContractVerifier);
|
|
11
|
+
cacheAddressesMap(addressesMap: HyperlaneAddressesMap<any>): void;
|
|
12
|
+
deployContracts(origin: ChainName, config: Set<ChainName>): Promise<HyperlaneContracts<{}>>;
|
|
13
|
+
private checkCCIPLanesSupport;
|
|
14
|
+
private authorizeHook;
|
|
15
|
+
protected deployCCIPIsm(origin: ChainName, destination: ChainName): Promise<void>;
|
|
16
|
+
protected deployCCIPHook(origin: ChainName, destination: ChainName): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=HyperlaneCCIPDeployer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HyperlaneCCIPDeployer.d.ts","sourceRoot":"","sources":["../../src/ccip/HyperlaneCCIPDeployer.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AASlD,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,GAAG,CAAC,SAAS,CAAC,EACd,EAAE,CACH;IAKG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAJjD,OAAO,CAAC,iBAAiB,CAA8C;gBAGrE,aAAa,EAAE,aAAa,EACnB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAC/C,gBAAgB,CAAC,EAAE,gBAAgB;IAYrC,iBAAiB,CAAC,YAAY,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI;IAK3D,eAAe,CACnB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,GACrB,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAsCpB,qBAAqB;YA4BrB,aAAa;cA8DX,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,IAAI,CAAC;cAmCA,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,IAAI,CAAC;CAoDjB"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { CCIPHook__factory, CCIPIsm__factory } from '@hyperlane-xyz/core';
|
|
2
|
+
import { ZERO_ADDRESS_HEX_32, addressToBytes32, assert, rootLogger, } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer.js';
|
|
4
|
+
import { CCIPContractCache, getCCIPChainSelector, getCCIPRouterAddress, isSupportedCCIPLane, } from './utils.js';
|
|
5
|
+
export class HyperlaneCCIPDeployer extends HyperlaneDeployer {
|
|
6
|
+
core;
|
|
7
|
+
ccipContractCache = new CCIPContractCache();
|
|
8
|
+
constructor(multiProvider, core, contractVerifier) {
|
|
9
|
+
super(multiProvider, {}, {
|
|
10
|
+
logger: rootLogger.child({ module: 'HyperlaneCCIPDeployer' }),
|
|
11
|
+
contractVerifier,
|
|
12
|
+
});
|
|
13
|
+
this.core = core;
|
|
14
|
+
}
|
|
15
|
+
cacheAddressesMap(addressesMap) {
|
|
16
|
+
super.cacheAddressesMap(addressesMap);
|
|
17
|
+
this.ccipContractCache.cacheAddressesMap(addressesMap);
|
|
18
|
+
}
|
|
19
|
+
async deployContracts(origin, config) {
|
|
20
|
+
const unsupportedLanes = await this.checkCCIPLanesSupport(origin, config);
|
|
21
|
+
if (unsupportedLanes.length > 0) {
|
|
22
|
+
this.logger.warn(`CCIP lanes not configured from ${origin} to ${unsupportedLanes.join(', ')}. Skipping these chains.`);
|
|
23
|
+
unsupportedLanes.forEach((lane) => config.delete(lane));
|
|
24
|
+
}
|
|
25
|
+
// Deploy ISMs from chain to each destination chain concurrently.
|
|
26
|
+
// This is done in parallel since the ISM is deployed on discrete destination chains.
|
|
27
|
+
await Promise.all(Array.from(config).map(async (destination) => {
|
|
28
|
+
// Deploy CCIP ISM for this origin->destination pair
|
|
29
|
+
await this.deployCCIPIsm(origin, destination);
|
|
30
|
+
}));
|
|
31
|
+
// On the origin chain, deploy hooks for each destination chain in series.
|
|
32
|
+
// This is done in series to avoid nonce contention on the origin chain.
|
|
33
|
+
for (const destination of config) {
|
|
34
|
+
await this.deployCCIPHook(origin, destination);
|
|
35
|
+
}
|
|
36
|
+
// Authorize hooks for each destination chain concurrently.
|
|
37
|
+
// This is done in parallel since the ISM is deployed on discrete destination chains.
|
|
38
|
+
await Promise.all(Array.from(config).map(async (destination) => {
|
|
39
|
+
await this.authorizeHook(origin, destination);
|
|
40
|
+
}));
|
|
41
|
+
this.ccipContractCache.writeBack(this.cachedAddresses);
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
async checkCCIPLanesSupport(origin, config) {
|
|
45
|
+
this.logger.info(`Checking CCIP lanes exist from ${origin} to ${Array.from(config).join(', ')}`);
|
|
46
|
+
// Check if the CCIP lane is supported for each destination chain
|
|
47
|
+
const isSupportedLane = await Promise.all(Array.from(config).map(async (destination) => {
|
|
48
|
+
const isSupported = await isSupportedCCIPLane({
|
|
49
|
+
origin,
|
|
50
|
+
destination,
|
|
51
|
+
multiProvider: this.multiProvider,
|
|
52
|
+
});
|
|
53
|
+
return { destination, isSupported };
|
|
54
|
+
}));
|
|
55
|
+
// Return the destination chains that are not supported
|
|
56
|
+
return isSupportedLane
|
|
57
|
+
.filter((result) => !result.isSupported)
|
|
58
|
+
.map((result) => result.destination);
|
|
59
|
+
}
|
|
60
|
+
async authorizeHook(origin, destination) {
|
|
61
|
+
const ccipIsmAddress = this.ccipContractCache.getIsm(origin, destination);
|
|
62
|
+
assert(ccipIsmAddress, `CCIP ISM not found for ${origin} -> ${destination}`);
|
|
63
|
+
const ccipHookAddress = this.ccipContractCache.getHook(origin, destination);
|
|
64
|
+
assert(ccipHookAddress, `CCIP Hook not found for ${origin} -> ${destination}`);
|
|
65
|
+
const bytes32HookAddress = addressToBytes32(ccipHookAddress);
|
|
66
|
+
const ccipIsm = CCIPIsm__factory.connect(ccipIsmAddress, this.multiProvider.getSigner(destination));
|
|
67
|
+
const authorizedHook = await ccipIsm.authorizedHook();
|
|
68
|
+
this.logger.debug('Authorized hook on ism %s: %s', ccipIsm.address, authorizedHook);
|
|
69
|
+
// If the hook is already set, return
|
|
70
|
+
if (authorizedHook === bytes32HookAddress) {
|
|
71
|
+
this.logger.info('Authorized hook already set on ism %s', ccipIsm.address);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// If not already set, must not be initialised yet
|
|
75
|
+
if (authorizedHook !== ZERO_ADDRESS_HEX_32) {
|
|
76
|
+
this.logger.error('Authorized hook mismatch on ism %s, expected %s, got %s', ccipIsm.address, bytes32HookAddress, authorizedHook);
|
|
77
|
+
throw new Error('Authorized hook mismatch');
|
|
78
|
+
}
|
|
79
|
+
// If not initialised, set the hook
|
|
80
|
+
this.logger.info('Setting authorized hook %s on ism %s on destination %s', ccipHookAddress, ccipIsm.address, destination);
|
|
81
|
+
await this.multiProvider.handleTx(destination, ccipIsm.setAuthorizedHook(bytes32HookAddress, this.multiProvider.getTransactionOverrides(destination)));
|
|
82
|
+
}
|
|
83
|
+
async deployCCIPIsm(origin, destination) {
|
|
84
|
+
const cachedIsm = this.ccipContractCache.getIsm(origin, destination);
|
|
85
|
+
if (cachedIsm) {
|
|
86
|
+
this.logger.debug('CCIP ISM already deployed for %s -> %s: %s', origin, destination, cachedIsm);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const ccipOriginChainSelector = getCCIPChainSelector(origin);
|
|
90
|
+
const ccipIsmChainRouterAddress = getCCIPRouterAddress(destination);
|
|
91
|
+
assert(ccipOriginChainSelector, `CCIP chain selector not found for ${origin}`);
|
|
92
|
+
assert(ccipIsmChainRouterAddress, `CCIP router address not found for ${origin}`);
|
|
93
|
+
const ccipIsm = await this.deployContractFromFactory(destination, new CCIPIsm__factory(), 'CCIPIsm', [ccipIsmChainRouterAddress, ccipOriginChainSelector], undefined, false);
|
|
94
|
+
this.ccipContractCache.setIsm(origin, destination, ccipIsm);
|
|
95
|
+
}
|
|
96
|
+
async deployCCIPHook(origin, destination) {
|
|
97
|
+
// Grab the ISM from the cache
|
|
98
|
+
const ccipIsmAddress = this.ccipContractCache.getIsm(origin, destination);
|
|
99
|
+
assert(ccipIsmAddress, `CCIP ISM not found for ${origin} -> ${destination}`);
|
|
100
|
+
const cachedHook = this.ccipContractCache.getHook(origin, destination);
|
|
101
|
+
if (cachedHook) {
|
|
102
|
+
this.logger.debug('CCIP Hook already deployed for %s -> %s: %s', origin, destination, cachedHook);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const mailbox = this.core[origin].mailbox;
|
|
106
|
+
assert(mailbox, `Mailbox address is required for ${origin}`);
|
|
107
|
+
const ccipDestinationChainSelector = getCCIPChainSelector(destination);
|
|
108
|
+
const ccipOriginChainRouterAddress = getCCIPRouterAddress(origin);
|
|
109
|
+
assert(ccipDestinationChainSelector, `CCIP chain selector not found for ${destination}`);
|
|
110
|
+
assert(ccipOriginChainRouterAddress, `CCIP router address not found for ${destination}`);
|
|
111
|
+
const destinationDomain = this.multiProvider.getDomainId(destination);
|
|
112
|
+
const ccipHook = await this.deployContractFromFactory(origin, new CCIPHook__factory(), 'CCIPHook', [
|
|
113
|
+
ccipOriginChainRouterAddress,
|
|
114
|
+
ccipDestinationChainSelector,
|
|
115
|
+
mailbox,
|
|
116
|
+
destinationDomain,
|
|
117
|
+
addressToBytes32(ccipIsmAddress),
|
|
118
|
+
], undefined, false);
|
|
119
|
+
this.ccipContractCache.setHook(origin, destination, ccipHook);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=HyperlaneCCIPDeployer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HyperlaneCCIPDeployer.js","sourceRoot":"","sources":["../../src/ccip/HyperlaneCCIPDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChainMap } from '../types.js';
|
|
2
|
+
export type CCIPAddresses = {
|
|
3
|
+
armProxy: {
|
|
4
|
+
address: string;
|
|
5
|
+
version: string;
|
|
6
|
+
};
|
|
7
|
+
chainSelector: string;
|
|
8
|
+
feeTokens: string[];
|
|
9
|
+
registryModule: {
|
|
10
|
+
address: string;
|
|
11
|
+
version: string;
|
|
12
|
+
};
|
|
13
|
+
router: {
|
|
14
|
+
address: string;
|
|
15
|
+
version: string;
|
|
16
|
+
};
|
|
17
|
+
tokenAdminRegistry: {
|
|
18
|
+
address: string;
|
|
19
|
+
version: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare const CCIP_ROUTER_CLIENT_ABI: string[];
|
|
23
|
+
export declare const CCIP_NETWORKS: ChainMap<CCIPAddresses>;
|
|
24
|
+
//# sourceMappingURL=consts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/ccip/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,kBAAkB,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAIF,eAAO,MAAM,sBAAsB,UAGlC,CAAC;AAIF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,aAAa,CAyqBjD,CAAC"}
|