@hyperlane-xyz/sdk 1.3.0 → 1.3.2

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.
Files changed (136) hide show
  1. package/dist/HyperlaneApp.d.ts.map +1 -1
  2. package/dist/HyperlaneApp.js +1 -1
  3. package/dist/HyperlaneApp.js.map +1 -1
  4. package/dist/consts/environments/index.d.ts +18 -26
  5. package/dist/consts/environments/index.d.ts.map +1 -1
  6. package/dist/consts/environments/mainnet.json +18 -18
  7. package/dist/consts/environments/testnet.json +17 -25
  8. package/dist/consts/multisigIsm.d.ts.map +1 -1
  9. package/dist/consts/multisigIsm.js +4 -3
  10. package/dist/consts/multisigIsm.js.map +1 -1
  11. package/dist/contracts.d.ts +11 -8
  12. package/dist/contracts.d.ts.map +1 -1
  13. package/dist/contracts.js +37 -11
  14. package/dist/contracts.js.map +1 -1
  15. package/dist/core/CoreDeployer.hardhat-test.d.ts +2 -0
  16. package/dist/core/CoreDeployer.hardhat-test.d.ts.map +1 -0
  17. package/dist/core/CoreDeployer.hardhat-test.js +93 -0
  18. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -0
  19. package/dist/core/HyperlaneCore.d.ts +2 -1
  20. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  21. package/dist/core/HyperlaneCore.js +14 -10
  22. package/dist/core/HyperlaneCore.js.map +1 -1
  23. package/dist/core/HyperlaneCoreDeployer.d.ts +6 -11
  24. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  25. package/dist/core/HyperlaneCoreDeployer.js +25 -24
  26. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  27. package/dist/core/TestCoreDeployer.d.ts +14 -6
  28. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  29. package/dist/core/TestCoreDeployer.js +12 -6
  30. package/dist/core/TestCoreDeployer.js.map +1 -1
  31. package/dist/deploy/HyperlaneAppChecker.d.ts +4 -0
  32. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  33. package/dist/deploy/HyperlaneAppChecker.js +21 -25
  34. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  35. package/dist/deploy/HyperlaneDeployer.d.ts +21 -20
  36. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  37. package/dist/deploy/HyperlaneDeployer.js +93 -122
  38. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  39. package/dist/gas/HyperlaneIgpChecker.d.ts +4 -0
  40. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  41. package/dist/gas/HyperlaneIgpChecker.js +10 -0
  42. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  43. package/dist/gas/HyperlaneIgpDeployer.d.ts +7 -13
  44. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  45. package/dist/gas/HyperlaneIgpDeployer.js +25 -36
  46. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  47. package/dist/index.d.ts +2 -2
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +2 -3
  50. package/dist/index.js.map +1 -1
  51. package/dist/middleware/account/InterchainAccountChecker.d.ts +2 -2
  52. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
  53. package/dist/middleware/account/InterchainAccountChecker.js +2 -2
  54. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  55. package/dist/middleware/account/InterchainAccountDeployer.d.ts +6 -6
  56. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  57. package/dist/middleware/account/InterchainAccountDeployer.js +32 -25
  58. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  59. package/dist/middleware/account/accounts.hardhat-test.js +4 -9
  60. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  61. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  62. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +3 -0
  63. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  64. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +12 -5
  65. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  66. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +28 -19
  67. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  68. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +2 -2
  69. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  70. package/dist/middleware/query/InterchainQueryChecker.d.ts +2 -2
  71. package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -1
  72. package/dist/middleware/query/InterchainQueryChecker.js +2 -2
  73. package/dist/middleware/query/InterchainQueryChecker.js.map +1 -1
  74. package/dist/middleware/query/InterchainQueryDeployer.d.ts +10 -5
  75. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  76. package/dist/middleware/query/InterchainQueryDeployer.js +31 -4
  77. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  78. package/dist/middleware/query/queries.hardhat-test.js +2 -2
  79. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  80. package/dist/providers/MultiProvider.d.ts +1 -1
  81. package/dist/providers/MultiProvider.js +3 -3
  82. package/dist/providers/MultiProvider.js.map +1 -1
  83. package/dist/router/GasRouterDeployer.d.ts +4 -5
  84. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  85. package/dist/router/GasRouterDeployer.js +5 -9
  86. package/dist/router/GasRouterDeployer.js.map +1 -1
  87. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  88. package/dist/router/HyperlaneRouterChecker.js +2 -3
  89. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  90. package/dist/router/HyperlaneRouterDeployer.d.ts +5 -7
  91. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  92. package/dist/router/HyperlaneRouterDeployer.js +21 -30
  93. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  94. package/dist/router/ProxiedRouterChecker.d.ts +8 -0
  95. package/dist/router/ProxiedRouterChecker.d.ts.map +1 -0
  96. package/dist/{middleware/MiddlewareRouterChecker.js → router/ProxiedRouterChecker.js} +5 -5
  97. package/dist/router/ProxiedRouterChecker.js.map +1 -0
  98. package/dist/router/ProxiedRouterDeployer.d.ts +13 -0
  99. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -0
  100. package/dist/router/ProxiedRouterDeployer.js +35 -0
  101. package/dist/router/ProxiedRouterDeployer.js.map +1 -0
  102. package/dist/router/types.d.ts +1 -2
  103. package/dist/router/types.d.ts.map +1 -1
  104. package/dist/test/testUtils.d.ts.map +1 -1
  105. package/dist/utils/objects.d.ts +7 -2
  106. package/dist/utils/objects.d.ts.map +1 -1
  107. package/dist/utils/objects.js +4 -1
  108. package/dist/utils/objects.js.map +1 -1
  109. package/package.json +5 -5
  110. package/dist/middleware/MiddlewareRouterChecker.d.ts +0 -8
  111. package/dist/middleware/MiddlewareRouterChecker.d.ts.map +0 -1
  112. package/dist/middleware/MiddlewareRouterChecker.js.map +0 -1
  113. package/dist/middleware/MiddlewareRouterDeployer.d.ts +0 -17
  114. package/dist/middleware/MiddlewareRouterDeployer.d.ts.map +0 -1
  115. package/dist/middleware/MiddlewareRouterDeployer.js +0 -62
  116. package/dist/middleware/MiddlewareRouterDeployer.js.map +0 -1
  117. package/dist/test/envSubsetDeployer/app.d.ts +0 -33
  118. package/dist/test/envSubsetDeployer/app.d.ts.map +0 -1
  119. package/dist/test/envSubsetDeployer/app.js +0 -72
  120. package/dist/test/envSubsetDeployer/app.js.map +0 -1
  121. package/dist/test/envSubsetDeployer/check-single-chain.d.ts +0 -2
  122. package/dist/test/envSubsetDeployer/check-single-chain.d.ts.map +0 -1
  123. package/dist/test/envSubsetDeployer/check-single-chain.js +0 -43
  124. package/dist/test/envSubsetDeployer/check-single-chain.js.map +0 -1
  125. package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts +0 -2
  126. package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts.map +0 -1
  127. package/dist/test/envSubsetDeployer/deploy-single-chain.js +0 -40
  128. package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +0 -1
  129. package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts +0 -2
  130. package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts.map +0 -1
  131. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +0 -83
  132. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +0 -1
  133. package/dist/test/envSubsetDeployer/utils.d.ts +0 -4
  134. package/dist/test/envSubsetDeployer/utils.d.ts.map +0 -1
  135. package/dist/test/envSubsetDeployer/utils.js +0 -17
  136. package/dist/test/envSubsetDeployer/utils.js.map +0 -1
