@hyperlane-xyz/sdk 35.1.0 → 36.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 (286) hide show
  1. package/dist/block-explorer/utils.d.ts +8 -0
  2. package/dist/block-explorer/utils.d.ts.map +1 -1
  3. package/dist/block-explorer/utils.js +16 -3
  4. package/dist/block-explorer/utils.js.map +1 -1
  5. package/dist/ccip/consts.d.ts.map +1 -1
  6. package/dist/ccip/consts.js +0 -40
  7. package/dist/ccip/consts.js.map +1 -1
  8. package/dist/consts/multisigIsm.d.ts.map +1 -1
  9. package/dist/consts/multisigIsm.js +39 -241
  10. package/dist/consts/multisigIsm.js.map +1 -1
  11. package/dist/contracts/contracts.d.ts.map +1 -1
  12. package/dist/contracts/contracts.js +6 -1
  13. package/dist/contracts/contracts.js.map +1 -1
  14. package/dist/core/CoreDeployer.hardhat-test.js +9 -0
  15. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  16. package/dist/core/EvmCoreModule.d.ts.map +1 -1
  17. package/dist/core/EvmCoreModule.hardhat-test.js +23 -0
  18. package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -1
  19. package/dist/core/EvmCoreModule.js +8 -5
  20. package/dist/core/EvmCoreModule.js.map +1 -1
  21. package/dist/core/EvmCoreReader.d.ts.map +1 -1
  22. package/dist/core/EvmCoreReader.js +34 -15
  23. package/dist/core/EvmCoreReader.js.map +1 -1
  24. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  25. package/dist/core/HyperlaneCoreDeployer.js +34 -13
  26. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  27. package/dist/core/TestCoreApp.d.ts +1 -1
  28. package/dist/core/contracts.d.ts +5 -2
  29. package/dist/core/contracts.d.ts.map +1 -1
  30. package/dist/core/contracts.js +4 -1
  31. package/dist/core/contracts.js.map +1 -1
  32. package/dist/core/types.d.ts +1092 -627
  33. package/dist/core/types.d.ts.map +1 -1
  34. package/dist/core/types.js +30 -2
  35. package/dist/core/types.js.map +1 -1
  36. package/dist/core/types.test.d.ts +2 -0
  37. package/dist/core/types.test.d.ts.map +1 -0
  38. package/dist/core/types.test.js +50 -0
  39. package/dist/core/types.test.js.map +1 -0
  40. package/dist/deploy/HyperlaneDeployer.d.ts +1 -0
  41. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  42. package/dist/deploy/HyperlaneDeployer.js +17 -8
  43. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  44. package/dist/deploy/proxy.d.ts.map +1 -1
  45. package/dist/deploy/proxy.js +9 -5
  46. package/dist/deploy/proxy.js.map +1 -1
  47. package/dist/deploy/warp.d.ts.map +1 -1
  48. package/dist/deploy/warp.js +5 -0
  49. package/dist/deploy/warp.js.map +1 -1
  50. package/dist/fee/EvmTokenFeeDeployer.d.ts +1 -0
  51. package/dist/fee/EvmTokenFeeDeployer.d.ts.map +1 -1
  52. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +40 -0
  53. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -1
  54. package/dist/fee/EvmTokenFeeDeployer.js +8 -0
  55. package/dist/fee/EvmTokenFeeDeployer.js.map +1 -1
  56. package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -1
  57. package/dist/fee/EvmTokenFeeReader.js +3 -13
  58. package/dist/fee/EvmTokenFeeReader.js.map +1 -1
  59. package/dist/fee/feeConfigMapping.d.ts +9 -0
  60. package/dist/fee/feeConfigMapping.d.ts.map +1 -0
  61. package/dist/fee/feeConfigMapping.js +86 -0
  62. package/dist/fee/feeConfigMapping.js.map +1 -0
  63. package/dist/fee/feeConfigMapping.test.d.ts +2 -0
  64. package/dist/fee/feeConfigMapping.test.d.ts.map +1 -0
  65. package/dist/fee/feeConfigMapping.test.js +204 -0
  66. package/dist/fee/feeConfigMapping.test.js.map +1 -0
  67. package/dist/fee/types.d.ts +185 -113
  68. package/dist/fee/types.d.ts.map +1 -1
  69. package/dist/fee/types.js +13 -11
  70. package/dist/fee/types.js.map +1 -1
  71. package/dist/fee/utils.d.ts +1 -32
  72. package/dist/fee/utils.d.ts.map +1 -1
  73. package/dist/fee/utils.js +1 -47
  74. package/dist/fee/utils.js.map +1 -1
  75. package/dist/gas/HyperlaneIgpChecker.d.ts +1 -0
  76. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  77. package/dist/gas/HyperlaneIgpChecker.js +43 -1
  78. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  79. package/dist/gas/HyperlaneIgpDeployer.d.ts +17 -0
  80. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  81. package/dist/gas/HyperlaneIgpDeployer.js +124 -4
  82. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  83. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +33 -2
  84. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
  85. package/dist/gas/types.d.ts +17 -3
  86. package/dist/gas/types.d.ts.map +1 -1
  87. package/dist/gas/types.js +19 -0
  88. package/dist/gas/types.js.map +1 -1
  89. package/dist/gas/utils.d.ts +5 -1
  90. package/dist/gas/utils.d.ts.map +1 -1
  91. package/dist/gas/utils.js +92 -31
  92. package/dist/gas/utils.js.map +1 -1
  93. package/dist/gas/utils.test.d.ts +2 -0
  94. package/dist/gas/utils.test.d.ts.map +1 -0
  95. package/dist/gas/utils.test.js +132 -0
  96. package/dist/gas/utils.test.js.map +1 -0
  97. package/dist/hook/EvmHookModule.d.ts +21 -1
  98. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  99. package/dist/hook/EvmHookModule.hardhat-test.js +125 -2
  100. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
  101. package/dist/hook/EvmHookModule.js +191 -17
  102. package/dist/hook/EvmHookModule.js.map +1 -1
  103. package/dist/hook/EvmHookReader.d.ts +4 -4
  104. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  105. package/dist/hook/EvmHookReader.js +67 -16
  106. package/dist/hook/EvmHookReader.js.map +1 -1
  107. package/dist/hook/EvmHookReader.test.js +128 -2
  108. package/dist/hook/EvmHookReader.test.js.map +1 -1
  109. package/dist/hook/HyperlaneHookDeployer.d.ts +10 -5
  110. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  111. package/dist/hook/types.d.ts +338 -264
  112. package/dist/hook/types.d.ts.map +1 -1
  113. package/dist/hook/types.js +30 -6
  114. package/dist/hook/types.js.map +1 -1
  115. package/dist/hook/types.test.d.ts +2 -0
  116. package/dist/hook/types.test.d.ts.map +1 -0
  117. package/dist/hook/types.test.js +184 -0
  118. package/dist/hook/types.test.js.map +1 -0
  119. package/dist/hook/utils.d.ts +1 -0
  120. package/dist/hook/utils.d.ts.map +1 -1
  121. package/dist/hook/utils.js +16 -10
  122. package/dist/hook/utils.js.map +1 -1
  123. package/dist/ica/types.d.ts +380 -188
  124. package/dist/ica/types.d.ts.map +1 -1
  125. package/dist/index.d.ts +8 -6
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +5 -3
  128. package/dist/index.js.map +1 -1
  129. package/dist/ism/EvmIsmModule.d.ts +7 -1
  130. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  131. package/dist/ism/EvmIsmModule.hardhat-test.js +4 -0
  132. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  133. package/dist/ism/EvmIsmModule.js +152 -4
  134. package/dist/ism/EvmIsmModule.js.map +1 -1
  135. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  136. package/dist/ism/EvmIsmReader.js +1 -2
  137. package/dist/ism/EvmIsmReader.js.map +1 -1
  138. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  139. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +17 -0
  140. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  141. package/dist/ism/HyperlaneIsmFactory.js +35 -9
  142. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  143. package/dist/ism/types.d.ts +88 -3
  144. package/dist/ism/types.d.ts.map +1 -1
  145. package/dist/ism/types.js +4 -0
  146. package/dist/ism/types.js.map +1 -1
  147. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  148. package/dist/metadata/ChainMetadataManager.js +2 -2
  149. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  150. package/dist/metadata/ChainMetadataManager.test.js +71 -0
  151. package/dist/metadata/ChainMetadataManager.test.js.map +1 -1
  152. package/dist/metadata/agentConfig.d.ts +937 -168
  153. package/dist/metadata/agentConfig.d.ts.map +1 -1
  154. package/dist/metadata/agentConfig.js +68 -1
  155. package/dist/metadata/agentConfig.js.map +1 -1
  156. package/dist/metadata/agentConfig.test.js +67 -1
  157. package/dist/metadata/agentConfig.test.js.map +1 -1
  158. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  159. package/dist/middleware/account/InterchainAccount.js +10 -0
  160. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  161. package/dist/middleware/account/InterchainAccount.test.js +26 -0
  162. package/dist/middleware/account/InterchainAccount.test.js.map +1 -1
  163. package/dist/providers/MultiProvider.d.ts +6 -0
  164. package/dist/providers/MultiProvider.d.ts.map +1 -1
  165. package/dist/providers/MultiProvider.js +28 -2
  166. package/dist/providers/MultiProvider.js.map +1 -1
  167. package/dist/providers/SeismicSigner.d.ts +54 -0
  168. package/dist/providers/SeismicSigner.d.ts.map +1 -0
  169. package/dist/providers/SeismicSigner.js +89 -0
  170. package/dist/providers/SeismicSigner.js.map +1 -0
  171. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
  172. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +8 -0
  173. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
  174. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  175. package/dist/providers/SmartProvider/SmartProvider.js +69 -23
  176. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  177. package/dist/providers/SmartProvider/SmartProvider.test.js +34 -5
  178. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
  179. package/dist/providers/builders/starknet.d.ts.map +1 -1
  180. package/dist/providers/builders/starknet.js +6 -1
  181. package/dist/providers/builders/starknet.js.map +1 -1
  182. package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts.map +1 -1
  183. package/dist/providers/transactions/submitter/IcaTxSubmitter.js +23 -8
  184. package/dist/providers/transactions/submitter/IcaTxSubmitter.js.map +1 -1
  185. package/dist/providers/transactions/submitter/IcaTxSubmitter.test.js +45 -0
  186. package/dist/providers/transactions/submitter/IcaTxSubmitter.test.js.map +1 -1
  187. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts +1 -1
  188. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts.map +1 -1
  189. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +1 -1
  190. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -1
  191. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
  192. package/dist/providers/transactions/submitter/ethersV5/types.d.ts +6 -0
  193. package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -1
  194. package/dist/providers/transactions/submitter/ethersV5/types.js +26 -5
  195. package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -1
  196. package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts.map +1 -1
  197. package/dist/providers/transactions/submitter/submitterBuilderGetter.js +11 -1
  198. package/dist/providers/transactions/submitter/submitterBuilderGetter.js.map +1 -1
  199. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.d.ts +2 -0
  200. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.d.ts.map +1 -0
  201. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.js +38 -0
  202. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.js.map +1 -0
  203. package/dist/router/types.d.ts +481 -236
  204. package/dist/router/types.d.ts.map +1 -1
  205. package/dist/router/types.js +1 -0
  206. package/dist/router/types.js.map +1 -1
  207. package/dist/router/types.test.d.ts +2 -0
  208. package/dist/router/types.test.d.ts.map +1 -0
  209. package/dist/router/types.test.js +32 -0
  210. package/dist/router/types.test.js.map +1 -0
  211. package/dist/test/testUtils.d.ts.map +1 -1
  212. package/dist/test/testUtils.js +3 -0
  213. package/dist/test/testUtils.js.map +1 -1
  214. package/dist/token/EvmWarpModule.d.ts +18 -1
  215. package/dist/token/EvmWarpModule.d.ts.map +1 -1
  216. package/dist/token/EvmWarpModule.hardhat-test.js +30 -0
  217. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
  218. package/dist/token/EvmWarpModule.js +67 -5
  219. package/dist/token/EvmWarpModule.js.map +1 -1
  220. package/dist/token/EvmWarpModule.test.d.ts +2 -0
  221. package/dist/token/EvmWarpModule.test.d.ts.map +1 -0
  222. package/dist/token/EvmWarpModule.test.js +77 -0
  223. package/dist/token/EvmWarpModule.test.js.map +1 -0
  224. package/dist/token/EvmWarpRouteReader.d.ts +1 -0
  225. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
  226. package/dist/token/EvmWarpRouteReader.js +17 -0
  227. package/dist/token/EvmWarpRouteReader.js.map +1 -1
  228. package/dist/token/EvmXERC20Module.d.ts +31 -26
  229. package/dist/token/EvmXERC20Module.d.ts.map +1 -1
  230. package/dist/token/EvmXERC20Module.js +46 -3
  231. package/dist/token/EvmXERC20Module.js.map +1 -1
  232. package/dist/token/EvmXERC20Module.test.js +162 -1
  233. package/dist/token/EvmXERC20Module.test.js.map +1 -1
  234. package/dist/token/EvmXERC20Reader.d.ts +17 -0
  235. package/dist/token/EvmXERC20Reader.d.ts.map +1 -1
  236. package/dist/token/EvmXERC20Reader.js +37 -1
  237. package/dist/token/EvmXERC20Reader.js.map +1 -1
  238. package/dist/token/adapters/EvmHypSyntheticAdapter.test.d.ts +2 -0
  239. package/dist/token/adapters/EvmHypSyntheticAdapter.test.d.ts.map +1 -0
  240. package/dist/token/adapters/EvmHypSyntheticAdapter.test.js +96 -0
  241. package/dist/token/adapters/EvmHypSyntheticAdapter.test.js.map +1 -0
  242. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  243. package/dist/token/adapters/EvmTokenAdapter.js +25 -12
  244. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  245. package/dist/token/configUtils.test.js.map +1 -1
  246. package/dist/token/deploy.d.ts +1 -0
  247. package/dist/token/deploy.d.ts.map +1 -1
  248. package/dist/token/deploy.js +13 -0
  249. package/dist/token/deploy.js.map +1 -1
  250. package/dist/token/tokenMetadataUtils.d.ts.map +1 -1
  251. package/dist/token/tokenMetadataUtils.js +1 -0
  252. package/dist/token/tokenMetadataUtils.js.map +1 -1
  253. package/dist/token/types.d.ts +1373 -699
  254. package/dist/token/types.d.ts.map +1 -1
  255. package/dist/token/types.test.js +11 -0
  256. package/dist/token/types.test.js.map +1 -1
  257. package/dist/token/xerc20.d.ts.map +1 -1
  258. package/dist/token/xerc20.js +10 -2
  259. package/dist/token/xerc20.js.map +1 -1
  260. package/dist/token/xerc20.test.d.ts +2 -0
  261. package/dist/token/xerc20.test.d.ts.map +1 -0
  262. package/dist/token/xerc20.test.js +143 -0
  263. package/dist/token/xerc20.test.js.map +1 -0
  264. package/dist/utils/contract.d.ts +6 -0
  265. package/dist/utils/contract.d.ts.map +1 -1
  266. package/dist/utils/contract.js +11 -0
  267. package/dist/utils/contract.js.map +1 -1
  268. package/dist/utils/contract.test.js +2 -1
  269. package/dist/utils/contract.test.js.map +1 -1
  270. package/dist/utils/gas.d.ts +1 -0
  271. package/dist/utils/gas.d.ts.map +1 -1
  272. package/dist/utils/gas.js +1 -0
  273. package/dist/utils/gas.js.map +1 -1
  274. package/dist/utils/gnosisSafe.d.ts +4 -1
  275. package/dist/utils/gnosisSafe.d.ts.map +1 -1
  276. package/dist/utils/gnosisSafe.js +20 -7
  277. package/dist/utils/gnosisSafe.js.map +1 -1
  278. package/dist/utils/gnosisSafe.test.js +44 -1
  279. package/dist/utils/gnosisSafe.test.js.map +1 -1
  280. package/dist/utils/ism.d.ts.map +1 -1
  281. package/dist/utils/ism.js +4 -2
  282. package/dist/utils/ism.js.map +1 -1
  283. package/dist/warp/WarpCore.d.ts.map +1 -1
  284. package/dist/warp/WarpCore.js +4 -3
  285. package/dist/warp/WarpCore.js.map +1 -1
  286. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hook/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hook/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
