@hyperlane-xyz/sdk 1.2.3 → 1.3.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.
Files changed (234) hide show
  1. package/dist/HyperlaneApp.d.ts +11 -7
  2. package/dist/HyperlaneApp.d.ts.map +1 -1
  3. package/dist/HyperlaneApp.js +14 -0
  4. package/dist/HyperlaneApp.js.map +1 -1
  5. package/dist/agents/types.d.ts +56 -0
  6. package/dist/agents/types.d.ts.map +1 -0
  7. package/dist/agents/types.js +43 -0
  8. package/dist/agents/types.js.map +1 -0
  9. package/dist/consts/bytecode.d.ts +11 -0
  10. package/dist/consts/bytecode.d.ts.map +1 -0
  11. package/dist/consts/bytecode.js +15 -0
  12. package/dist/consts/bytecode.js.map +1 -0
  13. package/dist/consts/environments/index.d.ts +64 -249
  14. package/dist/consts/environments/index.d.ts.map +1 -1
  15. package/dist/consts/environments/index.js +2 -12
  16. package/dist/consts/environments/index.js.map +1 -1
  17. package/dist/consts/environments/mainnet.json +27 -107
  18. package/dist/consts/environments/test.json +20 -44
  19. package/dist/consts/environments/testnet.json +27 -99
  20. package/dist/consts/multisigIsm.d.ts +4 -0
  21. package/dist/consts/multisigIsm.d.ts.map +1 -0
  22. package/dist/consts/multisigIsm.js +174 -0
  23. package/dist/consts/multisigIsm.js.map +1 -0
  24. package/dist/contracts.d.ts +13 -10
  25. package/dist/contracts.d.ts.map +1 -1
  26. package/dist/contracts.js +21 -45
  27. package/dist/contracts.js.map +1 -1
  28. package/dist/core/CoreDeployer.hardhat-test.d.ts +2 -0
  29. package/dist/core/CoreDeployer.hardhat-test.d.ts.map +1 -0
  30. package/dist/core/CoreDeployer.hardhat-test.js +93 -0
  31. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -0
  32. package/dist/core/HyperlaneCore.d.ts +7 -17
  33. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  34. package/dist/core/HyperlaneCore.js +21 -45
  35. package/dist/core/HyperlaneCore.js.map +1 -1
  36. package/dist/core/HyperlaneCoreChecker.d.ts +0 -6
  37. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  38. package/dist/core/HyperlaneCoreChecker.js +20 -155
  39. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  40. package/dist/core/HyperlaneCoreDeployer.d.ts +11 -30
  41. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  42. package/dist/core/HyperlaneCoreDeployer.js +24 -152
  43. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  44. package/dist/core/TestCoreApp.d.ts +8 -12
  45. package/dist/core/TestCoreApp.d.ts.map +1 -1
  46. package/dist/core/TestCoreApp.js +6 -3
  47. package/dist/core/TestCoreApp.js.map +1 -1
  48. package/dist/core/TestCoreDeployer.d.ts +14 -6
  49. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  50. package/dist/core/TestCoreDeployer.js +14 -29
  51. package/dist/core/TestCoreDeployer.js.map +1 -1
  52. package/dist/core/contracts.d.ts +3 -22
  53. package/dist/core/contracts.d.ts.map +1 -1
  54. package/dist/core/contracts.js +1 -7
  55. package/dist/core/contracts.js.map +1 -1
  56. package/dist/core/testHyperlaneDeploy.hardhat-test.js +2 -2
  57. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  58. package/dist/core/types.d.ts +4 -47
  59. package/dist/core/types.d.ts.map +1 -1
  60. package/dist/core/types.js +1 -16
  61. package/dist/core/types.js.map +1 -1
  62. package/dist/deploy/HyperlaneAppChecker.d.ts +5 -3
  63. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  64. package/dist/deploy/HyperlaneAppChecker.js +43 -20
  65. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  66. package/dist/deploy/HyperlaneDeployer.d.ts +25 -25
  67. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  68. package/dist/deploy/HyperlaneDeployer.js +143 -160
  69. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  70. package/dist/deploy/proxy.d.ts +1 -13
  71. package/dist/deploy/proxy.d.ts.map +1 -1
  72. package/dist/deploy/proxy.js +8 -13
  73. package/dist/deploy/proxy.js.map +1 -1
  74. package/dist/deploy/types.d.ts +1 -0
  75. package/dist/deploy/types.d.ts.map +1 -1
  76. package/dist/deploy/verify/utils.d.ts +1 -0
  77. package/dist/deploy/verify/utils.d.ts.map +1 -1
  78. package/dist/deploy/verify/utils.js +9 -4
  79. package/dist/deploy/verify/utils.js.map +1 -1
  80. package/dist/gas/HyperlaneIgp.d.ts +53 -0
  81. package/dist/gas/HyperlaneIgp.d.ts.map +1 -0
  82. package/dist/gas/HyperlaneIgp.js +72 -0
  83. package/dist/gas/HyperlaneIgp.js.map +1 -0
  84. package/dist/gas/HyperlaneIgpChecker.d.ts +18 -0
  85. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -0
  86. package/dist/gas/HyperlaneIgpChecker.js +158 -0
  87. package/dist/gas/HyperlaneIgpChecker.js.map +1 -0
  88. package/dist/gas/HyperlaneIgpDeployer.d.ts +16 -0
  89. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -0
  90. package/dist/gas/HyperlaneIgpDeployer.js +97 -0
  91. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -0
  92. package/dist/gas/contracts.d.ts +9 -0
  93. package/dist/gas/contracts.d.ts.map +1 -0
  94. package/dist/gas/contracts.js +11 -0
  95. package/dist/gas/contracts.js.map +1 -0
  96. package/dist/gas/types.d.ts +35 -50
  97. package/dist/gas/types.d.ts.map +1 -1
  98. package/dist/gas/types.js +11 -17
  99. package/dist/gas/types.js.map +1 -1
  100. package/dist/index.d.ts +33 -25
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +65 -43
  103. package/dist/index.js.map +1 -1
  104. package/dist/middleware/MiddlewareRouterChecker.d.ts +8 -0
  105. package/dist/middleware/MiddlewareRouterChecker.d.ts.map +1 -0
  106. package/dist/middleware/MiddlewareRouterChecker.js +26 -0
  107. package/dist/middleware/MiddlewareRouterChecker.js.map +1 -0
  108. package/dist/middleware/MiddlewareRouterDeployer.d.ts +17 -0
  109. package/dist/middleware/MiddlewareRouterDeployer.d.ts.map +1 -0
  110. package/dist/middleware/MiddlewareRouterDeployer.js +62 -0
  111. package/dist/middleware/MiddlewareRouterDeployer.js.map +1 -0
  112. package/dist/middleware/account/InterchainAccount.d.ts +11 -0
  113. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -0
  114. package/dist/middleware/account/InterchainAccount.js +21 -0
  115. package/dist/middleware/account/InterchainAccount.js.map +1 -0
  116. package/dist/middleware/account/InterchainAccountChecker.d.ts +7 -0
  117. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -0
  118. package/dist/middleware/account/InterchainAccountChecker.js +8 -0
  119. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -0
  120. package/dist/middleware/account/InterchainAccountDeployer.d.ts +14 -0
  121. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -0
  122. package/dist/middleware/account/InterchainAccountDeployer.js +70 -0
  123. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -0
  124. package/dist/middleware/account/accounts.hardhat-test.d.ts +2 -0
  125. package/dist/middleware/account/accounts.hardhat-test.d.ts.map +1 -0
  126. package/dist/middleware/account/accounts.hardhat-test.js +65 -0
  127. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -0
  128. package/dist/middleware/account/contracts.d.ts +7 -0
  129. package/dist/middleware/account/contracts.d.ts.map +1 -0
  130. package/dist/middleware/account/contracts.js +9 -0
  131. package/dist/middleware/account/contracts.js.map +1 -0
  132. package/dist/middleware/accounts.hardhat-test.js +6 -12
  133. package/dist/middleware/accounts.hardhat-test.js.map +1 -1
  134. package/dist/middleware/deploy.d.ts +7 -7
  135. package/dist/middleware/deploy.d.ts.map +1 -1
  136. package/dist/middleware/deploy.js +76 -20
  137. package/dist/middleware/deploy.js.map +1 -1
  138. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +5 -4
  139. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  140. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +15 -2
  141. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  142. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +15 -6
  143. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  144. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +37 -25
  145. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  146. package/dist/middleware/liquidity-layer/contracts.d.ts +5 -8
  147. package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
  148. package/dist/middleware/liquidity-layer/contracts.js +2 -1
  149. package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
  150. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +35 -32
  151. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  152. package/dist/middleware/queries.hardhat-test.js +1 -1
  153. package/dist/middleware/queries.hardhat-test.js.map +1 -1
  154. package/dist/middleware/query/InterchainQuery.d.ts +11 -0
  155. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -0
  156. package/dist/middleware/query/InterchainQuery.js +21 -0
  157. package/dist/middleware/query/InterchainQuery.js.map +1 -0
  158. package/dist/middleware/query/InterchainQueryChecker.d.ts +7 -0
  159. package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -0
  160. package/dist/middleware/query/InterchainQueryChecker.js +8 -0
  161. package/dist/middleware/query/InterchainQueryChecker.js.map +1 -0
  162. package/dist/middleware/query/InterchainQueryDeployer.d.ts +17 -0
  163. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -0
  164. package/dist/middleware/query/InterchainQueryDeployer.js +40 -0
  165. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -0
  166. package/dist/middleware/query/contracts.d.ts +7 -0
  167. package/dist/middleware/query/contracts.d.ts.map +1 -0
  168. package/dist/middleware/query/contracts.js +9 -0
  169. package/dist/middleware/query/contracts.js.map +1 -0
  170. package/dist/middleware/query/queries.hardhat-test.d.ts +2 -0
  171. package/dist/middleware/query/queries.hardhat-test.d.ts.map +1 -0
  172. package/dist/middleware/query/queries.hardhat-test.js +82 -0
  173. package/dist/middleware/query/queries.hardhat-test.js.map +1 -0
  174. package/dist/providers/MultiProvider.d.ts +6 -1
  175. package/dist/providers/MultiProvider.d.ts.map +1 -1
  176. package/dist/providers/MultiProvider.js +32 -26
  177. package/dist/providers/MultiProvider.js.map +1 -1
  178. package/dist/proxy.d.ts +4 -1
  179. package/dist/proxy.d.ts.map +1 -1
  180. package/dist/proxy.js +8 -1
  181. package/dist/proxy.js.map +1 -1
  182. package/dist/router/GasRouterDeployer.d.ts +5 -6
  183. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  184. package/dist/router/GasRouterDeployer.js +6 -10
  185. package/dist/router/GasRouterDeployer.js.map +1 -1
  186. package/dist/router/HyperlaneRouterChecker.d.ts +3 -5
  187. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  188. package/dist/router/HyperlaneRouterChecker.js +6 -11
  189. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  190. package/dist/router/HyperlaneRouterDeployer.d.ts +10 -9
  191. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  192. package/dist/router/HyperlaneRouterDeployer.js +20 -39
  193. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  194. package/dist/router/ProxiedRouterChecker.d.ts +8 -0
  195. package/dist/router/ProxiedRouterChecker.d.ts.map +1 -0
  196. package/dist/router/ProxiedRouterChecker.js +26 -0
  197. package/dist/router/ProxiedRouterChecker.js.map +1 -0
  198. package/dist/router/ProxiedRouterDeployer.d.ts +13 -0
  199. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -0
  200. package/dist/router/ProxiedRouterDeployer.js +35 -0
  201. package/dist/router/ProxiedRouterDeployer.js.map +1 -0
  202. package/dist/router/RouterApps.d.ts +6 -4
  203. package/dist/router/RouterApps.d.ts.map +1 -1
  204. package/dist/router/RouterApps.js +2 -2
  205. package/dist/router/RouterApps.js.map +1 -1
  206. package/dist/router/app.d.ts +14 -0
  207. package/dist/router/app.d.ts.map +1 -0
  208. package/dist/router/app.js +31 -0
  209. package/dist/router/app.js.map +1 -0
  210. package/dist/router/types.d.ts +5 -18
  211. package/dist/router/types.d.ts.map +1 -1
  212. package/dist/test/envSubsetDeployer/app.d.ts +18 -11
  213. package/dist/test/envSubsetDeployer/app.d.ts.map +1 -1
  214. package/dist/test/envSubsetDeployer/app.js +14 -15
  215. package/dist/test/envSubsetDeployer/app.js.map +1 -1
  216. package/dist/test/envSubsetDeployer/check-single-chain.js +6 -4
  217. package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -1
  218. package/dist/test/envSubsetDeployer/deploy-single-chain.js +7 -5
  219. package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -1
  220. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +12 -13
  221. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -1
  222. package/dist/test/testUtils.d.ts +10 -23
  223. package/dist/test/testUtils.d.ts.map +1 -1
  224. package/dist/test/testUtils.js +45 -60
  225. package/dist/test/testUtils.js.map +1 -1
  226. package/dist/utils/ism.d.ts +2 -0
  227. package/dist/utils/ism.d.ts.map +1 -0
  228. package/dist/utils/ism.js +18 -0
  229. package/dist/utils/ism.js.map +1 -0
  230. package/dist/utils/objects.d.ts +3 -1
  231. package/dist/utils/objects.d.ts.map +1 -1
  232. package/dist/utils/objects.js +39 -3
  233. package/dist/utils/objects.js.map +1 -1
  234. package/package.json +5 -5
