@hyperlane-xyz/sdk 5.7.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/dist/consts/multisigIsm.d.ts.map +1 -1
  2. package/dist/consts/multisigIsm.js +53 -65
  3. package/dist/consts/multisigIsm.js.map +1 -1
  4. package/dist/contracts/contracts.d.ts +2 -2
  5. package/dist/contracts/contracts.d.ts.map +1 -1
  6. package/dist/contracts/contracts.js.map +1 -1
  7. package/dist/core/AbstractHyperlaneModule.d.ts +1 -1
  8. package/dist/core/AbstractHyperlaneModule.d.ts.map +1 -1
  9. package/dist/core/EvmCoreModule.d.ts +4 -3
  10. package/dist/core/EvmCoreModule.d.ts.map +1 -1
  11. package/dist/core/EvmCoreModule.hardhat-test.js +1 -1
  12. package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -1
  13. package/dist/core/EvmCoreModule.js +23 -11
  14. package/dist/core/EvmCoreModule.js.map +1 -1
  15. package/dist/core/EvmCoreReader.d.ts +1 -0
  16. package/dist/core/EvmCoreReader.d.ts.map +1 -1
  17. package/dist/core/EvmCoreReader.js +13 -2
  18. package/dist/core/EvmCoreReader.js.map +1 -1
  19. package/dist/core/HyperlaneRelayer.d.ts +5 -5
  20. package/dist/core/schemas.d.ts +510 -487
  21. package/dist/core/schemas.d.ts.map +1 -1
  22. package/dist/core/schemas.js +4 -1
  23. package/dist/core/schemas.js.map +1 -1
  24. package/dist/deploy/proxy.d.ts +8 -1
  25. package/dist/deploy/proxy.d.ts.map +1 -1
  26. package/dist/deploy/proxy.js +28 -0
  27. package/dist/deploy/proxy.js.map +1 -1
  28. package/dist/gas/token-prices.d.ts +9 -8
  29. package/dist/gas/token-prices.d.ts.map +1 -1
  30. package/dist/gas/token-prices.js +26 -22
  31. package/dist/gas/token-prices.js.map +1 -1
  32. package/dist/gas/token-prices.test.js +42 -19
  33. package/dist/gas/token-prices.test.js.map +1 -1
  34. package/dist/gas/utils.d.ts +0 -2
  35. package/dist/gas/utils.d.ts.map +1 -1
  36. package/dist/gas/utils.js +0 -18
  37. package/dist/gas/utils.js.map +1 -1
  38. package/dist/hook/EvmHookModule.d.ts +4 -3
  39. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  40. package/dist/hook/EvmHookModule.js +17 -17
  41. package/dist/hook/EvmHookModule.js.map +1 -1
  42. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  43. package/dist/hook/EvmHookReader.js +3 -1
  44. package/dist/hook/EvmHookReader.js.map +1 -1
  45. package/dist/hook/EvmHookReader.test.js +13 -13
  46. package/dist/hook/EvmHookReader.test.js.map +1 -1
  47. package/dist/index.d.ts +11 -9
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +7 -5
  50. package/dist/index.js.map +1 -1
  51. package/dist/ism/EvmIsmModule.d.ts +2 -1
  52. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  53. package/dist/ism/EvmIsmModule.hardhat-test.js +5 -1
  54. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  55. package/dist/ism/EvmIsmModule.js +7 -7
  56. package/dist/ism/EvmIsmModule.js.map +1 -1
  57. package/dist/ism/EvmIsmReader.test.js +6 -7
  58. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  59. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  60. package/dist/ism/HyperlaneIsmFactory.js +43 -9
  61. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  62. package/dist/ism/metadata/aggregation.d.ts +2 -2
  63. package/dist/ism/metadata/aggregation.d.ts.map +1 -1
  64. package/dist/ism/schemas.d.ts +6 -6
  65. package/dist/ism/schemas.d.ts.map +1 -1
  66. package/dist/ism/schemas.js +2 -0
  67. package/dist/ism/schemas.js.map +1 -1
  68. package/dist/ism/types.d.ts +7 -1
  69. package/dist/ism/types.d.ts.map +1 -1
  70. package/dist/ism/types.js +6 -0
  71. package/dist/ism/types.js.map +1 -1
  72. package/dist/metadata/ChainMetadataManager.d.ts +32 -26
  73. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  74. package/dist/metadata/ChainMetadataManager.js +56 -37
  75. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  76. package/dist/metadata/agentConfig.d.ts +87 -87
  77. package/dist/metadata/chainMetadataTypes.d.ts +18 -18
  78. package/dist/metadata/chainMetadataTypes.js +1 -1
  79. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  80. package/dist/metadata/deploymentArtifacts.d.ts +2 -2
  81. package/dist/middleware/account/schemas.d.ts +4 -4
  82. package/dist/providers/MultiProvider.d.ts +8 -8
  83. package/dist/providers/MultiProvider.js +8 -8
  84. package/dist/providers/ProviderType.d.ts +2 -4
  85. package/dist/providers/ProviderType.d.ts.map +1 -1
  86. package/dist/providers/ProviderType.js.map +1 -1
  87. package/dist/providers/transactionFeeEstimators.js +1 -1
  88. package/dist/providers/transactionFeeEstimators.js.map +1 -1
  89. package/dist/providers/transactions/schemas.d.ts +2 -2
  90. package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts +2 -2
  91. package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts.map +1 -1
  92. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts +2 -1
  93. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts.map +1 -1
  94. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js.map +1 -1
  95. package/dist/providers/transactions/submitter/builder/schemas.d.ts +20 -0
  96. package/dist/providers/transactions/submitter/builder/schemas.d.ts.map +1 -1
  97. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts.map +1 -1
  98. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.js +2 -1
  99. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.js.map +1 -1
  100. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +3 -3
  101. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
  102. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js +1 -1
  103. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js.map +1 -1
  104. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +3 -1
  105. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -1
  106. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +7 -4
  107. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -1
  108. package/dist/providers/transactions/submitter/ethersV5/schemas.d.ts +10 -0
  109. package/dist/providers/transactions/submitter/ethersV5/schemas.d.ts.map +1 -1
  110. package/dist/providers/transactions/submitter/ethersV5/schemas.js +4 -1
  111. package/dist/providers/transactions/submitter/ethersV5/schemas.js.map +1 -1
  112. package/dist/providers/transactions/submitter/ethersV5/schemas.test.js +3 -1
  113. package/dist/providers/transactions/submitter/ethersV5/schemas.test.js.map +1 -1
  114. package/dist/providers/transactions/submitter/ethersV5/types.d.ts +2 -1
  115. package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -1
  116. package/dist/providers/transactions/submitter/schemas.d.ts +6 -0
  117. package/dist/providers/transactions/submitter/schemas.d.ts.map +1 -1
  118. package/dist/providers/transactions/submitter/schemas.js +2 -1
  119. package/dist/providers/transactions/submitter/schemas.js.map +1 -1
  120. package/dist/providers/transactions/transformer/TxTransformerInterface.d.ts +2 -2
  121. package/dist/providers/transactions/transformer/TxTransformerInterface.d.ts.map +1 -1
  122. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts +1 -2
  123. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts.map +1 -1
  124. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js +7 -6
  125. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js.map +1 -1
  126. package/dist/providers/transactions/transformer/ethersV5/schemas.d.ts +2 -2
  127. package/dist/router/schemas.d.ts +40 -40
  128. package/dist/token/EvmERC20WarpModule.d.ts +4 -3
  129. package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
  130. package/dist/token/EvmERC20WarpModule.js +12 -23
  131. package/dist/token/EvmERC20WarpModule.js.map +1 -1
  132. package/dist/token/EvmERC20WarpRouteReader.d.ts +2 -4
  133. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
  134. package/dist/token/EvmERC20WarpRouteReader.js +21 -8
  135. package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
  136. package/dist/token/IToken.d.ts +3 -0
  137. package/dist/token/IToken.d.ts.map +1 -1
  138. package/dist/token/IToken.js +4 -0
  139. package/dist/token/IToken.js.map +1 -1
  140. package/dist/token/config.d.ts +0 -1
  141. package/dist/token/config.d.ts.map +1 -1
  142. package/dist/token/config.js +0 -5
  143. package/dist/token/config.js.map +1 -1
  144. package/dist/token/schemas.d.ts +83 -82
  145. package/dist/token/schemas.d.ts.map +1 -1
  146. package/dist/token/schemas.js.map +1 -1
  147. package/dist/types.d.ts +3 -3
  148. package/dist/types.d.ts.map +1 -1
  149. package/dist/utils/gnosisSafe.js +7 -8
  150. package/dist/utils/transactions.d.ts +12 -0
  151. package/dist/utils/transactions.d.ts.map +1 -0
  152. package/dist/utils/transactions.js +17 -0
  153. package/dist/utils/transactions.js.map +1 -0
  154. package/dist/utils/viem.d.ts +4 -0
  155. package/dist/utils/viem.d.ts.map +1 -0
  156. package/dist/utils/{wagmi.js → viem.js} +5 -4
  157. package/dist/utils/viem.js.map +1 -0
  158. package/dist/warp/types.d.ts +5 -0
  159. package/dist/warp/types.d.ts.map +1 -1
  160. package/package.json +6 -9
  161. package/dist/test/MockCoinGecko.d.ts +0 -12
  162. package/dist/test/MockCoinGecko.d.ts.map +0 -1
  163. package/dist/test/MockCoinGecko.js +0 -38
  164. package/dist/test/MockCoinGecko.js.map +0 -1
  165. package/dist/utils/wagmi.d.ts +0 -4
  166. package/dist/utils/wagmi.d.ts.map +0 -1
  167. package/dist/utils/wagmi.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/core/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI3B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/core/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -2,11 +2,14 @@ import { z } from 'zod';