@@ -2,47 +2,48 @@ import { Debugger } from 'debug';
2
2
  import { Contract, ethers } from 'ethers';
3
3
  import { HyperlaneConnectionClient, Ownable, ProxyAdmin, TransparentUpgradeableProxy } from '@hyperlane-xyz/core';
4
4
  import { types } from '@hyperlane-xyz/utils';
5
- import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts';
5
+ import { HyperlaneAddressesMap, HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts';
6
6
  import { MultiProvider } from '../providers/MultiProvider';
7
7
  import { ConnectionClientConfig } from '../router/types';
8
8
  import { ChainMap, ChainName } from '../types';
9
9
  import { ContractVerificationInput } from './verify/types';
10
10
  export interface DeployerOptions {
11
11
  logger?: Debugger;
12
+ chainTimeoutMs?: number;
12
13
  }
13
- export interface DeployOptions {
14
- create2Salt?: string;
15
- initCalldata?: string;
16
- }
17
- export declare const CREATE2FACTORY_ADDRESS = "0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a";
18
14
  export declare abstract class HyperlaneDeployer<Config, Factories extends HyperlaneFactories> {
19
15
  protected readonly multiProvider: MultiProvider;
20
- readonly configMap: ChainMap<Config>;
21
- readonly factories: Factories;
16
+ protected readonly factories: Factories;
22
17
  protected readonly options?: DeployerOptions | undefined;
23
- deployedContracts: HyperlaneContractsMap<Factories>;
24
18
  verificationInputs: ChainMap<ContractVerificationInput[]>;
19
+ cachedAddresses: HyperlaneAddressesMap<any>;
20
+ deployedContracts: HyperlaneContractsMap<Factories>;
21
+ startingBlockNumbers: ChainMap<number | undefined>;
25
22
  protected logger: Debugger;
26
- constructor(multiProvider: MultiProvider, configMap: ChainMap<Config>, factories: Factories, options?: DeployerOptions | undefined);
27
- cacheContracts(partialDeployment: HyperlaneContractsMap<Factories>): void;
23
+ protected chainTimeoutMs: number;
24
+ constructor(multiProvider: MultiProvider, factories: Factories, options?: DeployerOptions | undefined);
25
+ cacheAddressesMap(addressesMap: HyperlaneAddressesMap<any>): void;
28
26
  abstract deployContracts(chain: ChainName, config: Config): Promise<HyperlaneContracts<Factories>>;
29
- deploy(partialDeployment?: HyperlaneContractsMap<Factories>): Promise<HyperlaneContractsMap<Factories>>;
30
- protected runIf<T>(chain: ChainName, address: string, fn: () => Promise<T>): Promise<T | undefined>;
27
+ deploy(configMap: ChainMap<Config>): Promise<HyperlaneContractsMap<Factories>>;
28
+ protected runIf<T>(chain: ChainName, address: string, fn: () => Promise<T>, label?: string): Promise<T | undefined>;
31
29
  protected runIfOwner<T>(chain: ChainName, ownable: Ownable, fn: () => Promise<T>): Promise<T | undefined>;
32
30
  protected runIfAdmin<T>(chain: ChainName, proxy: Contract, signerAdminFn: () => Promise<T>, proxyAdminOwnerFn: (proxyAdmin: ProxyAdmin) => Promise<T>): Promise<T | undefined>;
33
31
  protected initConnectionClient(local: ChainName, connectionClient: HyperlaneConnectionClient, config: ConnectionClientConfig): Promise<void>;
34
- protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<F['deploy']>>;
35
- deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, args: Parameters<Factories[K]['deploy']>, deployOpts?: DeployOptions): Promise<HyperlaneContracts<Factories>[K]>;
32
+ protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, initializeArgs?: Parameters<Awaited<ReturnType<F['deploy']>>['initialize']>): Promise<ReturnType<F['deploy']>>;
33
+ deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>, initializeArgs?: Parameters<Awaited<ReturnType<Factories[K]['deploy']>>['initialize']>): Promise<HyperlaneContracts<Factories>[K]>;
36
34
  protected changeAdmin(chain: ChainName, proxy: TransparentUpgradeableProxy, admin: string): Promise<void>;