@@ -1,47 +1,47 @@
1
1
  import { Debugger } from 'debug';
2
- import { ethers } from 'ethers';
3
- import { Ownable, ProxyAdmin } from '@hyperlane-xyz/core';
2
+ import { Contract, ethers } from 'ethers';
3
+ import { HyperlaneConnectionClient, Ownable, ProxyAdmin, TransparentUpgradeableProxy } from '@hyperlane-xyz/core';
4
4
  import { types } from '@hyperlane-xyz/utils';
5
- import { HyperlaneContracts, HyperlaneFactories } from '../contracts';
5
+ import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts';
6
+ import { HyperlaneAddressesMap } from '../contracts';
6
7
  import { MultiProvider } from '../providers/MultiProvider';
7
- import { ProxiedContract, TransparentProxyAddresses } from '../proxy';
8
+ import { ConnectionClientConfig } from '../router/types';
8
9
  import { ChainMap, ChainName } from '../types';
9
10
  import { ContractVerificationInput } from './verify/types';
10
11
  export interface DeployerOptions {
11
12
  logger?: Debugger;
13
+ chainTimeoutMs?: number;
12
14
  }
13
- export interface DeployOptions {
14
- create2Salt?: string;
15
- initCalldata?: string;
16
- }
17
- export declare const CREATE2FACTORY_ADDRESS = "0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a";
18
- export declare abstract class HyperlaneDeployer<Config, Contracts extends HyperlaneContracts, Factories extends HyperlaneFactories> {
15
+ export declare abstract class HyperlaneDeployer<Config, Factories extends HyperlaneFactories> {
19
16
  protected readonly multiProvider: MultiProvider;
20
- protected readonly configMap: ChainMap<Config>;
21
17
  protected readonly factories: Factories;
22
18
  protected readonly options?: DeployerOptions | undefined;
23
- deployedContracts: ChainMap<Contracts>;
24
19
  verificationInputs: ChainMap<ContractVerificationInput[]>;
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: ChainMap<Contracts>): void;
28
- abstract deployContracts(chain: ChainName, config: Config): Promise<Contracts>;
29
- deploy(partialDeployment?: ChainMap<Contracts>): Promise<ChainMap<Contracts>>;
23
+ protected chainTimeoutMs: number;
24
+ constructor(multiProvider: MultiProvider, factories: Factories, options?: DeployerOptions | undefined);
25
+ cacheContracts(partialDeployment: HyperlaneContractsMap<Factories>): void;
26
+ cacheAddresses(partialDeployment: HyperlaneAddressesMap<Factories>): void;
27
+ abstract deployContracts(chain: ChainName, config: Config): Promise<HyperlaneContracts<Factories>>;
28
+ deploy(configMap: ChainMap<Config>): Promise<HyperlaneContractsMap<Factories>>;
29
+ protected runIf<T>(chain: ChainName, address: string, fn: () => Promise<T>, label?: string): Promise<T | undefined>;
30
30
  protected runIfOwner<T>(chain: ChainName, ownable: Ownable, fn: () => Promise<T>): Promise<T | undefined>;
31
- protected deployContractFromFactory<F extends ethers.ContractFactory>(chain: ChainName, factory: F, contractName: string, constructorArgs: Parameters<F['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<F['deploy']>>;
32
- deployContract<K extends keyof Factories>(chain: ChainName, contractName: K, args: Parameters<Factories[K]['deploy']>, deployOpts?: DeployOptions): Promise<ReturnType<Factories[K]['deploy']>>;
33
- protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C, proxyAdmin: ProxyAdmin, initArgs: Parameters<C['initialize']>, deployOpts?: DeployOptions): Promise<ProxiedContract<C, TransparentProxyAddresses>>;
31
+ protected runIfAdmin<T>(chain: ChainName, proxy: Contract, signerAdminFn: () => Promise<T>, proxyAdminOwnerFn: (proxyAdmin: ProxyAdmin) => Promise<T>): Promise<T | undefined>;
32
+ protected initConnectionClient(local: ChainName, connectionClient: HyperlaneConnectionClient, config: ConnectionClientConfig): Promise<void>;
33
+ 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']>>;
34
+ 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]>;
35
+ protected changeAdmin(chain: ChainName, proxy: TransparentUpgradeableProxy, admin: string): Promise<void>;
36
+ protected upgradeAndInitialize<C extends ethers.Contract>(chain: ChainName, proxy: TransparentUpgradeableProxy, implementation: C, initializeArgs: Parameters<C['initialize']>): Promise<void>;
37
+ protected deployProxy<C extends ethers.Contract>(chain: ChainName, implementation: C, proxyAdmin: string, initializeArgs?: Parameters<C['initialize']>): Promise<C>;
34
38
  private cacheContract;
35
39
  /**
36
40
  * Deploys the Implementation and Proxy for a given contract
37
41
  *
38
42
  */
39
- deployProxiedContract<K extends keyof Factories, C extends Awaited<ReturnType<Factories[K]['deploy']>>>(chain: ChainName, contractName: K, constructorArgs: Parameters<Factories[K]['deploy']>, proxyAdmin: ProxyAdmin, initArgs: Parameters<C['initialize']>, deployOpts?: DeployOptions): Promise<ProxiedContract<C, TransparentProxyAddresses>>;
40
- /**
41
- * Changes the proxyAdmin of `proxyAddress` from `currentProxyAdmin` to `desiredProxyAdmin`
42
- * if the admin is not already the `desiredProxyAdmin`.
43
- */
44
- changeProxyAdmin(chain: ChainName, proxyAddress: types.Address, currentProxyAdmin: ProxyAdmin, desiredProxyAdmin: ProxyAdmin): Promise<void>;
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[]>;
45
+ protected transferOwnershipOfContracts(chain: ChainName, owner: types.Address, ownables: Ownable[]): Promise<ethers.ContractReceipt[]>;
46
46
  }
