@hyperlane-xyz/sdk 44.0.2 → 45.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/consts/multisigIsm.d.ts.map +1 -1
  2. package/dist/consts/multisigIsm.js +104 -772
  3. package/dist/consts/multisigIsm.js.map +1 -1
  4. package/dist/consts/testChains.d.ts.map +1 -1
  5. package/dist/consts/testChains.js +11 -6
  6. package/dist/consts/testChains.js.map +1 -1
  7. package/dist/core/adapters/SealevelCoreAdapter.d.ts +6 -0
  8. package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
  9. package/dist/core/adapters/SealevelCoreAdapter.js +20 -0
  10. package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
  11. package/dist/core/adapters/SealevelCoreAdapter.test.js +17 -0
  12. package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -1
  13. package/dist/core/types.d.ts.map +1 -1
  14. package/dist/core/types.js +14 -1
  15. package/dist/core/types.js.map +1 -1
  16. package/dist/core/types.test.js +98 -1
  17. package/dist/core/types.test.js.map +1 -1
  18. package/dist/deploy/proxy.d.ts +1 -0
  19. package/dist/deploy/proxy.d.ts.map +1 -1
  20. package/dist/deploy/proxy.js +6 -0
  21. package/dist/deploy/proxy.js.map +1 -1
  22. package/dist/deploy/warp.d.ts.map +1 -1
  23. package/dist/deploy/warp.js +32 -43
  24. package/dist/deploy/warp.js.map +1 -1
  25. package/dist/deploy/warp.test.js +62 -1
  26. package/dist/deploy/warp.test.js.map +1 -1
  27. package/dist/gas/adapters/SealevelIgpAdapter.d.ts +3 -2
  28. package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -1
  29. package/dist/gas/adapters/SealevelIgpAdapter.js +3 -2
  30. package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -1
  31. package/dist/index.d.ts +2 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  36. package/dist/ism/EvmIsmModule.js +5 -1
  37. package/dist/ism/EvmIsmModule.js.map +1 -1
  38. package/dist/ism/EvmIsmModule.test.js +109 -0
  39. package/dist/ism/EvmIsmModule.test.js.map +1 -1
  40. package/dist/ism/HyperlaneIsmFactory.d.ts +26 -6
  41. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  42. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +60 -0
  43. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  44. package/dist/ism/HyperlaneIsmFactory.js +165 -34
  45. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  46. package/dist/ism/HyperlaneIsmFactory.test.js +33 -6
  47. package/dist/ism/HyperlaneIsmFactory.test.js.map +1 -1
  48. package/dist/ism/types.d.ts +18 -2
  49. package/dist/ism/types.d.ts.map +1 -1
  50. package/dist/ism/types.js +43 -3
  51. package/dist/ism/types.js.map +1 -1
  52. package/dist/ism/types.test.js +232 -56
  53. package/dist/ism/types.test.js.map +1 -1
  54. package/dist/ism/utils.d.ts.map +1 -1
  55. package/dist/ism/utils.js +13 -0
  56. package/dist/ism/utils.js.map +1 -1
  57. package/dist/ism/utils.test.js +43 -1
  58. package/dist/ism/utils.test.js.map +1 -1
  59. package/dist/metadata/ChainMetadataManager.d.ts +1 -0
  60. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  61. package/dist/metadata/ChainMetadataManager.js +1 -0
  62. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  63. package/dist/metadata/ChainMetadataManager.test.js +14 -1
  64. package/dist/metadata/ChainMetadataManager.test.js.map +1 -1
  65. package/dist/metadata/ChainMetadataResolver.d.ts +1 -0
  66. package/dist/metadata/ChainMetadataResolver.d.ts.map +1 -1
  67. package/dist/metadata/ChainMetadataResolver.js +1 -0
  68. package/dist/metadata/ChainMetadataResolver.js.map +1 -1
  69. package/dist/metadata/ChainMetadataResolver.test.js +4 -0
  70. package/dist/metadata/ChainMetadataResolver.test.js.map +1 -1
  71. package/dist/metadata/agentConfig.d.ts +209 -93
  72. package/dist/metadata/agentConfig.d.ts.map +1 -1
  73. package/dist/metadata/agentConfig.js +106 -13
  74. package/dist/metadata/agentConfig.js.map +1 -1
  75. package/dist/metadata/agentConfig.test.js +277 -25
  76. package/dist/metadata/agentConfig.test.js.map +1 -1
  77. package/dist/metadata/chainMetadata.test.js +25 -0
  78. package/dist/metadata/chainMetadata.test.js.map +1 -1
  79. package/dist/metadata/chainMetadataTypes.d.ts +36 -0
  80. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  81. package/dist/metadata/chainMetadataTypes.js +26 -0
  82. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  83. package/dist/providers/SeismicSigner.d.ts +4 -12
  84. package/dist/providers/SeismicSigner.d.ts.map +1 -1
  85. package/dist/providers/SeismicSigner.js +84 -35
  86. package/dist/providers/SeismicSigner.js.map +1 -1
  87. package/dist/providers/SeismicSigner.test.d.ts +2 -0
  88. package/dist/providers/SeismicSigner.test.d.ts.map +1 -0
  89. package/dist/providers/SeismicSigner.test.js +160 -0
  90. package/dist/providers/SeismicSigner.test.js.map +1 -0
  91. package/dist/providers/SmartProvider/SmartProvider.d.ts +1 -5
  92. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  93. package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts +2 -0
  94. package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts.map +1 -0
  95. package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js +164 -0
  96. package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js.map +1 -0
  97. package/dist/providers/SmartProvider/SmartProvider.js +35 -72
  98. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  99. package/dist/providers/SmartProvider/SmartProvider.test.js +181 -2
  100. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
  101. package/dist/providers/SmartProvider/jsonRpcError.d.ts +7 -0
  102. package/dist/providers/SmartProvider/jsonRpcError.d.ts.map +1 -0
  103. package/dist/providers/SmartProvider/jsonRpcError.js +67 -0
  104. package/dist/providers/SmartProvider/jsonRpcError.js.map +1 -0
  105. package/dist/providers/SmartProvider/types.d.ts +1 -0
  106. package/dist/providers/SmartProvider/types.d.ts.map +1 -1
  107. package/dist/providers/builders/ethersV5.d.ts +0 -1
  108. package/dist/providers/builders/ethersV5.d.ts.map +1 -1
  109. package/dist/providers/builders/ethersV5.js +19 -5
  110. package/dist/providers/builders/ethersV5.js.map +1 -1
  111. package/dist/providers/builders/ethersV5.test.d.ts +2 -0
  112. package/dist/providers/builders/ethersV5.test.d.ts.map +1 -0
  113. package/dist/providers/builders/ethersV5.test.js +77 -0
  114. package/dist/providers/builders/ethersV5.test.js.map +1 -0
  115. package/dist/providers/builders/radix.browser.d.ts +1 -0
  116. package/dist/providers/builders/radix.browser.d.ts.map +1 -1
  117. package/dist/providers/builders/radix.browser.js +1 -0
  118. package/dist/providers/builders/radix.browser.js.map +1 -1
  119. package/dist/providers/builders/radix.d.ts.map +1 -1
  120. package/dist/providers/builders/radix.gateway.test.d.ts +2 -0
  121. package/dist/providers/builders/radix.gateway.test.d.ts.map +1 -0
  122. package/dist/providers/builders/radix.gateway.test.js +39 -0
  123. package/dist/providers/builders/radix.gateway.test.js.map +1 -0
  124. package/dist/providers/builders/radix.js +1 -0
  125. package/dist/providers/builders/radix.js.map +1 -1
  126. package/dist/providers/builders/radix.test.js +1 -0
  127. package/dist/providers/builders/radix.test.js.map +1 -1
  128. package/dist/providers/providerBuilders.d.ts +1 -1
  129. package/dist/providers/providerBuilders.d.ts.map +1 -1
  130. package/dist/providers/providerBuilders.js +1 -1
  131. package/dist/providers/providerBuilders.js.map +1 -1
  132. package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js +60 -8
  133. package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js.map +1 -1
  134. package/dist/test/errors.d.ts +25 -0
  135. package/dist/test/errors.d.ts.map +1 -1
  136. package/dist/test/errors.js +31 -0
  137. package/dist/test/errors.js.map +1 -1
  138. package/dist/test/fixtures/warp-route-replay/record.d.ts +2 -0
  139. package/dist/test/fixtures/warp-route-replay/record.d.ts.map +1 -0
  140. package/dist/test/fixtures/warp-route-replay/record.js +32 -0
  141. package/dist/test/fixtures/warp-route-replay/record.js.map +1 -0
  142. package/dist/test/replayRpc.d.ts +82 -0
  143. package/dist/test/replayRpc.d.ts.map +1 -0
  144. package/dist/test/replayRpc.js +331 -0
  145. package/dist/test/replayRpc.js.map +1 -0
  146. package/dist/test/replayScenarios.d.ts +19 -0
  147. package/dist/test/replayScenarios.d.ts.map +1 -0
  148. package/dist/test/replayScenarios.js +89 -0
  149. package/dist/test/replayScenarios.js.map +1 -0
  150. package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js +92 -7
  151. package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js.map +1 -1
  152. package/dist/timelock/evm/errors.js +1 -1
  153. package/dist/timelock/evm/errors.js.map +1 -1
  154. package/dist/token/EvmWarpRouteReader.d.ts +27 -0
  155. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
  156. package/dist/token/EvmWarpRouteReader.hardhat-test.js +28 -3
  157. package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -1
  158. package/dist/token/EvmWarpRouteReader.js +172 -42
  159. package/dist/token/EvmWarpRouteReader.js.map +1 -1
  160. package/dist/token/EvmWarpRouteReader.replay.test.d.ts +2 -0
  161. package/dist/token/EvmWarpRouteReader.replay.test.d.ts.map +1 -0
  162. package/dist/token/EvmWarpRouteReader.replay.test.js +392 -0
  163. package/dist/token/EvmWarpRouteReader.replay.test.js.map +1 -0
  164. package/dist/token/EvmWarpRouteReader.test.js +529 -4
  165. package/dist/token/EvmWarpRouteReader.test.js.map +1 -1
  166. package/dist/token/types.d.ts +1 -1
  167. package/dist/token/warpCheck.d.ts +1 -0
  168. package/dist/token/warpCheck.d.ts.map +1 -1
  169. package/dist/token/warpCheck.js +25 -2
  170. package/dist/token/warpCheck.js.map +1 -1
  171. package/dist/token/warpCheck.test.js +119 -0
  172. package/dist/token/warpCheck.test.js.map +1 -1
  173. package/dist/utils/contract.d.ts +33 -0
  174. package/dist/utils/contract.d.ts.map +1 -1
  175. package/dist/utils/contract.js +116 -3
  176. package/dist/utils/contract.js.map +1 -1
  177. package/dist/utils/contract.test.js +465 -2
  178. package/dist/utils/contract.test.js.map +1 -1
  179. package/dist/utils/contract.transport.test.d.ts +2 -0
  180. package/dist/utils/contract.transport.test.d.ts.map +1 -0
  181. package/dist/utils/contract.transport.test.js +145 -0
  182. package/dist/utils/contract.transport.test.js.map +1 -0
  183. package/dist/utils/ism.d.ts +12 -6
  184. package/dist/utils/ism.d.ts.map +1 -1
  185. package/dist/utils/ism.js +92 -41
  186. package/dist/utils/ism.js.map +1 -1
  187. package/dist/utils/ism.test.js +75 -2
  188. package/dist/utils/ism.test.js.map +1 -1
  189. package/package.json +29 -15
