@hyperlane-xyz/sdk 3.6.2 → 3.8.0-beta0

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 (240) hide show
  1. package/dist/consts/chainMetadata.d.ts +3 -2
  2. package/dist/consts/chainMetadata.d.ts.map +1 -1
  3. package/dist/consts/chainMetadata.js +99 -72
  4. package/dist/consts/chainMetadata.js.map +1 -1
  5. package/dist/consts/chains.d.ts +3 -2
  6. package/dist/consts/chains.d.ts.map +1 -1
  7. package/dist/consts/chains.js +6 -4
  8. package/dist/consts/chains.js.map +1 -1
  9. package/dist/consts/environments/index.d.ts +141 -133
  10. package/dist/consts/environments/index.d.ts.map +1 -1
  11. package/dist/consts/environments/mainnet.json +20 -0
  12. package/dist/consts/environments/testnet.json +166 -178
  13. package/dist/consts/igp.d.ts +2 -0
  14. package/dist/consts/igp.d.ts.map +1 -0
  15. package/dist/consts/igp.js +5 -0
  16. package/dist/consts/igp.js.map +1 -0
  17. package/dist/consts/multisigIsm.d.ts.map +1 -1
  18. package/dist/consts/multisigIsm.js +22 -18
  19. package/dist/consts/multisigIsm.js.map +1 -1
  20. package/dist/core/CoreDeployer.hardhat-test.js +4 -2
  21. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  22. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  23. package/dist/core/HyperlaneCore.js +10 -4
  24. package/dist/core/HyperlaneCore.js.map +1 -1
  25. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  26. package/dist/core/HyperlaneCoreChecker.js +3 -3
  27. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  28. package/dist/core/HyperlaneCoreDeployer.d.ts +6 -2
  29. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  30. package/dist/core/HyperlaneCoreDeployer.js +24 -11
  31. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  32. package/dist/core/TestRecipientDeployer.d.ts +2 -1
  33. package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
  34. package/dist/core/TestRecipientDeployer.js +2 -1
  35. package/dist/core/TestRecipientDeployer.js.map +1 -1
  36. package/dist/deploy/HyperlaneDeployer.d.ts +7 -6
  37. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  38. package/dist/deploy/HyperlaneDeployer.js +34 -13
  39. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  40. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +2 -1
  41. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
  42. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +2 -1
  43. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
  44. package/dist/deploy/types.d.ts +1 -1
  45. package/dist/deploy/types.d.ts.map +1 -1
  46. package/dist/deploy/verify/ContractVerifier.d.ts +9 -12
  47. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  48. package/dist/deploy/verify/ContractVerifier.js +147 -121
  49. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  50. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +14 -0
  51. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -0
  52. package/dist/deploy/verify/PostDeploymentContractVerifier.js +31 -0
  53. package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -0
  54. package/dist/deploy/verify/types.d.ts +60 -3
  55. package/dist/deploy/verify/types.d.ts.map +1 -1
  56. package/dist/deploy/verify/types.js +42 -0
  57. package/dist/deploy/verify/types.js.map +1 -1
  58. package/dist/gas/HyperlaneIgpChecker.d.ts +0 -2
  59. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  60. package/dist/gas/HyperlaneIgpChecker.js +8 -29
  61. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  62. package/dist/gas/HyperlaneIgpDeployer.d.ts +3 -2
  63. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  64. package/dist/gas/HyperlaneIgpDeployer.js +47 -20
  65. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  66. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts +2 -0
  67. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts.map +1 -0
  68. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +47 -0
  69. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -0
  70. package/dist/gas/oracle/types.d.ts +11 -0
  71. package/dist/gas/oracle/types.d.ts.map +1 -0
  72. package/dist/gas/oracle/types.js +30 -0
  73. package/dist/gas/oracle/types.js.map +1 -0
  74. package/dist/gas/types.d.ts +3 -4
  75. package/dist/gas/types.d.ts.map +1 -1
  76. package/dist/gas/types.js +1 -5
  77. package/dist/gas/types.js.map +1 -1
  78. package/dist/hook/HyperlaneHookDeployer.d.ts +2 -1
  79. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  80. package/dist/hook/HyperlaneHookDeployer.js +6 -4
  81. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  82. package/dist/index.d.ts +18 -7
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +52 -20
  85. package/dist/index.js.map +1 -1
  86. package/dist/ism/HyperlaneIsmFactory.d.ts +11 -10
  87. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  88. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -12
  89. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  90. package/dist/ism/HyperlaneIsmFactory.js +39 -287
  91. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  92. package/dist/ism/utils.d.ts +11 -0
  93. package/dist/ism/utils.d.ts.map +1 -0
  94. package/dist/ism/utils.js +277 -0
  95. package/dist/ism/utils.js.map +1 -0
  96. package/dist/metadata/ChainMetadataManager.d.ts +43 -21
  97. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  98. package/dist/metadata/ChainMetadataManager.js +26 -0
  99. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  100. package/dist/metadata/agentConfig.d.ts +138 -46
  101. package/dist/metadata/agentConfig.d.ts.map +1 -1
  102. package/dist/metadata/agentConfig.js +1 -1
  103. package/dist/metadata/blockExplorer.d.ts +6 -1
  104. package/dist/metadata/blockExplorer.d.ts.map +1 -1
  105. package/dist/metadata/blockExplorer.js +15 -1
  106. package/dist/metadata/blockExplorer.js.map +1 -1
  107. package/dist/metadata/chainMetadataTypes.d.ts +202 -1
  108. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  109. package/dist/metadata/chainMetadataTypes.js +18 -4
  110. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  111. package/dist/metadata/customZodTypes.d.ts +2 -0
  112. package/dist/metadata/customZodTypes.d.ts.map +1 -1
  113. package/dist/metadata/customZodTypes.js +3 -1
  114. package/dist/metadata/customZodTypes.js.map +1 -1
  115. package/dist/metadata/health.js +2 -2
  116. package/dist/metadata/health.js.map +1 -1
  117. package/dist/metadata/warpRouteConfig.d.ts +134 -0
  118. package/dist/metadata/warpRouteConfig.d.ts.map +1 -0
  119. package/dist/metadata/warpRouteConfig.js +24 -0
  120. package/dist/metadata/warpRouteConfig.js.map +1 -0
  121. package/dist/middleware/account/InterchainAccountDeployer.d.ts +2 -1
  122. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  123. package/dist/middleware/account/InterchainAccountDeployer.js +4 -2
  124. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  125. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -1
  126. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  127. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +4 -2
  128. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  129. package/dist/middleware/query/InterchainQueryDeployer.d.ts +2 -1
  130. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  131. package/dist/middleware/query/InterchainQueryDeployer.js +4 -2
  132. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  133. package/dist/providers/MultiProtocolProvider.d.ts +10 -12
  134. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
  135. package/dist/providers/MultiProtocolProvider.js +2 -7
  136. package/dist/providers/MultiProtocolProvider.js.map +1 -1
  137. package/dist/providers/MultiProvider.d.ts +17 -17
  138. package/dist/providers/MultiProvider.d.ts.map +1 -1
  139. package/dist/providers/MultiProvider.js +12 -1
  140. package/dist/providers/MultiProvider.js.map +1 -1
  141. package/dist/providers/ProviderType.d.ts +5 -2
  142. package/dist/providers/ProviderType.d.ts.map +1 -1
  143. package/dist/providers/ProviderType.js +10 -1
  144. package/dist/providers/ProviderType.js.map +1 -1
  145. package/dist/providers/SmartProvider/SmartProvider.d.ts +2 -2
  146. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  147. package/dist/providers/SmartProvider/SmartProvider.js +3 -3
  148. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  149. package/dist/providers/providerBuilders.d.ts.map +1 -1
  150. package/dist/providers/providerBuilders.js +1 -0
  151. package/dist/providers/providerBuilders.js.map +1 -1
  152. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  153. package/dist/router/HyperlaneRouterChecker.js +2 -2
  154. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  155. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  156. package/dist/router/HyperlaneRouterDeployer.js +2 -3
  157. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  158. package/dist/test/metadata-check.js +7 -39
  159. package/dist/test/metadata-check.js.map +1 -1
  160. package/dist/test/testUtils.d.ts +2 -0
  161. package/dist/test/testUtils.d.ts.map +1 -1
  162. package/dist/test/testUtils.js +19 -1
  163. package/dist/test/testUtils.js.map +1 -1
  164. package/dist/token/IToken.d.ts +147 -0
  165. package/dist/token/IToken.d.ts.map +1 -0
  166. package/dist/token/IToken.js +37 -0
  167. package/dist/token/IToken.js.map +1 -0
  168. package/dist/token/Token.d.ts +58 -0
  169. package/dist/token/Token.d.ts.map +1 -0
  170. package/dist/token/Token.js +260 -0
  171. package/dist/token/Token.js.map +1 -0
  172. package/dist/token/Token.test.d.ts +2 -0
  173. package/dist/token/Token.test.d.ts.map +1 -0
  174. package/dist/token/Token.test.js +155 -0
  175. package/dist/token/Token.test.js.map +1 -0
  176. package/dist/token/TokenAmount.d.ts +12 -0
  177. package/dist/token/TokenAmount.d.ts.map +1 -0
  178. package/dist/token/TokenAmount.js +24 -0
  179. package/dist/token/TokenAmount.js.map +1 -0
  180. package/dist/token/TokenAmount.test.d.ts +2 -0
  181. package/dist/token/TokenAmount.test.d.ts.map +1 -0
  182. package/dist/token/TokenAmount.test.js +41 -0
  183. package/dist/token/TokenAmount.test.js.map +1 -0
  184. package/dist/token/TokenConnection.d.ts +81 -0
  185. package/dist/token/TokenConnection.d.ts.map +1 -0
  186. package/dist/token/TokenConnection.js +36 -0
  187. package/dist/token/TokenConnection.js.map +1 -0
  188. package/dist/token/TokenStandard.d.ts +36 -0
  189. package/dist/token/TokenStandard.d.ts.map +1 -0
  190. package/dist/token/TokenStandard.js +118 -0
  191. package/dist/token/TokenStandard.js.map +1 -0
  192. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +29 -30
  193. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
  194. package/dist/token/adapters/CosmWasmTokenAdapter.js +65 -50
  195. package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
  196. package/dist/token/adapters/CosmosTokenAdapter.d.ts +11 -9
  197. package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
  198. package/dist/token/adapters/CosmosTokenAdapter.js +25 -6
  199. package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
  200. package/dist/token/adapters/EvmTokenAdapter.d.ts +27 -16
  201. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  202. package/dist/token/adapters/EvmTokenAdapter.js +69 -23
  203. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  204. package/dist/token/adapters/ITokenAdapter.d.ts +16 -11
  205. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  206. package/dist/token/adapters/SealevelTokenAdapter.d.ts +15 -13
  207. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  208. package/dist/token/adapters/SealevelTokenAdapter.js +17 -15
  209. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  210. package/dist/token/deploy.d.ts +3 -2
  211. package/dist/token/deploy.d.ts.map +1 -1
  212. package/dist/token/deploy.js +4 -2
  213. package/dist/token/deploy.js.map +1 -1
  214. package/dist/types.d.ts +2 -1
  215. package/dist/types.d.ts.map +1 -1
  216. package/dist/warp/WarpCore.d.ts +76 -0
  217. package/dist/warp/WarpCore.d.ts.map +1 -0
  218. package/dist/warp/WarpCore.js +288 -0
  219. package/dist/warp/WarpCore.js.map +1 -0
  220. package/dist/warp/WarpCore.test.d.ts +2 -0
  221. package/dist/warp/WarpCore.test.d.ts.map +1 -0
  222. package/dist/warp/WarpCore.test.js +143 -0
  223. package/dist/warp/WarpCore.test.js.map +1 -0
  224. package/dist/warp/types.d.ts +274 -0
  225. package/dist/warp/types.d.ts.map +1 -0
  226. package/dist/warp/types.js +38 -0
  227. package/dist/warp/types.js.map +1 -0
  228. package/logos/black/cosmwasm.svg +1 -1
  229. package/logos/black/inevm.svg +1 -0
  230. package/logos/black/injective.svg +1 -0
  231. package/logos/black/nautilus.svg +1 -0
  232. package/logos/black/plume.svg +29 -0
  233. package/logos/color/cosmos.svg +1 -1
  234. package/logos/color/cosmwasm.svg +1 -1
  235. package/logos/color/inevm.svg +1 -0
  236. package/logos/color/injective.svg +1 -0
  237. package/logos/color/manta.svg +1 -1
  238. package/logos/color/nautilus.svg +1 -0
  239. package/logos/color/plume.svg +24 -0
  240. package/package.json +5 -4