47
47
  //# 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,236 +9,205 @@ 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
- const ethers_1 = require("ethers");
15
14
  const core_1 = require("@hyperlane-xyz/core");
15
+ const utils_1 = require("@hyperlane-xyz/utils");
16
16
  const contracts_1 = require("../contracts");
17
- const proxy_1 = require("../proxy");
18
- const objects_1 = require("../utils/objects");
19
- const utils_1 = require("./verify/utils");
20
- exports.CREATE2FACTORY_ADDRESS = '0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a';
17
+ const contracts_2 = require("../contracts");
18
+ const proxy_1 = require("./proxy");
19
+ const utils_2 = require("./verify/utils");
21
20
  class HyperlaneDeployer {
22
- constructor(multiProvider, configMap, factories, options) {
21
+ constructor(multiProvider, factories, options) {
22
+ var _a, _b;
23
23
  this.multiProvider = multiProvider;
24
- this.configMap = configMap;
25
24
  this.factories = factories;
26
25
  this.options = options;
26
+ this.verificationInputs = {};
27
27
  this.deployedContracts = {};
28
- this.verificationInputs = (0, objects_1.objMap)(configMap, () => []);
29
- 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
30
31
  }
31
32
  cacheContracts(partialDeployment) {
32
33
  this.deployedContracts = (0, contracts_1.connectContractsMap)(partialDeployment, this.multiProvider);
33
34
  }
34
- deploy(partialDeployment) {
35
- var _a;
35
+ cacheAddresses(partialDeployment) {
36
+ this.cacheContracts((0, contracts_2.attachContractsMap)(partialDeployment, this.factories));
37
+ }
38
+ deploy(configMap) {
36
39
  return __awaiter(this, void 0, void 0, function* () {
37
- if (partialDeployment) {
38
- this.cacheContracts(partialDeployment);
39
- }
40
- const configChains = Object.keys(this.configMap);
40
+ const configChains = Object.keys(configMap);
41
41
  const targetChains = this.multiProvider.intersect(configChains, true).intersection;
42
42
  this.logger(`Start deploy to ${targetChains}`);
43
43
  for (const chain of targetChains) {
44
44
  const signerUrl = yield this.multiProvider.tryGetExplorerAddressUrl(chain);
45
- this.logger(`Deploying to ${chain} from ${signerUrl} ...`);
46
- this.deployedContracts[chain] = yield this.deployContracts(chain, this.configMap[chain]);
47
- // TODO: remove these logs once we have better timeouts
48
- this.logger(JSON.stringify((0, contracts_1.serializeContracts)((_a = this.deployedContracts[chain]) !== null && _a !== void 0 ? _a : {}), null, 2));
45
+ this.logger(`Deploying to ${chain} from ${signerUrl}`);
46
+ this.startingBlockNumbers[chain] = yield this.multiProvider
47
+ .getProvider(chain)
48
+ .getBlockNumber();
49
+ yield utils_1.utils.runWithTimeout(this.chainTimeoutMs, () => __awaiter(this, void 0, void 0, function* () {
50
+ this.deployedContracts[chain] = yield this.deployContracts(chain, configMap[chain]);
51
+ }));
49
52
  }
50
53
  return this.deployedContracts;
51
54
  });
52
55
  }
53
- runIfOwner(chain, ownable, fn) {
56
+ runIf(chain, address, fn, label = 'address') {
54
57
  return __awaiter(this, void 0, void 0, function* () {
55
- const address = yield this.multiProvider.getSignerAddress(chain);
56
- const owner = yield ownable.owner();
57
- const logObj = { owner, signer: address };
58
- if (address === owner) {
58
+ const signer = yield this.multiProvider.getSignerAddress(chain);
59
+ if (utils_1.utils.eqAddress(address, signer)) {
59
60
  return fn();
60
61
  }
61
62
  else {
62
- this.logger('Owner and signer NOT equal, skipping', logObj);
63
+ this.logger(`Signer (${signer}) does not match ${label} (${address})`);
63
64
  }
64
65
  return undefined;
65
66
  });
66
67
  }
67
- deployContractFromFactory(chain, factory, contractName, constructorArgs, deployOpts) {
68
+ runIfOwner(chain, ownable, fn) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ return this.runIf(chain, yield ownable.callStatic.owner(), fn, 'owner');
71
+ });
72
+ }
73
+ runIfAdmin(chain, proxy, signerAdminFn, proxyAdminOwnerFn) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ const admin = yield (0, proxy_1.proxyAdmin)(this.multiProvider.getProvider(chain), proxy.address);
76
+ const code = yield this.multiProvider.getProvider(chain).getCode(admin);
77
+ // if admin is a ProxyAdmin, run the proxyAdminOwnerFn (if deployer is owner)
78
+ if (code !== '0x') {
79
+ this.logger(`Admin is a ProxyAdmin (${admin})`);
80
+ const proxyAdmin = core_1.ProxyAdmin__factory.connect(admin, proxy.signer);
81
+ return this.runIfOwner(chain, proxyAdmin, () => proxyAdminOwnerFn(proxyAdmin));
82
+ }
83
+ else {
84
+ this.logger(`Admin is an EOA (${admin})`);
85
+ // if admin is an EOA, run the signerAdminFn (if deployer is admin)
86
+ return this.runIf(chain, admin, () => signerAdminFn(), 'admin');
87
+ }
88
+ });
89
+ }
90
+ initConnectionClient(local, connectionClient, config) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ this.logger(`Initializing connection client on ${local}...`);
93
+ return this.runIfOwner(local, connectionClient, () => __awaiter(this, void 0, void 0, function* () {
94
+ // set mailbox if not already set (and configured)
95
+ if (config.mailbox !== (yield connectionClient.mailbox())) {
96
+ this.logger(`Set mailbox on (${local})`);
97
+ yield this.multiProvider.handleTx(local, connectionClient.setMailbox(config.mailbox));
98
+ }
99
+ // set interchain gas paymaster if not already set (and configured)
100
+ if (config.interchainGasPaymaster !==
101
+ (yield connectionClient.interchainGasPaymaster())) {
102
+ this.logger(`Set interchain gas paymaster on ${local}`);
103
+ yield this.multiProvider.handleTx(local, connectionClient.setInterchainGasPaymaster(config.interchainGasPaymaster));
104
+ }
105
+ // set interchain security module if not already set (and configured)
106
+ if (config.interchainSecurityModule &&
107
+ config.interchainSecurityModule !==
108
+ (yield connectionClient.interchainSecurityModule())) {
109
+ this.logger(`Set interchain security module on ${local}`);
110
+ yield this.multiProvider.handleTx(local, connectionClient.setInterchainSecurityModule(config.interchainSecurityModule));
111
+ }
112
+ }));
113
+ });
114
+ }
115
+ deployContractFromFactory(chain, factory, contractName, constructorArgs, initializeArgs) {
68
116
  var _a;
69
117
  return __awaiter(this, void 0, void 0, function* () {
70
118
  const cachedContract = (_a = this.deployedContracts[chain]) === null || _a === void 0 ? void 0 : _a[contractName];
71
- if (cachedContract && !(cachedContract instanceof proxy_1.ProxiedContract)) {
119
+ if (cachedContract) {
72
120
  this.logger(`Recovered ${contractName} on ${chain} ${cachedContract.address}`);
73
121
  return cachedContract;
74
122
  }
75
- const provider = this.multiProvider.getProvider(chain);
76
123
  const signer = this.multiProvider.getSigner(chain);
77
124
  const overrides = this.multiProvider.getTransactionOverrides(chain);
78
125
  this.logger(`Deploy ${contractName} on ${chain}`);
79
- const factoryCode = yield provider.getCode(exports.CREATE2FACTORY_ADDRESS);
80
- if (deployOpts && deployOpts.create2Salt && factoryCode != '0x') {
81
- this.logger(`Deploying with CREATE2 factory`);
82
- const create2Factory = core_1.Create2Factory__factory.connect(exports.CREATE2FACTORY_ADDRESS, signer);
83
- const salt = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.toUtf8Bytes(deployOpts.create2Salt)));
84
- const encodedConstructorArgs = factory.interface.encodeDeploy(constructorArgs);
85
- const bytecode = ethers_1.ethers.utils.hexlify(ethers_1.ethers.utils.concat([factory.bytecode, encodedConstructorArgs]));
86
- // TODO: Maybe recover deployed contracts?
87
- const contractAddr = yield create2Factory.deployedAddress(bytecode, yield signer.getAddress(), salt);
88
- const contractCode = yield provider.getCode(contractAddr);
89
- if (contractCode === '0x') {
90
- const deployTx = deployOpts.initCalldata
91
- ? yield create2Factory.deployAndInit(bytecode, salt, deployOpts.initCalldata, overrides)
92
- : yield create2Factory.deploy(bytecode, salt, overrides);
93
- yield this.multiProvider.handleTx(chain, deployTx);
94
- }
95
- else {
96
- this.logger(`Found contract deployed at CREATE2 address, skipping contract deploy`);
97
- }
98
- this.verificationInputs[chain].push({
99
- name: contractName.charAt(0).toUpperCase() + contractName.slice(1),
100
- address: contractAddr,
101
- isProxy: contractName.endsWith('Proxy'),
102
- constructorArguments: encodedConstructorArgs,
103
- });
104
- return factory.attach(contractAddr).connect(signer);
105
- }
106
- else {
107
- const contract = yield factory
108
- .connect(signer)
109
- .deploy(...constructorArgs, overrides);
110
- yield this.multiProvider.handleTx(chain, contract.deployTransaction);
111
- if (deployOpts === null || deployOpts === void 0 ? void 0 : deployOpts.initCalldata) {
112
- this.logger(`Initialize ${contractName} on ${chain}`);
113
- const initTx = yield signer.sendTransaction({
114
- to: contract.address,
115
- data: deployOpts.initCalldata,
116
- });
117
- yield this.multiProvider.handleTx(chain, initTx);
118
- }
119
- const verificationInput = (0, utils_1.getContractVerificationInput)(contractName, contract, factory.bytecode);
120
- this.verificationInputs[chain].push(verificationInput);
121
- return contract;
126
+ const contract = yield factory
127
+ .connect(signer)
128
+ .deploy(...constructorArgs, overrides);
129
+ yield this.multiProvider.handleTx(chain, contract.deployTransaction);
130
+ if (initializeArgs) {
131
+ this.logger(`Initialize ${contractName} on ${chain}`);
132
+ const initTx = yield contract.initialize(...initializeArgs);
133
+ yield this.multiProvider.handleTx(chain, initTx);
122
134
  }
135
+ const verificationInput = (0, utils_2.getContractVerificationInput)(contractName, contract, factory.bytecode);
136
+ this.verificationInputs[chain] = this.verificationInputs[chain] || [];
137
+ this.verificationInputs[chain].push(verificationInput);
138
+ return contract;
123
139
  });
124
140
  }