@@ -1 +1 @@
1
- {"version":3,"file":"ethersV5.d.ts","sourceRoot":"","sources":["../../../src/providers/builders/ethersV5.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOpD,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAC5D,gBAAgB,CASjB,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,iBAAiB,CACnE,uBAAuB,CAIvB,CAAC;AAEH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,aAAa,GACtB,gBAAgB,CAGlB;AAGD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,GACtB,gBAAgB,CAAC,UAAU,CAAC,CAE9B"}
1
+ {"version":3,"file":"ethersV5.d.ts","sourceRoot":"","sources":["../../../src/providers/builders/ethersV5.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAYpD,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAC5D,gBAAgB,CA4BjB,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,iBAAiB,CACnE,uBAAuB,CAIvB,CAAC;AAGH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,GACtB,gBAAgB,CAAC,UAAU,CAAC,CAE9B"}
@@ -4,19 +4,33 @@ const DEFAULT_RETRY_OPTIONS = {
4
4
  maxRetries: 3,
5
5
  baseRetryDelayMs: 250,
6
6
  };
7
+ const LOCAL_POLLING_INTERVAL_MS = 100;
8
+ const DEFAULT_POLLING_INTERVAL_MS = 4000;
9
+ const LOOPBACK_HOSTS = new Set(['localhost', '[::1]']);
10
+ const IPV4_LOOPBACK_HOST = /^127(?:\.\d{1,3}){3}$/;
7
11
  export const defaultEthersV5ProviderBuilder = (metadata, retryOverride) => {
8
12
  const provider = new HyperlaneSmartProvider(metadata.chainId, metadata.rpcUrls, undefined, retryOverride || DEFAULT_RETRY_OPTIONS);
13
+ // Local dev chains mine immediately. Configure the shared builder so CLI
14
+ // subprocesses also avoid ethers' default four-second confirmation polling.
15
+ if (metadata.rpcUrls.length > 0 &&
16
+ metadata.rpcUrls.every(({ http }) => {
17
+ // URL normalizes and validates IPv4 addresses before this check.
18
+ const { hostname } = new URL(http);
19
+ return LOOPBACK_HOSTS.has(hostname) || IPV4_LOOPBACK_HOST.test(hostname);
20
+ })) {
21
+ provider.pollingInterval = LOCAL_POLLING_INTERVAL_MS;
22
+ }
23
+ else if (metadata.blocks?.estimateBlockTime) {
24
+ // Follow the estimated block cadence, capped at ethers' default interval.
25
+ // Ethers requires a positive integer number of milliseconds.
26
+ provider.pollingInterval = Math.min(DEFAULT_POLLING_INTERVAL_MS, Math.max(1, Math.round(metadata.blocks.estimateBlockTime * 1000)));
27
+ }
9
28
  return { type: ProviderType.EthersV5, provider };
10
29
  };
11
30
  export const defaultGnosisTxBuilderProviderBuilder = (metadata, retryOverride) => ({
12
31
  type: ProviderType.GnosisTxBuilder,
13
32
  provider: defaultEthersV5ProviderBuilder(metadata, retryOverride).provider,
14
33
  });
15
- export function defaultFuelProviderBuilder(metadata) {
16
- if (!metadata.rpcUrls.length)
17
- throw new Error('No RPC URLs provided');
18
- throw new Error('TODO fuel support');
19
- }
20
34
  // Kept for backwards compatibility
21
35
  export function defaultProviderBuilder(metadata) {
22
36
  return defaultEthersV5ProviderBuilder(metadata).provider;
@@ -1 +1 @@
1
- {"version":3,"file":"ethersV5.js","sourceRoot":"","sources":["../../../src/providers/builders/ethersV5.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAK3E,MAAM,qBAAqB,GAAyB;IAClD,UAAU,EAAE,CAAC;IACb,gBAAgB,EAAE,GAAG;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAEvC,CAAC,QAAuB,EAAE,aAAoC,EAAE,EAAE;IACpE,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CACzC,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,EAChB,SAAS,EACT,aAAa,IAAI,qBAAqB,CACvC,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAE9C,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,YAAY,CAAC,eAAe;IAClC,QAAQ,EAAE,8BAA8B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,QAAQ;CAC3E,CAAC,CAAC;AAEH,MAAM,UAAU,0BAA0B,CACxC,QAAuB;IAEvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACtE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACvC,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,sBAAsB,CACpC,QAAuB;IAEvB,OAAO,8BAA8B,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"ethersV5.js","sourceRoot":"","sources":["../../../src/providers/builders/ethersV5.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAK3E,MAAM,qBAAqB,GAAyB;IAClD,UAAU,EAAE,CAAC;IACb,gBAAgB,EAAE,GAAG;CACtB,CAAC;AAEF,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AACzC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAEnD,MAAM,CAAC,MAAM,8BAA8B,GAEvC,CAAC,QAAuB,EAAE,aAAoC,EAAE,EAAE;IACpE,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CACzC,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,OAAO,EAChB,SAAS,EACT,aAAa,IAAI,qBAAqB,CACvC,CAAC;IACF,yEAAyE;IACzE,4EAA4E;IAC5E,IACE,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAClC,iEAAiE;YACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,EACF,CAAC;QACD,QAAQ,CAAC,eAAe,GAAG,yBAAyB,CAAC;IACvD,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC9C,0EAA0E;QAC1E,6DAA6D;QAC7D,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CACjC,2BAA2B,EAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAE9C,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,YAAY,CAAC,eAAe;IAClC,QAAQ,EAAE,8BAA8B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,QAAQ;CAC3E,CAAC,CAAC;AAEH,mCAAmC;AACnC,MAAM,UAAU,sBAAsB,CACpC,QAAuB;IAEvB,OAAO,8BAA8B,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ethersV5.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersV5.test.d.ts","sourceRoot":"","sources":["../../../src/providers/builders/ethersV5.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ import { expect } from 'chai';
2
+ import { providers } from 'ethers';
3
+ import { assert, ProtocolType } from '@hyperlane-xyz/utils';
4
+ import { defaultEthersV5ProviderBuilder, defaultProviderBuilder, } from './ethersV5.js';
5
+ function metadata(urls) {
6
+ return {
7
+ name: 'local',
8
+ chainId: 31337,
9
+ domainId: 31337,
10
+ protocol: ProtocolType.Ethereum,
11
+ rpcUrls: urls.map((http) => ({ http })),
12
+ };
13
+ }
14
+ function pollingInterval(provider) {
15
+ assert(provider instanceof providers.BaseProvider, 'Expected ethers BaseProvider');
16
+ return provider.pollingInterval;
17
+ }
18
+ describe('ethers v5 provider builder polling', () => {
19
+ for (const [blockTime, expectedInterval] of [
20
+ [0.0001, 1],
21
+ [0.1, 100],
22
+ [0.25, 250],
23
+ [0.45, 450],
24
+ [2, 2000],
25
+ [13, 4000],
26
+ [0, 4000],
27
+ ]) {
28
+ it(`bounds remote polling for a ${blockTime}s block time`, () => {
29
+ const config = metadata(['https://rpc.example.com']);
30
+ config.blocks = { confirmations: 1, estimateBlockTime: blockTime };
31
+ expect(pollingInterval(defaultProviderBuilder(config))).to.equal(expectedInterval);
32
+ });
33
+ }
34
+ it('uses remote bounds for mixed RPCs with a block-time estimate', () => {
35
+ const config = metadata([
36
+ 'http://localhost:8545',
37
+ 'https://rpc.example.com',
38
+ ]);
39
+ config.blocks = { confirmations: 1, estimateBlockTime: 0.25 };
40
+ expect(pollingInterval(defaultProviderBuilder(config))).to.equal(250);
41
+ });
42
+ it('prioritizes loopback polling over the block-time estimate', () => {
43
+ const config = metadata(['http://localhost:8545']);
44
+ config.blocks = { confirmations: 1, estimateBlockTime: 13 };
45
+ expect(pollingInterval(defaultProviderBuilder(config))).to.equal(100);
46
+ });
47
+ for (const urls of [
48
+ ['http://localhost:8545'],
49
+ ['http://127.0.0.1:8596'],
50
+ ['http://127.0.0.2:8545'],
51
+ ['http://127.0.0.0:8545'],
52
+ ['http://127.255.255.255:8545'],
53
+ ['http://[::1]:8545'],
54
+ ['http://localhost:8545', 'http://127.0.0.1:8596'],
55
+ ]) {
56
+ it(`polls loopback RPCs quickly: ${urls.join(', ')}`, () => {
57
+ // MultiProtocolProvider and MultiProvider use these respective builders.
58
+ expect(pollingInterval(defaultEthersV5ProviderBuilder(metadata(urls)).provider)).to.equal(100);
59
+ expect(pollingInterval(defaultProviderBuilder(metadata(urls)))).to.equal(100);
60
+ });
61
+ }
62
+ for (const urls of [
63
+ ['https://rpc.example.com'],
64
+ ['http://localhost:8545', 'https://rpc.example.com'],
65
+ ['https://localhost.example.com'],
66
+ ['http://127.0.0.2.example.com:8545'],
67
+ ['http://126.255.255.255:8545'],
68
+ ['http://128.0.0.0:8545'],
69
+ ['http://127.0.0.2:8545', 'https://rpc.example.com'],
70
+ ['http://192.168.1.1:8545'],
71
+ ]) {
72
+ it(`preserves default polling with remote RPCs: ${urls.join(', ')}`, () => {
73
+ expect(pollingInterval(defaultEthersV5ProviderBuilder(metadata(urls)).provider)).to.equal(4000);
74
+ });
75
+ }
76
+ });
77
+ //# sourceMappingURL=ethersV5.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersV5.test.js","sourceRoot":"","sources":["../../../src/providers/builders/ethersV5.test.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { RadixProvider } from '../ProviderType.js';
4
4
  import type { ProviderBuilderFn } from './types.js';
5
5
  interface RadixProviderOptions {
6
6
  rpcUrls: string[];
7
+ gatewayUrls?: string[];
7
8
  networkId: number;
8
9
  chainMetadata: ChainMetadata;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"radix.browser.d.ts","sourceRoot":"","sources":["../../../src/providers/builders/radix.browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,KAAK,wBAAwB,GAAG,KAC9B,OAAO,EAAE,oBAAoB,KAC1B,gBAAgB,CAAC;AAEtB,UAAU,kBAAkB;IAC1B,aAAa,EAAE,wBAAwB,CAAC;CACzC;AAED,KAAK,mBAAmB,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;AA8B7D,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,aAAa,EACvB,YAAY,GAAE,mBAAuC,GACpD,gBAAgB,CAyBlB;AAED,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,CAAC,aAAa,CAKxE,CAAC"}
1
+ {"version":3,"file":"radix.browser.d.ts","sourceRoot":"","sources":["../../../src/providers/builders/radix.browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,KAAK,wBAAwB,GAAG,KAC9B,OAAO,EAAE,oBAAoB,KAC1B,gBAAgB,CAAC;AAEtB,UAAU,kBAAkB;IAC1B,aAAa,EAAE,wBAAwB,CAAC;CACzC;AAED,KAAK,mBAAmB,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;AA8B7D,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,aAAa,EACvB,YAAY,GAAE,mBAAuC,GACpD,gBAAgB,CA0BlB;AAED,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,CAAC,aAAa,CAKxE,CAAC"}
@@ -28,6 +28,7 @@ export function createLazyRadixProvider(metadata, loadProvider = loadRadixProvid
28
28
  const provider = new LazyAsync(() => loadProvider().then(({ RadixProvider }) => new RadixProvider({
29
29
  rpcUrls: urls,
30
30
  networkId,
31
+ gatewayUrls: metadata.gatewayUrls?.map(({ http }) => http),
31
32
  chainMetadata: metadata,
32
33
  })));
33
34
  const asyncProvider = createAsyncMethodProxy(() => provider.get());
@@ -1 +1 @@
1
- {"version":3,"file":"radix.browser.js","sourceRoot":"","sources":["../../../src/providers/builders/radix.browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAoBlD,MAAM,iBAAiB,GAAwB,GAAG,EAAE,CAClD,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAE7C,SAAS,sBAAsB,CAC7B,SAA2B;IAE3B,uEAAuE;IACvE,6EAA6E;IAC7E,OAAO,IAAI,KAAK,CACd,EAAE,EACF;QACE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;YACnB,IAAI,QAAQ,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC1C,OAAO,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC7C,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAC9D,CAAC;gBACJ,CAAC;gBACD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC;QACJ,CAAC;KACF,CACG,CAAC;AACT,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAAuB,EACvB,YAAY,GAAwB,iBAAiB;IAErD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACjE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAClC,YAAY,EAAE,CAAC,IAAI,CACjB,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CACpB,IAAI,aAAa,CAAC;QAChB,OAAO,EAAE,IAAI;QACb,SAAS;QACT,aAAa,EAAE,QAAQ;KACxB,CAAC,CACL,CACF,CAAC;IACF,MAAM,aAAa,GAAG,sBAAsB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAEnE,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE;QAC9B,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAClC,IAAI,QAAQ,KAAK,YAAY;gBAAE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;YACjD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAqC,CAC3E,QAAuB,EACvB,EAAE;IACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACnD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;AAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"radix.browser.js","sourceRoot":"","sources":["../../../src/providers/builders/radix.browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAqBlD,MAAM,iBAAiB,GAAwB,GAAG,EAAE,CAClD,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAE7C,SAAS,sBAAsB,CAC7B,SAA2B;IAE3B,uEAAuE;IACvE,6EAA6E;IAC7E,OAAO,IAAI,KAAK,CACd,EAAE,EACF;QACE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;YACnB,IAAI,QAAQ,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC1C,OAAO,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC7C,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAC9D,CAAC;gBACJ,CAAC;gBACD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC;QACJ,CAAC;KACF,CACG,CAAC;AACT,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAAuB,EACvB,YAAY,GAAwB,iBAAiB;IAErD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACjE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAClC,YAAY,EAAE,CAAC,IAAI,CACjB,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CACpB,IAAI,aAAa,CAAC;QAChB,OAAO,EAAE,IAAI;QACb,SAAS;QACT,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;QAC1D,aAAa,EAAE,QAAQ;KACxB,CAAC,CACL,CACF,CAAC;IACF,MAAM,aAAa,GAAG,sBAAsB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IAEnE,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE;QAC9B,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAClC,IAAI,QAAQ,KAAK,YAAY;gBAAE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;YACjD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAqC,CAC3E,QAAuB,EACvB,EAAE;IACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACnD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;AAChD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"radix.d.ts","sourceRoot":"","sources":["../../../src/providers/builders/radix.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,CAAC,aAAa,CAaxE,CAAC"}
1
+ {"version":3,"file":"radix.d.ts","sourceRoot":"","sources":["../../../src/providers/builders/radix.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,CAAC,aAAa,CAcxE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=radix.gateway.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix.gateway.test.d.ts","sourceRoot":"","sources":["../../../src/providers/builders/radix.gateway.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { expect } from 'chai';
2
+ import sinon from 'sinon';
3
+ import { ProtocolType } from '@hyperlane-xyz/utils';
4
+ import { ChainMetadataSchema } from '../../metadata/chainMetadataTypes.js';
5
+ import { defaultRadixProviderBuilder as browserBuilder } from './radix.browser.js';
6
+ import { defaultRadixProviderBuilder as nodeBuilder } from './radix.js';
7
+ describe('Radix gateway selection', () => {
8
+ afterEach(() => sinon.restore());
9
+ for (const [name, builder] of Object.entries({
10
+ node: nodeBuilder,
11
+ browser: browserBuilder,
12
+ })) {
13
+ for (const configured of [true, false]) {
14
+ it(`${name} uses ${configured ? 'the configured gateway' : 'the network default'}`, async () => {
15
+ const fetch = sinon.stub(globalThis, 'fetch').resolves(new Response(JSON.stringify({
16
+ ledger_state: { state_version: 1 },
17
+ }), { status: 200, headers: { 'Content-Type': 'application/json' } }));
18
+ const metadata = {
19
+ name: 'radix',
20
+ protocol: ProtocolType.Radix,
21
+ chainId: 1,
22
+ domainId: 1,
23
+ rpcUrls: [{ http: 'https://core.example' }],
24
+ ...(configured
25
+ ? { gatewayUrls: [{ http: 'https://gateway.example' }] }
26
+ : {}),
27
+ };
28
+ const parsed = ChainMetadataSchema.parse(metadata);
29
+ expect(parsed.gatewayUrls).to.deep.equal(metadata.gatewayUrls);
30
+ const { provider } = builder(parsed);
31
+ expect(await provider.isHealthy()).to.equal(true);
32
+ expect(fetch.calledOnce).to.equal(true);
33
+ expect(fetch.firstCall.args[0]).to.equal(`${configured ? 'https://gateway.example' : 'https://mainnet.radixdlt.com'}/status/gateway-status`);
34
+ expect(provider.getRpcUrls()).to.deep.equal(['https://core.example']);
35
+ });
36
+ }
37
+ }
38
+ });
39
+ //# sourceMappingURL=radix.gateway.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix.gateway.test.js","sourceRoot":"","sources":["../../../src/providers/builders/radix.gateway.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EAAE,2BAA2B,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,2BAA2B,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAExE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;QAC3C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;KACxB,CAAC,EAAE,CAAC;QACH,KAAK,MAAM,UAAU,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACvC,EAAE,CAAC,GAAG,IAAI,SAAS,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,KAAK,IAAI,EAAE;gBAC7F,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CACpD,IAAI,QAAQ,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,YAAY,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;iBACnC,CAAC,EACF,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CACjE,CACF,CAAC;gBACF,MAAM,QAAQ,GAAkB;oBAC9B,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,YAAY,CAAC,KAAK;oBAC5B,OAAO,EAAE,CAAC;oBACV,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;oBAC3C,GAAG,CAAC,UAAU;wBACZ,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,EAAE;wBACxD,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;gBACF,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC/D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACtC,GAAG,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,8BAA8B,wBAAwB,CACnG,CAAC;gBACF,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -9,6 +9,7 @@ export const defaultRadixProviderBuilder = (metadata) => {
9
9
  const provider = new RadixSDKProvider({
10
10
  rpcUrls: rpcUrls.map((rpc) => rpc.http),
11
11
  networkId,
12
+ gatewayUrls: metadata.gatewayUrls?.map(({ http }) => http),
12
13
  chainMetadata: metadata,
13
14
  });
14
15
  return { provider, type: ProviderType.Radix };
@@ -1 +1 @@
1
- {"version":3,"file":"radix.js","sourceRoot":"","sources":["../../../src/providers/builders/radix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,CAAC,MAAM,2BAA2B,GAAqC,CAC3E,QAAuB,EACvB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACjE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;QACvC,SAAS;QACT,aAAa,EAAE,QAAQ;KACxB,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;AAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"radix.js","sourceRoot":"","sources":["../../../src/providers/builders/radix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,CAAC,MAAM,2BAA2B,GAAqC,CAC3E,QAAuB,EACvB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,oCAAoC,CAAC,CAAC;IACjE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC;QACpC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;QACvC,SAAS;QACT,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;QAC1D,aAAa,EAAE,QAAQ;KACxB,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;AAChD,CAAC,CAAC"}
@@ -28,6 +28,7 @@ describe('createLazyRadixProvider', () => {
28
28
  expect(options).to.deep.equal({
29
29
  rpcUrls: ['https://rpc.example'],
30
30
  networkId: 1,
31
+ gatewayUrls: undefined,
31
32
  chainMetadata: metadata,
32
33
  });
33
34
  constructionCount++;
@@ -1 +1 @@
1
- {"version":3,"file":"radix.test.js","sourceRoot":"","sources":["../../../src/providers/builders/radix.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radix.test.js","sourceRoot":"","sources":["../../../src/providers/builders/radix.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export type { ProviderBuilderFn, TypedProviderBuilderFn, } from './builders/types.js';
2
2
  export { defaultAleoProviderBuilder } from './builders/aleo.js';
3
3
  export { defaultCosmJsNativeProviderBuilder, defaultCosmJsProviderBuilder, defaultCosmJsWasmProviderBuilder, } from './builders/cosmos.js';
4
- export { defaultEthersV5ProviderBuilder, defaultFuelProviderBuilder, defaultProviderBuilder, } from './builders/ethersV5.js';
4
+ export { defaultEthersV5ProviderBuilder, defaultProviderBuilder, } from './builders/ethersV5.js';
5
5
  export { defaultRadixProviderBuilder } from './builders/radix.js';
6
6
  export { defaultSolProviderBuilder } from './builders/solana.js';
7
7
  export { defaultStarknetJsProviderBuilder } from './builders/starknet.js';
@@ -1 +1 @@
1
- {"version":3,"file":"providerBuilders.d.ts","sourceRoot":"","sources":["../../src/providers/providerBuilders.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,kCAAkC,EAClC,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EACL,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,KAAK,kBAAkB,GACxB,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"providerBuilders.d.ts","sourceRoot":"","sources":["../../src/providers/providerBuilders.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,kCAAkC,EAClC,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EACL,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,KAAK,kBAAkB,GACxB,MAAM,iCAAiC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export { defaultAleoProviderBuilder } from './builders/aleo.js';
2
2
  export { defaultCosmJsNativeProviderBuilder, defaultCosmJsProviderBuilder, defaultCosmJsWasmProviderBuilder, } from './builders/cosmos.js';
3
- export { defaultEthersV5ProviderBuilder, defaultFuelProviderBuilder, defaultProviderBuilder, } from './builders/ethersV5.js';
3
+ export { defaultEthersV5ProviderBuilder, defaultProviderBuilder, } from './builders/ethersV5.js';
4
4
  export { defaultRadixProviderBuilder } from './builders/radix.js';
5
5
  export { defaultSolProviderBuilder } from './builders/solana.js';
6
6
  export { defaultStarknetJsProviderBuilder } from './builders/starknet.js';
@@ -1 +1 @@
1
- {"version":3,"file":"providerBuilders.js","sourceRoot":"","sources":["../../src/providers/providerBuilders.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,kCAAkC,EAClC,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EACL,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,gCAAgC,GAEjC,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"providerBuilders.js","sourceRoot":"","sources":["../../src/providers/providerBuilders.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,kCAAkC,EAClC,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EACL,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,gCAAgC,GAEjC,MAAM,iCAAiC,CAAC"}
@@ -5,7 +5,8 @@ import hre from 'hardhat';
5
5
  import sinon from 'sinon';
6
6
  import { ERC20Test__factory } from '@hyperlane-xyz/core';
7
7
  import { assert } from '@hyperlane-xyz/utils';
8
- import { KNOWN_ETHEREUM_TIMELOCK_CONTRACT, TestChainName, ethereumTestChain, test1, } from '../../consts/testChains.js';
8
+ import { EXPLORER_API_URL, explorerLogsResponse, explorerResultResponse, } from '../../block-explorer/testFixtures.js';
9
+ import { TestChainName, test1 } from '../../consts/testChains.js';
9
10
  import { ExplorerFamily } from '../../metadata/chainMetadataTypes.js';
10
11
  import { MultiProvider } from '../../providers/MultiProvider.js';
11
12
  import { randomAddress, randomInt } from '../../test/testUtils.js';
@@ -271,21 +272,72 @@ describe('EvmEventLogsReader', () => {
271
272
  beforeEach(async () => {
272
273
  await deployTestErc20();
273
274
  multiProvider = new MultiProvider({
274
- ethereum: ethereumTestChain,
275
+ [TestChainName.test1]: {
276
+ ...test1,
277
+ blockExplorers: [
278
+ {
279
+ name: 'Test explorer',
280
+ url: EXPLORER_API_URL,
281
+ apiUrl: EXPLORER_API_URL,
282
+ family: ExplorerFamily.Routescan,
283
+ },
284
+ ],
285
+ },
275
286
  });
287
+ multiProvider.setProvider(TestChainName.test1, providerChainTest1);
276
288
  reader = EvmEventLogsReader.fromConfig({
277
- chain: ethereumTestChain.name,
289
+ chain: TestChainName.test1,
278
290
  }, multiProvider);
279
291
  });
280
292
  it('should get the expected number of events when fromBlock is not provided', async () => {
293
+ await (await testContract.mint(1)).wait();
294
+ const toBlock = await providerChainTest1.getBlockNumber();
295
+ const logs = await providerChainTest1.getLogs({
296
+ address: testContract.address,
297
+ fromBlock: deploymentBlockNumber,
298
+ toBlock,
299
+ topics: [transferTopic],
300
+ });
301
+ const rpcLogs = sinon
302
+ .stub(providerChainTest1, 'getLogs')
303
+ .rejects(new Error('Explorer tests must not fall back to RPC logs'));
304
+ const fetchStub = sinon
305
+ .stub(globalThis, 'fetch')
306
+ .callsFake(async (input) => {
307
+ const url = new URL(input instanceof Request ? input.url : input.toString());
308
+ expect(url.origin + url.pathname).to.equal(EXPLORER_API_URL);
309
+ if (url.searchParams.get('action') === 'getcontractcreation') {
310
+ expect(url.searchParams.get('contractaddresses')).to.equal(testContract.address);
311
+ return explorerResultResponse({
312
+ contractAddress: testContract.address,
313
+ contractCreator: contractOwner.address,
314
+ txHash: testContract.deployTransaction.hash,
315
+ blockNumber: deploymentBlockNumber,
316
+ });
317
+ }
318
+ expect(url.searchParams.get('action')).to.equal('getLogs');
319
+ expect(url.searchParams.get('address')).to.equal(testContract.address);
320
+ expect(url.searchParams.get('topic0')).to.equal(transferTopic);
321
+ expect(url.searchParams.get('fromBlock')).to.equal(String(deploymentBlockNumber));
322
+ expect(url.searchParams.get('toBlock')).to.equal(String(toBlock));
323
+ return explorerLogsResponse(logs.map((log) => ({
324
+ ...log,
325
+ blockNumber: ethers.utils.hexValue(log.blockNumber),
326
+ logIndex: ethers.utils.hexValue(log.logIndex),
327
+ transactionIndex: ethers.utils.hexValue(log.transactionIndex),
328
+ })));
329
+ });
281
330
  const res = await reader.getLogsByTopic({
282
- contractAddress: KNOWN_ETHEREUM_TIMELOCK_CONTRACT,
283
- // CallExecuted signature
284
- eventTopic: '0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58',
331
+ contractAddress: testContract.address,
332
+ eventTopic: transferTopic,
285
333
  // Omitting from block to test getting contract deployment block from explorer
286
- toBlock: 15_000_000,
334
+ toBlock,
287
335
  });
288
- expect(res.length).to.equal(17);
336
+ expect(res).to.have.length(2);
337
+ expect(res.map((log) => log.transactionHash)).to.deep.equal(logs.map((log) => log.transactionHash));
338
+ expect(res[0].blockNumber).to.equal(deploymentBlockNumber);
339
+ expect(fetchStub.callCount).to.equal(2);
340
+ expect(rpcLogs.called).to.be.false;
289
341
  });
290
342
  });
291
343
  describe('retry before fallback', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"EvmEventLogsReader.hardhat-test.js","sourceRoot":"","sources":["../../../src/rpc/evm/EvmEventLogsReader.hardhat-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmEventLogsReader.hardhat-test.js","sourceRoot":"","sources":["../../../src/rpc/evm/EvmEventLogsReader.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,29 @@ export declare function networkError(): Error & {
6
6
  code: string;
7
7
  };
8
8
  export declare function wrappedError(cause: Error): Error;
9
+ export declare function panicRevertError(): Error & {
10
+ code: string;
11
+ data: string;
12
+ };
13
+ export declare function errorStringRevertError(): Error & {
14
+ code: string;
15
+ data: string;
16
+ };
17
+ export declare function lsp17NoExtensionError(): Error & {
18
+ code: string;
19
+ data: string;
20
+ };
21
+ export declare function unrecognisedCustomRevertError(): Error & {
22
+ code: string;
23
+ data: string;
24
+ };
25
+ /**
26
+ * Shape of the CALL_EXCEPTION ethers v5 JsonRpcProvider throws for an eth_call
27
+ * that failed without revert data: data "0x" with the original error nested.
28
+ */
29
+ export declare function ethersCallExceptionWithNestedError(nested: object): Error & {
30
+ code: string;
31
+ data: string;
32
+ error: object;
33
+ };
9
34
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/test/errors.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,IAAI,KAAK,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAKA;AAED,wBAAgB,YAAY,IAAI,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAIvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAEhD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/test/errors.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,IAAI,KAAK,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAKA;AAED,wBAAgB,YAAY,IAAI,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAIvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAEhD;AAED,wBAAgB,gBAAgB,IAAI,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAKzE;AAED,wBAAgB,sBAAsB,IAAI,KAAK,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAKA;AAED,wBAAgB,qBAAqB,IAAI,KAAK,GAAG;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAKA;AAED,wBAAgB,6BAA6B,IAAI,KAAK,GAAG;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAKA;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,MAAM,GACb,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOvD"}
@@ -12,4 +12,35 @@ export function networkError() {
12
12
  export function wrappedError(cause) {
13
13
  return new Error('wrapped provider error', { cause });
14
14
  }
15
+ export function panicRevertError() {
16
+ return Object.assign(new Error('call revert exception'), {
17
+ code: 'CALL_EXCEPTION',
18
+ data: `0x4e487b71${'0'.repeat(62)}11`,
19
+ });
20
+ }
21
+ export function errorStringRevertError() {
22
+ return Object.assign(new Error('call revert exception'), {
23
+ code: 'CALL_EXCEPTION',
24
+ data: `0x08c379a0${'0'.repeat(62)}20${'0'.repeat(62)}06${'706175736564'}${'0'.repeat(52)}`,
25
+ });
26
+ }
27
+ export function lsp17NoExtensionError() {
28
+ return Object.assign(new Error('call revert exception'), {
29
+ code: 'CALL_EXCEPTION',
30
+ data: `0xbb370b2b46904840${'0'.repeat(56)}`,
31
+ });
32
+ }
33
+ export function unrecognisedCustomRevertError() {
34
+ return Object.assign(new Error('call revert exception'), {
35
+ code: 'CALL_EXCEPTION',
36
+ data: `0xdeadbeef${'0'.repeat(64)}`,
37
+ });
38
+ }
39
+ /**
40
+ * Shape of the CALL_EXCEPTION ethers v5 JsonRpcProvider throws for an eth_call
41
+ * that failed without revert data: data "0x" with the original error nested.
42
+ */
43
+ export function ethersCallExceptionWithNestedError(nested) {
44
+ return Object.assign(new Error('missing revert data in call exception; Transaction reverted without a reason string [ See: https://links.ethers.org/v5-errors-CALL_EXCEPTION ] (data="0x", transaction={}, error={}, code=CALL_EXCEPTION, version=providers/5.8.0)'), { code: 'CALL_EXCEPTION', data: '0x', error: nested });
45
+ }
15
46
  //# sourceMappingURL=errors.js.map