37
- protected upgradeAndInitialize(chain: ChainName, proxy: TransparentUpgradeableProxy, implementation: string, initData: string): Promise<void>;
38
- protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C, initArgs: Parameters<C['initialize']>, proxyAdmin: string, deployOpts?: DeployOptions): Promise<C>;
39
- private cacheContract;
35
+ protected upgradeAndInitialize<C extends ethers.Contract>(chain: ChainName, proxy: TransparentUpgradeableProxy, implementation: C, initializeArgs: Parameters<C['initialize']>): Promise<void>;
36
+ protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C, proxyAdmin: string, initializeArgs?: Parameters<C['initialize']>): Promise<C>;
37
+ protected writeCache<K extends keyof Factories>(chain: ChainName, contractName: K, address: types.Address): void;
38
+ protected readCache<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string): Awaited<ReturnType<F['deploy']>> | undefined;
40
39
  /**
41
40
  * Deploys the Implementation and Proxy for a given contract
42
41
  *
43
42
  */
44
- deployProxiedContract<K extends keyof Factories>(chain: ChainName, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>, initArgs: Parameters<HyperlaneContracts<Factories>[K]['initialize']>, proxyAdmin: string, deployOpts?: DeployOptions): Promise<HyperlaneContracts<Factories>[K]>;
43
+ deployProxiedContract<K extends keyof Factories>(chain: ChainName, contractName: K, proxyAdmin: string, constructorArgs: Parameters<Factories[K]['deploy']>, initializeArgs?: Parameters<HyperlaneContracts<Factories>[K]['initialize']>): Promise<HyperlaneContracts<Factories>[K]>;
45
44
  mergeWithExistingVerificationInputs(existingInputsMap: ChainMap<ContractVerificationInput[]>): ChainMap<ContractVerificationInput[]>;
46
- protected transferOwnershipOfContracts(chain: ChainName, owner: types.Address, ownables: Ownable[]): Promise<ethers.ContractReceipt[]>;
45
+ protected transferOwnershipOfContracts(chain: ChainName, owner: types.Address, ownables: {
46
+ [key: string]: Ownable;
47
+ }): Promise<ethers.ContractReceipt[]>;
47
48
  }
48
49
  //# sourceMappingURL=HyperlaneDeployer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneDeployer.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
@@ -9,63 +9,64 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.HyperlaneDeployer = exports.CREATE2FACTORY_ADDRESS = void 0;
12
+ exports.HyperlaneDeployer = void 0;
13
13
  const debug_1 = require("debug");
14
14
  const ethers_1 = require("ethers");
15
15
  const core_1 = require("@hyperlane-xyz/core");
16
16
  const utils_1 = require("@hyperlane-xyz/utils");
17
- const contracts_1 = require("../contracts");
18
- const objects_1 = require("../utils/objects");
19
17
  const proxy_1 = require("./proxy");
20
18
  const utils_2 = require("./verify/utils");