125
- deployContract(chain, contractName, args, deployOpts) {
141
+ deployContract(chain, contractName, constructorArgs, initializeArgs) {
126
142
  return __awaiter(this, void 0, void 0, function* () {
127
- const contract = yield this.deployContractFromFactory(chain, this.factories[contractName], contractName.toString(), args, deployOpts);
143
+ const contract = (yield this.deployContractFromFactory(chain, this.factories[contractName], contractName.toString(), constructorArgs, initializeArgs));
128
144
  this.cacheContract(chain, contractName, contract);
129
145
  return contract;
130
146
  });
131
147
  }
132
- deployProxy(chain, implementation, proxyAdmin, initArgs, deployOpts) {
148
+ changeAdmin(chain, proxy, admin) {
133
149
  return __awaiter(this, void 0, void 0, function* () {
134
- const initData = implementation.interface.encodeFunctionData('initialize', initArgs);
135
- let proxy;
136
- const provider = this.multiProvider.getProvider(chain);
137
- const overrides = this.multiProvider.getTransactionOverrides(chain);
138
- this.logger(`Deploying transparent upgradable proxy`);
139
- if (deployOpts &&
140
- deployOpts.create2Salt &&
141
- (yield provider.getCode(exports.CREATE2FACTORY_ADDRESS)) != '0x') {
142
- // To get consistent addresses with Create2, we need to use
143
- // consistent constructor arguments.
144
- // The three constructor arguments we need to configure are:
145
- // 1. Proxy implementation: This will start as the Create2Factory
146
- // address, as it needs to be a contract address.
147
- // After we've taken over as the proxy admin, we will set it
148
- // to the proper address.
149
- // 2. Proxy admin: This will start as the Create2Factory contract
150
- // address. We will change this to the proper address atomically.
151
- // 3. Initialization data: This will start as null, and we will
152
- // initialize our proxied contract manually.
153
- const constructorArgs = [exports.CREATE2FACTORY_ADDRESS, exports.CREATE2FACTORY_ADDRESS, '0x'];
154
- // The proxy admin during deployment must be owned by the deployer.
155
- // If the canonical proxyAdmin isn't owned by the deployer, we use
156
- // a temporary deployer-owned proxy admin.
157
- // Note this requires the proxy contracts to ensure admin power has been
158
- // transferred to the canonical proxy admin at some point in the future.
159
- const proxyAdminOwner = yield proxyAdmin.owner();
160
- const deployer = yield this.multiProvider.getSignerAddress(chain);
161
- let deployerOwnedProxyAdmin = proxyAdmin;
162
- if (proxyAdminOwner.toLowerCase() !== deployer.toLowerCase()) {
163
- deployerOwnedProxyAdmin = yield this.deployContractFromFactory(chain, new core_1.ProxyAdmin__factory(), 'DeployerOwnedProxyAdmin', []);
164
- }
165
- // We set the initCallData to atomically change admin to the deployer owned proxyAdmin
166
- // contract.
167
- const initCalldata = new core_1.TransparentUpgradeableProxy__factory().interface.encodeFunctionData('changeAdmin', [deployerOwnedProxyAdmin.address]);
168
- proxy = yield this.deployContractFromFactory(chain, new core_1.TransparentUpgradeableProxy__factory(), 'TransparentUpgradeableProxy', constructorArgs, Object.assign(Object.assign({}, deployOpts), { initCalldata }));
169
- this.logger(`Upgrading and initializing transparent upgradable proxy`);
170
- // We now have a deployed proxy admin'd by deployerOwnedProxyAdmin.
171
- // Upgrade its implementation and initialize it
172
- const upgradeAndCallTx = yield deployerOwnedProxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData, overrides);
173
- yield this.multiProvider.handleTx(chain, upgradeAndCallTx);
174
- // Change the proxy admin from deployerOwnedProxyAdmin to proxyAdmin if necessary.
175
- yield this.changeProxyAdmin(chain, proxy.address, deployerOwnedProxyAdmin, proxyAdmin);
150
+ if (utils_1.utils.eqAddress(admin, yield proxy.callStatic.admin())) {
151
+ this.logger(`Admin set correctly, skipping admin change`);
152
+ return;
176
153
  }
177
- else {
178
- const constructorArgs = [implementation.address, proxyAdmin.address, initData];
179
- proxy = yield this.deployContractFromFactory(chain, new core_1.TransparentUpgradeableProxy__factory(), 'TransparentUpgradeableProxy', constructorArgs);
154
+ this.logger(`Changing proxy admin`);
155
+ yield this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.changeAdmin(admin)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.changeProxyAdmin(proxy.address, admin)));
156
+ });
157
+ }
158
+ upgradeAndInitialize(chain, proxy, implementation, initializeArgs) {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ const current = yield proxy.callStatic.implementation();
161
+ if (utils_1.utils.eqAddress(implementation.address, current)) {
162
+ this.logger(`Implementation set correctly, skipping upgrade`);
163
+ return;
180
164
  }
181
- return new proxy_1.ProxiedContract(implementation.attach(proxy.address), {
182
- kind: proxy_1.ProxyKind.Transparent,
183
- proxy: proxy.address,
184
- implementation: implementation.address,
185
- });
165
+ this.logger(`Upgrading and initializing implementation`);
166
+ const initData = implementation.interface.encodeFunctionData('initialize', initializeArgs);
167
+ yield this.runIfAdmin(chain, proxy, () => this.multiProvider.handleTx(chain, proxy.upgradeToAndCall(implementation.address, initData)), (proxyAdmin) => this.multiProvider.handleTx(chain, proxyAdmin.upgradeAndCall(proxy.address, implementation.address, initData)));
168
+ });
169
+ }
170
+ deployProxy(chain, implementation, proxyAdmin, initializeArgs) {
171
+ return __awaiter(this, void 0, void 0, function* () {
172
+ const initData = initializeArgs
173
+ ? implementation.interface.encodeFunctionData('initialize', initializeArgs)
174
+ : '0x';
175
+ this.logger(`Deploying transparent upgradable proxy`);
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);
182
+ return implementation.attach(proxy.address);
186
183
  });