2
2
  import { ProxyFactoryFactoriesSchema } from '../deploy/schemas.js';
3
3
  import { HookConfigSchema } from '../hook/schemas.js';
4
4
  import { IsmConfigSchema } from '../ism/schemas.js';
5
- import { OwnableSchema } from '../schemas.js';
5
+ import { DeployedOwnableSchema, OwnableSchema } from '../schemas.js';
6
6
  export const CoreConfigSchema = OwnableSchema.extend({
7
7
  defaultIsm: IsmConfigSchema,
8
8
  defaultHook: HookConfigSchema,
9
9
  requiredHook: HookConfigSchema,
10
+ // This field is set as optional because the old core config
11
+ // did not have it and we want to maintain backward compatibility
12
+ proxyAdmin: DeployedOwnableSchema.optional(),
10
13
  });
11
14
  export const DeployedCoreAddressesSchema = ProxyFactoryFactoriesSchema.extend({
12
15
  mailbox: z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/core/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC;IACnD,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,gBAAgB;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAC,MAAM,CAAC;IAC5E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE;IACnC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE;IAChC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/core/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC;IACnD,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,gBAAgB;IAC9B,4DAA4D;IAC5D,iEAAiE;IACjE,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAC,MAAM,CAAC;IAC5E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE;IACnC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE;IAChC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { ethers } from 'ethers';
2
- import { Address } from '@hyperlane-xyz/utils';
2
+ import { Address, ChainId } from '@hyperlane-xyz/utils';
3
+ import { AnnotatedEV5Transaction } from '../providers/ProviderType.js';
4
+ import { DeployedOwnableConfig } from './types.js';
3
5
  export type UpgradeConfig = {
4
6
  timelock: {
5
7
  delay: number;
@@ -14,4 +16,9 @@ export declare function isInitialized(provider: ethers.providers.Provider, contr
14
16
  export declare function proxyAdmin(provider: ethers.providers.Provider, proxy: Address): Promise<Address>;
15
17
  export declare function proxyConstructorArgs<C extends ethers.Contract>(implementation: C, proxyAdmin: string, initializeArgs?: Parameters<C['initialize']>): [string, string, string];
16
18
  export declare function isProxy(provider: ethers.providers.Provider, proxy: Address): Promise<boolean>;
19
+ export declare function proxyAdminUpdateTxs(chainId: ChainId, proxyAddress: Address, actualConfig: Readonly<{
20
+ proxyAdmin?: DeployedOwnableConfig;
21
+ }>, expectedConfig: Readonly<{
22
+ proxyAdmin?: DeployedOwnableConfig;
23
+ }>): AnnotatedEV5Transaction[];
17
24
  //# 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,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QAEd,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,OAAO,CAAC;SACnB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,QAAQ,EAC5D,cAAc,EAAE,CAAC,EACjB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAC3C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAK1B;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAGlB"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QAEd,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,OAAO,CAAC;SACnB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,QAAQ,EAC5D,cAAc,EAAE,CAAC,EACjB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAC3C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAK1B;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,QAAQ,CAAC;IAAE,UAAU,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAAC,EAC9D,cAAc,EAAE,QAAQ,CAAC;IAAE,UAAU,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAAC,GAC/D,uBAAuB,EAAE,CAwC3B"}
@@ -1,5 +1,7 @@
1
1
  import { ethers } from 'ethers';
2
+ import { ProxyAdmin__factory } from '@hyperlane-xyz/core';
2
3
  import { eqAddress } from '@hyperlane-xyz/utils';
4
+ import { transferOwnershipTransactions } from '../contracts/contracts.js';
3
5
  export async function proxyImplementation(provider, proxy) {
4
6
  // Hardcoded storage slot for implementation per EIP-1967
5
7
  const storageValue = await provider.getStorageAt(proxy, '0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc');
@@ -26,4 +28,30 @@ export async function isProxy(provider, proxy) {
26
28
  const admin = await proxyAdmin(provider, proxy);
27
29
  return !eqAddress(admin, ethers.constants.AddressZero);
28
30
  }
31
+ export function proxyAdminUpdateTxs(chainId, proxyAddress, actualConfig, expectedConfig) {
32
+ const transactions = [];
33
+ // Return early because old config files did not have the
34
+ // proxyAdmin property
35
+ if (!expectedConfig.proxyAdmin?.address) {
36
+ return transactions;
37
+ }
38
+ const actualProxyAdmin = actualConfig.proxyAdmin;
39
+ const parsedChainId = typeof chainId === 'string' ? parseInt(chainId) : chainId;
40
+ if (actualProxyAdmin.address &&
41
+ actualProxyAdmin.address !== expectedConfig.proxyAdmin.address) {
42
+ transactions.push({
43
+ chainId: parsedChainId,
44
+ annotation: `Updating ProxyAdmin for proxy at "${proxyAddress}" from "${actualProxyAdmin.address}" to "${expectedConfig.proxyAdmin.address}"`,
45
+ to: actualProxyAdmin.address,
46
+ data: ProxyAdmin__factory.createInterface().encodeFunctionData('changeProxyAdmin(address,address)', [proxyAddress, expectedConfig.proxyAdmin.address]),
47
+ });
48
+ }
49
+ else {
50
+ transactions.push(
51
+ // Internally the createTransferOwnershipTx method already checks if the
52
+ // two owner values are the same and produces an empty tx batch if they are
53
+ ...transferOwnershipTransactions(parsedChainId, actualProxyAdmin.address, actualProxyAdmin, expectedConfig.proxyAdmin));
54
+ }
55
+ return transactions;
56
+ }
29
57
  //# sourceMappingURL=proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAW,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAa1D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAmC,EACnC,KAAc;IAEd,yDAAyD;IACzD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC9C,KAAK,EACL,oEAAoE,CACrE,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAmC,EACnC,QAAiB;IAEjB,8DAA8D;IAC9D,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,CACL,YAAY;QACZ,oEAAoE,CACrE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAmC,EACnC,KAAc;IAEd,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC9C,KAAK,EACL,oEAAoE,CACrE,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,cAAiB,EACjB,UAAkB,EAClB,cAA4C;IAE5C,MAAM,QAAQ,GAAG,cAAc;QAC7B,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,cAAc,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,QAAmC,EACnC,KAAc;IAEd,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/deploy/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAoB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAgB1E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAmC,EACnC,KAAc;IAEd,yDAAyD;IACzD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC9C,KAAK,EACL,oEAAoE,CACrE,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAmC,EACnC,QAAiB;IAEjB,8DAA8D;IAC9D,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,CACL,YAAY;QACZ,oEAAoE,CACrE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAmC,EACnC,KAAc;IAEd,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAC9C,KAAK,EACL,oEAAoE,CACrE,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,cAAiB,EACjB,UAAkB,EAClB,cAA4C;IAE5C,MAAM,QAAQ,GAAG,cAAc;QAC7B,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,cAAc,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,QAAmC,EACnC,KAAc;IAEd,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,YAAqB,EACrB,YAA8D,EAC9D,cAAgE;IAEhE,MAAM,YAAY,GAA8B,EAAE,CAAC;IAEnD,yDAAyD;IACzD,sBAAsB;IACtB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;QACxC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAW,CAAC;IAClD,MAAM,aAAa,GACjB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE5D,IACE,gBAAgB,CAAC,OAAO;QACxB,gBAAgB,CAAC,OAAO,KAAK,cAAc,CAAC,UAAU,CAAC,OAAO,EAC9D,CAAC;QACD,YAAY,CAAC,IAAI,CAAC;YAChB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,qCAAqC,YAAY,WAAW,gBAAgB,CAAC,OAAO,SAAS,cAAc,CAAC,UAAU,CAAC,OAAO,GAAG;YAC7I,EAAE,EAAE,gBAAgB,CAAC,OAAO;YAC5B,IAAI,EAAE,mBAAmB,CAAC,eAAe,EAAE,CAAC,kBAAkB,CAC5D,mCAAmC,EACnC,CAAC,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAClD;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,IAAI;QACf,wEAAwE;QACxE,2EAA2E;QAC3E,GAAG,6BAA6B,CAC9B,aAAa,EACb,gBAAgB,CAAC,OAAQ,EACzB,gBAAgB,EAChB,cAAc,CAAC,UAAU,CAC1B,CACF,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -1,14 +1,9 @@
1
- import CoinGecko from 'coingecko-api';
2
1
  import { ChainMetadata } from '../metadata/chainMetadataTypes.js';
3
2
  import { ChainMap, ChainName } from '../types.js';
4
3
  export interface TokenPriceGetter {
5
4
  getTokenPrice(chain: ChainName): Promise<number>;
6
5
  getTokenExchangeRate(base: ChainName, quote: ChainName): Promise<number>;
7
6
  }
8
- export type CoinGeckoInterface = Pick<CoinGecko, 'simple'>;
9
- export type CoinGeckoSimpleInterface = CoinGecko['simple'];
10
- export type CoinGeckoSimplePriceParams = Parameters<CoinGeckoSimpleInterface['price']>[0];
11
- export type CoinGeckoResponse = ReturnType<CoinGeckoSimpleInterface['price']>;
12
7
  type TokenPriceCacheEntry = {
13
8
  price: number;
14
9
  timestamp: Date;
@@ -23,16 +18,22 @@ declare class TokenPriceCache {
23
18
  fetch(id: string): number;
24
19
  }
25
20
  export declare class CoinGeckoTokenPriceGetter implements TokenPriceGetter {
26
- protected coinGecko: CoinGeckoInterface;
27
21
  protected cache: TokenPriceCache;
22
+ protected apiKey?: string;
28
23
  protected sleepMsBetweenRequests: number;
29
24
  protected metadata: ChainMap<ChainMetadata>;
30
- constructor(coinGecko: CoinGeckoInterface, chainMetadata: ChainMap<ChainMetadata>, expirySeconds?: number, sleepMsBetweenRequests?: number);
31
- static withDefaultCoinGecko(chainMetadata: ChainMap<ChainMetadata>, expirySeconds?: number, sleepMsBetweenRequests?: number): CoinGeckoTokenPriceGetter;
25
+ constructor({ chainMetadata, apiKey, expirySeconds, sleepMsBetweenRequests, }: {
26
+ chainMetadata: ChainMap<ChainMetadata>;
27
+ apiKey?: string;
28
+ expirySeconds?: number;
29
+ sleepMsBetweenRequests?: number;
30
+ });
32
31
  getTokenPrice(chain: ChainName, currency?: string): Promise<number>;
32
+ getAllTokenPrices(currency?: string): Promise<ChainMap<number>>;
33
33
  getTokenExchangeRate(base: ChainName, quote: ChainName, currency?: string): Promise<number>;
34
34
  private getTokenPrices;
35
35
  getTokenPriceByIds(ids: string[], currency?: string): Promise<number[] | undefined>;
36
+ fetchPriceData(ids: string[], currency: string): Promise<number[]>;
36
37
  }
37
38
  export {};
38
39
  //# sourceMappingURL=token-prices.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-prices.d.ts","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAItC,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3D,MAAM,MAAM,wBAAwB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC3D,MAAM,MAAM,0BAA0B,GAAG,UAAU,CACjD,wBAAwB,CAAC,OAAO,CAAC,CAClC,CAAC,CAAC,CAAC,CAAC;AACL,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE9E,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,cAAM,eAAe;IACnB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACnD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAEtB,YAAY,SAAK,EAAE,eAAe,SAAc;IAM5D,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAW5B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;CAc1B;AAED,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAG1C,SAAS,EAAE,kBAAkB,EAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,aAAa,CAAC,EAAE,MAAM,EACtB,sBAAsB,SAAO;IAQ/B,MAAM,CAAC,oBAAoB,CACzB,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,aAAa,CAAC,EAAE,MAAM,EACtB,sBAAsB,SAAO,GAC5B,yBAAyB;IAUtB,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,MAAc,GACvB,OAAO,CAAC,MAAM,CAAC;IAKZ,oBAAoB,CACxB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,MAAc,GACvB,OAAO,CAAC,MAAM,CAAC;YAQJ,cAAc;IA4Bf,kBAAkB,CAC7B,GAAG,EAAE,MAAM,EAAE,EACb,QAAQ,GAAE,MAAc,GACvB,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;CA0BjC"}
1
+ {"version":3,"file":"token-prices.d.ts","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIlD,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E;AAED,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,cAAM,eAAe;IACnB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACnD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAEtB,YAAY,SAAK,EAAE,eAAe,SAAc;IAM5D,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAW5B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;CAc1B;AAED,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAEhC,EACV,aAAa,EACb,MAAM,EACN,aAAa,EACb,sBAA6B,GAC9B,EAAE;QACD,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC;IAOK,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,MAAc,GACvB,OAAO,CAAC,MAAM,CAAC;IAKZ,iBAAiB,CAAC,QAAQ,GAAE,MAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAStE,oBAAoB,CACxB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,MAAc,GACvB,OAAO,CAAC,MAAM,CAAC;YAQJ,cAAc;IA4Bf,kBAAkB,CAC7B,GAAG,EAAE,MAAM,EAAE,EACb,QAAQ,GAAE,MAAc,GACvB,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;IAgBnB,cAAc,CACzB,GAAG,EAAE,MAAM,EAAE,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC;CAiBrB"}
@@ -1,5 +1,5 @@
1
- import CoinGecko from 'coingecko-api';
2
- import { rootLogger, sleep } from '@hyperlane-xyz/utils';
1
+ import { objKeys, rootLogger, sleep } from '@hyperlane-xyz/utils';
2
+ const COINGECKO_PRICE_API = 'https://api.coingecko.com/api/v3/simple/price';
3
3
  class TokenPriceCache {
4
4
  cache;
5
5
  freshSeconds;
@@ -35,24 +35,25 @@ class TokenPriceCache {
35
35
  }
36
36
  }
37
37
  export class CoinGeckoTokenPriceGetter {
38
- coinGecko;
39
38
  cache;
39
+ apiKey;
40
40
  sleepMsBetweenRequests;
41
41
  metadata;
42
- constructor(coinGecko, chainMetadata, expirySeconds, sleepMsBetweenRequests = 5000) {
43
- this.coinGecko = coinGecko;
42
+ constructor({ chainMetadata, apiKey, expirySeconds, sleepMsBetweenRequests = 5000, }) {
43
+ this.apiKey = apiKey;
44
44
  this.cache = new TokenPriceCache(expirySeconds);
45
45
  this.metadata = chainMetadata;
46
46
  this.sleepMsBetweenRequests = sleepMsBetweenRequests;
47
47
  }
48
- static withDefaultCoinGecko(chainMetadata, expirySeconds, sleepMsBetweenRequests = 5000) {
49
- const coinGecko = new CoinGecko();
50
- return new CoinGeckoTokenPriceGetter(coinGecko, chainMetadata, expirySeconds, sleepMsBetweenRequests);
51
- }
52
48
  async getTokenPrice(chain, currency = 'usd') {
53
49
  const [price] = await this.getTokenPrices([chain], currency);
54
50
  return price;
55
51
  }
52
+ async getAllTokenPrices(currency = 'usd') {
53
+ const chains = objKeys(this.metadata);
54
+ const prices = await this.getTokenPrices(chains, currency);
55
+ return chains.reduce((agg, chain, i) => ({ ...agg, [chain]: prices[i] }), {});
56
+ }
56
57
  async getTokenExchangeRate(base, quote, currency = 'usd') {
57
58
  const [basePrice, quotePrice] = await this.getTokenPrices([base, quote], currency);
58
59
  return basePrice / quotePrice;
@@ -76,20 +77,9 @@ export class CoinGeckoTokenPriceGetter {
76
77
  const toQuery = ids.filter((id) => !this.cache.isFresh(id));
77
78
  await sleep(this.sleepMsBetweenRequests);
78
79
  if (toQuery.length > 0) {
79
- let response;
80
80
  try {
81
- response = await this.coinGecko.simple.price({
82
- ids: toQuery,
83
- vs_currencies: [currency],
84
- });
85
- if (response.success === true) {
86
- const prices = toQuery.map((id) => response.data[id][currency]);
87
- toQuery.map((id, i) => this.cache.put(id, prices[i]));
88
- }
89
- else {
90
- rootLogger.warn('Failed to query token prices', response.message);
91
- return undefined;
92
- }
81
+ const prices = await this.fetchPriceData(toQuery, currency);
82
+ prices.forEach((price, i) => this.cache.put(toQuery[i], price));
93
83
  }
94
84
  catch (e) {
95
85
  rootLogger.warn('Error when querying token prices', e);
@@ -98,5 +88,19 @@ export class CoinGeckoTokenPriceGetter {
98
88
  }
99
89
  return ids.map((id) => this.cache.fetch(id));
100
90
  }
91
+ async fetchPriceData(ids, currency) {
92
+ let url = `${COINGECKO_PRICE_API}?ids=${Object.entries(ids).join(',')}&vs_currencies=${currency}`;
93
+ if (this.apiKey) {
94
+ url += `&x-cg-pro-api-key=${this.apiKey}`;
95
+ }
96
+ const resp = await fetch(url);
97
+ const idPrices = await resp.json();
98
+ return ids.map((id) => {
99
+ const price = idPrices[id]?.[currency];
100
+ if (!price)
101
+ throw new Error(`No price found for ${id}`);
102
+ return Number(price);
103
+ });
104
+ }
101
105
  }
102
106
  //# sourceMappingURL=token-prices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-prices.js","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-prices.js","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,57 @@
1
1
  import { expect } from 'chai';
2
+ import sinon from 'sinon';
3
+ import { ethereum, solanamainnet } from '@hyperlane-xyz/registry';
2
4
  import { TestChainName, testChainMetadata } from '../consts/testChains.js';
3
- import { MockCoinGecko } from '../test/MockCoinGecko.js';
4
5
  import { CoinGeckoTokenPriceGetter } from './token-prices.js';
6
+ const MOCK_FETCH_CALLS = true;
5
7
  describe('TokenPriceGetter', () => {
6
8
  let tokenPriceGetter;
7
- let mockCoinGecko;
8
- const chainA = TestChainName.test1, chainB = TestChainName.test2, priceA = 1, priceB = 5.5;
9
- before(async () => {
10
- mockCoinGecko = new MockCoinGecko();
11
- // Origin token
12
- mockCoinGecko.setTokenPrice(chainA, priceA);
13
- // Destination token
14
- mockCoinGecko.setTokenPrice(chainB, priceB);
15
- tokenPriceGetter = new CoinGeckoTokenPriceGetter(mockCoinGecko, testChainMetadata, undefined, 0);
9
+ const chainA = TestChainName.test1;
10
+ const chainB = TestChainName.test2;
11
+ const priceA = 2;
12
+ const priceB = 5;
13
+ let stub;
14
+ beforeEach(() => {
15
+ tokenPriceGetter = new CoinGeckoTokenPriceGetter({
16
+ chainMetadata: { ethereum, solanamainnet, ...testChainMetadata },
17
+ apiKey: 'test',
18
+ expirySeconds: 10,
19
+ sleepMsBetweenRequests: 10,
20
+ });
21
+ if (MOCK_FETCH_CALLS) {
22
+ stub = sinon
23
+ .stub(tokenPriceGetter, 'fetchPriceData')
24
+ .returns(Promise.resolve([priceA, priceB]));
25
+ }
26
+ });
27
+ afterEach(() => {
28
+ if (MOCK_FETCH_CALLS && stub) {
29
+ stub.restore();
30
+ }
31
+ });
32
+ describe('getTokenPriceByIds', () => {
33
+ it('returns token prices', async () => {
34
+ // stubbed results
35
+ expect(await tokenPriceGetter.getTokenPriceByIds([
36
+ ethereum.name,
37
+ solanamainnet.name,
38
+ ])).to.eql([priceA, priceB]);
39
+ });
16
40
  });
17
41
  describe('getTokenPrice', () => {
18
42
  it('returns a token price', async () => {
19
- expect(await tokenPriceGetter.getTokenPrice(chainA)).to.equal(priceA);
20
- });
21
- it('caches a token price', async () => {
22
- mockCoinGecko.setFail(chainA, true);
23
- expect(await tokenPriceGetter.getTokenPrice(chainA)).to.equal(priceA);
24
- mockCoinGecko.setFail(chainA, false);
43
+ // hardcoded result of 1 for testnets
44
+ expect(await tokenPriceGetter.getTokenPrice(TestChainName.test1)).to.equal(1);
45
+ // stubbed result for non-testnet
46
+ expect(await tokenPriceGetter.getTokenPrice(ethereum.name)).to.equal(priceA);
25
47
  });
26
48
  });
27
49
  describe('getTokenExchangeRate', () => {
28
50
  it('returns a value consistent with getTokenPrice()', async () => {
29
- const exchangeRate = await tokenPriceGetter.getTokenExchangeRate(chainA, chainB);
30
- // Should equal 1 because testnet prices are always forced to 1
31
- expect(exchangeRate).to.equal(1);
51
+ // hardcoded result of 1 for testnets
52
+ expect(await tokenPriceGetter.getTokenExchangeRate(chainA, chainB)).to.equal(1);
53
+ // stubbed result for non-testnet
54
+ expect(await tokenPriceGetter.getTokenExchangeRate(ethereum.name, solanamainnet.name)).to.equal(priceA / priceB);
32
55
  });
33
56
  });
34
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"token-prices.test.js","sourceRoot":"","sources":["../../src/gas/token-prices.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,gBAA2C,CAAC;IAChD,IAAI,aAA4B,CAAC;IACjC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAChC,MAAM,GAAG,aAAa,CAAC,KAAK,EAC5B,MAAM,GAAG,CAAC,EACV,MAAM,GAAG,GAAG,CAAC;IACf,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,eAAe;QACf,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,oBAAoB;QACpB,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,gBAAgB,GAAG,IAAI,yBAAyB,CAC9C,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,CAAC,MAAM,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAC9D,MAAM,EACN,MAAM,CACP,CAAC;YACF,+DAA+D;YAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"token-prices.test.js","sourceRoot":"","sources":["../../src/gas/token-prices.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { BigNumber } from 'ethers';
2
2
  import { ChainMetadataManager } from '../metadata/ChainMetadataManager.js';
3
3
  import { AgentCosmosGasPrice } from '../metadata/agentConfig.js';
4
- import { ChainMetadata } from '../metadata/chainMetadataTypes.js';
5
4
  import { MultiProtocolProvider } from '../providers/MultiProtocolProvider.js';
6
5
  import { ChainMap, ChainName } from '../types.js';
7
6
  import { StorageGasOracleConfig } from './oracle/types.js';
@@ -34,5 +33,4 @@ export declare function getLocalStorageGasOracleConfig({ local, gasOracleParams,
34
33
  gasOracleParams: ChainMap<ChainGasOracleParams>;
35
34
  exchangeRateMarginPct: number;
36
35
  }): ChainMap<StorageGasOracleConfig>;
37
- export declare function getCoingeckoTokenPrices(chainMetadata: ChainMap<ChainMetadata>, currency?: string): Promise<ChainMap<string | undefined>>;
38
36
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/gas/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAQ3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,qBAAqB,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,CAAC,CA2BzB;AAGD,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,SAAS,EAChB,oBAAoB,EAAE,oBAAoB,GACzC,OAAO,CAAC,mBAAmB,CAAC,CAiC9B;AAGD,wBAAgB,8BAA8B,CAAC,EAC7C,KAAK,EACL,MAAM,EACN,WAAW,EACX,qBAAqB,EACrB,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,GAAG,SAAS,CAsBZ;AAKD,wBAAgB,8BAA8B,CAAC,EAC7C,KAAK,EACL,eAAe,EACf,qBAAqB,GACtB,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAChD,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAgEnC;AAID,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,QAAQ,SAAQ,GACf,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CA2BvC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/gas/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAQ3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,qBAAqB,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,cAAc,CAAC,CA2BzB;AAGD,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,SAAS,EAChB,oBAAoB,EAAE,oBAAoB,GACzC,OAAO,CAAC,mBAAmB,CAAC,CAiC9B;AAGD,wBAAgB,8BAA8B,CAAC,EAC7C,KAAK,EACL,MAAM,EACN,WAAW,EACX,qBAAqB,EACrB,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,GAAG,SAAS,CAsBZ;AAKD,wBAAgB,8BAA8B,CAAC,EAC7C,KAAK,EACL,eAAe,EACf,qBAAqB,GACtB,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAChD,qBAAqB,EAAE,MAAM,CAAC;CAC/B,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAgEnC"}
package/dist/gas/utils.js CHANGED
@@ -124,22 +124,4 @@ export function getLocalStorageGasOracleConfig({ local, gasOracleParams, exchang
124
124
  };
125
125
  }, {});
126
126
  }
127
- const COINGECKO_PRICE_API = 'https://api.coingecko.com/api/v3/simple/price';
128
- export async function getCoingeckoTokenPrices(chainMetadata, currency = 'usd') {
129
- const ids = objMap(chainMetadata, (_, metadata) => metadata.gasCurrencyCoinGeckoId ?? metadata.name);
130
- const resp = await fetch(`${COINGECKO_PRICE_API}?ids=${Object.entries(ids).join(',')}&vs_currencies=${currency}`);
131
- const idPrices = await resp.json();
132
- const prices = objMap(ids, (chain, id) => {
133
- const idData = idPrices[id];
134
- if (!idData) {
135
- return undefined;
136
- }
137
- const price = idData[currency];
138
- if (!price) {
139
- return undefined;
140
- }
141
- return price.toString();
142
- });
143
- return prices;
144
- }
145
127
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/gas/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/gas/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAmB5D,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAA0B,EAC1B,KAAa;IAEb,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5C,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAO,QAAQ,CAAC,QAAqB,CAAC,WAAW,EAAE,CAAC;YACrE,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAClD,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QACD,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5D,OAAO;gBACL,MAAM;gBACN,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QACD,KAAK,YAAY,CAAC,QAAQ;YACxB,8BAA8B;YAC9B,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAgB,EAChB,oBAA0C;IAE1C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,wBAAwB,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACzC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CACnD,CAAC,GAAsB,EAAE,EAAE;QACzB,OAAO,CACL,GAAG,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,CACzE,CAAC;IACJ,CAAC,CACF,CAAC;IACF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE;KACzC,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,8BAA8B,CAAC,EAC7C,KAAK,EACL,MAAM,EACN,WAAW,EACX,qBAAqB,EACrB,QAAQ,GAOT;IACC,iDAAiD;IACjD,oFAAoF;IACpF,+EAA+E;IAC/E,MAAM,YAAY,GAAG,GAAG,CAAC;IACzB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CACxC,WAAW,CAAC,KAAK,CAAC,IAAI,YAAY,EAClC,4BAA4B,CAC7B,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CACzC,WAAW,CAAC,MAAM,CAAC,IAAI,YAAY,EACnC,4BAA4B,CAC7B,CAAC;IAEF,0CAA0C;IAC1C,IAAI,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9E,oBAAoB;IACpB,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,qBAAqB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEtE,OAAO,SAAS,CAAC,IAAI,CACnB,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,wEAAwE;AACxE,yDAAyD;AACzD,MAAM,UAAU,8BAA8B,CAAC,EAC7C,KAAK,EACL,eAAe,EACf,qBAAqB,GAKtB;IACC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CACjD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAC7B,CAAC;IACF,MAAM,WAAW,GAAqB,MAAM,CAC1C,eAAe,EACf,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CACpD,CAAC;IACF,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;IAClE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACpC,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;QACpE,IAAI,YAAY,GAAG,8BAA8B,CAAC;YAChD,KAAK;YACL,MAAM;YACN,WAAW;YACX,qBAAqB;YACrB,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE;SAC3D,CAAC,CAAC;QAEH,gEAAgE;QAChE,sEAAsE;QACtE,sDAAsD;QACtD,IAAI,QAAQ,GACV,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CACpF,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,mDAAmD;QACnD,IAAI,QAAQ,GAAG,EAAE,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,gCAAgC;YAChC,MAAM,qBAAqB,GAAG,GAAG,CAAC;YAElC,4DAA4D;YAC5D,6BAA6B;YAC7B,MAAM,oBAAoB,GAAG,YAAY,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACrE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,GAAG,CACpD,qBAAqB,CACtB,CAAC;YACF,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YAED,2BAA2B;YAC3B,YAAY,GAAG,oBAAoB,CAAC;YACpC,QAAQ,IAAI,qBAAqB,CAAC;QACpC,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEvD,OAAO;YACL,GAAG,GAAG;YACN,CAAC,MAAM,CAAC,EAAE;gBACR,iBAAiB,EAAE,YAAY,CAAC,QAAQ,EAAE;gBAC1C,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE;aAChC;SACF,CAAC;IACJ,CAAC,EAAE,EAAsC,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { ArbL2ToL1Hook, DomainRoutingHook, InterchainGasPaymaster, OPStackHook, PausableHook, ProtocolFee, StaticAggregationHook, StorageGasOracle } from '@hyperlane-xyz/core';
3
- import { Address, ProtocolType } from '@hyperlane-xyz/utils';
3
+ import { Address, Domain, EvmChainId, ProtocolType } from '@hyperlane-xyz/utils';
4
4
  import { HyperlaneAddresses } from '../contracts/types.js';
5
5
  import { HyperlaneModule, HyperlaneModuleParams } from '../core/AbstractHyperlaneModule.js';
6
6
  import { CoreAddresses } from '../core/contracts.js';
@@ -31,8 +31,9 @@ export declare class EvmHookModule extends HyperlaneModule<ProtocolType.Ethereum
31
31
  protected readonly reader: EvmHookReader;
32
32
  protected readonly hookFactory: HyperlaneIsmFactory;
33
33
  protected readonly deployer: HookDeployer;
34
- readonly chain: string;
35
- readonly domainId: number;
34
+ readonly chain: ChainName;
35
+ readonly chainId: EvmChainId;
36
+ readonly domainId: Domain;
36
37
  protected readonly txOverrides: Partial<ethers.providers.TransactionRequest>;
37
38
  protected constructor(multiProvider: MultiProvider, params: HyperlaneModuleParams<HookConfig, HyperlaneAddresses<ProxyFactoryFactories> & HookModuleAddresses>, contractVerifier?: ContractVerifier | undefined);
38
39
  read(): Promise<HookConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"EvmHookModule.d.ts","sourceRoot":"","sources":["../../src/hook/EvmHookModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmHookModule.d.ts","sourceRoot":"","sources":["../../src/hook/EvmHookModule.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,7 @@ export class EvmHookModule extends HyperlaneModule {
29
29
  deployer;
30
30
  // Adding these to reduce how often we need to grab from MultiProvider.
31
31
  chain;
32
- // We use domainId here because MultiProvider.getDomainId() will always
33
- // return a number, and EVM the domainId and chainId are the same.
32
+ chainId;
34
33
  domainId;
35
34
  // Transaction overrides for the chain
36
35
  txOverrides;
@@ -42,9 +41,10 @@ export class EvmHookModule extends HyperlaneModule {
42
41
  this.reader = new EvmHookReader(multiProvider, this.args.chain);
43
42
  this.hookFactory = HyperlaneIsmFactory.fromAddressesMap({ [this.args.chain]: params.addresses }, multiProvider);
44
43
  this.deployer = new HookDeployer(multiProvider, hookFactories);
45
- this.chain = this.multiProvider.getChainName(this.args.chain);
46
- this.domainId = this.multiProvider.getDomainId(this.chain);
47
- this.txOverrides = this.multiProvider.getTransactionOverrides(this.chain);
44
+ this.chain = multiProvider.getChainName(this.args.chain);
45
+ this.chainId = multiProvider.getEvmChainId(this.chain);
46
+ this.domainId = multiProvider.getDomainId(this.chain);
47
+ this.txOverrides = multiProvider.getTransactionOverrides(this.chain);
48
48
  }
49
49
  async read() {
50
50
  return typeof this.args.config === 'string'
@@ -110,7 +110,7 @@ export class EvmHookModule extends HyperlaneModule {
110
110
  if (!eqAddress(targetConfig.owner, owner)) {
111
111
  updateTxs.push({
112
112
  annotation: 'Transferring ownership of ownable Hook...',
113
- chainId: this.domainId,
113
+ chainId: this.chainId,
114
114
  to: this.args.addresses.deployedHook,
115
115
  data: Ownable__factory.createInterface().encodeFunctionData('transferOwnership(address)', [targetConfig.owner]),
116
116
  });
@@ -167,7 +167,7 @@ export class EvmHookModule extends HyperlaneModule {
167
167
  : pausableInterface.encodeFunctionData('unpause');
168
168
  updateTxs.push({
169
169
  annotation: `Updating paused state to ${targetConfig.paused}`,
170
- chainId: this.domainId,
170
+ chainId: this.chainId,
171
171
  to: this.args.addresses.deployedHook,
172
172
  data,
173
173
  });
@@ -181,7 +181,7 @@ export class EvmHookModule extends HyperlaneModule {
181
181
  if (!eqAddress(currentConfig.beneficiary, targetConfig.beneficiary)) {
182
182
  updateTxs.push({
183
183
  annotation: `Updating beneficiary from ${currentConfig.beneficiary} to ${targetConfig.beneficiary}`,
184
- chainId: this.domainId,
184
+ chainId: this.chainId,
185
185
  to: this.args.addresses.deployedHook,
186
186
  data: igpInterface.encodeFunctionData('setBeneficiary(address)', [
187
187
  targetConfig.beneficiary,
@@ -250,7 +250,7 @@ export class EvmHookModule extends HyperlaneModule {
250
250
  return [
251
251
  {
252
252
  annotation: `Updating overhead for domains ${Object.keys(targetOverheads).join(', ')}...`,
253
- chainId: this.domainId,
253
+ chainId: this.chainId,
254
254
  to: interchainGasPaymaster,
255
255
  data: InterchainGasPaymaster__factory.createInterface().encodeFunctionData('setDestinationGasConfigs((uint32,(address,uint96))[])', [gasParamsToSet]),
256
256
  },
@@ -286,7 +286,7 @@ export class EvmHookModule extends HyperlaneModule {
286
286
  return [
287
287
  {
288
288
  annotation: `Updating gas oracle config for domains ${Object.keys(targetOracleConfig).join(', ')}...`,
289
- chainId: this.domainId,
289
+ chainId: this.chainId,
290
290
  to: gasOracle,
291
291
  data: StorageGasOracle__factory.createInterface().encodeFunctionData('setRemoteGasDataConfigs((uint32,uint128,uint128)[])', [configsToSet]),
292
292
  },
@@ -305,7 +305,7 @@ export class EvmHookModule extends HyperlaneModule {
305
305
  if (currentConfig.protocolFee !== targetConfig.protocolFee) {
306
306
  updateTxs.push({
307
307
  annotation: `Updating protocol fee from ${currentConfig.protocolFee} to ${targetConfig.protocolFee}`,
308
- chainId: this.domainId,
308
+ chainId: this.chainId,
309
309
  to: this.args.addresses.deployedHook,
310
310
  data: protocolFeeInterface.encodeFunctionData('setProtocolFee(uint256)', [targetConfig.protocolFee]),
311
311
  });
@@ -314,7 +314,7 @@ export class EvmHookModule extends HyperlaneModule {
314
314
  if (currentConfig.beneficiary !== targetConfig.beneficiary) {
315
315
  updateTxs.push({
316
316
  annotation: `Updating beneficiary from ${currentConfig.beneficiary} to ${targetConfig.beneficiary}`,
317
- chainId: this.domainId,
317
+ chainId: this.chainId,
318
318
  to: this.args.addresses.deployedHook,
319
319
  data: protocolFeeInterface.encodeFunctionData('setBeneficiary(address)', [targetConfig.beneficiary]),
320
320
  });
@@ -343,7 +343,7 @@ export class EvmHookModule extends HyperlaneModule {
343
343
  return [
344
344
  {
345
345
  annotation: 'Updating routing hooks...',
346
- chainId: this.domainId,
346
+ chainId: this.chainId,
347
347
  to: this.args.addresses.deployedHook,
348
348
  data: DomainRoutingHook__factory.createInterface().encodeFunctionData('setHooks((uint32,address)[])', [routingUpdates]),
349
349
  },
@@ -468,11 +468,11 @@ export class EvmHookModule extends HyperlaneModule {
468
468
  async deployArbL1ToL1Hook({ config, }) {
469
469
  const chain = this.chain;
470
470
  const mailbox = this.args.addresses.mailbox;
471
- const destinationChain = this.multiProvider.getChainId(config.destinationChain);
472
- if (typeof destinationChain !== 'number') {
473
- throw new Error(`Only ethereum chains supported for deploying Arbitrum L2 hook, given: ${config.destinationChain}`);
471
+ const destinationChainId = this.multiProvider.tryGetEvmChainId(config.destinationChain);
472
+ if (!destinationChainId) {
473
+ throw new Error(`Only ethereum chains supported for deploying Arbitrum L2 hook, given: ${config.destinationChain}`);
474
474
  }
475
- const bridge = config.bridge ?? getArbitrumNetwork(destinationChain).ethBridge.bridge;
475
+ const bridge = config.bridge ?? getArbitrumNetwork(destinationChainId).ethBridge.bridge;
476
476
  const ismConfig = {
477
477
  type: IsmType.ARB_L2_TO_L1,
478
478
  bridge,