- import { isNullish, rootLogger, } from '@hyperlane-xyz/utils';
3
- import { ProtocolAgnositicGasOracleConfigWithTypicalCostSchema } from '../gas/oracle/types.js';
4
- import { ZHash } from '../metadata/customZodTypes.js';
2
+ import { isAddressEvm, isNullish, isZeroishAddress, rootLogger, } from '@hyperlane-xyz/utils';
3
+ import { ProtocolAgnositicGasOracleConfigSchema, ProtocolAgnositicGasOracleConfigWithTypicalCostSchema, } from '../gas/oracle/types.js';
4
+ import { ZChainName, ZHash } from '../metadata/customZodTypes.js';
5
5
  import { OwnableSchema, PausableSchema, } from '../types.js';
6
6
  // As found in IPostDispatchHook.sol
7
7
  export var OnchainHookType;
@@ -73,6 +73,20 @@ export const HookTypeToContractNameMap = {
73
73
  [HookType.CCIP]: 'ccipHook',
74
74
  [HookType.RATE_LIMITED]: 'rateLimitedHook',
75
75
  };
76
+ export var IgpVersion;
77
+ (function (IgpVersion) {
78
+ IgpVersion["Legacy"] = "legacy";
79
+ IgpVersion["Latest"] = "latest";
80
+ })(IgpVersion || (IgpVersion = {}));
81
+ export const OFFCHAIN_QUOTED_IGP_VERSION = '11.3.0';
82
+ const FeeTokenAddressSchema = z
83
+ .string()
84
+ .refine((feeToken) => isAddressEvm(feeToken), {
85
+ message: 'fee token must be an EVM address',
86
+ })
87
+ .refine((feeToken) => !isZeroishAddress(feeToken), {
88
+ message: 'fee token must not be the zero address',
89
+ });
76
90
  // Hook types that can be updated in-place