21
- exports.CREATE2FACTORY_ADDRESS = '0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a';
22
19
  class HyperlaneDeployer {
23
- constructor(multiProvider, configMap, factories, options) {
20
+ constructor(multiProvider, factories, options) {
21
+ var _a, _b;
24
22
  this.multiProvider = multiProvider;
25
- this.configMap = configMap;
26
23
  this.factories = factories;
27
24
  this.options = options;
25
+ this.verificationInputs = {};
26
+ this.cachedAddresses = {};
28
27
  this.deployedContracts = {};
29
- this.verificationInputs = (0, objects_1.objMap)(configMap, () => []);
30
- this.logger = (options === null || options === void 0 ? void 0 : options.logger) || (0, debug_1.debug)('hyperlane:AppDeployer');
28
+ this.startingBlockNumbers = {};
29
+ this.logger = (_a = options === null || options === void 0 ? void 0 : options.logger) !== null && _a !== void 0 ? _a : (0, debug_1.debug)('hyperlane:deployer');
30
+ this.chainTimeoutMs = (_b = options === null || options === void 0 ? void 0 : options.chainTimeoutMs) !== null && _b !== void 0 ? _b : 5 * 60 * 1000; // 5 minute timeout per chain
31
31
  }
32
- cacheContracts(partialDeployment) {
33
- this.deployedContracts = (0, contracts_1.connectContractsMap)(partialDeployment, this.multiProvider);
32
+ cacheAddressesMap(addressesMap) {
33
+ this.cachedAddresses = addressesMap;
34
34
  }
35
- deploy(partialDeployment) {
36
- var _a;
35
+ deploy(configMap) {
37
36
  return __awaiter(this, void 0, void 0, function* () {
38
- if (partialDeployment) {
39
- this.cacheContracts(partialDeployment);
40
- }
41
- const configChains = Object.keys(this.configMap);
37
+ const configChains = Object.keys(configMap);
42
38
  const targetChains = this.multiProvider.intersect(configChains, true).intersection;
43
39
  this.logger(`Start deploy to ${targetChains}`);
44
40
  for (const chain of targetChains) {
45
41
  const signerUrl = yield this.multiProvider.tryGetExplorerAddressUrl(chain);
46
- this.logger(`Deploying to ${chain} from ${signerUrl} ...`);
47
- this.deployedContracts[chain] = yield this.deployContracts(chain, this.configMap[chain]);
48
- // TODO: remove these logs once we have better timeouts
49
- this.logger(JSON.stringify((0, contracts_1.serializeContracts)((_a = this.deployedContracts[chain]) !== null && _a !== void 0 ? _a : {}), null, 2));
42
+ const signerAddress = yield this.multiProvider.getSignerAddress(chain);
43
+ const fromString = signerUrl || signerAddress;
44
+ this.logger(`Deploying to ${chain} from ${fromString}`);
45
+ this.startingBlockNumbers[chain] = yield this.multiProvider
46
+ .getProvider(chain)
47
+ .getBlockNumber();
48
+ yield utils_1.utils.runWithTimeout(this.chainTimeoutMs, () => __awaiter(this, void 0, void 0, function* () {
49
+ this.deployedContracts[chain] = yield this.deployContracts(chain, configMap[chain]);
50
+ }));
50
51
  }
51
52
  return this.deployedContracts;
52
53
  });
53
54
  }
54
- runIf(chain, address, fn) {
55
+ runIf(chain, address, fn, label = 'address') {
55
56
  return __awaiter(this, void 0, void 0, function* () {
56
57
  const signer = yield this.multiProvider.getSignerAddress(chain);
57
- if (address === signer) {
58
+ if (utils_1.utils.eqAddress(address, signer)) {
58
59
  return fn();
59
60
  }
60
61
  else {
61
- this.logger(`Signer (${signer}) does not match address (${address})`);
62
+ this.logger(`Signer (${signer}) does not match ${label} (${address})`);
62
63
  }
63
64
  return undefined;
64
65
  });
65
66
  }
66
67
  runIfOwner(chain, ownable, fn) {
67
68
  return __awaiter(this, void 0, void 0, function* () {
68
- return this.runIf(chain, yield ownable.callStatic.owner(), fn);
69
+ return this.runIf(chain, yield ownable.callStatic.owner(), fn, 'owner');
69
70
  });
70
71
  }
71
72
  runIfAdmin(chain, proxy, signerAdminFn, proxyAdminOwnerFn) {
@@ -81,14 +82,14 @@ class HyperlaneDeployer {
81
82
  else {
82
83
  this.logger(`Admin is an EOA (${admin})`);
83
84
  // if admin is an EOA, run the signerAdminFn (if deployer is admin)
84
- return this.runIf(chain, admin, () => signerAdminFn());
85
+ return this.runIf(chain, admin, () => signerAdminFn(), 'admin');
85
86
  }
86
87
  });
87
88
  }
88
89
  initConnectionClient(local, connectionClient, config) {
89
90
  return __awaiter(this, void 0, void 0, function* () {
90
91
  this.logger(`Initializing connection client on ${local}...`);
91
- return this.runIfOwner(local, connectionClient, () => __awaiter(this, void 0, void 0, function* () {
92
+ yield this.runIfOwner(local, connectionClient, () => __awaiter(this, void 0, void 0, function* () {
92
93
  // set mailbox if not already set (and configured)
93
94
  if (config.mailbox !== (yield connectionClient.mailbox())) {
94
95
  this.logger(`Set mailbox on (${local})`);
@@ -108,71 +109,44 @@ class HyperlaneDeployer {
108
109
  yield this.multiProvider.handleTx(local, connectionClient.setInterchainSecurityModule(config.interchainSecurityModule));
109
110
  }
110
111
  }));
112
+ this.logger(`Connection client on ${local} initialized...`);
111
113
  });
112
114
  }
113
- deployContractFromFactory(chain, factory, contractName, constructorArgs, deployOpts) {
114
- var _a;
115
+ deployContractFromFactory(chain, factory, contractName, constructorArgs, initializeArgs) {
115
116
  return __awaiter(this, void 0, void 0, function* () {
116
- const cachedContract = (_a = this.deployedContracts[chain]) === null || _a === void 0 ? void 0 : _a[contractName];
117
+ const cachedContract = this.readCache(chain, factory, contractName);
117
118
  if (cachedContract) {
118
- this.logger(`Recovered ${contractName} on ${chain} ${cachedContract.address}`);
119
119
  return cachedContract;
120
120
  }
121
- const provider = this.multiProvider.getProvider(chain);
122
121
  const signer = this.multiProvider.getSigner(chain);
123
122
  const overrides = this.multiProvider.getTransactionOverrides(chain);
124
123
  this.logger(`Deploy ${contractName} on ${chain}`);
125
- const factoryCode = yield provider.getCode(exports.CREATE2FACTORY_ADDRESS);
126
- if (deployOpts && deployOpts.create2Salt && factoryCode != '0x') {
127
- this.logger(`Deploying with CREATE2 factory`);
128
- const create2Factory = core_1.Create2Factory__factory.connect(exports.CREATE2FACTORY_ADDRESS, signer);
129
- const salt = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(deployOpts.create2Salt)));
130
- const encodedConstructorArgs = factory.interface.encodeDeploy(constructorArgs);
131
- const bytecode = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.concat([factory.bytecode, encodedConstructorArgs]));
132
- const contractAddr = yield create2Factory.deployedAddress(bytecode, yield signer.getAddress(), salt);
133
- const contractCode = yield provider.getCode(contractAddr);
134
- if (contractCode === '0x') {
135
- const deployTx = deployOpts.initCalldata
136
- ? yield create2Factory.deployAndInit(bytecode, salt, deployOpts.initCalldata, overrides)
137
- : yield create2Factory.deploy(bytecode, salt, overrides);
138
- yield this.multiProvider.handleTx(chain, deployTx);
139
- }
140
- else {
141
- this.logger(`Found contract deployed at CREATE2 address, skipping contract deploy`);
142
- }
143
- const input = (0, utils_2.buildVerificationInput)(contractName, contractAddr, encodedConstructorArgs);
144
- this.verificationInputs[chain].push(input);
145
- return factory.attach(contractAddr).connect(signer);
146
- }
147
- else {
148
- const contract = yield factory
149
- .connect(signer)
150
- .deploy(...constructorArgs, overrides);
151
- yield this.multiProvider.handleTx(chain, contract.deployTransaction);
152
- if (deployOpts === null || deployOpts === void 0 ? void 0 : deployOpts.initCalldata) {
153
- this.logger(`Initialize ${contractName} on ${chain}`);
154
- const initTx = yield signer.sendTransaction({
155
- to: contract.address,
156
- data: deployOpts.initCalldata,
157
- });
158
- yield this.multiProvider.handleTx(chain, initTx);
159
- }
160
- const verificationInput = (0, utils_2.getContractVerificationInput)(contractName, contract, factory.bytecode);
161
- this.verificationInputs[chain].push(verificationInput);
162
- return contract;
124
+ const contract = yield factory
125
+ .connect(signer)
126
+ .deploy(...constructorArgs, overrides);
127
+ yield this.multiProvider.handleTx(chain, contract.deployTransaction);
128
+ if (initializeArgs) {
129
+ this.logger(`Initialize ${contractName} on ${chain}`);
130
+ const initTx = yield contract.initialize(...initializeArgs);
131
+ yield this.multiProvider.handleTx(chain, initTx);
163
132
  }
133
+ const verificationInput = (0, utils_2.getContractVerificationInput)(contractName, contract, factory.bytecode);
134
+ this.verificationInputs[chain] = this.verificationInputs[chain] || [];
135
+ this.verificationInputs[chain].push(verificationInput);
136
+ return contract;
164
137
  });
165
138
  }
166
- deployContract(chain, contractName, args, deployOpts) {
139
+ deployContract(chain, contractName, constructorArgs, initializeArgs) {
167
140
  return __awaiter(this, void 0, void 0, function* () {
168
- const contract = (yield this.deployContractFromFactory(chain, this.factories[contractName], contractName.toString(), args, deployOpts));
169
- this.cacheContract(chain, contractName, contract);
141
+ const contract = (yield this.deployContractFromFactory(chain, this.factories[contractName], contractName.toString(), constructorArgs, initializeArgs));
142
+ this.writeCache(chain, contractName, contract.address);
170
143
  return contract;
171
144
  });
172
145
  }
173
146
  changeAdmin(chain, proxy, admin) {
174
147
  return __awaiter(this, void 0, void 0, function* () {
175
- if (utils_1.utils.eqAddress(admin, yield proxy.callStatic.admin())) {
148
+ const actualAdmin = yield (0, proxy_1.proxyAdmin)(this.multiProvider.getProvider(chain), proxy.address);
149
+ if (utils_1.utils.eqAddress(admin, actualAdmin)) {
176
150
  this.logger(`Admin set correctly, skipping admin change`);
177
151
  return;
178
152
  }
@@ -180,74 +154,69 @@ class HyperlaneDeployer {
180
154
  yield this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.changeAdmin(admin)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.changeProxyAdmin(proxy.address, admin)));
181
155
  });
182
156
  }
183
- upgradeAndInitialize(chain, proxy, implementation, initData) {
157
+ upgradeAndInitialize(chain, proxy, implementation, initializeArgs) {
184
158
  return __awaiter(this, void 0, void 0, function* () {
185
- const curr = yield proxy.callStatic.implementation();
186
- if (utils_1.utils.eqAddress(implementation, curr)) {
159
+ const current = yield proxy.callStatic.implementation();
160
+ if (utils_1.utils.eqAddress(implementation.address, current)) {
187
161
  this.logger(`Implementation set correctly, skipping upgrade`);
188
162
  return;
189
163
  }
190
164
  this.logger(`Upgrading and initializing implementation`);
191
- yield this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.upgradeToAndCall(implementation, initData)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.upgradeAndCall(proxy.address, implementation, initData)));
165
+ const initData = implementation.interface.encodeFunctionData('initialize', initializeArgs);
166
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
167
+ yield this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.upgradeToAndCall(implementation.address, initData, overrides)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, overrides)));
192
168
  });
193
169
  }
194
- deployProxy(chain, implementation, initArgs, proxyAdmin, deployOpts) {
170
+ deployProxy(chain, implementation, proxyAdmin, initializeArgs) {
195
171
  return __awaiter(this, void 0, void 0, function* () {
196
- const initData = implementation.interface.encodeFunctionData('initialize', initArgs);
197
- let proxy;
198
- const provider = this.multiProvider.getProvider(chain);
199
- const deployer = yield this.multiProvider.getSignerAddress(chain);
172
+ const initData = initializeArgs
173
+ ? implementation.interface.encodeFunctionData('initialize', initializeArgs)
174
+ : '0x';
200
175
  this.logger(`Deploying transparent upgradable proxy`);
201
- if (deployOpts &&
202
- deployOpts.create2Salt &&
203
- (yield provider.getCode(exports.CREATE2FACTORY_ADDRESS)) != '0x') {
204
- // To get consistent addresses with Create2, we need to use
205
- // consistent constructor arguments.
206
- // The three constructor arguments we need to configure are:
207
- // 1. Proxy implementation: This will start as the Create2Factory
208
- // address, as it needs to be a contract address.
209
- // After we've taken over as the proxy admin, we will set it
210
- // to the proper address.
211
- // 2. Proxy admin: This will start as the deployer
212
- // address. We will use this to initialize before rotating.
213
- // 3. Initialization data: This will start as null, and we will
214
- // initialize our proxied contract manually.
215
- const constructorArgs = [exports.CREATE2FACTORY_ADDRESS, deployer, '0x'];
216
- // deploy with static implementation, deployer admin, and init data for consistent addresses
217
- proxy = yield this.deployContractFromFactory(chain, new core_1.TransparentUpgradeableProxy__factory(), 'TransparentUpgradeableProxy', constructorArgs, deployOpts);
218
- // upgrade and initialize with actual implementation and init data
219
- yield this.upgradeAndInitialize(chain, proxy, implementation.address, initData);
220
- // rotate admin to the desired admin
221
- yield this.changeAdmin(chain, proxy, proxyAdmin);
222
- }
223
- else {
224
- const constructorArgs = [implementation.address, proxyAdmin, initData];
225
- proxy = yield this.deployContractFromFactory(chain, new core_1.TransparentUpgradeableProxy__factory(), 'TransparentUpgradeableProxy', constructorArgs, deployOpts);
226
- }
176
+ const constructorArgs = [
177
+ implementation.address,
178
+ proxyAdmin,
179
+ initData,
180
+ ];
181
+ const proxy = yield this.deployContractFromFactory(chain, new core_1.TransparentUpgradeableProxy__factory(), 'TransparentUpgradeableProxy', constructorArgs);
227
182
  return implementation.attach(proxy.address);
228
183
  });
229
184
  }
230
- cacheContract(chain, contractName, contract) {
231
- if (!this.deployedContracts[chain]) {
232
- this.deployedContracts[chain] = {};
185
+ writeCache(chain, contractName, address) {
186
+ if (!this.cachedAddresses[chain]) {
187
+ this.cachedAddresses[chain] = {};
188
+ }
189
+ this.cachedAddresses[chain][contractName] = address;
190
+ }
191
+ readCache(chain, factory, contractName) {
192
+ var _a;
193
+ const cachedAddress = (_a = this.cachedAddresses[chain]) === null || _a === void 0 ? void 0 : _a[contractName];
194
+ const hit = !!cachedAddress;
195
+ const contractAddress = hit ? cachedAddress : ethers_1.ethers.constants.AddressZero;
196
+ const contract = factory
197
+ .attach(contractAddress)
198
+ .connect(this.multiProvider.getSignerOrProvider(chain));
199
+ if (hit) {
200
+ this.logger(`Recovered ${contractName.toString()} on ${chain} ${cachedAddress}`);
201
+ return contract;
233
202
  }
234
- this.deployedContracts[chain][contractName] = contract;
203
+ return undefined;
235
204
  }
236
205
  /**
237
206
  * Deploys the Implementation and Proxy for a given contract
238
207
  *
239
208
  */
240
- deployProxiedContract(chain, contractName, constructorArgs, initArgs, proxyAdmin, deployOpts) {
241
- var _a;
209
+ deployProxiedContract(chain, contractName, proxyAdmin, constructorArgs, initializeArgs) {
242
210
  return __awaiter(this, void 0, void 0, function* () {
243
- const cachedProxy = (_a = this.deployedContracts[chain]) === null || _a === void 0 ? void 0 : _a[contractName];
244
- if (cachedProxy) {
245
- this.logger(`Recovered ${contractName} on ${chain} ${cachedProxy.address}`);
246
- return cachedProxy;
211
+ const cachedContract = this.readCache(chain, this.factories[contractName], contractName.toString());
212
+ if (cachedContract) {
213
+ return cachedContract;
247
214
  }
248
- const implementation = yield this.deployContract(chain, contractName, constructorArgs, deployOpts);
249
- const contract = yield this.deployProxy(chain, implementation, initArgs, proxyAdmin, deployOpts);
250
- this.cacheContract(chain, contractName, contract);
215
+ // Try to initialize the implementation even though it may not be necessary
216
+ const implementation = yield this.deployContract(chain, contractName, constructorArgs, initializeArgs);
217
+ // Initialize the proxy the same way
218
+ const contract = yield this.deployProxy(chain, implementation, proxyAdmin, initializeArgs);
219
+ this.writeCache(chain, contractName, contract.address);
251
220
  return contract;
252
221
  });
253
222
  }
@@ -266,9 +235,11 @@ class HyperlaneDeployer {
266
235
  transferOwnershipOfContracts(chain, owner, ownables) {
267
236
  return __awaiter(this, void 0, void 0, function* () {
268
237
  const receipts = [];
269
- for (const ownable of ownables) {
238
+ for (const contractName of Object.keys(ownables)) {
239
+ const ownable = ownables[contractName];
270
240
  const currentOwner = yield ownable.owner();
271
241
  if (!utils_1.utils.eqAddress(currentOwner, owner)) {
242
+ this.logger(`Transferring ownership of ${contractName} to ${owner} on ${chain}`);
272
243
  const receipt = yield this.runIfOwner(chain, ownable, () => this.multiProvider.handleTx(chain, ownable.transferOwnership(owner, this.multiProvider.getTransactionOverrides(chain))));
273
244
  if (receipt)
274
245
  receipts.push(receipt);
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { Ownable } from '@hyperlane-xyz/core';
1
2
  import { types } from '@hyperlane-xyz/utils';
2
3
  import { HyperlaneAppChecker } from '../deploy/HyperlaneAppChecker';
3
4
  import { ChainName } from '../types';
@@ -9,6 +10,9 @@ export declare class HyperlaneIgpChecker extends HyperlaneAppChecker<HyperlaneIg
9
10
  checkBytecodes(chain: ChainName): Promise<void>;
10
11
  checkOverheadInterchainGasPaymaster(local: ChainName): Promise<void>;
11
12
  checkInterchainGasPaymaster(local: ChainName): Promise<void>;
13
+ ownables(chain: ChainName): Promise<{
14
+ [key: string]: Ownable;
15
+ }>;
12
16
  getGasOracleAddress(local: ChainName, remote: ChainName): types.Address;
13
17
  }
14
18
  //# sourceMappingURL=HyperlaneIgpChecker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIgpChecker.d.ts","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAML,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,qBAAa,mBAAoB,SAAQ,mBAAmB,CAC1D,YAAY,EACZ,iBAAiB,CAClB;IACO,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3C,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC/C,mCAAmC,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCpE,2BAA2B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDlE,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC,OAAO;CAgBxE"}
1
+ {"version":3,"file":"HyperlaneIgpChecker.d.ts","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAML,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,qBAAa,mBAAoB,SAAQ,mBAAmB,CAC1D,YAAY,EACZ,iBAAiB,CAClB;IACO,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3C,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC/C,mCAAmC,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCpE,2BAA2B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAkD5D,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAOrE,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC,OAAO;CAgBxE"}
@@ -15,6 +15,7 @@ const utils_1 = require("@hyperlane-xyz/utils");
15
15
  const bytecode_1 = require("../consts/bytecode");
16
16
  const HyperlaneAppChecker_1 = require("../deploy/HyperlaneAppChecker");
17
17
  const proxy_1 = require("../deploy/proxy");
18
+ const objects_1 = require("../utils/objects");
18
19
  const types_1 = require("./types");
19
20
  class HyperlaneIgpChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
20
21
  checkChain(chain) {
@@ -129,6 +130,15 @@ class HyperlaneIgpChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
129
130
  }
130
131
  });
131
132
  }
133
+ // The owner of storageGasOracle is not expected to match the configured owner
134
+ ownables(chain) {
135
+ const _super = Object.create(null, {
136
+ ownables: { get: () => super.ownables }
137
+ });
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ return (0, objects_1.objFilter)(yield _super.ownables.call(this, chain), (name, contract) => name !== 'storageGasOracle');
140
+ });
141
+ }
132
142
  getGasOracleAddress(local, remote) {
133
143
  const config = this.configMap[local];
134
144
  const gasOracleType = config.gasOracleType[remote];
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIgpChecker.js","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpChecker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneIgpChecker.js","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpChecker.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,16 @@
1
1
  import { InterchainGasPaymaster, OverheadIgp, ProxyAdmin, StorageGasOracle } from '@hyperlane-xyz/core';
2
2
  import { types } from '@hyperlane-xyz/utils';
3
3
  import { HyperlaneContracts } from '../contracts';
4
- import { DeployOptions, HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
4
+ import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
5
5
  import { MultiProvider } from '../providers/MultiProvider';
6
- import { ChainMap, ChainName } from '../types';
6
+ import { ChainName } from '../types';
7
7
  import { IgpFactories } from './contracts';
8
- import { OverheadIgpConfig } from './types';
8
+ import { IgpConfig, OverheadIgpConfig } from './types';
9
9
  export declare class HyperlaneIgpDeployer extends HyperlaneDeployer<OverheadIgpConfig, IgpFactories> {
10
- startingBlockNumbers: ChainMap<number | undefined>;
11
- constructor(multiProvider: MultiProvider, configMap: ChainMap<OverheadIgpConfig>, factoriesOverride?: {
12
- proxyAdmin: import("@hyperlane-xyz/core").ProxyAdmin__factory;
13
- interchainGasPaymaster: import("@hyperlane-xyz/core").InterchainGasPaymaster__factory;
14
- defaultIsmInterchainGasPaymaster: import("@hyperlane-xyz/core").OverheadIgp__factory;
15
- storageGasOracle: import("@hyperlane-xyz/core").StorageGasOracle__factory;
16
- });
17
- deployInterchainGasPaymaster(chain: ChainName, proxyAdmin: ProxyAdmin, storageGasOracle: StorageGasOracle, deployOpts?: DeployOptions): Promise<InterchainGasPaymaster>;
18
- deployOverheadInterchainGasPaymaster(chain: ChainName, interchainGasPaymasterAddress: types.Address, deployOpts?: DeployOptions): Promise<OverheadIgp>;
19
- deployStorageGasOracle(chain: ChainName, deployOpts?: DeployOptions): Promise<StorageGasOracle>;
10
+ constructor(multiProvider: MultiProvider);
11
+ deployInterchainGasPaymaster(chain: ChainName, proxyAdmin: ProxyAdmin, storageGasOracle: StorageGasOracle, config: IgpConfig): Promise<InterchainGasPaymaster>;
12
+ deployOverheadIgp(chain: ChainName, interchainGasPaymasterAddress: types.Address, config: OverheadIgpConfig): Promise<OverheadIgp>;
13
+ deployStorageGasOracle(chain: ChainName): Promise<StorageGasOracle>;
20
14
  deployContracts(chain: ChainName, config: OverheadIgpConfig): Promise<HyperlaneContracts<IgpFactories>>;
21
15
  }
22
16
  //# sourceMappingURL=HyperlaneIgpDeployer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIgpDeployer.d.ts","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,WAAW,EAGX,UAAU,EACV,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,oBAAqB,SAAQ,iBAAiB,CACzD,iBAAiB,EACjB,YAAY,CACb;IACC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;gBAGjD,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACtC,iBAAiB;;;;;KAAe;IAQ5B,4BAA4B,CAChC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,sBAAsB,CAAC;IA2C5B,oCAAoC,CACxC,KAAK,EAAE,SAAS,EAChB,6BAA6B,EAAE,KAAK,CAAC,OAAO,EAC5C,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,WAAW,CAAC;IAmDjB,sBAAsB,CAC1B,KAAK,EAAE,SAAS,EAChB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,gBAAgB,CAAC;IAItB,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;CA6B7C"}
1
+ {"version":3,"file":"HyperlaneIgpDeployer.d.ts","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAA0B,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvD,qBAAa,oBAAqB,SAAQ,iBAAiB,CACzD,iBAAiB,EACjB,YAAY,CACb;gBACa,aAAa,EAAE,aAAa;IAMlC,4BAA4B,CAChC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAqC5B,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,6BAA6B,EAAE,KAAK,CAAC,OAAO,EAC5C,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,WAAW,CAAC;IAqCjB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInE,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;CAoC7C"}