@@ -4,6 +4,7 @@ exports.HyperlaneIgpChecker = void 0;
4
4
  const ethers_1 = require("ethers");
5
5
  const utils_1 = require("@hyperlane-xyz/utils");
6
6
  const bytecode_1 = require("../consts/bytecode");
7
+ const chainMetadata_1 = require("../consts/chainMetadata");
7
8
  const HyperlaneAppChecker_1 = require("../deploy/HyperlaneAppChecker");
8
9
  const proxy_1 = require("../deploy/proxy");
9
10
  const types_1 = require("./types");
@@ -17,11 +18,7 @@ class HyperlaneIgpChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
17
18
  }
18
19
  async checkDomainOwnership(chain) {
19
20
  const config = this.configMap[chain];
20
- const ownableOverrides = {
21
- ...config.ownerOverrides,
22
- storageGasOracle: config.oracleKey,
23
- };
24
- await super.checkOwnership(chain, config.owner, ownableOverrides);
21
+ await super.checkOwnership(chain, config.owner, config.ownerOverrides);
25
22
  }
26
23
  async checkBytecodes(chain) {
27
24
  const contracts = this.app.getContracts(chain);
@@ -55,7 +52,8 @@ class HyperlaneIgpChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
55
52
  this.app.logger(`No overhead configured for ${local} -> ${remote}, defaulting to 0`);
56
53
  expectedOverhead = 0;
57
54
  }