77
91
  export const MUTABLE_HOOK_TYPE = [
78
92
  HookType.INTERCHAIN_GAS_PAYMASTER,
@@ -106,7 +120,7 @@ export const OpStackHookSchema = OwnableSchema.extend({
106
120
  nativeBridge: z.string(),
107
121
  destinationChain: z.string(),
108
122
  });
109
- export const ArbL2ToL1HookSchema = z.object({
123
+ export const ArbL2ToL1HookSchema = z.lazy(() => z.object({
110
124
  type: z.literal(HookType.ARB_L2_TO_L1),
111
125
  arbSys: z
112
126
  .string()
@@ -116,16 +130,26 @@ export const ArbL2ToL1HookSchema = z.object({
116
130
  .optional()
117
131
  .describe('address of the bridge contract on L1, optional only needed for non @arbitrum/sdk chains'),
118
132
  destinationChain: z.string(),
119
- childHook: z.lazy(() => HookConfigSchema),
120
- });
133
+ childHook: HookConfigSchema,
134
+ }));
121
135
  export const IgpSchema = OwnableSchema.extend({
122
136
  type: z.literal(HookType.INTERCHAIN_GAS_PAYMASTER),
123
137
  beneficiary: z.string(),
124
138
  oracleKey: z.string(),
125
139
  overhead: z.record(z.number()),
126
140
  oracleConfig: z.record(ProtocolAgnositicGasOracleConfigWithTypicalCostSchema),
141
+ igpVersion: z.nativeEnum(IgpVersion).optional(),
127
142
  quoteSigners: z.array(z.string()).optional(),
128
143
  contractVersion: z.string().optional(),
144
+ // Per-fee-token gas oracles for ERC20-denominated interchain gas payments.
145
+ // Keyed by fee token address -> remote chain -> oracle config. Each fee token
146
+ // gets its own StorageGasOracle (the IGasOracle interface is keyed only by
147
+ // destination, so distinct exchange rates require distinct oracle instances).
148
+ // Optional and off by default; only wired when present and the IGP supports
149
+ // tokenGasOracles (>= OFFCHAIN_QUOTED_IGP_VERSION, non-legacy).
150
+ tokenOracleConfig: z
151
+ .record(FeeTokenAddressSchema, z.record(ZChainName, ProtocolAgnositicGasOracleConfigSchema))
152
+ .optional(),
129
153
  });
130
154
  export const DomainRoutingHookConfigSchema = z.lazy(() => OwnableSchema.extend({
131
155
  type: z.literal(HookType.ROUTING),
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hook/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hook/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../src/hook/types.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,184 @@
1
+ import { expect } from 'chai';
2
+ import { ethers } from 'ethers';
3
+ import { randomAddress } from '../test/testUtils.js';
4
+ import { HookConfigSchema, HookType, IgpSchema } from './types.js';
5
+ const SOME_ADDRESS = ethers.Wallet.createRandom().address;
6
+ const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
7
+ describe('IgpSchema', () => {
8
+ const baseConfig = {
9
+ type: HookType.INTERCHAIN_GAS_PAYMASTER,
10
+ owner: SOME_ADDRESS,
11
+ beneficiary: SOME_ADDRESS,
12
+ oracleKey: SOME_ADDRESS,
13
+ overhead: { ethereum: 60000 },
14
+ oracleConfig: {
15
+ ethereum: {
16
+ gasPrice: '1000000000',
17
+ tokenExchangeRate: '10000000000',
18
+ },
19
+ },
20
+ };
21
+ it('should parse valid IGP config without tokenOracleConfig', () => {
22
+ const result = IgpSchema.safeParse(baseConfig);
23
+ expect(result.success).to.be.true;
24
+ });
25
+ it('should parse valid IGP config with tokenOracleConfig', () => {
26
+ const feeToken = randomAddress();
27
+ const config = {
28
+ ...baseConfig,
29
+ tokenOracleConfig: {
30
+ [feeToken]: {
31
+ ethereum: {
32
+ gasPrice: '500000000',
33
+ tokenExchangeRate: '20000000000',
34
+ },
35
+ },
36
+ },
37
+ };
38
+ const result = IgpSchema.safeParse(config);
39
+ expect(result.success).to.be.true;
40
+ if (result.success) {
41
+ expect(result.data.tokenOracleConfig).to.not.be.undefined;
42
+ expect(result.data.tokenOracleConfig[feeToken]).to.deep.equal({
43
+ ethereum: {
44
+ gasPrice: '500000000',
45
+ tokenExchangeRate: '20000000000',
46
+ },
47
+ });
48
+ }
49
+ });
50
+ it('should parse config with multiple fee tokens in tokenOracleConfig', () => {
51
+ const feeToken1 = randomAddress();
52
+ const feeToken2 = randomAddress();
53
+ const config = {
54
+ ...baseConfig,
55
+ tokenOracleConfig: {
56
+ [feeToken1]: {
57
+ ethereum: {
58
+ gasPrice: '500000000',
59
+ tokenExchangeRate: '20000000000',
60
+ },
61
+ },
62
+ [feeToken2]: {
63
+ ethereum: {
64
+ gasPrice: '1000000000',
65
+ tokenExchangeRate: '15000000000',
66
+ },
67
+ arbitrum: {
68
+ gasPrice: '100000000',
69
+ tokenExchangeRate: '10000000000',
70
+ },
71
+ },
72
+ },
73
+ };
74
+ const result = IgpSchema.safeParse(config);
75
+ expect(result.success).to.be.true;
76
+ if (result.success) {
77
+ expect(Object.keys(result.data.tokenOracleConfig)).to.have.lengthOf(2);
78
+ }
79
+ });
80
+ it('should parse config with tokenOracleConfig including tokenDecimals', () => {
81
+ const feeToken = randomAddress();
82
+ const config = {
83
+ ...baseConfig,
84
+ tokenOracleConfig: {
85
+ [feeToken]: {
86
+ ethereum: {
87
+ gasPrice: '500000000',
88
+ tokenExchangeRate: '20000000000',
89
+ tokenDecimals: 6,
90
+ },
91
+ },
92
+ },
93
+ };
94
+ const result = IgpSchema.safeParse(config);
95
+ expect(result.success).to.be.true;
96
+ });
97
+ it('should reject tokenOracleConfig with missing gasPrice', () => {
98
+ const feeToken = randomAddress();
99
+ const config = {
100
+ ...baseConfig,
101
+ tokenOracleConfig: {
102
+ [feeToken]: {
103
+ ethereum: {
104
+ tokenExchangeRate: '20000000000',
105
+ },
106
+ },
107
+ },
108
+ };
109
+ const result = IgpSchema.safeParse(config);
110
+ expect(result.success).to.be.false;
111
+ });
112
+ it('should reject tokenOracleConfig with missing tokenExchangeRate', () => {
113
+ const feeToken = randomAddress();
114
+ const config = {
115
+ ...baseConfig,
116
+ tokenOracleConfig: {
117
+ [feeToken]: {
118
+ ethereum: {
119
+ gasPrice: '500000000',
120
+ },
121
+ },
122
+ },
123
+ };
124
+ const result = IgpSchema.safeParse(config);
125
+ expect(result.success).to.be.false;
126
+ });
127
+ });
128
+ describe('IgpSchema tokenOracleConfig key validation', () => {
129
+ const baseConfig = {
130
+ type: HookType.INTERCHAIN_GAS_PAYMASTER,
131
+ owner: SOME_ADDRESS,
132
+ beneficiary: SOME_ADDRESS,
133
+ oracleKey: SOME_ADDRESS,
134
+ overhead: {},
135
+ oracleConfig: {},
136
+ };
137
+ it('allows non-zero EVM fee-token keys and chain-name remote keys', () => {
138
+ const feeToken = randomAddress();
139
+ const config = {
140
+ ...baseConfig,
141
+ tokenOracleConfig: {
142
+ [feeToken]: {
143
+ ethereum: { tokenExchangeRate: '1', gasPrice: '1' },
144
+ },
145
+ },
146
+ };
147
+ expect(HookConfigSchema.safeParse(config).success).to.be.true;
148
+ });
149
+ it('rejects zero-address fee-token keys', () => {
150
+ const config = {
151
+ ...baseConfig,
152
+ tokenOracleConfig: {
153
+ [ZERO_ADDRESS]: {
154
+ ethereum: { tokenExchangeRate: '1', gasPrice: '1' },
155
+ },
156
+ },
157
+ };
158
+ expect(HookConfigSchema.safeParse(config).success).to.be.false;
159
+ });
160
+ it('rejects non-address fee-token keys', () => {
161
+ const config = {
162
+ ...baseConfig,
163
+ tokenOracleConfig: {
164
+ NATIVE_TOKEN: {
165
+ ethereum: { tokenExchangeRate: '1', gasPrice: '1' },
166
+ },
167
+ },
168
+ };
169
+ expect(HookConfigSchema.safeParse(config).success).to.be.false;
170
+ });
171
+ it('rejects invalid remote chain keys', () => {
172
+ const feeToken = randomAddress();
173
+ const config = {
174
+ ...baseConfig,
175
+ tokenOracleConfig: {
176
+ [feeToken]: {
177
+ 'not-a-chain': { tokenExchangeRate: '1', gasPrice: '1' },
178
+ },
179
+ },
180
+ };
181
+ expect(HookConfigSchema.safeParse(config).success).to.be.false;
182
+ });
183
+ });
184
+ //# sourceMappingURL=types.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/hook/types.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { DerivedHookConfig, HookConfig, HookType } from './types.js';
7
7
  */
8
8
  export declare function stripPredicateSubHook(hook: DerivedHookConfig | string): DerivedHookConfig | string;
9
9
  export declare function hookTreeContainsRateLimited(hook: HookConfig | undefined): boolean;
10
+ export declare function hookTreeContainsLegacyIgp(hook: HookConfig | undefined): boolean;
10
11
  export declare const isHookCompatible: ({ hookType, chainTechnicalStack, }: {
11
12
  hookType: HookType;
12
13
  chainTechnicalStack?: ChainTechnicalStack;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/hook/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAEL,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAC/B,iBAAiB,GAAG,MAAM,CAe5B;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,UAAU,GAAG,SAAS,GAC3B,OAAO,CAyBT;AAED,eAAO,MAAM,gBAAgB,GAAI,oCAG9B;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C,KAAG,OAID,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/hook/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAEL,iBAAiB,EACjB,UAAU,EACV,QAAQ,EAET,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAC/B,iBAAiB,GAAG,MAAM,CAe5B;AAmCD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,UAAU,GAAG,SAAS,GAC3B,OAAO,CAET;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,UAAU,GAAG,SAAS,GAC3B,OAAO,CAOT;AAED,eAAO,MAAM,gBAAgB,GAAI,oCAG9B;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C,KAAG,OAID,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ChainTechnicalStack } from '../metadata/chainMetadataTypes.js';
2
- import { HookType, } from './types.js';
2
+ import { HookType, IgpVersion, } from './types.js';
3
3
  /**
4
4
  * Strips the PREDICATE sub-hook from an aggregation hook config.
5
5
  * If the aggregation contains exactly one non-predicate hook, unwraps it.
@@ -18,30 +18,36 @@ export function stripPredicateSubHook(hook) {
18
18
  // Multiple non-predicate hooks remain — can't construct without on-chain address
19
19
  return hook;
20
20
  }
21
- export function hookTreeContainsRateLimited(hook) {
21
+ function hookTreeContains(hook, predicate) {
22
22
  if (!hook || typeof hook === 'string')
23
23
  return false;
24
- if (hook.type === HookType.RATE_LIMITED)
24
+ if (predicate(hook))
25
25
  return true;
26
26
  if (hook.type === HookType.AGGREGATION) {
27
- return hook.hooks.some(hookTreeContainsRateLimited);
27
+ return hook.hooks.some((child) => hookTreeContains(child, predicate));
28
28
  }
29
29
  if (hook.type === HookType.ROUTING) {
30
- return Object.values(hook.domains).some(hookTreeContainsRateLimited);
30
+ return Object.values(hook.domains).some((child) => hookTreeContains(child, predicate));
31
31
  }
32
32
  if (hook.type === HookType.FALLBACK_ROUTING) {
33
- return (Object.values(hook.domains).some(hookTreeContainsRateLimited) ||
34
- hookTreeContainsRateLimited(hook.fallback));
33
+ return (Object.values(hook.domains).some((child) => hookTreeContains(child, predicate)) || hookTreeContains(hook.fallback, predicate));
35
34
  }
36
35
  if (hook.type === HookType.AMOUNT_ROUTING) {
37
- return (hookTreeContainsRateLimited(hook.lowerHook) ||
38
- hookTreeContainsRateLimited(hook.upperHook));
36
+ return (hookTreeContains(hook.lowerHook, predicate) ||
37
+ hookTreeContains(hook.upperHook, predicate));
39
38
  }
40
39
  if (hook.type === HookType.ARB_L2_TO_L1) {
41
- return hookTreeContainsRateLimited(hook.childHook);
40
+ return hookTreeContains(hook.childHook, predicate);
42
41
  }
43
42
  return false;
44
43
  }
44
+ export function hookTreeContainsRateLimited(hook) {
45
+ return hookTreeContains(hook, (node) => node.type === HookType.RATE_LIMITED);
46
+ }
47
+ export function hookTreeContainsLegacyIgp(hook) {
48
+ return hookTreeContains(hook, (node) => node.type === HookType.INTERCHAIN_GAS_PAYMASTER &&
49
+ node.igpVersion === IgpVersion.Legacy);
50
+ }
45
51
  export const isHookCompatible = ({ hookType, chainTechnicalStack, }) => !(hookType === HookType.AGGREGATION &&
46
52
  chainTechnicalStack === ChainTechnicalStack.ZkSync);
47
53
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/hook/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAIL,QAAQ,GACT,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAgC;IAEhC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,WAAW;QAChE,OAAO,IAAI,CAAC;IAEd,MAAM,GAAG,GAAG,IAA6B,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,KAAK,QAAQ;QACpB,CAAuB,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,CACvD,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,CAAC,qBAAqB;IAC7E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,CAA+B,CAAC;IAC9E,iFAAiF;IACjF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,IAA4B;IAE5B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC5C,OAAO,CACL,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC;YAC7D,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3C,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1C,OAAO,CACL,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3C,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAC5C,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxC,OAAO,2BAA2B,CAAC,IAAI,CAAC,SAAuB,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,mBAAmB,GAIpB,EAAW,EAAE,CACZ,CAAC,CACC,QAAQ,KAAK,QAAQ,CAAC,WAAW;IACjC,mBAAmB,KAAK,mBAAmB,CAAC,MAAM,CACnD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/hook/utils.ts"],"names":[],"mappings":"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"}