@hyperlane-xyz/sdk 1.3.8 → 1.4.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/chainMetadata.d.ts +73 -304
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +176 -211
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/environments/index.d.ts +35 -18
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/consts/environments/mainnet.json +19 -18
- package/dist/consts/environments/testnet.json +19 -17
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +2 -1
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +10 -16
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/gas/token-prices.d.ts +56 -2
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +17 -0
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -0
- package/dist/hook/HyperlaneHookDeployer.js +116 -0
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -0
- package/dist/hook/config.d.ts +4 -0
- package/dist/hook/config.d.ts.map +1 -0
- package/dist/hook/config.js +9 -0
- package/dist/hook/config.js.map +1 -0
- package/dist/hook/contracts.d.ts +20 -0
- package/dist/hook/contracts.d.ts.map +1 -0
- package/dist/hook/contracts.js +15 -0
- package/dist/hook/contracts.js.map +1 -0
- package/dist/hook/types.d.ts +17 -0
- package/dist/hook/types.d.ts.map +1 -0
- package/dist/hook/types.js +9 -0
- package/dist/hook/types.js.map +1 -0
- package/dist/index.d.ts +9 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -18
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +13 -9
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +344 -0
- package/dist/metadata/agentConfig.d.ts.map +1 -0
- package/dist/metadata/agentConfig.js +77 -0
- package/dist/metadata/agentConfig.js.map +1 -0
- package/dist/metadata/chainMetadata.test.d.ts.map +1 -0
- package/dist/metadata/chainMetadata.test.js +43 -0
- package/dist/metadata/chainMetadata.test.js.map +1 -0
- package/dist/metadata/chainMetadataTypes.d.ts +242 -0
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -0
- package/dist/metadata/chainMetadataTypes.js +170 -0
- package/dist/metadata/chainMetadataTypes.js.map +1 -0
- package/dist/metadata/deploymentArtifacts.d.ts +249 -0
- package/dist/metadata/deploymentArtifacts.d.ts.map +1 -0
- package/dist/metadata/deploymentArtifacts.js +20 -0
- package/dist/metadata/deploymentArtifacts.js.map +1 -0
- package/dist/middleware/account/InterchainAccountDeployer.js +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +2 -2
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +9 -8
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/utils/objects.d.ts +2 -0
- package/dist/utils/objects.d.ts.map +1 -1
- package/dist/utils/objects.js +10 -2
- package/dist/utils/objects.js.map +1 -1
- package/dist/utils/wagmi.d.ts +3 -1
- package/dist/utils/wagmi.d.ts.map +1 -1
- package/dist/utils/wagmi.js +6 -3
- package/dist/utils/wagmi.js.map +1 -1
- package/logos/black/eclipse.svg +3 -0
- package/logos/black/solana.svg +1 -0
- package/logos/color/eclipse.svg +3 -0
- package/logos/color/solana.svg +1 -0
- package/package.json +4 -4
- package/dist/agents/types.d.ts +0 -57
- package/dist/agents/types.d.ts.map +0 -1
- package/dist/agents/types.js +0 -37
- package/dist/agents/types.js.map +0 -1
- package/dist/consts/chainMetadata.test.d.ts.map +0 -1
- package/dist/consts/chainMetadata.test.js +0 -41
- package/dist/consts/chainMetadata.test.js.map +0 -1
- /package/dist/{consts → metadata}/chainMetadata.test.d.ts +0 -0
|
@@ -17,7 +17,6 @@ const debug_1 = __importDefault(require("debug"));
|
|
|
17
17
|
const ethers_1 = require("ethers");
|
|
18
18
|
const core_1 = require("@hyperlane-xyz/core");
|
|
19
19
|
const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
|
|
20
|
-
const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
|
|
21
20
|
const contracts_1 = require("./contracts");
|
|
22
21
|
class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
23
22
|
constructor(multiProvider, ismFactory) {
|
|
@@ -37,11 +36,17 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
37
36
|
return timelock;
|
|
38
37
|
});
|
|
39
38
|
}
|
|
40
|
-
deployMailbox(chain,
|
|
39
|
+
deployMailbox(chain, ismConfig, proxyAdmin, owner) {
|
|
41
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const cachedMailbox = this.readCache(chain, this.factories.mailbox, 'mailbox');
|
|
42
|
+
if (cachedMailbox) {
|
|
43
|
+
// let checker/governor handle cached mailbox default ISM configuration
|
|
44
|
+
// TODO: check if config matches AND deployer is owner?
|
|
45
|
+
return cachedMailbox;
|
|
46
|
+
}
|
|
47
|
+
const defaultIsmAddress = yield this.deployIsm(chain, ismConfig);
|
|
42
48
|
const domain = this.multiProvider.getDomainId(chain);
|
|
43
|
-
|
|
44
|
-
return mailbox;
|
|
49
|
+
return this.deployProxiedContract(chain, 'mailbox', proxyAdmin, [domain], [owner, defaultIsmAddress]);
|
|
45
50
|
});
|
|
46
51
|
}
|
|
47
52
|
deployValidatorAnnounce(chain, mailboxAddress) {
|
|
@@ -51,16 +56,7 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
51
56
|
});
|
|
52
57
|
}
|
|
53
58
|
deployIsm(chain, config) {
|
|
54
|
-
var _a;
|
|
55
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
const cachedMailbox = (_a = this.deployedContracts[chain]) === null || _a === void 0 ? void 0 : _a.mailbox;
|
|
57
|
-
if (cachedMailbox) {
|
|
58
|
-
const module = yield cachedMailbox.defaultIsm();
|
|
59
|
-
if (yield (0, HyperlaneIsmFactory_1.moduleMatchesConfig)(chain, module, config, this.ismFactory.multiProvider, this.ismFactory.getContracts(chain))) {
|
|
60
|
-
this.logger(`Default ISM matches config for ${chain}`);
|
|
61
|
-
return module;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
60
|
this.logger(`Deploying new ISM to ${chain}`);
|
|
65
61
|
const ism = yield this.ismFactory.deploy(chain, config);
|
|
66
62
|
return ism.address;
|
|
@@ -75,15 +71,13 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
75
71
|
this.startingBlockNumbers[chain] = yield this.multiProvider
|
|
76
72
|
.getProvider(chain)
|
|
77
73
|
.getBlockNumber();
|
|
78
|
-
const ism = yield this.deployIsm(chain, config.defaultIsm);
|
|
79
74
|
const proxyAdmin = yield this.deployContract(chain, 'proxyAdmin', []);
|
|
80
|
-
const mailbox = yield this.deployMailbox(chain,
|
|
75
|
+
const mailbox = yield this.deployMailbox(chain, config.defaultIsm, proxyAdmin.address, config.owner);
|
|
81
76
|
const validatorAnnounce = yield this.deployValidatorAnnounce(chain, mailbox.address);
|
|
82
77
|
let timelockController;
|
|
83
78
|
if (config.upgradeTimelockDelay) {
|
|
84
79
|
timelockController = yield this.deployTimelock(chain, config.upgradeTimelockDelay, config.owner);
|
|
85
80
|
yield this.transferOwnershipOfContracts(chain, timelockController.address, { proxyAdmin });
|
|
86
|
-
yield this.transferOwnershipOfContracts(chain, config.owner, { mailbox });
|
|
87
81
|
}
|
|
88
82
|
else {
|
|
89
83
|
// mock this for consistent serialization
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mCAAgC;AAEhC,8CAK6B;AAI7B,mEAAgE;
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import CoinGecko from 'coingecko-api';
|
|
2
|
-
import { ChainMetadata } from '../
|
|
2
|
+
import { ChainMetadata } from '../metadata/chainMetadataTypes';
|
|
3
3
|
import { ChainMap, ChainName } from '../types';
|
|
4
4
|
export interface TokenPriceGetter {
|
|
5
5
|
getTokenPrice(chain: ChainName): Promise<number>;
|
|
@@ -26,7 +26,61 @@ export declare class CoinGeckoTokenPriceGetter implements TokenPriceGetter {
|
|
|
26
26
|
protected coinGecko: CoinGeckoInterface;
|
|
27
27
|
protected cache: TokenPriceCache;
|
|
28
28
|
protected metadata: ChainMap<ChainMetadata>;
|
|
29
|
-
constructor(coinGecko: CoinGeckoInterface, expirySeconds?: number, chainMetadata?: ChainMap<
|
|
29
|
+
constructor(coinGecko: CoinGeckoInterface, expirySeconds?: number, chainMetadata?: ChainMap<{
|
|
30
|
+
name: string;
|
|
31
|
+
chainId: number;
|
|
32
|
+
protocol: import("../metadata/chainMetadataTypes").ProtocolType;
|
|
33
|
+
rpcUrls: [{
|
|
34
|
+
http: string;
|
|
35
|
+
webSocket?: string | undefined;
|
|
36
|
+
pagination?: {
|
|
37
|
+
maxBlockRange?: number | undefined;
|
|
38
|
+
minBlockNumber?: number | undefined;
|
|
39
|
+
maxBlockAge?: number | undefined;
|
|
40
|
+
} | undefined;
|
|
41
|
+
retry?: {
|
|
42
|
+
maxRequests: number;
|
|
43
|
+
baseRetryMs: number;
|
|
44
|
+
} | undefined;
|
|
45
|
+
}, ...{
|
|
46
|
+
http: string;
|
|
47
|
+
webSocket?: string | undefined;
|
|
48
|
+
pagination?: {
|
|
49
|
+
maxBlockRange?: number | undefined;
|
|
50
|
+
minBlockNumber?: number | undefined;
|
|
51
|
+
maxBlockAge?: number | undefined;
|
|
52
|
+
} | undefined;
|
|
53
|
+
retry?: {
|
|
54
|
+
maxRequests: number;
|
|
55
|
+
baseRetryMs: number;
|
|
56
|
+
} | undefined;
|
|
57
|
+
}[]];
|
|
58
|
+
domainId?: number | undefined;
|
|
59
|
+
displayName?: string | undefined;
|
|
60
|
+
displayNameShort?: string | undefined;
|
|
61
|
+
logoURI?: string | undefined;
|
|
62
|
+
nativeToken?: {
|
|
63
|
+
symbol: string;
|
|
64
|
+
name: string;
|
|
65
|
+
decimals: number;
|
|
66
|
+
} | undefined;
|
|
67
|
+
blockExplorers?: {
|
|
68
|
+
url: string;
|
|
69
|
+
name: string;
|
|
70
|
+
apiUrl: string;
|
|
71
|
+
apiKey?: string | undefined;
|
|
72
|
+
family?: import("../metadata/chainMetadataTypes").ExplorerFamily | undefined;
|
|
73
|
+
}[] | undefined;
|
|
74
|
+
blocks?: {
|
|
75
|
+
confirmations: number;
|
|
76
|
+
reorgPeriod?: number | undefined;
|
|
77
|
+
estimateBlockTime?: number | undefined;
|
|
78
|
+
} | undefined;
|
|
79
|
+
transactionOverrides?: {} | undefined;
|
|
80
|
+
gasCurrencyCoinGeckoId?: string | undefined;
|
|
81
|
+
gnosisSafeTransactionServiceUrl?: string | undefined;
|
|
82
|
+
isTestnet?: boolean | undefined;
|
|
83
|
+
}>);
|
|
30
84
|
static withDefaultCoinGecko(expirySeconds?: number): CoinGeckoTokenPriceGetter;
|
|
31
85
|
getTokenPrice(chain: ChainName): Promise<number>;
|
|
32
86
|
getTokenExchangeRate(base: ChainName, quote: ChainName): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-prices.d.ts","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"token-prices.d.ts","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAMtC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E;AAED,oBAAY,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3D,oBAAY,wBAAwB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC3D,oBAAY,0BAA0B,GAAG,UAAU,CACjD,wBAAwB,CAAC,OAAO,CAAC,CAClC,CAAC,CAAC,CAAC,CAAC;AACL,oBAAY,iBAAiB,GAAG,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE9E,aAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,cAAM,eAAe;IACnB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACtD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAEtB,YAAY,SAAK,EAAE,eAAe,SAAc;IAM5D,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1C,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAWlC,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;CAchC;AAED,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAG1C,SAAS,EAAE,kBAAkB,EAC7B,aAAa,CAAC,EAAE,MAAM,EACtB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAuB;IAOtC,MAAM,CAAC,oBAAoB,CACzB,aAAa,CAAC,EAAE,MAAM,GACrB,yBAAyB;IAKtB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhD,oBAAoB,CACxB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC;YAKJ,cAAc;YA2Bd,gBAAgB;CAe/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-prices.js","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAAsC;AAEtC,gDAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"token-prices.js","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OptimismISM, OptimismMessageHook, TestRecipient } from '@hyperlane-xyz/core';
|
|
2
|
+
import { types } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { HyperlaneContracts, HyperlaneContractsMap } from '../contracts';
|
|
4
|
+
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
|
|
5
|
+
import { MultiProvider } from '../providers/MultiProvider';
|
|
6
|
+
import { ChainMap, ChainName } from '../types';
|
|
7
|
+
import { HookFactories } from './contracts';
|
|
8
|
+
import { HookConfig } from './types';
|
|
9
|
+
export declare class HyperlaneHookDeployer extends HyperlaneDeployer<HookConfig, HookFactories> {
|
|
10
|
+
constructor(multiProvider: MultiProvider);
|
|
11
|
+
deploy(configMap: ChainMap<HookConfig>): Promise<HyperlaneContractsMap<HookFactories>>;
|
|
12
|
+
deployContracts(chain: ChainName, hookConfig: HookConfig): Promise<HyperlaneContracts<HookFactories>>;
|
|
13
|
+
deployOptimismISM(chain: ChainName, nativeBridge: types.Address): Promise<OptimismISM>;
|
|
14
|
+
deployTestRecipient(chain: ChainName, ism: types.Address): Promise<TestRecipient>;
|
|
15
|
+
deployOptimismMessageHook(chain: ChainName, destinationDomain: number, nativeBridge: types.Address, optimismISM: types.Address): Promise<OptimismMessageHook>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=HyperlaneHookDeployer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HyperlaneHookDeployer.d.ts","sourceRoot":"","sources":["../../src/hook/HyperlaneHookDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAEX,mBAAmB,EAEnB,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,UAAU,EACV,aAAa,CACd;gBACa,aAAa,EAAE,aAAa;IAMlC,MAAM,CACV,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC9B,OAAO,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IA4C1C,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAoCvC,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,KAAK,CAAC,OAAO,GAC1B,OAAO,CAAC,WAAW,CAAC;IAajB,mBAAmB,CACvB,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,KAAK,CAAC,OAAO,GACjB,OAAO,CAAC,aAAa,CAAC;IAWnB,yBAAyB,CAC7B,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,KAAK,CAAC,OAAO,EAC3B,WAAW,EAAE,KAAK,CAAC,OAAO,GACzB,OAAO,CAAC,mBAAmB,CAAC;CAgBhC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.HyperlaneHookDeployer = void 0;
|
|
16
|
+
const debug_1 = __importDefault(require("debug"));
|
|
17
|
+
const core_1 = require("@hyperlane-xyz/core");
|
|
18
|
+
const utils_1 = require("@hyperlane-xyz/utils/dist/src/utils");
|
|
19
|
+
const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
|
|
20
|
+
const config_1 = require("./config");
|
|
21
|
+
const contracts_1 = require("./contracts");
|
|
22
|
+
class HyperlaneHookDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
23
|
+
constructor(multiProvider) {
|
|
24
|
+
super(multiProvider, contracts_1.hookFactories, {
|
|
25
|
+
logger: (0, debug_1.default)('hyperlane:HookDeployer'),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
deploy(configMap) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
let ismContracts;
|
|
31
|
+
let hookContracts;
|
|
32
|
+
// Process ISM configs first
|
|
33
|
+
for (const [chain, config] of Object.entries(configMap)) {
|
|
34
|
+
if ((0, config_1.isISMConfig)(config)) {
|
|
35
|
+
ismContracts = yield this.deployContracts(chain, config);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Ensure ISM contracts have been deployed
|
|
39
|
+
if (!ismContracts || !(ismContracts === null || ismContracts === void 0 ? void 0 : ismContracts.optimismISM)) {
|
|
40
|
+
throw new Error('ISM contracts not deployed');
|
|
41
|
+
}
|
|
42
|
+
// Then process hook configs
|
|
43
|
+
for (const [chain, config] of Object.entries(configMap)) {
|
|
44
|
+
if ((0, config_1.isHookConfig)(config)) {
|
|
45
|
+
config.remoteIsm = ismContracts.optimismISM.address;
|
|
46
|
+
this.logger(`Remote ISM address set as ${config.remoteIsm}`);
|
|
47
|
+
hookContracts = yield this.deployContracts(chain, config);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Ensure hook contracts have been deployed
|
|
51
|
+
if (!hookContracts || !(hookContracts === null || hookContracts === void 0 ? void 0 : hookContracts.optimismMessageHook)) {
|
|
52
|
+
throw new Error('Hook contracts not deployed');
|
|
53
|
+
}
|
|
54
|
+
const hookAddress = hookContracts.optimismMessageHook.address;
|
|
55
|
+
this.logger(`Setting hook address ${hookAddress} for OptimismISM`);
|
|
56
|
+
yield ismContracts.optimismISM.setOptimismHook(hookAddress);
|
|
57
|
+
const deployedContractMap = {
|
|
58
|
+
optimismISM: ismContracts.optimismISM,
|
|
59
|
+
testRecipient: ismContracts.testRecipient,
|
|
60
|
+
optimismMessageHook: hookContracts.optimismMessageHook,
|
|
61
|
+
};
|
|
62
|
+
return deployedContractMap;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
deployContracts(chain, hookConfig) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
let optimismISM, optimismMessageHook, testRecipient;
|
|
68
|
+
this.logger(`Deploying ${hookConfig.hookContractType} on ${chain}`);
|
|
69
|
+
if ((0, config_1.isISMConfig)(hookConfig)) {
|
|
70
|
+
optimismISM = yield this.deployOptimismISM(chain, hookConfig.nativeBridge);
|
|
71
|
+
testRecipient = yield this.deployTestRecipient(chain, optimismISM.address);
|
|
72
|
+
this.logger(`Deployed test recipient on ${chain} at ${(0, utils_1.addressToBytes32)(testRecipient.address)}`);
|
|
73
|
+
return {
|
|
74
|
+
optimismISM,
|
|
75
|
+
testRecipient,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
else if ((0, config_1.isHookConfig)(hookConfig)) {
|
|
79
|
+
optimismMessageHook = yield this.deployOptimismMessageHook(chain, hookConfig.destinationDomain, hookConfig.nativeBridge, hookConfig.remoteIsm);
|
|
80
|
+
return {
|
|
81
|
+
optimismMessageHook,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return {};
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
deployOptimismISM(chain, nativeBridge) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
const signer = this.multiProvider.getSigner(chain);
|
|
90
|
+
const optimismISM = yield new core_1.OptimismISM__factory(signer).deploy(nativeBridge);
|
|
91
|
+
yield this.multiProvider.handleTx(chain, optimismISM.deployTransaction);
|
|
92
|
+
this.logger(`Deployed OptimismISM on ${chain} at ${optimismISM.address}`);
|
|
93
|
+
return optimismISM;
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
deployTestRecipient(chain, ism) {
|
|
97
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
const signer = this.multiProvider.getSigner(chain);
|
|
99
|
+
const testRecipient = yield new core_1.TestRecipient__factory(signer).deploy();
|
|
100
|
+
yield this.multiProvider.handleTx(chain, testRecipient.deployTransaction);
|
|
101
|
+
yield testRecipient.setInterchainSecurityModule(ism);
|
|
102
|
+
return testRecipient;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
deployOptimismMessageHook(chain, destinationDomain, nativeBridge, optimismISM) {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const signer = this.multiProvider.getSigner(chain);
|
|
108
|
+
const optimismMessageHook = yield new core_1.OptimismMessageHook__factory(signer).deploy(destinationDomain, nativeBridge, optimismISM);
|
|
109
|
+
yield this.multiProvider.handleTx(chain, optimismMessageHook.deployTransaction);
|
|
110
|
+
this.logger(`Deployed OptimismMessageHook on ${chain} at ${optimismMessageHook.address}`);
|
|
111
|
+
return optimismMessageHook;
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.HyperlaneHookDeployer = HyperlaneHookDeployer;
|
|
116
|
+
//# sourceMappingURL=HyperlaneHookDeployer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HyperlaneHookDeployer.js","sourceRoot":"","sources":["../../src/hook/HyperlaneHookDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HookConfig, MessageHookConfig, NoMetadataIsmConfig } from './types';
|
|
2
|
+
export declare const isISMConfig: (config: HookConfig) => config is NoMetadataIsmConfig;
|
|
3
|
+
export declare const isHookConfig: (config: HookConfig) => config is MessageHookConfig;
|
|
4
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/hook/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,WAAW,WACd,UAAU,kCAE8B,CAAC;AAEnD,eAAO,MAAM,YAAY,WAAY,UAAU,gCACI,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isHookConfig = exports.isISMConfig = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
const isISMConfig = (config) => config.hookContractType === types_1.HookContractType.ISM;
|
|
6
|
+
exports.isISMConfig = isISMConfig;
|
|
7
|
+
const isHookConfig = (config) => config.hookContractType === types_1.HookContractType.HOOK;
|
|
8
|
+
exports.isHookConfig = isHookConfig;
|
|
9
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/hook/config.ts"],"names":[],"mappings":";;;AAAA,mCAKiB;AAEV,MAAM,WAAW,GAAG,CACzB,MAAkB,EACa,EAAE,CACjC,MAAM,CAAC,gBAAgB,KAAK,wBAAgB,CAAC,GAAG,CAAC;AAHtC,QAAA,WAAW,eAG2B;AAE5C,MAAM,YAAY,GAAG,CAAC,MAAkB,EAA+B,EAAE,CAC9E,MAAM,CAAC,gBAAgB,KAAK,wBAAgB,CAAC,IAAI,CAAC;AADvC,QAAA,YAAY,gBAC2B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OptimismISM__factory, OptimismMessageHook__factory, TestRecipient__factory } from '@hyperlane-xyz/core';
|
|
2
|
+
export declare const optimismMessageHookFactories: {
|
|
3
|
+
optimismMessageHook: OptimismMessageHook__factory;
|
|
4
|
+
};
|
|
5
|
+
export declare const optimismIsmFactories: {
|
|
6
|
+
optimismISM: OptimismISM__factory;
|
|
7
|
+
};
|
|
8
|
+
export declare const testRecipientFactories: {
|
|
9
|
+
testRecipient: TestRecipient__factory;
|
|
10
|
+
};
|
|
11
|
+
export declare const hookFactories: {
|
|
12
|
+
testRecipient: TestRecipient__factory;
|
|
13
|
+
optimismISM: OptimismISM__factory;
|
|
14
|
+
optimismMessageHook: OptimismMessageHook__factory;
|
|
15
|
+
};
|
|
16
|
+
export declare type MessageHookFactories = typeof optimismMessageHookFactories;
|
|
17
|
+
export declare type NoMetadataIsmFactories = typeof optimismIsmFactories;
|
|
18
|
+
export declare type TestRecipientFactories = typeof testRecipientFactories;
|
|
19
|
+
export declare type HookFactories = Partial<MessageHookFactories> & Partial<NoMetadataIsmFactories> & Partial<TestRecipientFactories>;
|
|
20
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/hook/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,4BAA4B;;CAExC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAIzB,CAAC;AAEF,oBAAY,oBAAoB,GAAG,OAAO,4BAA4B,CAAC;AACvE,oBAAY,sBAAsB,GAAG,OAAO,oBAAoB,CAAC;AACjE,oBAAY,sBAAsB,GAAG,OAAO,sBAAsB,CAAC;AACnE,oBAAY,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,GACvD,OAAO,CAAC,sBAAsB,CAAC,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hookFactories = exports.testRecipientFactories = exports.optimismIsmFactories = exports.optimismMessageHookFactories = void 0;
|
|
4
|
+
const core_1 = require("@hyperlane-xyz/core");
|
|
5
|
+
exports.optimismMessageHookFactories = {
|
|
6
|
+
optimismMessageHook: new core_1.OptimismMessageHook__factory(),
|
|
7
|
+
};
|
|
8
|
+
exports.optimismIsmFactories = {
|
|
9
|
+
optimismISM: new core_1.OptimismISM__factory(),
|
|
10
|
+
};
|
|
11
|
+
exports.testRecipientFactories = {
|
|
12
|
+
testRecipient: new core_1.TestRecipient__factory(),
|
|
13
|
+
};
|
|
14
|
+
exports.hookFactories = Object.assign(Object.assign(Object.assign({}, exports.optimismMessageHookFactories), exports.optimismIsmFactories), exports.testRecipientFactories);
|
|
15
|
+
//# sourceMappingURL=contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/hook/contracts.ts"],"names":[],"mappings":";;;AAAA,8CAI6B;AAEhB,QAAA,4BAA4B,GAAG;IAC1C,mBAAmB,EAAE,IAAI,mCAA4B,EAAE;CACxD,CAAC;AAEW,QAAA,oBAAoB,GAAG;IAClC,WAAW,EAAE,IAAI,2BAAoB,EAAE;CACxC,CAAC;AAEW,QAAA,sBAAsB,GAAG;IACpC,aAAa,EAAE,IAAI,6BAAsB,EAAE;CAC5C,CAAC;AAEW,QAAA,aAAa,iDACrB,oCAA4B,GAC5B,4BAAoB,GACpB,8BAAsB,EACzB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { types } from '@hyperlane-xyz/utils';
|
|
2
|
+
export declare enum HookContractType {
|
|
3
|
+
HOOK = "hook",
|
|
4
|
+
ISM = "ism"
|
|
5
|
+
}
|
|
6
|
+
export declare type MessageHookConfig = {
|
|
7
|
+
hookContractType: HookContractType.HOOK;
|
|
8
|
+
nativeBridge: types.Address;
|
|
9
|
+
remoteIsm: types.Address;
|
|
10
|
+
destinationDomain: number;
|
|
11
|
+
};
|
|
12
|
+
export declare type NoMetadataIsmConfig = {
|
|
13
|
+
hookContractType: HookContractType.ISM;
|
|
14
|
+
nativeBridge: types.Address;
|
|
15
|
+
};
|
|
16
|
+
export declare type HookConfig = MessageHookConfig | NoMetadataIsmConfig;
|
|
17
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hook/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,oBAAY,gBAAgB;IAC1B,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,oBAAY,iBAAiB,GAAG;IAC9B,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,CAAC;IACxC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;IAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC;IACvC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;CAC7B,CAAC;AAEF,oBAAY,UAAU,GAAG,iBAAiB,GAAG,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HookContractType = void 0;
|
|
4
|
+
var HookContractType;
|
|
5
|
+
(function (HookContractType) {
|
|
6
|
+
HookContractType["HOOK"] = "hook";
|
|
7
|
+
HookContractType["ISM"] = "ism";
|
|
8
|
+
})(HookContractType = exports.HookContractType || (exports.HookContractType = {}));
|
|
9
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hook/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,+BAAW,CAAA;AACb,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { HyperlaneApp } from './HyperlaneApp';
|
|
2
|
-
export {
|
|
3
|
-
export { ChainMetadata, ChainMetadataSchema, ExplorerFamily, ExplorerFamilyType, ProtocolType, RpcPaginationOptions, chainIdToMetadata, chainMetadata, isValidChainMetadata, mainnetChainsMetadata, testnetChainsMetadata, wagmiChainMetadata, getDomainId, } from './consts/chainMetadata';
|
|
2
|
+
export { chainIdToMetadata, chainMetadata, mainnetChainsMetadata, testnetChainsMetadata, } from './consts/chainMetadata';
|
|
4
3
|
export { AllChains, AllDeprecatedChains, Chains, CoreChainName, DeprecatedChains, Mainnets, TestChains, Testnets, } from './consts/chains';
|
|
5
4
|
export { hyperlaneContractAddresses, hyperlaneEnvironments, } from './consts/environments';
|
|
6
5
|
export { defaultMultisigIsmConfigs } from './consts/multisigIsm';
|
|
@@ -24,9 +23,14 @@ export { HyperlaneIgpChecker } from './gas/HyperlaneIgpChecker';
|
|
|
24
23
|
export { HyperlaneIgpDeployer } from './gas/HyperlaneIgpDeployer';
|
|
25
24
|
export { CoinGeckoTokenPriceGetter } from './gas/token-prices';
|
|
26
25
|
export { GasOracleContractType, IgpBeneficiaryViolation, IgpConfig, IgpGasOraclesViolation, IgpOverheadViolation, IgpViolation, IgpViolationType, OverheadIgpConfig, } from './gas/types';
|
|
26
|
+
export { HyperlaneHookDeployer } from './hook/HyperlaneHookDeployer';
|
|
27
|
+
export { HookConfig, HookContractType, MessageHookConfig, NoMetadataIsmConfig, } from './hook/types';
|
|
27
28
|
export { HyperlaneIsmFactory, collectValidators, } from './ism/HyperlaneIsmFactory';
|
|
28
29
|
export { HyperlaneIsmFactoryDeployer } from './ism/HyperlaneIsmFactoryDeployer';
|
|
29
30
|
export { AggregationIsmConfig, DeployedIsm, IsmConfig, ModuleType, MultisigIsmConfig, RoutingIsmConfig, } from './ism/types';
|
|
31
|
+
export { AgentChainSetup, AgentChainSetupBase, AgentConfig, AgentConnection, AgentConnectionType, AgentMetadataExtSchema, AgentMetadataExtension, AgentSigner, ChainMetadataForAgent, ChainMetadataForAgentSchema, buildAgentConfig, buildAgentConfigDeprecated, } from './metadata/agentConfig';
|
|
32
|
+
export { ChainMetadata, ChainMetadataSchema, ExplorerFamily, ExplorerFamilyValue, ProtocolSmallestUnit, ProtocolType, ProtocolTypeValue, getDomainId, isValidChainMetadata, } from './metadata/chainMetadataTypes';
|
|
33
|
+
export { ChainMetadataWithArtifacts, ChainMetadataWithArtifactsSchema, HyperlaneDeploymentArtifacts, HyperlaneDeploymentArtifactsSchema, } from './metadata/deploymentArtifacts';
|
|
30
34
|
export { InterchainAccount } from './middleware/account/InterchainAccount';
|
|
31
35
|
export { InterchainAccountChecker } from './middleware/account/InterchainAccountChecker';
|
|
32
36
|
export { InterchainAccountConfig, InterchainAccountDeployer, } from './middleware/account/InterchainAccountDeployer';
|
|
@@ -44,14 +48,14 @@ export { GasRouterDeployer } from './router/GasRouterDeployer';
|
|
|
44
48
|
export { HyperlaneRouterChecker } from './router/HyperlaneRouterChecker';
|
|
45
49
|
export { HyperlaneRouterDeployer } from './router/HyperlaneRouterDeployer';
|
|
46
50
|
export { GasRouterApp, Router, RouterApp } from './router/RouterApps';
|
|
47
|
-
export { ConnectionClientViolation, ConnectionClientViolationType, GasRouterConfig, RouterConfig, } from './router/types';
|
|
51
|
+
export { ConnectionClientViolation, ConnectionClientViolationType, GasConfig, GasRouterConfig, RouterConfig, } from './router/types';
|
|
48
52
|
export { createRouterConfigMap, deployTestIgpsAndGetRouterConfig, } from './test/testUtils';
|
|
49
53
|
export { ChainMap, ChainName, Connection, NameOrDomain, TestChainNames, } from './types';
|
|
50
54
|
export { MultiGeneric } from './utils/MultiGeneric';
|
|
51
55
|
export { canonizeId, evmId } from './utils/ids';
|
|
52
56
|
export { multisigIsmVerificationCost } from './utils/ism';
|
|
53
57
|
export { bigToFixed, convertDecimalValue, fixedToBig, mulBigAndFixed, } from './utils/number';
|
|
54
|
-
export { objFilter, objMap, objMapEntries, objMerge, pick, promiseObjAll, } from './utils/objects';
|
|
58
|
+
export { filterByChains, objFilter, objMap, objMapEntries, objMerge, pick, promiseObjAll, } from './utils/objects';
|
|
55
59
|
export { delay } from './utils/time';
|
|
56
|
-
export { chainMetadataToWagmiChain } from './utils/wagmi';
|
|
60
|
+
export { chainMetadataToWagmiChain, wagmiChainMetadata } from './utils/wagmi';
|
|
57
61
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|