58
- const remoteId = this.multiProvider.getDomainId(remote);
55
+ const remoteId = chainMetadata_1.chainMetadata[remote]?.domainId ??
56
+ this.multiProvider.getDomainId(remote);
59
57
  const existingOverhead = await defaultIsmIgp.destinationGasLimit(remoteId, 0);
60
58
  if (!existingOverhead.eq(expectedOverhead)) {
61
59
  const remoteChain = remote;
@@ -83,17 +81,13 @@ class HyperlaneIgpChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
83
81
  actual: {},
84
82
  expected: {},
85
83
  };
86
- // In addition to all remote chains on the app, which are just Ethereum chains,
87
- // also consider what the config says about non-Ethereum chains.
88
- const remotes = new Set([
89
- ...this.app.remoteChains(local),
90
- ...Object.keys(this.configMap[local].gasOracleType),
91
- ]);
84
+ const remotes = new Set(Object.keys(this.configMap[local].oracleConfig ?? {}));
92
85
  for (const remote of remotes) {
93
- const remoteId = this.multiProvider.getDomainId(remote);
86
+ const remoteId = chainMetadata_1.chainMetadata[remote]?.domainId ??
87
+ this.multiProvider.getDomainId(remote);
94
88
  const destinationGasConfigs = await igp.destinationGasConfigs(remoteId);
95
89
  const actualGasOracle = destinationGasConfigs.gasOracle;
96
- const expectedGasOracle = this.getGasOracleAddress(local, remote);
90
+ const expectedGasOracle = coreContracts.storageGasOracle.address;
97
91
  if (!(0, utils_1.eqAddress)(actualGasOracle, expectedGasOracle)) {
98
92
  const remoteChain = remote;
99
93
  gasOraclesViolation.actual[remoteChain] = actualGasOracle;
@@ -118,21 +112,6 @@ class HyperlaneIgpChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
118
112
  this.addViolation(violation);
119
113
  }
120
114
  }
121
- getGasOracleAddress(local, remote) {
122
- const config = this.configMap[local];
123
- const gasOracleType = config.gasOracleType[remote];
124
- if (!gasOracleType) {
125
- this.app.logger(`No gas oracle for local ${local} and remote ${remote}, defaulting to zero address`);
126
- return ethers_1.ethers.constants.AddressZero;
127
- }
128
- const coreContracts = this.app.getContracts(local);
129
- switch (gasOracleType) {
130
- case types_1.GasOracleContractType.StorageGasOracle:
131
- return coreContracts.storageGasOracle.address;
132
- default:
133
- throw Error(`Unsupported gas oracle type ${gasOracleType}`);
134
- }
135
- }
136
115
  }
137
116
  exports.HyperlaneIgpChecker = HyperlaneIgpChecker;
138
117
  //# sourceMappingURL=HyperlaneIgpChecker.js.map
@@ -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,14 +1,15 @@
1
1
  import { InterchainGasPaymaster, ProxyAdmin, StorageGasOracle } from '@hyperlane-xyz/core';
2
2
  import { HyperlaneContracts } from '../contracts/types';
3
3
  import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
4
+ import { ContractVerifier } from '../deploy/verify/ContractVerifier';
4
5
  import { MultiProvider } from '../providers/MultiProvider';
5
6
  import { ChainName } from '../types';
6
7
  import { IgpFactories } from './contracts';
7
8
  import { IgpConfig } from './types';
8
9
  export declare class HyperlaneIgpDeployer extends HyperlaneDeployer<IgpConfig, IgpFactories> {
9
- constructor(multiProvider: MultiProvider);
10
+ constructor(multiProvider: MultiProvider, contractVerifier?: ContractVerifier);
10
11
  deployInterchainGasPaymaster(chain: ChainName, proxyAdmin: ProxyAdmin, storageGasOracle: StorageGasOracle, config: IgpConfig): Promise<InterchainGasPaymaster>;
11
- deployStorageGasOracle(chain: ChainName): Promise<StorageGasOracle>;
12
+ deployStorageGasOracle(chain: ChainName, config: IgpConfig): Promise<StorageGasOracle>;
12
13
  deployContracts(chain: ChainName, config: IgpConfig): Promise<HyperlaneContracts<IgpFactories>>;
13
14
  }
14
15
  //# 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,UAAU,EACV,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,qBAAa,oBAAqB,SAAQ,iBAAiB,CACzD,SAAS,EACT,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;IA+C5B,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInE,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;CA4B7C"}
1
+ {"version":3,"file":"HyperlaneIgpDeployer.d.ts","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,YAAY,EAAgB,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,qBAAa,oBAAqB,SAAQ,iBAAiB,CACzD,SAAS,EACT,YAAY,CACb;gBAEG,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,gBAAgB;IAQ/B,4BAA4B,CAChC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAiD5B,sBAAsB,CAC1B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,gBAAgB,CAAC;IA+CtB,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;CA+B7C"}
@@ -6,27 +6,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.HyperlaneIgpDeployer = void 0;
7
7
  const debug_1 = __importDefault(require("debug"));
8
8
  const utils_1 = require("@hyperlane-xyz/utils");
9
+ const chainMetadata_1 = require("../consts/chainMetadata");
9
10
  const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
10
11
  const contracts_1 = require("./contracts");
12
+ const types_1 = require("./oracle/types");
11
13
  class HyperlaneIgpDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