187
184
  }
188
185
  cacheContract(chain, contractName, contract) {
189
186
  if (!this.deployedContracts[chain]) {
190
187
  this.deployedContracts[chain] = {};
191
188
  }
192
- // @ts-ignore
193
189
  this.deployedContracts[chain][contractName] = contract;
194
190
  }
195
191
  /**
196
192
  * Deploys the Implementation and Proxy for a given contract
197
193
  *
198
194
  */
199
- deployProxiedContract(chain, contractName, constructorArgs, proxyAdmin, initArgs, deployOpts) {
195
+ deployProxiedContract(chain, contractName, proxyAdmin, constructorArgs, initializeArgs) {
200
196
  var _a;
201
197
  return __awaiter(this, void 0, void 0, function* () {
202
198
  const cachedProxy = (_a = this.deployedContracts[chain]) === null || _a === void 0 ? void 0 : _a[contractName];
203
- if (cachedProxy &&
204
- cachedProxy.addresses.proxy &&
205
- cachedProxy.addresses.implementation) {
206
- this.logger(`Recovered ${contractName.toString()} on ${chain} proxy=${cachedProxy.addresses.proxy} implementation=${cachedProxy.addresses.implementation}`);
207
- return cachedProxy;
208
- }
209
- const implementation = yield this.deployContract(chain, contractName, constructorArgs, deployOpts);
210
- // If the proxy already existed in artifacts but the implementation did not,
211
- // we only deploy the implementation and keep the proxy.
212
- // Changing the proxy's implementation address on-chain is left to
213
- // the govern / checker script
214
- if (cachedProxy && cachedProxy.addresses.proxy) {
215
- this.logger(`Recovered ${contractName.toString()} on ${chain} proxy=${cachedProxy.addresses.proxy}`);
216
- cachedProxy.addresses.implementation = implementation.address;
217
- this.cacheContract(chain, contractName, cachedProxy);
199
+ if (cachedProxy) {
200
+ this.logger(`Recovered ${contractName} on ${chain} ${cachedProxy.address}`);
218
201
  return cachedProxy;
219
202
  }
220
- const contract = yield this.deployProxy(chain, implementation, proxyAdmin, initArgs, deployOpts);
203
+ // Try to initialize the implementation even though it may not be necessary
204
+ const implementation = yield this.deployContract(chain, contractName, constructorArgs, initializeArgs);
205
+ // Initialize the proxy the same way
206
+ const contract = yield this.deployProxy(chain, implementation, proxyAdmin, initializeArgs);
221
207
  this.cacheContract(chain, contractName, contract);
222
208
  return contract;
223
209
  });
224
210
  }
225
- /**
226
- * Changes the proxyAdmin of `proxyAddress` from `currentProxyAdmin` to `desiredProxyAdmin`
227
- * if the admin is not already the `desiredProxyAdmin`.
228
- */
229
- changeProxyAdmin(chain, proxyAddress, currentProxyAdmin, desiredProxyAdmin) {
230
- return __awaiter(this, void 0, void 0, function* () {
231
- if (currentProxyAdmin.address.toLowerCase() ===
232
- desiredProxyAdmin.address.toLowerCase()) {
233
- this.logger('Current proxy admin is the desired proxy admin');
234
- return;
235
- }
236
- this.logger(`Transferring proxy admin from ${currentProxyAdmin} to ${desiredProxyAdmin}`);
237
- const overrides = this.multiProvider.getTransactionOverrides(chain);
238
- const changeAdminTx = yield currentProxyAdmin.changeProxyAdmin(proxyAddress, desiredProxyAdmin.address, overrides);
239
- yield this.multiProvider.handleTx(chain, changeAdminTx);
240
- });
241
- }
242
211
  mergeWithExistingVerificationInputs(existingInputsMap) {
243
212
  const allChains = new Set();
244
213
  Object.keys(existingInputsMap).forEach((_) => allChains.add(_));
@@ -251,6 +220,20 @@ class HyperlaneDeployer {
251
220
  }
252
221
  return ret;
253
222
  }
223
+ transferOwnershipOfContracts(chain, owner, ownables) {
224
+ return __awaiter(this, void 0, void 0, function* () {
225
+ const receipts = [];
226
+ for (const ownable of ownables) {
227
+ const currentOwner = yield ownable.owner();
228
+ if (!utils_1.utils.eqAddress(currentOwner, owner)) {
229
+ const receipt = yield this.runIfOwner(chain, ownable, () => this.multiProvider.handleTx(chain, ownable.transferOwnership(owner, this.multiProvider.getTransactionOverrides(chain))));
230
+ if (receipt)
231
+ receipts.push(receipt);
232
+ }
233
+ }
234
+ return receipts.filter((x) => !!x);
235
+ });
236
+ }
254
237
  }
255
238
  exports.HyperlaneDeployer = HyperlaneDeployer;
256
239
  //# sourceMappingURL=HyperlaneDeployer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAwC;AACxC,mCAAgC;AAEhC,8CAO6B;AAG7B,4CAMsB;AAEtB,oCAIkB;AAElB,8CAA0C;AAG1C,0CAA8D;AAWjD,QAAA,sBAAsB,GACjC,4CAA4C,CAAC;AAE/C,MAAsB,iBAAiB;IASrC,YACqB,aAA4B,EAC5B,SAA2B,EAC3B,SAAoB,EACpB,OAAyB;QAHzB,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAkB;QAC3B,cAAS,GAAT,SAAS,CAAW;QACpB,YAAO,GAAP,OAAO,CAAkB;QARvC,sBAAiB,GAAwB,EAAE,CAAC;QAUjD,IAAI,CAAC,kBAAkB,GAAG,IAAA,gBAAM,EAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,IAAA,aAAK,EAAC,uBAAuB,CAAC,CAAC;IAClE,CAAC;IAED,cAAc,CAAC,iBAAsC;QACnD,IAAI,CAAC,iBAAiB,GAAG,IAAA,+BAAmB,EAC1C,iBAAiB,EACjB,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAOK,MAAM,CACV,iBAAuC;;;YAEvC,IAAI,iBAAiB,EAAE;gBACrB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;aACxC;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAC/C,YAAY,EACZ,IAAI,CACL,CAAC,YAAY,CAAC;YAEf,IAAI,CAAC,MAAM,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;gBAChC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,wBAAwB,CACjE,KAAK,CACN,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,SAAS,MAAM,CAAC,CAAC;gBAC3D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CACxD,KAAK,EACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACtB,CAAC;gBACF,uDAAuD;gBACvD,IAAI,CAAC,MAAM,CACT,IAAI,CAAC,SAAS,CACZ,IAAA,8BAAkB,EAChB,MAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAe,mCAAI,EAAE,CACnD,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;aACH;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;;KAC/B;IAEe,UAAU,CACxB,KAAgB,EAChB,OAAgB,EAChB,EAAoB;;YAEpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC1C,IAAI,OAAO,KAAK,KAAK,EAAE;gBACrB,OAAO,EAAE,EAAE,CAAC;aACb;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;aAC7D;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAEe,yBAAyB,CACvC,KAAgB,EAChB,OAAU,EACV,YAAoB,EACpB,eAAwC,EACxC,UAA0B;;;YAE1B,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,0CAAG,YAAY,CAAC,CAAC;YACrE,IAAI,cAAc,IAAI,CAAC,CAAC,cAAc,YAAY,uBAAe,CAAC,EAAE;gBAClE,IAAI,CAAC,MAAM,CACT,aAAa,YAAY,OAAO,KAAK,IAAI,cAAc,CAAC,OAAO,EAAE,CAClE,CAAC;gBACF,OAAO,cAAyC,CAAC;aAClD;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,UAAU,YAAY,OAAO,KAAK,EAAE,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,8BAAsB,CAAC,CAAC;YACnE,IAAI,UAAU,IAAI,UAAU,CAAC,WAAW,IAAI,WAAW,IAAI,IAAI,EAAE;gBAC/D,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBAE9C,MAAM,cAAc,GAAG,8BAAuB,CAAC,OAAO,CACpD,8BAAsB,EACtB,MAAM,CACP,CAAC;gBACF,MAAM,IAAI,GAAG,eAAM,CAAC,KAAK,CAAC,SAAS,CACjC,eAAM,CAAC,KAAK,CAAC,OAAO,CAAC,eAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CACvE,CAAC;gBACF,MAAM,sBAAsB,GAC1B,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,eAAM,CAAC,KAAK,CAAC,OAAO,CACnC,eAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAChE,CAAC;gBAEF,0CAA0C;gBAC1C,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,eAAe,CACvD,QAAQ,EACR,MAAM,MAAM,CAAC,UAAU,EAAE,EACzB,IAAI,CACL,CAAC;gBAEF,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC1D,IAAI,YAAY,KAAK,IAAI,EAAE;oBACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY;wBACtC,CAAC,CAAC,MAAM,cAAc,CAAC,aAAa,CAChC,QAAQ,EACR,IAAI,EACJ,UAAU,CAAC,YAAY,EACvB,SAAS,CACV;wBACH,CAAC,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC3D,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;iBACpD;qBAAM;oBACL,IAAI,CAAC,MAAM,CACT,sEAAsE,CACvE,CAAC;iBACH;gBAED,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;oBAClC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;oBAClE,OAAO,EAAE,YAAY;oBACrB,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACvC,oBAAoB,EAAE,sBAAsB;iBAC7C,CAAC,CAAC;gBAEH,OAAO,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,MAAM,CAEjD,CAAC;aACH;iBAAM;gBACL,MAAM,QAAQ,GAAG,MAAM,OAAO;qBAC3B,OAAO,CAAC,MAAM,CAAC;qBACf,MAAM,CAAC,GAAG,eAAe,EAAE,SAAS,CAAC,CAAC;gBAEzC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAErE,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,YAAY,EAAE;oBAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,YAAY,OAAO,KAAK,EAAE,CAAC,CAAC;oBACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;wBAC1C,EAAE,EAAE,QAAQ,CAAC,OAAO;wBACpB,IAAI,EAAE,UAAU,CAAC,YAAY;qBAC9B,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBAClD;gBAED,MAAM,iBAAiB,GAAG,IAAA,oCAA4B,EACpD,YAAY,EACZ,QAAQ,EACR,OAAO,CAAC,QAAQ,CACjB,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAEvD,OAAO,QAAmC,CAAC;aAC5C;;KACF;IAEK,cAAc,CAClB,KAAgB,EAChB,YAAe,EACf,IAAwC,EACxC,UAA0B;;YAE1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CACnD,KAAK,EACL,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAC5B,YAAY,CAAC,QAAQ,EAAE,EACvB,IAAI,EACJ,UAAU,CACX,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAEe,WAAW,CACzB,KAAgB,EAChB,cAAiB,EACjB,UAAsB,EACtB,QAAqC,EACrC,UAA0B;;YAE1B,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,kBAAkB,CAC1D,YAAY,EACZ,QAAQ,CACT,CAAC;YACF,IAAI,KAAkC,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC;YACtD,IACE,UAAU;gBACV,UAAU,CAAC,WAAW;gBACtB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,8BAAsB,CAAC,CAAC,IAAI,IAAI,EACxD;gBACA,2DAA2D;gBAC3D,oCAAoC;gBACpC,4DAA4D;gBAC5D,iEAAiE;gBACjE,oDAAoD;gBACpD,+DAA+D;gBAC/D,4BAA4B;gBAC5B,iEAAiE;gBACjE,oEAAoE;gBACpE,+DAA+D;gBAC/D,+CAA+C;gBAC/C,MAAM,eAAe,GAEjB,CAAC,8BAAsB,EAAE,8BAAsB,EAAE,IAAI,CAAC,CAAC;gBAC3D,mEAAmE;gBACnE,kEAAkE;gBAClE,0CAA0C;gBAC1C,wEAAwE;gBACxE,wEAAwE;gBACxE,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAClE,IAAI,uBAAuB,GAAG,UAAU,CAAC;gBACzC,IAAI,eAAe,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE;oBAC5D,uBAAuB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAC5D,KAAK,EACL,IAAI,0BAAmB,EAAE,EACzB,yBAAyB,EACzB,EAAE,CACH,CAAC;iBACH;gBACD,sFAAsF;gBACtF,YAAY;gBACZ,MAAM,YAAY,GAChB,IAAI,2CAAoC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CACrE,aAAa,EACb,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAClC,CAAC;gBACJ,KAAK,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAC1C,KAAK,EACL,IAAI,2CAAoC,EAAE,EAC1C,6BAA6B,EAC7B,eAAe,kCACV,UAAU,KAAE,YAAY,IAC9B,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC;gBACvE,mEAAmE;gBACnE,+CAA+C;gBAC/C,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,cAAc,CACnE,KAAK,CAAC,OAAO,EACb,cAAc,CAAC,OAAO,EACtB,QAAQ,EACR,SAAS,CACV,CAAC;gBACF,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBAC3D,kFAAkF;gBAClF,MAAM,IAAI,CAAC,gBAAgB,CACzB,KAAK,EACL,KAAK,CAAC,OAAO,EACb,uBAAuB,EACvB,UAAU,CACX,CAAC;aACH;iBAAM;gBACL,MAAM,eAAe,GAEjB,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC3D,KAAK,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAC1C,KAAK,EACL,IAAI,2CAAoC,EAAE,EAC1C,6BAA6B,EAC7B,eAAe,CAChB,CAAC;aACH;YAED,OAAO,IAAI,uBAAe,CACxB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAM,EACzC;gBACE,IAAI,EAAE,iBAAS,CAAC,WAAW;gBAC3B,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,cAAc,EAAE,cAAc,CAAC,OAAO;aACvC,CACF,CAAC;QACJ,CAAC;KAAA;IAEO,aAAa,CACnB,KAAgB,EAChB,YAAe,EACf,QAA2B;QAE3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAe,CAAC;SACjD;QACD,aAAa;QACb,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;IACzD,CAAC;IAED;;;OAGG;IACG,qBAAqB,CAIzB,KAAgB,EAChB,YAAe,EACf,eAAmD,EACnD,UAAsB,EACtB,QAAqC,EACrC,UAA0B;;;YAE1B,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,0CAAG,YAAmB,CAAC,CAAC;YACzE,IACE,WAAW;gBACX,WAAW,CAAC,SAAS,CAAC,KAAK;gBAC3B,WAAW,CAAC,SAAS,CAAC,cAAc,EACpC;gBACA,IAAI,CAAC,MAAM,CACT,aAAa,YAAY,CAAC,QAAQ,EAAE,OAAO,KAAK,UAC9C,WAAW,CAAC,SAAS,CAAC,KACxB,mBAAmB,WAAW,CAAC,SAAS,CAAC,cAAc,EAAE,CAC1D,CAAC;gBACF,OAAO,WAA4D,CAAC;aACrE;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAC9C,KAAK,EACL,YAAY,EACZ,eAAe,EACf,UAAU,CACX,CAAC;YACF,4EAA4E;YAC5E,wDAAwD;YACxD,kEAAkE;YAClE,8BAA8B;YAC9B,IAAI,WAAW,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE;gBAC9C,IAAI,CAAC,MAAM,CACT,aAAa,YAAY,CAAC,QAAQ,EAAE,OAAO,KAAK,UAC9C,WAAW,CAAC,SAAS,CAAC,KACxB,EAAE,CACH,CAAC;gBAEF,WAAW,CAAC,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC;gBAC9D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;gBACrD,OAAO,WAA4D,CAAC;aACrE;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,cAAmB,EACnB,UAAU,EACV,QAAQ,EACR,UAAU,CACX,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,QAAQ,CAAC;;KACjB;IAED;;;OAGG;IACG,gBAAgB,CACpB,KAAgB,EAChB,YAA2B,EAC3B,iBAA6B,EAC7B,iBAA6B;;YAE7B,IACE,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE;gBACvC,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,EACvC;gBACA,IAAI,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,OAAO;aACR;YACD,IAAI,CAAC,MAAM,CACT,iCAAiC,iBAAiB,OAAO,iBAAiB,EAAE,CAC7E,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAC5D,YAAY,EACZ,iBAAiB,CAAC,OAAO,EACzB,SAAS,CACV,CAAC;YACF,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC1D,CAAC;KAAA;IAED,mCAAmC,CACjC,iBAAwD;QAExD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAa,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtE,MAAM,GAAG,GAA0C,EAAE,CAAC;QACtD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;SAChD;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAnaD,8CAmaC"}
1
+ {"version":3,"file":"HyperlaneDeployer.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneDeployer.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,6 @@
1
1
  import { ethers } from 'ethers';
2
2
  import type { types } from '@hyperlane-xyz/utils';
3
- import { TransparentProxyAddresses } from '../proxy';
4
- import { ChainName } from '../types';
5
- import { CheckerViolation } from './types';
6
- export interface ProxyViolation extends CheckerViolation {
7
- type: TransparentProxyAddresses['kind'];
8
- data: {
9
- proxyAddresses: TransparentProxyAddresses;
10
- name: string;
11
- };
12
- actual: string;
13
- expected: string;
14
- }
15
3
  export declare function proxyImplementation(provider: ethers.providers.Provider, proxy: types.Address): Promise<types.Address>;
16
4
  export declare function proxyAdmin(provider: ethers.providers.Provider, proxy: types.Address): Promise<types.Address>;
17
- export declare function proxyViolation<Chain extends ChainName>(chain: Chain, name: string, proxyAddresses: TransparentProxyAddresses, actual: types.Address): ProxyViolation;
5
+ export declare function isProxy(provider: ethers.providers.Provider, proxy: types.Address): Promise<boolean>;
18
6
  //# sourceMappingURL=proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,EAAE;QACJ,cAAc,EAAE,yBAAyB,CAAC;QAC1C,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAOxB;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAOxB;AAED,wBAAgB,cAAc,CAAC,KAAK,SAAS,SAAS,EACpD,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,yBAAyB,EACzC,MAAM,EAAE,KAAK,CAAC,OAAO,GACpB,cAAc,CAWhB"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAOxB;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAOxB;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC,CAGlB"}