12
- constructor(multiProvider) {
14
+ constructor(multiProvider, contractVerifier) {
13
15
  super(multiProvider, contracts_1.igpFactories, {
14
16
  logger: (0, debug_1.default)('hyperlane:IgpDeployer'),
17
+ contractVerifier,
15
18
  });
16
19
  }
17
20
  async deployInterchainGasPaymaster(chain, proxyAdmin, storageGasOracle, config) {
18
- const owner = config.owner;
19
21
  const beneficiary = config.beneficiary;
20
- const igp = await this.deployProxiedContract(chain, 'interchainGasPaymaster', proxyAdmin.address, [], [owner, beneficiary]);
22
+ const igp = await this.deployProxiedContract(chain, 'interchainGasPaymaster', proxyAdmin.address, [], [await this.multiProvider.getSignerAddress(chain), beneficiary]);
21
23
  const gasParamsToSet = [];
22
- const remotes = Object.keys(config.gasOracleType);
23
- for (const remote of remotes) {
24
- const remoteId = this.multiProvider.getDomainId(remote);
25
- const newGasOverhead = config.overhead[remote];
24
+ for (const [remote, newGasOverhead] of Object.entries(config.overhead)) {
25
+ const remoteId = chainMetadata_1.chainMetadata[remote]?.domainId ??
26
+ this.multiProvider.getDomainId(remote);
26
27
  const currentGasConfig = await igp.destinationGasConfigs(remoteId);
27
28
  if (!(0, utils_1.eqAddress)(currentGasConfig.gasOracle, storageGasOracle.address) ||
28
29
  !currentGasConfig.gasOverhead.eq(newGasOverhead)) {
29
- this.logger(`Setting gas params for ${remote} to ${newGasOverhead}`);
30
+ this.logger(`Setting gas params for ${chain} -> ${remote}: gasOverhead = ${newGasOverhead} gasOracle = ${storageGasOracle.address}`);
30
31
  gasParamsToSet.push({
31
32
  remoteDomain: remoteId,
32
33
  config: {
@@ -41,28 +42,54 @@ class HyperlaneIgpDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
41
42
  }
42
43
  return igp;
43
44
  }
44
- async deployStorageGasOracle(chain) {
45
- return this.deployContract(chain, 'storageGasOracle', []);
45
+ async deployStorageGasOracle(chain, config) {
46
+ const gasOracle = await this.deployContract(chain, 'storageGasOracle', []);
47
+ if (!config.oracleConfig) {
48
+ this.logger('No oracle config provided, skipping...');
49
+ return gasOracle;
50
+ }
51
+ this.logger(`Configuring gas oracle from ${chain}...`);
52
+ const configsToSet = [];
53
+ // For each remote, check if the gas oracle has the correct data
54
+ for (const [remote, desired] of Object.entries(config.oracleConfig)) {
55
+ // check core metadata for non EVMs and fallback to multiprovider for custom EVMs
56
+ const remoteDomain = chainMetadata_1.chainMetadata[remote]?.domainId ??
57
+ this.multiProvider.getDomainId(remote);
58
+ const actual = await gasOracle.remoteGasData(remoteDomain);
59
+ if (!actual.gasPrice.eq(desired.gasPrice) ||
60
+ !actual.tokenExchangeRate.eq(desired.tokenExchangeRate)) {
61
+ this.logger(`-> ${remote} ${(0, types_1.serializeDifference)(actual, desired)}`);
62
+ configsToSet.push({
63
+ remoteDomain,
64
+ ...desired,
65
+ });
66
+ }
67
+ }
68
+ if (configsToSet.length > 0) {
69
+ await this.runIfOwner(chain, gasOracle, async () => this.multiProvider.handleTx(chain, gasOracle.setRemoteGasDataConfigs(configsToSet, this.multiProvider.getTransactionOverrides(chain))));
70
+ }
71
+ return gasOracle;
46
72
  }
47
73
  async deployContracts(chain, config) {
48
74
  // NB: To share ProxyAdmins with HyperlaneCore, ensure the ProxyAdmin
49
75
  // is loaded into the contract cache.
50
76
  const proxyAdmin = await this.deployContract(chain, 'proxyAdmin', []);
51
- const storageGasOracle = await this.deployStorageGasOracle(chain);
77
+ const storageGasOracle = await this.deployStorageGasOracle(chain, config);
52
78
  const interchainGasPaymaster = await this.deployInterchainGasPaymaster(chain, proxyAdmin, storageGasOracle, config);
53
- await this.transferOwnershipOfContracts(chain, config.owner, {
54
- interchainGasPaymaster,
55
- });
56
- // Configure oracle key for StorageGasOracle separately to keep 'hot'
57
- // for updating exchange rates regularly
58
- await this.transferOwnershipOfContracts(chain, config.oracleKey, {
59
- storageGasOracle,
60
- });
61
- return {
79
+ const contracts = {
62
80
  proxyAdmin,
63
81
  storageGasOracle,
64
82
  interchainGasPaymaster,
65
83
  };
84
+ const ownerConfig = {
85
+ ...config,
86
+ ownerOverrides: {
87
+ ...config.ownerOverrides,
88
+ storageGasOracle: config.oracleKey,
89
+ },
90
+ };
91
+ await this.transferOwnershipOfContracts(chain, ownerConfig, contracts);
92
+ return contracts;
66
93
  }
67
94
  }
68
95
  exports.HyperlaneIgpDeployer = HyperlaneIgpDeployer;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIgpDeployer.js","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneIgpDeployer.js","sourceRoot":"","sources":["../../src/gas/HyperlaneIgpDeployer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=configure-gas-oracles.hardhat-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-gas-oracles.hardhat-test.d.ts","sourceRoot":"","sources":["../../../src/gas/oracle/configure-gas-oracles.hardhat-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const hardhat_1 = require("hardhat");
5
+ const MultiProvider_1 = require("../../providers/MultiProvider");
6
+ const testUtils_1 = require("../../test/testUtils");
7
+ const HyperlaneIgpDeployer_1 = require("../HyperlaneIgpDeployer");
8
+ describe('HyperlaneIgpDeployer', () => {
9
+ const local = 'test1';
10
+ const remote = 'test2';
11
+ let remoteId;
12
+ let deployer;
13
+ let igp;
14
+ let multiProvider;
15
+ let testConfig;
16
+ before(async () => {
17
+ const [signer] = await hardhat_1.ethers.getSigners();
18
+ multiProvider = MultiProvider_1.MultiProvider.createTestMultiProvider({ signer });
19
+ remoteId = multiProvider.getDomainId(remote);
20
+ deployer = new HyperlaneIgpDeployer_1.HyperlaneIgpDeployer(multiProvider);
21
+ testConfig = (0, testUtils_1.testIgpConfig)([local, remote], signer.address);
22
+ const contracts = await deployer.deploy(testConfig);
23
+ igp = contracts[local].interchainGasPaymaster;
24
+ });
25
+ it('should deploy storage gas oracle with config given', async () => {
26
+ // Assert
27
+ const deployedConfig = await igp.getExchangeRateAndGasPrice(remoteId);
28
+ (0, chai_1.expect)({
29
+ gasPrice: deployedConfig.gasPrice,
30
+ tokenExchangeRate: deployedConfig.tokenExchangeRate,
31
+ }).to.deep.equal(testConfig[local].oracleConfig[remote]);
32
+ });
33
+ it('should configure new oracle config', async () => {
34
+ testConfig[local].oracleConfig[remote] = {
35
+ tokenExchangeRate: hardhat_1.ethers.utils.parseUnits('2', 'gwei'),
36
+ gasPrice: hardhat_1.ethers.utils.parseUnits('3', 'gwei'),
37
+ };
38
+ const localContracts = await deployer.deployContracts(local, testConfig[local]);
39
+ igp = localContracts.interchainGasPaymaster;
40
+ const modifiedConfig = await igp.getExchangeRateAndGasPrice(remoteId);
41
+ (0, chai_1.expect)({
42
+ gasPrice: modifiedConfig.gasPrice,
43
+ tokenExchangeRate: modifiedConfig.tokenExchangeRate,
44
+ }).to.deep.equal(testConfig[local].oracleConfig[remote]);
45
+ });
46
+ });
47
+ //# sourceMappingURL=configure-gas-oracles.hardhat-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-gas-oracles.hardhat-test.js","sourceRoot":"","sources":["../../../src/gas/oracle/configure-gas-oracles.hardhat-test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,qCAAiC;AAIjC,iEAA8D;AAC9D,oDAAqD;AAErD,kEAA+D;AAG/D,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,QAAgB,CAAC;IACrB,IAAI,QAA8B,CAAC;IACnC,IAAI,GAA2B,CAAC;IAChC,IAAI,aAA4B,CAAC;IACjC,IAAI,UAA+B,CAAC;IAEpC,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,gBAAM,CAAC,UAAU,EAAE,CAAC;QAC3C,aAAa,GAAG,6BAAa,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,QAAQ,GAAG,IAAI,2CAAoB,CAAC,aAAa,CAAC,CAAC;QACnD,UAAU,GAAG,IAAA,yBAAa,EAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,SAAS;QACT,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAA,aAAM,EAAC;YACL,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;SACpD,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,YAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,UAAU,CAAC,KAAK,CAAC,CAAC,YAAa,CAAC,MAAM,CAAC,GAAG;YACxC,iBAAiB,EAAE,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;YACvD,QAAQ,EAAE,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SAC/C,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,eAAe,CACnD,KAAK,EACL,UAAU,CAAC,KAAK,CAAC,CAClB,CAAC;QACF,GAAG,GAAG,cAAc,CAAC,sBAAsB,CAAC;QAE5C,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAA,aAAM,EAAC;YACL,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;SACpD,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,YAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { StorageGasOracle } from '@hyperlane-xyz/core';
2
+ export declare enum GasOracleContractType {
3
+ StorageGasOracle = "StorageGasOracle"
4
+ }
5
+ export type StorageGasOracleConfig = Pick<StorageGasOracle.RemoteGasDataConfigStructOutput, 'gasPrice' | 'tokenExchangeRate'>;
6
+ export declare const formatGasOracleConfig: (config: StorageGasOracleConfig) => {
7
+ tokenExchangeRate: string;
8
+ gasPrice: string;
9
+ };
10
+ export declare const serializeDifference: (actual: StorageGasOracleConfig, expected: StorageGasOracleConfig) => string;
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/gas/oracle/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD,oBAAY,qBAAqB;IAC/B,gBAAgB,qBAAqB;CACtC;AAGD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,gBAAgB,CAAC,+BAA+B,EAChD,UAAU,GAAG,mBAAmB,CACjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,WACxB,sBAAsB,KAC7B;IACD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAOjB,CAAC;AAkBH,eAAO,MAAM,mBAAmB,WACtB,sBAAsB,YACpB,sBAAsB,KAC/B,MAWF,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeDifference = exports.formatGasOracleConfig = exports.GasOracleContractType = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const igp_1 = require("../../consts/igp");
6
+ var GasOracleContractType;
7
+ (function (GasOracleContractType) {
8
+ GasOracleContractType["StorageGasOracle"] = "StorageGasOracle";
9
+ })(GasOracleContractType || (exports.GasOracleContractType = GasOracleContractType = {}));
10
+ const formatGasOracleConfig = (config) => ({
11
+ tokenExchangeRate: ethers_1.ethers.utils.formatUnits(config.tokenExchangeRate, igp_1.TOKEN_EXCHANGE_RATE_EXPONENT),
12
+ gasPrice: ethers_1.ethers.utils.formatUnits(config.gasPrice, 'gwei'),
13
+ });
14
+ exports.formatGasOracleConfig = formatGasOracleConfig;
15
+ const percentDifference = (actual, expected) => expected.sub(actual).mul(100).div(actual);
16
+ const serializePercentDifference = (actual, expected) => {
17
+ if (actual.isZero()) {
18
+ return 'new';
19
+ }
20
+ const diff = percentDifference(actual, expected);
21
+ return diff.isNegative() ? `${diff.toString()}%` : `+${diff.toString()}%`;
22
+ };
23
+ const serializeDifference = (actual, expected) => {
24
+ const gasPriceDiff = serializePercentDifference(actual.gasPrice, expected.gasPrice);
25
+ const tokenExchangeRateDiff = serializePercentDifference(actual.tokenExchangeRate, expected.tokenExchangeRate);
26
+ const formatted = (0, exports.formatGasOracleConfig)(expected);
27
+ return `${formatted.tokenExchangeRate} (${tokenExchangeRateDiff}), ${formatted.gasPrice} gwei (${gasPriceDiff})`;
28
+ };
29
+ exports.serializeDifference = serializeDifference;
30
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/gas/oracle/types.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAIhC,0CAAgE;AAEhE,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,8DAAqC,CAAA;AACvC,CAAC,EAFW,qBAAqB,qCAArB,qBAAqB,QAEhC;AAQM,MAAM,qBAAqB,GAAG,CACnC,MAA8B,EAI9B,EAAE,CAAC,CAAC;IACJ,iBAAiB,EAAE,eAAM,CAAC,KAAK,CAAC,WAAW,CACzC,MAAM,CAAC,iBAAiB,EACxB,kCAA4B,CAC7B;IACD,QAAQ,EAAE,eAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC5D,CAAC,CAAC;AAXU,QAAA,qBAAqB,yBAW/B;AAEH,MAAM,iBAAiB,GAAG,CACxB,MAAwB,EACxB,QAA0B,EACR,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,0BAA0B,GAAG,CACjC,MAAwB,EACxB,QAA0B,EAClB,EAAE;IACV,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE;QACnB,OAAO,KAAK,CAAC;KACd;IACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;AAC5E,CAAC,CAAC;AAEK,MAAM,mBAAmB,GAAG,CACjC,MAA8B,EAC9B,QAAgC,EACxB,EAAE;IACV,MAAM,YAAY,GAAG,0BAA0B,CAC7C,MAAM,CAAC,QAAQ,EACf,QAAQ,CAAC,QAAQ,CAClB,CAAC;IACF,MAAM,qBAAqB,GAAG,0BAA0B,CACtD,MAAM,CAAC,iBAAiB,EACxB,QAAQ,CAAC,iBAAiB,CAC3B,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,6BAAqB,EAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,GAAG,SAAS,CAAC,iBAAiB,KAAK,qBAAqB,MAAM,SAAS,CAAC,QAAQ,UAAU,YAAY,GAAG,CAAC;AACnH,CAAC,CAAC;AAdW,QAAA,mBAAmB,uBAc9B"}
@@ -4,14 +4,13 @@ import type { Address } from '@hyperlane-xyz/utils';
4
4
  import type { CheckerViolation, OwnableConfig } from '../deploy/types';
5
5
  import { ChainMap } from '../types';
6
6
  import { IgpFactories } from './contracts';
7
- export declare enum GasOracleContractType {
8
- StorageGasOracle = "StorageGasOracle"
9
- }
7
+ import { GasOracleContractType, StorageGasOracleConfig } from './oracle/types';
10
8
  export type IgpConfig = OwnableConfig<keyof IgpFactories> & {
11
9
  beneficiary: Address;
12
- gasOracleType: ChainMap<GasOracleContractType>;
13
10
  oracleKey: Address;
14
11
  overhead: ChainMap<number>;
12
+ oracleConfig?: ChainMap<StorageGasOracleConfig>;
13
+ gasOracleType?: ChainMap<GasOracleContractType>;
15
14
  };
16
15
  export declare enum IgpViolationType {
17
16
  Beneficiary = "Beneficiary",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gas/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,oBAAY,qBAAqB;IAC/B,gBAAgB,qBAAqB;CACtC;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,YAAY,CAAC,GAAG;IAC1D,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5B,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC;IACtC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC;IACrC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC;IACnC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gas/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,YAAY,CAAC,GAAG;IAC1D,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3B,YAAY,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAEhD,aAAa,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC;IACtC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC;IACrC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC;IACnC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;CAC/B"}
package/dist/gas/types.js CHANGED
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IgpViolationType = exports.GasOracleContractType = void 0;
4
- var GasOracleContractType;
5
- (function (GasOracleContractType) {
6
- GasOracleContractType["StorageGasOracle"] = "StorageGasOracle";
7
- })(GasOracleContractType || (exports.GasOracleContractType = GasOracleContractType = {}));
3
+ exports.IgpViolationType = void 0;
8
4
  var IgpViolationType;
9
5
  (function (IgpViolationType) {
10
6
  IgpViolationType["Beneficiary"] = "Beneficiary";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gas/types.ts"],"names":[],"mappings":";;;AAUA,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,8DAAqC,CAAA;AACvC,CAAC,EAFW,qBAAqB,qCAArB,qBAAqB,QAEhC;AASD,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,+CAA2B,CAAA;IAC3B,6CAAyB,CAAA;IACzB,yCAAqB,CAAA;AACvB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gas/types.ts"],"names":[],"mappings":";;;AAqBA,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,+CAA2B,CAAA;IAC3B,6CAAyB,CAAA;IACzB,yCAAqB,CAAA;AACvB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B"}
@@ -2,6 +2,7 @@ import { DomainRoutingHook, OPStackHook, ProtocolFee } from '@hyperlane-xyz/core
2
2
  import { HyperlaneContracts } from '../contracts/types';
3
3
  import { CoreAddresses } from '../core/contracts';
4
4
  import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
5
+ import { ContractVerifier } from '../deploy/verify/ContractVerifier';
5
6
  import { HyperlaneIgpDeployer } from '../gas/HyperlaneIgpDeployer';
6
7
  import { IgpFactories } from '../gas/contracts';
7
8
  import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory';
@@ -13,7 +14,7 @@ export declare class HyperlaneHookDeployer extends HyperlaneDeployer<HookConfig,
13
14
  readonly core: ChainMap<Partial<CoreAddresses>>;
14
15
  readonly ismFactory: HyperlaneIsmFactory;
15
16
  readonly igpDeployer: HyperlaneIgpDeployer;
16
- constructor(multiProvider: MultiProvider, core: ChainMap<Partial<CoreAddresses>>, ismFactory: HyperlaneIsmFactory, igpDeployer?: HyperlaneIgpDeployer);
17
+ constructor(multiProvider: MultiProvider, core: ChainMap<Partial<CoreAddresses>>, ismFactory: HyperlaneIsmFactory, contractVerifier?: ContractVerifier, igpDeployer?: HyperlaneIgpDeployer);
17
18
  cacheAddressesMap(addressesMap: ChainMap<CoreAddresses>): void;
18
19
  deployContracts(chain: ChainName, config: HookConfig, coreAddresses?: Partial<import("../contracts/types").HyperlaneAddresses<{
19
20
  validatorAnnounce: import("@hyperlane-xyz/core").ValidatorAnnounce__factory;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneHookDeployer.d.ts","sourceRoot":"","sources":["../../src/hook/HyperlaneHookDeployer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EAGjB,WAAW,EAEX,WAAW,EAEZ,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAgB,aAAa,EAAiB,MAAM,aAAa,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,UAAU,EAEV,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,UAAU,EACV,aAAa,CACd;IAGG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,mBAAmB;IACxC,QAAQ,CAAC,WAAW;gBAHpB,aAAa,EAAE,aAAa,EACnB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EACtC,UAAU,EAAE,mBAAmB,EAC/B,WAAW,uBAA0C;IAOhE,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAKxD,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,EAClB,aAAa;;;;OAAmB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAuCvC,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,WAAW,CAAC;IAUjB,SAAS,CACb,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,EACrB,aAAa;;;;OAAmB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAmBtC,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,qBAAqB,EAC7B,aAAa;;;;OAAmB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IA6BvC,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,iBAAiB,EACzB,aAAa;;;;OAAmB,GAC/B,OAAO,CAAC,WAAW,CAAC;IAkEjB,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,uBAAuB,GAAG,yBAAyB,EAC3D,aAAa;;;;OAAmB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;CAiE9B"}
1
+ {"version":3,"file":"HyperlaneHookDeployer.d.ts","sourceRoot":"","sources":["../../src/hook/HyperlaneHookDeployer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EAGjB,WAAW,EAEX,WAAW,EAEZ,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAgB,aAAa,EAAiB,MAAM,aAAa,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,UAAU,EAEV,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,UAAU,EACV,aAAa,CACd;IAGG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,mBAAmB;IAExC,QAAQ,CAAC,WAAW;gBAJpB,aAAa,EAAE,aAAa,EACnB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EACtC,UAAU,EAAE,mBAAmB,EACxC,gBAAgB,CAAC,EAAE,gBAAgB,EAC1B,WAAW,uBAGnB;IAQH,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAKxD,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,EAClB,aAAa;;;;OAAmB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IA2CvC,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,WAAW,CAAC;IAUjB,SAAS,CACb,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,EACrB,aAAa;;;;OAAmB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAmBtC,iBAAiB,CACrB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,qBAAqB,EAC7B,aAAa;;;;OAAmB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IA8BvC,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,iBAAiB,EACzB,aAAa;;;;OAAmB,GAC/B,OAAO,CAAC,WAAW,CAAC;IAkEjB,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,uBAAuB,GAAG,yBAAyB,EAC3D,aAAa;;;;OAAmB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;CAkE9B"}
@@ -8,15 +8,17 @@ const debug_1 = __importDefault(require("debug"));
8
8
  const ethers_1 = require("ethers");
9
9
  const core_1 = require("@hyperlane-xyz/core");
10
10
  const utils_1 = require("@hyperlane-xyz/utils");
11
+ const chainMetadata_1 = require("../consts/chainMetadata");
11
12
  const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
12
13
  const HyperlaneIgpDeployer_1 = require("../gas/HyperlaneIgpDeployer");
13
14
  const types_1 = require("../ism/types");
14
15
  const contracts_1 = require("./contracts");
15
16
  const types_2 = require("./types");
16
17
  class HyperlaneHookDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
17
- constructor(multiProvider, core, ismFactory, igpDeployer = new HyperlaneIgpDeployer_1.HyperlaneIgpDeployer(multiProvider)) {
18
+ constructor(multiProvider, core, ismFactory, contractVerifier, igpDeployer = new HyperlaneIgpDeployer_1.HyperlaneIgpDeployer(multiProvider, contractVerifier)) {
18
19
  super(multiProvider, contracts_1.hookFactories, {
19
20
  logger: (0, debug_1.default)('hyperlane:HookDeployer'),
21
+ contractVerifier,
20
22
  });
21
23
  this.core = core;
22
24
  this.ismFactory = ismFactory;
@@ -55,7 +57,7 @@ class HyperlaneHookDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
55
57
  }
56
58
  else if (config.type === types_2.HookType.PAUSABLE) {
57
59
  hook = await this.deployContract(chain, config.type, []);
58
- await this.transferOwnershipOfContracts(chain, config.owner, { hook });
60
+ await this.transferOwnershipOfContracts(chain, config, { [types_2.HookType.PAUSABLE]: hook });
59
61
  }
60
62
  else {
61
63
  throw new Error(`Unsupported hook config: ${config}`);
@@ -93,7 +95,7 @@ class HyperlaneHookDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
93
95
  hooks = { ...hooks, ...subhooks };
94
96
  }
95
97
  this.logger(`Deploying aggregation hook of ${config.hooks.map((h) => h.type)}`);
96
- const address = await this.ismFactory.deployStaticAddressSet(chain, this.ismFactory.getContracts(chain).aggregationHookFactory, aggregatedHooks);
98
+ const address = await this.ismFactory.deployStaticAddressSet(chain, this.ismFactory.getContracts(chain).aggregationHookFactory, aggregatedHooks, this.logger);
97
99
  hooks[types_2.HookType.AGGREGATION] = core_1.StaticAggregationHook__factory.connect(address, this.multiProvider.getSignerOrProvider(chain));
98
100
  this.addDeployedContracts(chain, hooks);
99
101
  return hooks;
@@ -167,7 +169,7 @@ class HyperlaneHookDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
167
169
  }
168
170
  const routingConfigs = [];
169
171
  for (const [dest, hookConfig] of Object.entries(config.domains)) {
170
- const destDomain = this.multiProvider.getDomainId(dest);
172
+ const destDomain = chainMetadata_1.chainMetadata[dest]?.domainId ?? this.multiProvider.getDomainId(dest);
171
173
  if (typeof hookConfig === 'string') {
172
174
  routingConfigs.push({
173
175
  destination: destDomain,
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneHookDeployer.js","sourceRoot":"","sources":["../../src/hook/HyperlaneHookDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneHookDeployer.js","sourceRoot":"","sources":["../../src/hook/HyperlaneHookDeployer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -26,7 +26,8 @@ export { DeployerOptions, HyperlaneDeployer } from './deploy/HyperlaneDeployer';
26
26
  export { HyperlaneProxyFactoryDeployer } from './deploy/HyperlaneProxyFactoryDeployer';
27
27
  export { CheckerViolation, OwnableConfig, OwnerViolation, ViolationType, } from './deploy/types';
28
28
  export { ContractVerifier } from './deploy/verify/ContractVerifier';
29
- export { CompilerOptions, ContractVerificationInput, VerificationInput, } from './deploy/verify/types';
29
+ export { PostDeploymentContractVerifier } from './deploy/verify/PostDeploymentContractVerifier';
30
+ export { BuildArtifact, CompilerOptions, ContractVerificationInput, ExplorerLicenseType, VerificationInput, } from './deploy/verify/types';
30
31
  export * as verificationUtils from './deploy/verify/utils';
31
32
  export { HyperlaneIgp } from './gas/HyperlaneIgp';
32
33
  export { HyperlaneIgpChecker } from './gas/HyperlaneIgpChecker';
@@ -34,19 +35,22 @@ export { HyperlaneIgpDeployer } from './gas/HyperlaneIgpDeployer';
34
35
  export { SealevelOverheadIgpAdapter } from './gas/adapters/SealevelIgpAdapter';
35
36
  export { SealevelInterchainGasPaymasterConfig, SealevelInterchainGasPaymasterConfigSchema, SealevelInterchainGasPaymasterType, SealevelOverheadIgpData, SealevelOverheadIgpDataSchema, } from './gas/adapters/serialization';
36
37
  export { IgpFactories, igpFactories } from './gas/contracts';
38
+ export { GasOracleContractType, StorageGasOracleConfig, } from './gas/oracle/types';
37
39
  export { CoinGeckoTokenPriceGetter } from './gas/token-prices';
38
- export { GasOracleContractType, IgpBeneficiaryViolation, IgpConfig, IgpGasOraclesViolation, IgpOverheadViolation, IgpViolation, IgpViolationType, } from './gas/types';
40
+ export { IgpBeneficiaryViolation, IgpConfig, IgpGasOraclesViolation, IgpOverheadViolation, IgpViolation, IgpViolationType, } from './gas/types';
39
41
  export { HyperlaneHookDeployer } from './hook/HyperlaneHookDeployer';
40
42
  export { AggregationHookConfig, DomainRoutingHookConfig, FallbackRoutingHookConfig, HookConfig, HookType, HooksConfig, IgpHookConfig, MerkleTreeHookConfig, OpStackHookConfig, PausableHookConfig, ProtocolFeeHookConfig, } from './hook/types';
41
- export { HyperlaneIsmFactory, collectValidators, moduleCanCertainlyVerify, } from './ism/HyperlaneIsmFactory';
43
+ export { HyperlaneIsmFactory } from './ism/HyperlaneIsmFactory';
42
44
  export { buildAggregationIsmConfigs, buildMultisigIsmConfigs, } from './ism/multisig';
43
45
  export { AggregationIsmConfig, DeployedIsm, IsmConfig, IsmType, ModuleType, MultisigConfig, MultisigIsmConfig, OpStackIsmConfig, PausableIsmConfig, RoutingIsmConfig, } from './ism/types';
46
+ export { collectValidators, moduleCanCertainlyVerify } from './ism/utils';
44
47
  export { ChainMetadataManager, ChainMetadataManagerOptions, } from './metadata/ChainMetadataManager';
45
48
  export { AgentChainMetadata, AgentChainMetadataSchema, AgentConfig, AgentConfigSchema, AgentLogFormat, AgentLogLevel, AgentSigner, AgentSignerAwsKey, AgentSignerHexKey, AgentSignerKeyType, AgentSignerNode, GasPaymentEnforcement, GasPaymentEnforcementPolicyType, RelayerConfig, RpcConsensusType, ScraperConfig, ValidatorConfig, buildAgentConfig, } from './metadata/agentConfig';
46
- export { BlockExplorer, ChainMetadata, ChainMetadataSchema, ChainMetadataSchemaObject, ExplorerFamily, ExplorerFamilyValue, RpcUrl, RpcUrlSchema, getChainIdNumber, getDomainId, isValidChainMetadata, getReorgPeriod, } from './metadata/chainMetadataTypes';
49
+ export { BlockExplorer, ChainMetadata, ChainMetadataSchema, ChainMetadataSchemaObject, ExplorerFamily, ExplorerFamilyValue, RpcUrl, RpcUrlSchema, getChainIdNumber, getDomainId, getReorgPeriod, isValidChainMetadata, } from './metadata/chainMetadataTypes';
47
50
  export { ZHash } from './metadata/customZodTypes';
48
51
  export { HyperlaneDeploymentArtifacts, HyperlaneDeploymentArtifactsSchema, } from './metadata/deploymentArtifacts';
49
52
  export { MatchingList } from './metadata/matchingList';
53
+ export { WarpRouteConfig, WarpRouteConfigSchema, } from './metadata/warpRouteConfig';
50
54
  export { InterchainAccount } from './middleware/account/InterchainAccount';
51
55
  export { InterchainAccountChecker } from './middleware/account/InterchainAccountChecker';
52
56
  export { InterchainAccountConfig, InterchainAccountDeployer, } from './middleware/account/InterchainAccountDeployer';
@@ -76,19 +80,26 @@ export { EvmGasRouterAdapter, EvmRouterAdapter, } from './router/adapters/EvmRou
76
80
  export { SealevelGasRouterAdapter, SealevelRouterAdapter, } from './router/adapters/SealevelRouterAdapter';
77
81
  export { IGasRouterAdapter, IRouterAdapter } from './router/adapters/types';
78
82
  export { MailboxClientConfig as ConnectionClientConfig, ClientViolation as ConnectionClientViolation, ClientViolationType as ConnectionClientViolationType, ForeignDeploymentConfig, GasConfig, GasRouterConfig, MailboxClientConfig, ProxiedFactories, ProxiedRouterConfig, RouterAddress, RouterConfig, RouterViolation, RouterViolationType, proxiedFactories, } from './router/types';
83
+ export { IToken, TokenArgs, TokenConfigSchema } from './token/IToken';
84
+ export { Token } from './token/Token';
85
+ export { TokenAmount } from './token/TokenAmount';
86
+ export { HyperlaneTokenConnection, IbcToHyperlaneTokenConnection, IbcTokenConnection, TokenConnection, TokenConnectionConfigSchema, TokenConnectionType, } from './token/TokenConnection';
87
+ export { PROTOCOL_TO_NATIVE_STANDARD, TOKEN_COLLATERALIZED_STANDARDS, TOKEN_COSMWASM_STANDARDS, TOKEN_HYP_STANDARDS, TOKEN_MULTI_CHAIN_STANDARDS, TOKEN_NFT_STANDARDS, TOKEN_STANDARD_TO_PROTOCOL, TokenStandard, } from './token/TokenStandard';
79
88
  export { CW20Metadata, CwHypCollateralAdapter, CwHypNativeAdapter, CwHypSyntheticAdapter, CwNativeTokenAdapter, CwTokenAdapter, } from './token/adapters/CosmWasmTokenAdapter';
80
89
  export { CosmIbcToWarpTokenAdapter, CosmIbcTokenAdapter, CosmNativeTokenAdapter, } from './token/adapters/CosmosTokenAdapter';
81
- export { EvmHypCollateralAdapter, EvmHypSyntheticAdapter, EvmNativeTokenAdapter, EvmTokenAdapter, } from './token/adapters/EvmTokenAdapter';
82
- export { IHypTokenAdapter, ITokenAdapter, TransferParams, TransferRemoteParams, } from './token/adapters/ITokenAdapter';
90
+ export { EvmHypCollateralAdapter, EvmHypNativeAdapter, EvmHypSyntheticAdapter, EvmNativeTokenAdapter, EvmTokenAdapter, } from './token/adapters/EvmTokenAdapter';
91
+ export { InterchainGasQuote as AdapterInterchainGasQuote, IHypTokenAdapter, ITokenAdapter, TransferParams, TransferRemoteParams, } from './token/adapters/ITokenAdapter';
83
92
  export { SealevelHypCollateralAdapter, SealevelHypNativeAdapter, SealevelHypSyntheticAdapter, SealevelNativeTokenAdapter, SealevelTokenAdapter, } from './token/adapters/SealevelTokenAdapter';
84
93
  export { SealevelHypTokenInstruction, SealevelHyperlaneTokenData, SealevelHyperlaneTokenDataSchema, SealevelTransferRemoteInstruction, SealevelTransferRemoteSchema, } from './token/adapters/serialization';
85
94
  export { CollateralConfig, ERC20Metadata, ERC20RouterConfig, ERC721RouterConfig, HypERC20CollateralConfig, HypERC20Config, HypERC721CollateralConfig, HypERC721Config, HypNativeConfig, MinimalTokenMetadata, NativeConfig, SyntheticConfig, TokenConfig, TokenMetadata, TokenType, isCollateralConfig, isUriConfig, } from './token/config';
86
95
  export { HypERC20Factories, HypERC721Factories, TokenFactories, } from './token/contracts';
87
96
  export { HypERC20Deployer, HypERC721Deployer } from './token/deploy';
88
- export { ChainMap, ChainName, Connection, NameOrDomain, TestChainNames, } from './types';
97
+ export { ChainMap, ChainName, ChainNameOrId, Connection, TestChainNames, } from './types';
89
98
  export { MultiGeneric } from './utils/MultiGeneric';
90
99
  export { filterByChains } from './utils/filter';
91
100
  export { multisigIsmVerificationCost } from './utils/ism';
92
101
  export { SealevelAccountDataWrapper, SealevelInstructionWrapper, getSealevelAccountDataSchema, } from './utils/sealevelSerialization';
93
102
  export { chainMetadataToWagmiChain, wagmiChainMetadata } from './utils/wagmi';
103
+ export { WarpCore, WarpCoreOptions } from './warp/WarpCore';
104
+ export { IgpQuoteConstants, RouteBlacklist, WarpCoreConfig, WarpCoreConfigSchema, WarpTxCategory, WarpTypedTransaction, } from './warp/types';
94
105
  //# sourceMappingURL=index.d.ts.map