@across-protocol/sdk 4.1.63-beta.1 → 4.1.63-beta.3

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 (224) hide show
  1. package/dist/cjs/arch/evm/BlockUtils.d.ts +15 -0
  2. package/dist/cjs/arch/evm/BlockUtils.js +218 -0
  3. package/dist/cjs/arch/evm/BlockUtils.js.map +1 -0
  4. package/dist/cjs/arch/evm/index.d.ts +1 -0
  5. package/dist/cjs/arch/evm/index.js +1 -0
  6. package/dist/cjs/arch/evm/index.js.map +1 -1
  7. package/dist/cjs/arch/svm/SpokeUtils.d.ts +3 -2
  8. package/dist/cjs/arch/svm/SpokeUtils.js +42 -12
  9. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  10. package/dist/cjs/arch/svm/eventsClient.js +6 -6
  11. package/dist/cjs/arch/svm/eventsClient.js.map +1 -1
  12. package/dist/cjs/arch/svm/utils.d.ts +1 -0
  13. package/dist/cjs/arch/svm/utils.js +10 -2
  14. package/dist/cjs/arch/svm/utils.js.map +1 -1
  15. package/dist/cjs/clients/HubPoolClient.d.ts +3 -2
  16. package/dist/cjs/clients/HubPoolClient.js +2 -1
  17. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  18. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +1 -1
  19. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +29 -2
  20. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  21. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +4 -3
  22. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  23. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.d.ts +33 -0
  24. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +184 -0
  25. package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -0
  26. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.d.ts +30 -0
  27. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +90 -0
  28. package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -0
  29. package/dist/cjs/clients/mocks/index.d.ts +2 -0
  30. package/dist/cjs/clients/mocks/index.js +2 -0
  31. package/dist/cjs/clients/mocks/index.js.map +1 -1
  32. package/dist/cjs/constants.d.ts +1 -0
  33. package/dist/cjs/constants.js +2 -1
  34. package/dist/cjs/constants.js.map +1 -1
  35. package/dist/cjs/providers/index.d.ts +1 -1
  36. package/dist/cjs/providers/index.js +1 -2
  37. package/dist/cjs/providers/index.js.map +1 -1
  38. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.d.ts +5 -0
  39. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +21 -0
  40. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -0
  41. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +5 -0
  42. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +20 -0
  43. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -0
  44. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.d.ts +13 -0
  45. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +76 -0
  46. package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js.map +1 -0
  47. package/dist/cjs/providers/mocks/index.d.ts +4 -0
  48. package/dist/cjs/providers/mocks/index.js +8 -0
  49. package/dist/cjs/providers/mocks/index.js.map +1 -0
  50. package/dist/cjs/providers/{mockProvider.js → mocks/mockEthersProvider.js} +2 -2
  51. package/dist/cjs/providers/mocks/mockEthersProvider.js.map +1 -0
  52. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +5 -4
  53. package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  54. package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +9 -0
  55. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +1 -1
  56. package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  57. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +6 -0
  58. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +69 -34
  59. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  60. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +11 -0
  61. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +9 -3
  62. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  63. package/dist/cjs/utils/BlockFinder.d.ts +22 -0
  64. package/dist/cjs/utils/BlockFinder.js +10 -0
  65. package/dist/cjs/utils/BlockFinder.js.map +1 -0
  66. package/dist/cjs/utils/BlockUtils.d.ts +2 -27
  67. package/dist/cjs/utils/BlockUtils.js +2 -208
  68. package/dist/cjs/utils/BlockUtils.js.map +1 -1
  69. package/dist/cjs/utils/TokenUtils.d.ts +18 -0
  70. package/dist/cjs/utils/index.d.ts +1 -0
  71. package/dist/cjs/utils/index.js +1 -0
  72. package/dist/cjs/utils/index.js.map +1 -1
  73. package/dist/esm/arch/evm/BlockUtils.d.ts +24 -0
  74. package/dist/esm/arch/evm/BlockUtils.js +250 -0
  75. package/dist/esm/arch/evm/BlockUtils.js.map +1 -0
  76. package/dist/esm/arch/evm/index.d.ts +1 -0
  77. package/dist/esm/arch/evm/index.js +1 -0
  78. package/dist/esm/arch/evm/index.js.map +1 -1
  79. package/dist/esm/arch/svm/SpokeUtils.d.ts +37 -2
  80. package/dist/esm/arch/svm/SpokeUtils.js +80 -13
  81. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  82. package/dist/esm/arch/svm/eventsClient.js +6 -6
  83. package/dist/esm/arch/svm/eventsClient.js.map +1 -1
  84. package/dist/esm/arch/svm/utils.d.ts +4 -0
  85. package/dist/esm/arch/svm/utils.js +11 -1
  86. package/dist/esm/arch/svm/utils.js.map +1 -1
  87. package/dist/esm/clients/HubPoolClient.d.ts +3 -2
  88. package/dist/esm/clients/HubPoolClient.js +3 -2
  89. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  90. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +1 -2
  91. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +34 -5
  92. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  93. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +6 -4
  94. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  95. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.d.ts +33 -0
  96. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +183 -0
  97. package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -0
  98. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.d.ts +30 -0
  99. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +89 -0
  100. package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -0
  101. package/dist/esm/clients/mocks/index.d.ts +2 -0
  102. package/dist/esm/clients/mocks/index.js +2 -0
  103. package/dist/esm/clients/mocks/index.js.map +1 -1
  104. package/dist/esm/constants.d.ts +1 -0
  105. package/dist/esm/constants.js +1 -0
  106. package/dist/esm/constants.js.map +1 -1
  107. package/dist/esm/providers/index.d.ts +1 -1
  108. package/dist/esm/providers/index.js +1 -2
  109. package/dist/esm/providers/index.js.map +1 -1
  110. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.d.ts +5 -0
  111. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +19 -0
  112. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -0
  113. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +5 -0
  114. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +18 -0
  115. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -0
  116. package/dist/esm/providers/mocks/MockSolanaRpcFactory.d.ts +13 -0
  117. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +74 -0
  118. package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +1 -0
  119. package/dist/esm/providers/mocks/index.d.ts +4 -0
  120. package/dist/esm/providers/mocks/index.js +5 -0
  121. package/dist/esm/providers/mocks/index.js.map +1 -0
  122. package/dist/esm/providers/{mockProvider.js → mocks/mockEthersProvider.js} +2 -2
  123. package/dist/esm/providers/mocks/mockEthersProvider.js.map +1 -0
  124. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +6 -5
  125. package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
  126. package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +9 -0
  127. package/dist/esm/relayFeeCalculator/chain-queries/factory.js +3 -3
  128. package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
  129. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +18 -0
  130. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +83 -36
  131. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  132. package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +21 -1
  133. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +9 -4
  134. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  135. package/dist/esm/utils/BlockFinder.d.ts +22 -0
  136. package/dist/esm/utils/BlockFinder.js +7 -0
  137. package/dist/esm/utils/BlockFinder.js.map +1 -0
  138. package/dist/esm/utils/BlockUtils.d.ts +2 -36
  139. package/dist/esm/utils/BlockUtils.js +2 -243
  140. package/dist/esm/utils/BlockUtils.js.map +1 -1
  141. package/dist/esm/utils/TokenUtils.d.ts +18 -0
  142. package/dist/esm/utils/index.d.ts +1 -0
  143. package/dist/esm/utils/index.js +1 -0
  144. package/dist/esm/utils/index.js.map +1 -1
  145. package/dist/types/arch/evm/BlockUtils.d.ts +25 -0
  146. package/dist/types/arch/evm/BlockUtils.d.ts.map +1 -0
  147. package/dist/types/arch/evm/index.d.ts +1 -0
  148. package/dist/types/arch/evm/index.d.ts.map +1 -1
  149. package/dist/types/arch/svm/SpokeUtils.d.ts +37 -2
  150. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  151. package/dist/types/arch/svm/eventsClient.d.ts.map +1 -1
  152. package/dist/types/arch/svm/utils.d.ts +4 -0
  153. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  154. package/dist/types/clients/HubPoolClient.d.ts +3 -2
  155. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  156. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +1 -2
  157. package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -1
  158. package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
  159. package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts +34 -0
  160. package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts.map +1 -0
  161. package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts +31 -0
  162. package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts.map +1 -0
  163. package/dist/types/clients/mocks/index.d.ts +2 -0
  164. package/dist/types/clients/mocks/index.d.ts.map +1 -1
  165. package/dist/types/constants.d.ts +1 -0
  166. package/dist/types/constants.d.ts.map +1 -1
  167. package/dist/types/providers/index.d.ts +1 -1
  168. package/dist/types/providers/index.d.ts.map +1 -1
  169. package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts +6 -0
  170. package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts.map +1 -0
  171. package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +6 -0
  172. package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts.map +1 -0
  173. package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts +14 -0
  174. package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts.map +1 -0
  175. package/dist/types/providers/mocks/index.d.ts +5 -0
  176. package/dist/types/providers/mocks/index.d.ts.map +1 -0
  177. package/dist/types/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +1 -1
  178. package/dist/types/providers/mocks/mockEthersProvider.d.ts.map +1 -0
  179. package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
  180. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts +9 -0
  181. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
  182. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +18 -0
  183. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
  184. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +21 -1
  185. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
  186. package/dist/types/utils/BlockFinder.d.ts +23 -0
  187. package/dist/types/utils/BlockFinder.d.ts.map +1 -0
  188. package/dist/types/utils/BlockUtils.d.ts +2 -36
  189. package/dist/types/utils/BlockUtils.d.ts.map +1 -1
  190. package/dist/types/utils/TokenUtils.d.ts +18 -0
  191. package/dist/types/utils/TokenUtils.d.ts.map +1 -1
  192. package/dist/types/utils/index.d.ts +1 -0
  193. package/dist/types/utils/index.d.ts.map +1 -1
  194. package/package.json +2 -3
  195. package/src/arch/evm/BlockUtils.ts +209 -0
  196. package/src/arch/evm/index.ts +1 -0
  197. package/src/arch/svm/SpokeUtils.ts +87 -17
  198. package/src/arch/svm/eventsClient.ts +13 -5
  199. package/src/arch/svm/utils.ts +12 -1
  200. package/src/clients/HubPoolClient.ts +3 -3
  201. package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +27 -3
  202. package/src/clients/SpokePoolClient/SpokePoolClient.ts +6 -3
  203. package/src/clients/mocks/MockSvmCpiEventsClient.ts +226 -0
  204. package/src/clients/mocks/MockSvmSpokePoolClient.ts +119 -0
  205. package/src/clients/mocks/index.ts +2 -0
  206. package/src/constants.ts +1 -0
  207. package/src/providers/index.ts +1 -1
  208. package/src/providers/mocks/MockCachedSolanaRpcFactory.ts +15 -0
  209. package/src/providers/mocks/MockRateLimitedSolanaRpcFactory.ts +14 -0
  210. package/src/providers/mocks/MockSolanaRpcFactory.ts +55 -0
  211. package/src/providers/mocks/index.ts +4 -0
  212. package/src/providers/{mockProvider.ts → mocks/mockEthersProvider.ts} +1 -1
  213. package/src/relayFeeCalculator/chain-queries/baseQuery.ts +6 -6
  214. package/src/relayFeeCalculator/chain-queries/factory.ts +3 -3
  215. package/src/relayFeeCalculator/chain-queries/svmQuery.ts +59 -27
  216. package/src/relayFeeCalculator/relayFeeCalculator.ts +15 -3
  217. package/src/utils/BlockFinder.ts +26 -0
  218. package/src/utils/BlockUtils.ts +5 -215
  219. package/src/utils/index.ts +1 -0
  220. package/dist/cjs/providers/mockProvider.js.map +0 -1
  221. package/dist/esm/providers/mockProvider.js.map +0 -1
  222. package/dist/types/providers/mockProvider.d.ts.map +0 -1
  223. /package/dist/cjs/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +0 -0
  224. /package/dist/esm/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +0 -0
@@ -2,11 +2,12 @@ import { __assign, __awaiter, __generator } from "tslib";
2
2
  import { isL2Provider as isOptimismL2Provider } from "@eth-optimism/sdk/dist/l2-provider";
3
3
  import { VoidSigner } from "ethers";
4
4
  import { Coingecko } from "../../coingecko";
5
- import { CHAIN_IDs, DEFAULT_SIMULATED_RELAYER_ADDRESS } from "../../constants";
5
+ import { CHAIN_IDs } from "../../constants";
6
6
  import { SpokePool__factory } from "../../typechain";
7
7
  import { populateV3Relay } from "../../arch/evm";
8
8
  import { BigNumber, toBNWei, bnZero, chainIsOPStack, fixedPointAdjustment, } from "../../utils";
9
9
  import assert from "assert";
10
+ import { getDefaultSimulatedRelayerAddress } from "../relayFeeCalculator";
10
11
  import { getGasPriceEstimate } from "../../gasPriceOracle";
11
12
  /**
12
13
  * A unified QueryBase for querying gas costs, token prices, and decimals of various tokens
@@ -47,7 +48,7 @@ var QueryBase = /** @class */ (function () {
47
48
  * @returns The gas estimate for this function call (multiplied with the optional buffer).
48
49
  */
49
50
  QueryBase.prototype.getGasCosts = function (deposit, relayer, options) {
50
- if (relayer === void 0) { relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
51
+ if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
51
52
  if (options === void 0) { options = {}; }
52
53
  return __awaiter(this, void 0, void 0, function () {
53
54
  var _a, gasPrice, gasUnits, baseFeeMultiplier, priorityFeeMultiplier, opStackL1GasCostMultiplier, transport, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice, opStackL1GasCost;
@@ -85,7 +86,7 @@ var QueryBase = /** @class */ (function () {
85
86
  * @returns PopulatedTransaction
86
87
  */
87
88
  QueryBase.prototype.getUnsignedTxFromDeposit = function (deposit, relayer) {
88
- if (relayer === void 0) { relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
89
+ if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
89
90
  return populateV3Relay(this.spokePool, deposit, relayer);
90
91
  };
91
92
  /**
@@ -95,7 +96,7 @@ var QueryBase = /** @class */ (function () {
95
96
  * @returns Estimated gas cost based on ethers.VoidSigner's gas estimation
96
97
  */
97
98
  QueryBase.prototype.getNativeGasCost = function (deposit, relayer) {
98
- if (relayer === void 0) { relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
99
+ if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
99
100
  return __awaiter(this, void 0, void 0, function () {
100
101
  var unsignedTx, voidSigner;
101
102
  return __generator(this, function (_a) {
@@ -118,7 +119,7 @@ var QueryBase = /** @class */ (function () {
118
119
  * @returns BigNumber L1 data fee in gas units
119
120
  */
120
121
  QueryBase.prototype.getOpStackL1DataFee = function (unsignedTx, relayer, options) {
121
- if (relayer === void 0) { relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
122
+ if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(unsignedTx.chainId); }
122
123
  return __awaiter(this, void 0, void 0, function () {
123
124
  var _a, opStackL2GasUnits, _b, opStackL1DataFeeMultiplier, chainId, voidSigner, populatedTransaction, l1DataFee;
124
125
  return __generator(this, function (_c) {
@@ -1 +1 @@
1
- {"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,15 @@ export declare class QueryBase__factory {
95
95
  };
96
96
  coingeckoId: string;
97
97
  };
98
+ ezETH: {
99
+ name: string;
100
+ symbol: string;
101
+ decimals: number;
102
+ addresses: {
103
+ [x: number]: string;
104
+ };
105
+ coingeckoId: string;
106
+ };
98
107
  GHO: {
99
108
  name: string;
100
109
  symbol: string;
@@ -3,10 +3,10 @@ import assert from "assert";
3
3
  import { CHAIN_IDs, TOKEN_SYMBOLS_MAP } from "@across-protocol/constants";
4
4
  import { getDeployedAddress } from "@across-protocol/contracts";
5
5
  import { asL2Provider } from "@eth-optimism/sdk";
6
- import { DEFAULT_SIMULATED_RELAYER_ADDRESS, CUSTOM_GAS_TOKENS } from "../../constants";
6
+ import { CUSTOM_GAS_TOKENS } from "../../constants";
7
7
  import { chainIsOPStack, isDefined, chainIsSvm, SvmAddress } from "../../utils";
8
8
  import { QueryBase } from "./baseQuery";
9
- import { DEFAULT_LOGGER } from "../relayFeeCalculator";
9
+ import { DEFAULT_LOGGER, getDefaultSimulatedRelayerAddress } from "../relayFeeCalculator";
10
10
  import { CustomGasTokenQueries } from "./customGasToken";
11
11
  import { SvmQuery } from "./svmQuery";
12
12
  /**
@@ -22,7 +22,7 @@ var QueryBase__factory = /** @class */ (function () {
22
22
  QueryBase__factory.create = function (chainId, provider, symbolMapping, spokePoolAddress, simulatedRelayerAddress, coingeckoProApiKey, logger, coingeckoBaseCurrency) {
23
23
  if (symbolMapping === void 0) { symbolMapping = TOKEN_SYMBOLS_MAP; }
24
24
  if (spokePoolAddress === void 0) { spokePoolAddress = getDeployedAddress("SpokePool", chainId); }
25
- if (simulatedRelayerAddress === void 0) { simulatedRelayerAddress = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
25
+ if (simulatedRelayerAddress === void 0) { simulatedRelayerAddress = getDefaultSimulatedRelayerAddress(chainId); }
26
26
  if (logger === void 0) { logger = DEFAULT_LOGGER; }
27
27
  if (coingeckoBaseCurrency === void 0) { coingeckoBaseCurrency = "eth"; }
28
28
  assert(isDefined(spokePoolAddress));
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/factory.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAU,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,IAAM,aAAa;IACjB,GAAC,SAAS,CAAC,IAAI,IAAG,GAAG;OACtB,CAAC;AAEF;IAAA;IA0DA,CAAC;IAzDQ,yBAAM,GAAb,UACE,OAAe,EACf,QAA0C,EAC1C,aAAiC,EACjC,gBAA2D,EAC3D,uBAA2D,EAC3D,kBAA2B,EAC3B,MAA+B,EAC/B,qBAA6B;QAL7B,8BAAA,EAAA,iCAAiC;QACjC,iCAAA,EAAA,mBAAmB,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC3D,wCAAA,EAAA,2DAA2D;QAE3D,uBAAA,EAAA,uBAA+B;QAC/B,sCAAA,EAAA,6BAA6B;QAE7B,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpC,IAAM,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,oBAAoB,EAAE;YACxB,OAAO,IAAI,qBAAqB,CAAC;gBAC/B,aAAa,EAAE;oBACb,QAA8B;oBAC9B,aAAa;oBACb,gBAAgB;oBAChB,uBAAuB;oBACvB,MAAM;oBACN,kBAAkB;oBAClB,aAAa,CAAC,OAAO,CAAC;oBACtB,KAAK;iBACN;gBACD,oBAAoB,sBAAA;aACrB,CAAC,CAAC;SACJ;QACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;YACvB,OAAO,IAAI,QAAQ,CACjB,QAAuB,EACvB,aAAa,EACb,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACjC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,EACxC,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;SACH;QAED,oEAAoE;QACpE,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,YAAY,CAAC,QAA8B,CAAC;YAC9C,CAAC,CAAE,QAA+B,CAAC;QAErC,OAAO,IAAI,SAAS,CAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,AA1DD,IA0DC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/factory.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,iCAAiC,EAAU,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,IAAM,aAAa;IACjB,GAAC,SAAS,CAAC,IAAI,IAAG,GAAG;OACtB,CAAC;AAEF;IAAA;IA0DA,CAAC;IAzDQ,yBAAM,GAAb,UACE,OAAe,EACf,QAA0C,EAC1C,aAAiC,EACjC,gBAA2D,EAC3D,uBAAoE,EACpE,kBAA2B,EAC3B,MAA+B,EAC/B,qBAA6B;QAL7B,8BAAA,EAAA,iCAAiC;QACjC,iCAAA,EAAA,mBAAmB,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC3D,wCAAA,EAAA,0BAA0B,iCAAiC,CAAC,OAAO,CAAC;QAEpE,uBAAA,EAAA,uBAA+B;QAC/B,sCAAA,EAAA,6BAA6B;QAE7B,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEpC,IAAM,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,oBAAoB,EAAE;YACxB,OAAO,IAAI,qBAAqB,CAAC;gBAC/B,aAAa,EAAE;oBACb,QAA8B;oBAC9B,aAAa;oBACb,gBAAgB;oBAChB,uBAAuB;oBACvB,MAAM;oBACN,kBAAkB;oBAClB,aAAa,CAAC,OAAO,CAAC;oBACtB,KAAK;iBACN;gBACD,oBAAoB,sBAAA;aACrB,CAAC,CAAC;SACJ;QACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;YACvB,OAAO,IAAI,QAAQ,CACjB,QAAuB,EACvB,aAAa,EACb,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACjC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,EACxC,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;SACH;QAED,oEAAoE;QACpE,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,YAAY,CAAC,QAA8B,CAAC;YAC9C,CAAC,CAAE,QAA+B,CAAC;QAErC,OAAO,IAAI,SAAS,CAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,EACtB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACH,yBAAC;AAAD,CAAC,AA1DD,IA0DC"}
@@ -3,6 +3,7 @@ import { Deposit } from "../../interfaces";
3
3
  import { BigNumberish, TransactionCostEstimate, BigNumber, SvmAddress } from "../../utils";
4
4
  import { Logger, QueryInterface } from "../relayFeeCalculator";
5
5
  import { SVMProvider } from "../../arch/svm";
6
+ import { IInstruction } from "@solana/kit";
6
7
  /**
7
8
  * A special QueryBase implementation for SVM used for querying gas costs, token prices, and decimals of various tokens
8
9
  * on Solana.
@@ -51,6 +52,23 @@ export declare class SvmQuery implements QueryInterface {
51
52
  baseFeeMultiplier: BigNumber;
52
53
  priorityFeeMultiplier: BigNumber;
53
54
  }>): Promise<TransactionCostEstimate>;
55
+ /**
56
+ * @notice Return the gas cost of a simulated transaction
57
+ * @param fillRelayTx FillRelay transaction
58
+ * @param relayer SVM address of the relayer
59
+ * @returns Estimated gas cost in compute units
60
+ */
61
+ getNativeGasCost(deposit: Omit<Deposit, "messageHash">, _relayer?: string): Promise<BigNumber>;
62
+ /**
63
+ * @notice Return the fillRelay transaction for a given deposit
64
+ * @param deposit
65
+ * @param relayer SVM address of the relayer
66
+ * @returns FillRelay transaction
67
+ */
68
+ getFillRelayTx(deposit: Omit<Deposit, "messageHash">, _relayer?: string): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayer<string> & Omit<Readonly<{
69
+ instructions: readonly IInstruction<string, readonly (import("@solana/kit").IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
70
+ version: 0;
71
+ }>, "feePayer">>;
54
72
  /**
55
73
  * Retrieves the current price of a token
56
74
  * @param tokenSymbol A valid [CoinGecko-ID](https://api.coingecko.com/api/v3/coins/list)
@@ -1,9 +1,10 @@
1
1
  import { __awaiter, __generator } from "tslib";
2
2
  import { pipe } from "@solana/functional";
3
3
  import { Coingecko } from "../../coingecko";
4
- import { CHAIN_IDs, DEFAULT_SIMULATED_RELAYER_ADDRESS } from "../../constants";
4
+ import { CHAIN_IDs } from "../../constants";
5
5
  import { getGasPriceEstimate } from "../../gasPriceOracle";
6
6
  import { toBN, isDefined, toAddressType, } from "../../utils";
7
+ import { getDefaultSimulatedRelayerAddress } from "../relayFeeCalculator";
7
8
  import { fillRelayInstruction, createApproveInstruction, createTokenAccountsInstruction, SolanaVoidSigner, getAssociatedTokenAddress, } from "../../arch/svm";
8
9
  import { createTransactionMessage, setTransactionMessageFeePayer, setTransactionMessageLifetimeUsingBlockhash, appendTransactionMessageInstructions, getComputeUnitEstimateForTransactionMessageFactory, fetchEncodedAccount, } from "@solana/kit";
9
10
  import { TOKEN_PROGRAM_ADDRESS, getMintSize, getInitializeMintInstruction, fetchMint } from "@solana-program/token";
@@ -49,34 +50,100 @@ var SvmQuery = /** @class */ (function () {
49
50
  * @returns The gas estimate for this function call (multiplied with the optional buffer).
50
51
  */
51
52
  SvmQuery.prototype.getGasCosts = function (deposit, _relayer, options) {
52
- if (_relayer === void 0) { _relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
53
+ if (_relayer === void 0) { _relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
53
54
  if (options === void 0) { options = {}; }
54
55
  return __awaiter(this, void 0, void 0, function () {
55
- var mint, owner, associatedToken, simulatedSigner, recipientCreateTokenAccountInstructions, _a, associatedTokenAccountExists, mintInfo, _b, _c, space, rent, createAccountIx, initializeMintIx, _d, createTokenAccountsIx, approveIx, fillIx, recentBlockhash, fillRelayTx, _e, computeUnitsConsumed, _gasPriceEstimate, _f, _g, _h, gasPriceEstimate, gasPrice;
56
- var _this = this;
57
- return __generator(this, function (_j) {
58
- switch (_j.label) {
56
+ var relayer, fillRelayTx, _a, computeUnitsConsumed, _gasPriceEstimate, _b, _c, _d, gasPriceEstimate, gasPrice;
57
+ return __generator(this, function (_e) {
58
+ switch (_e.label) {
59
59
  case 0:
60
+ relayer = _relayer ? toAddressType(_relayer).forceSvmAddress() : this.simulatedRelayerAddress;
61
+ return [4 /*yield*/, this.getFillRelayTx(deposit, relayer.toBase58())];
62
+ case 1:
63
+ fillRelayTx = _e.sent();
64
+ _c = (_b = Promise).all;
65
+ _d = toBN;
66
+ return [4 /*yield*/, this.computeUnitEstimator(fillRelayTx)];
67
+ case 2: return [4 /*yield*/, _c.apply(_b, [[
68
+ _d.apply(void 0, [_e.sent()]),
69
+ getGasPriceEstimate(this.provider, {
70
+ unsignedTx: fillRelayTx,
71
+ baseFeeMultiplier: options.baseFeeMultiplier,
72
+ priorityFeeMultiplier: options.priorityFeeMultiplier,
73
+ })
74
+ ]])];
75
+ case 3:
76
+ _a = _e.sent(), computeUnitsConsumed = _a[0], _gasPriceEstimate = _a[1];
77
+ gasPriceEstimate = _gasPriceEstimate;
78
+ gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div(toBN(1000000)) // 1_000_000 microLamports/lamport.
79
+ );
80
+ return [2 /*return*/, {
81
+ nativeGasCost: computeUnitsConsumed,
82
+ tokenGasCost: gasPrice,
83
+ gasPrice: gasPrice,
84
+ }];
85
+ }
86
+ });
87
+ });
88
+ };
89
+ /**
90
+ * @notice Return the gas cost of a simulated transaction
91
+ * @param fillRelayTx FillRelay transaction
92
+ * @param relayer SVM address of the relayer
93
+ * @returns Estimated gas cost in compute units
94
+ */
95
+ SvmQuery.prototype.getNativeGasCost = function (deposit, _relayer) {
96
+ if (_relayer === void 0) { _relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
97
+ return __awaiter(this, void 0, void 0, function () {
98
+ var fillRelayTx, computeUnitsConsumed, _a;
99
+ return __generator(this, function (_b) {
100
+ switch (_b.label) {
101
+ case 0: return [4 /*yield*/, this.getFillRelayTx(deposit, _relayer)];
102
+ case 1:
103
+ fillRelayTx = _b.sent();
104
+ _a = toBN;
105
+ return [4 /*yield*/, this.computeUnitEstimator(fillRelayTx)];
106
+ case 2:
107
+ computeUnitsConsumed = _a.apply(void 0, [_b.sent()]);
108
+ return [2 /*return*/, computeUnitsConsumed];
109
+ }
110
+ });
111
+ });
112
+ };
113
+ /**
114
+ * @notice Return the fillRelay transaction for a given deposit
115
+ * @param deposit
116
+ * @param relayer SVM address of the relayer
117
+ * @returns FillRelay transaction
118
+ */
119
+ SvmQuery.prototype.getFillRelayTx = function (deposit, _relayer) {
120
+ if (_relayer === void 0) { _relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
121
+ return __awaiter(this, void 0, void 0, function () {
122
+ var relayer, mint, owner, associatedToken, simulatedSigner, recipientCreateTokenAccountInstructions, _a, associatedTokenAccountExists, mintInfo, _b, _c, space, rent, createAccountIx, initializeMintIx, _d, createTokenAccountsIx, approveIx, fillIx, recentBlockhash, fillRelayTx;
123
+ return __generator(this, function (_e) {
124
+ switch (_e.label) {
125
+ case 0:
126
+ relayer = _relayer ? toAddressType(_relayer).forceSvmAddress() : this.simulatedRelayerAddress;
60
127
  mint = toAddressType(deposit.outputToken).forceSvmAddress();
61
128
  owner = toAddressType(deposit.recipient).forceSvmAddress();
62
129
  return [4 /*yield*/, getAssociatedTokenAddress(owner, mint)];
63
130
  case 1:
64
- associatedToken = _j.sent();
65
- simulatedSigner = SolanaVoidSigner(this.simulatedRelayerAddress.toBase58());
131
+ associatedToken = _e.sent();
132
+ simulatedSigner = SolanaVoidSigner(relayer.toBase58());
66
133
  recipientCreateTokenAccountInstructions = undefined;
67
134
  _c = (_b = Promise).all;
68
135
  return [4 /*yield*/, fetchEncodedAccount(this.provider, associatedToken)];
69
136
  case 2: return [4 /*yield*/, _c.apply(_b, [[
70
- (_j.sent()).exists,
137
+ (_e.sent()).exists,
71
138
  fetchMint(this.provider, mint.toV2Address())
72
139
  ]])];
73
140
  case 3:
74
- _a = _j.sent(), associatedTokenAccountExists = _a[0], mintInfo = _a[1];
141
+ _a = _e.sent(), associatedTokenAccountExists = _a[0], mintInfo = _a[1];
75
142
  if (!!associatedTokenAccountExists) return [3 /*break*/, 5];
76
143
  space = BigInt(getMintSize());
77
144
  return [4 /*yield*/, this.provider.getMinimumBalanceForRentExemption(space).send()];
78
145
  case 4:
79
- rent = _j.sent();
146
+ rent = _e.sent();
80
147
  createAccountIx = getCreateAccountInstruction({
81
148
  payer: simulatedSigner,
82
149
  newAccount: SolanaVoidSigner(mint.toBase58()),
@@ -90,43 +157,23 @@ var SvmQuery = /** @class */ (function () {
90
157
  mintAuthority: owner.toV2Address(),
91
158
  });
92
159
  recipientCreateTokenAccountInstructions = [createAccountIx, initializeMintIx];
93
- _j.label = 5;
160
+ _e.label = 5;
94
161
  case 5: return [4 /*yield*/, Promise.all([
95
162
  createTokenAccountsInstruction(mint, simulatedSigner),
96
163
  createApproveInstruction(mint, deposit.outputAmount, this.simulatedRelayerAddress, this.spokePoolAddress, mintInfo.data.decimals),
97
164
  fillRelayInstruction(this.spokePoolAddress, deposit, simulatedSigner, associatedToken),
98
165
  ])];
99
166
  case 6:
100
- _d = _j.sent(), createTokenAccountsIx = _d[0], approveIx = _d[1], fillIx = _d[2];
167
+ _d = _e.sent(), createTokenAccountsIx = _d[0], approveIx = _d[1], fillIx = _d[2];
101
168
  return [4 /*yield*/, this.provider.getLatestBlockhash().send()];
102
169
  case 7:
103
- recentBlockhash = _j.sent();
104
- fillRelayTx = pipe(createTransactionMessage({ version: 0 }), function (tx) { return setTransactionMessageFeePayer(_this.simulatedRelayerAddress.toV2Address(), tx); }, function (tx) { return setTransactionMessageLifetimeUsingBlockhash(recentBlockhash.value, tx); }, function (tx) {
170
+ recentBlockhash = _e.sent();
171
+ fillRelayTx = pipe(createTransactionMessage({ version: 0 }), function (tx) { return setTransactionMessageFeePayer(relayer.toV2Address(), tx); }, function (tx) { return setTransactionMessageLifetimeUsingBlockhash(recentBlockhash.value, tx); }, function (tx) {
105
172
  return isDefined(recipientCreateTokenAccountInstructions)
106
173
  ? appendTransactionMessageInstructions(recipientCreateTokenAccountInstructions, tx)
107
174
  : tx;
108
175
  }, function (tx) { return appendTransactionMessageInstructions([createTokenAccountsIx, approveIx, fillIx], tx); });
109
- _g = (_f = Promise).all;
110
- _h = toBN;
111
- return [4 /*yield*/, this.computeUnitEstimator(fillRelayTx)];
112
- case 8: return [4 /*yield*/, _g.apply(_f, [[
113
- _h.apply(void 0, [_j.sent()]),
114
- getGasPriceEstimate(this.provider, {
115
- unsignedTx: fillRelayTx,
116
- baseFeeMultiplier: options.baseFeeMultiplier,
117
- priorityFeeMultiplier: options.priorityFeeMultiplier,
118
- })
119
- ]])];
120
- case 9:
121
- _e = _j.sent(), computeUnitsConsumed = _e[0], _gasPriceEstimate = _e[1];
122
- gasPriceEstimate = _gasPriceEstimate;
123
- gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div(toBN(1000000)) // 1_000_000 microLamports/lamport.
124
- );
125
- return [2 /*return*/, {
126
- nativeGasCost: computeUnitsConsumed,
127
- tokenGasCost: gasPrice,
128
- gasPrice: gasPrice,
129
- }];
176
+ return [2 /*return*/, fillRelayTx];
130
177
  }
131
178
  });
132
179
  });
@@ -1 +1 @@
1
- {"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAKL,IAAI,EACJ,SAAS,EACT,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAE9B,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,2CAA2C,EAC3C,oCAAoC,EACpC,kDAAkD,EAClD,mBAAmB,GAEpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE;;;GAGG;AACH;IAGE;;;;;;;;;;OAUG;IACH,kBACW,QAAqB,EACrB,aAAgC,EAChC,gBAA4B,EAC5B,uBAAmC,EACnC,MAAc,EACd,kBAA2B,EAC3B,aAA4B,EAC5B,qBAAqC;QAArC,sCAAA,EAAA,6BAAqC;QAPrC,aAAQ,GAAR,QAAQ,CAAa;QACrB,kBAAa,GAAb,aAAa,CAAmB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAY;QAC5B,4BAAuB,GAAvB,uBAAuB,CAAY;QACnC,WAAM,GAAN,MAAM,CAAQ;QACd,uBAAkB,GAAlB,kBAAkB,CAAS;QAC3B,kBAAa,GAAb,aAAa,CAAe;QAC5B,0BAAqB,GAArB,qBAAqB,CAAgB;QAE9C,IAAI,CAAC,oBAAoB,GAAG,kDAAkD,CAAC;YAC7E,GAAG,EAAE,QAAQ;SACd,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACG,8BAAW,GAAjB,UACE,OAAqC,EACrC,QAA4C,EAC5C,OAKO;QANP,yBAAA,EAAA,4CAA4C;QAC5C,wBAAA,EAAA,YAKO;;;;;;;wBAGD,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,eAAe,EAAE,CAAC;wBAC5D,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;wBACzC,qBAAM,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAA;;wBAA9D,eAAe,GAAG,SAA4C;wBAC9D,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAG9E,uCAAuC,GAA+B,SAAS,CAAC;wBAC7B,KAAA,CAAA,KAAA,OAAO,CAAA,CAAC,GAAG,CAAA;wBAC/D,qBAAM,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAA;4BADX,qBAAM;gCACrD,CAAC,SAAyD,CAAC,CAAC,MAAM;gCAClE,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;+BAC5C,EAAA;;wBAHI,KAA2C,SAG/C,EAHK,4BAA4B,QAAA,EAAE,QAAQ,QAAA;6BAIzC,CAAC,4BAA4B,EAA7B,wBAA6B;wBACzB,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;wBACvB,qBAAM,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAA;;wBAA1E,IAAI,GAAG,SAAmE;wBAC1E,eAAe,GAAG,2BAA2B,CAAC;4BAClD,KAAK,EAAE,eAAe;4BACtB,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;4BAC7C,QAAQ,EAAE,IAAI;4BACd,KAAK,OAAA;4BACL,cAAc,EAAE,qBAAqB;yBACtC,CAAC,CAAC;wBAEG,gBAAgB,GAAG,4BAA4B,CAAC;4BACpD,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;4BACxB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;4BAChC,aAAa,EAAE,KAAK,CAAC,WAAW,EAAE;yBACnC,CAAC,CAAC;wBACH,uCAAuC,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;;4BAG7B,qBAAM,OAAO,CAAC,GAAG,CAAC;4BACnE,8BAA8B,CAAC,IAAI,EAAE,eAAe,CAAC;4BACrD,wBAAwB,CACtB,IAAI,EACJ,OAAO,CAAC,YAAY,EACpB,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,gBAAgB,EACrB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CACvB;4BACD,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC;yBACvF,CAAC,EAAA;;wBAVI,KAA6C,SAUjD,EAVK,qBAAqB,QAAA,EAAE,SAAS,QAAA,EAAE,MAAM,QAAA;wBAavB,qBAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAA;;wBAAjE,eAAe,GAAG,SAA+C;wBACjE,WAAW,GAAG,IAAI,CACtB,wBAAwB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EACxC,UAAC,EAAE,IAAK,OAAA,6BAA6B,CAAC,KAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,EAA7E,CAA6E,EACrF,UAAC,EAAE,IAAK,OAAA,2CAA2C,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,EAAtE,CAAsE,EAC9E,UAAC,EAAE;4BACD,OAAA,SAAS,CAAC,uCAAuC,CAAC;gCAChD,CAAC,CAAC,oCAAoC,CAAC,uCAAuC,EAAE,EAAE,CAAC;gCACnF,CAAC,CAAC,EAAE;wBAFN,CAEM,EACR,UAAC,EAAE,IAAK,OAAA,oCAAoC,CAAC,CAAC,qBAAqB,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAApF,CAAoF,CAC7F,CAAC;wBAEsD,KAAA,CAAA,KAAA,OAAO,CAAA,CAAC,GAAG,CAAA;wBACjE,KAAA,IAAI,CAAA;wBAAC,qBAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAA;4BADD,qBAAM;gCACtD,kBAAK,SAA4C,EAAC;gCAClD,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE;oCACjC,UAAU,EAAE,WAAW;oCACvB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;oCAC5C,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;iCACrD,CAAC;+BACF,EAAA;;wBAPI,KAA4C,SAOhD,EAPK,oBAAoB,QAAA,EAAE,iBAAiB,QAAA;wBAWxC,gBAAgB,GAAG,iBAAwC,CAAC;wBAC5D,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAC3C,gBAAgB,CAAC,2BAA2B,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAS,CAAC,CAAC,CAAC,mCAAmC;yBAChI,CAAC;wBAEF,sBAAO;gCACL,aAAa,EAAE,oBAAoB;gCACnC,YAAY,EAAE,QAAQ;gCACtB,QAAQ,UAAA;6BACT,EAAC;;;;KACH;IAED;;;;OAIG;IACG,gCAAa,GAAnB,UAAoB,WAAmB;;;;;;wBACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,UAAG,WAAW,+BAA4B,CAAC,CAAC;wBAC5F,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;wBAC5D,qBAAM,iBAAiB,CAAC,yBAAyB,CACjE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAC5D,IAAI,CAAC,qBAAqB,CAC3B,EAAA;;wBAHK,KAAY,SAGjB,EAHQ,KAAK,QAAA;wBAId,sBAAO,KAAK,EAAC;;;;KACd;IAED;;;;OAIG;IACH,mCAAgB,GAAhB,UAAiB,WAAmB;QAClC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,UAAG,WAAW,+BAA4B,CAAC,CAAC;QAClG,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;IAClD,CAAC;IACH,eAAC;AAAD,CAAC,AAxJD,IAwJC"}
1
+ {"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface QueryInterface {
11
11
  transport: Transport;
12
12
  }>) => Promise<TransactionCostEstimate>;
13
13
  getTokenPrice: (tokenSymbol: string) => Promise<number>;
14
+ getNativeGasCost: (deposit: Omit<Deposit, "messageHash">, relayer: string) => Promise<BigNumber>;
14
15
  }
15
16
  export declare const expectedCapitalCostsKeys: string[];
16
17
  export interface CapitalCostConfig {
@@ -73,6 +74,7 @@ export interface Logger {
73
74
  error: LoggingFunction;
74
75
  }
75
76
  export declare const DEFAULT_LOGGER: Logger;
77
+ export declare function getDefaultSimulatedRelayerAddress(chainId?: number): "0x07aE8551Be970cB1cCa11Dd7a11F47Ae82e70E67" | "FmMK62wrtWVb5SVoTZftSCGw3nEDA79hDbZNTRnC1R6t";
76
78
  export declare class RelayFeeCalculator {
77
79
  private queries;
78
80
  private gasDiscountPercent;
@@ -216,6 +218,15 @@ export declare class RelayFeeCalculator {
216
218
  };
217
219
  coingeckoId: string;
218
220
  };
221
+ ezETH: {
222
+ name: string;
223
+ symbol: string;
224
+ decimals: number;
225
+ addresses: {
226
+ [x: number]: string;
227
+ };
228
+ coingeckoId: string;
229
+ };
219
230
  GHO: {
220
231
  name: string;
221
232
  symbol: string;
@@ -412,7 +423,16 @@ export declare class RelayFeeCalculator {
412
423
  VLR: {
413
424
  name: string;
414
425
  symbol: string;
415
- decimals: number;
426
+ decimals: number; /**
427
+ * Type guard to check if a config is a CapitalCostConfigOverride or a CapitalCostConfig.
428
+ * @param config CapitalCostConfig or CapitalCostConfigOverride
429
+ * @returns true if the config is a CapitalCostConfigOverride, false otherwise.
430
+ * @private
431
+ * @dev This is a type guard that is used to check if a config is a CapitalCostConfigOverride or a CapitalCostConfig.
432
+ * This is needed because the config can be either a CapitalCostConfig or a CapitalCostConfigOverride. If it's a
433
+ * CapitalCostConfig, then we need to convert it to a CapitalCostConfigOverride with the default config set with no route
434
+ * overrides.
435
+ */
416
436
  addresses: {
417
437
  [x: number]: string;
418
438
  };
@@ -1,7 +1,7 @@
1
1
  import { __assign, __awaiter, __generator } from "tslib";
2
2
  import assert from "assert";
3
- import { DEFAULT_SIMULATED_RELAYER_ADDRESS, TOKEN_SYMBOLS_MAP } from "../constants";
4
- import { MAX_BIG_INT, bnZero, fixedPointAdjustment, getTokenInfo, isDefined, max, min, nativeToToken, percent, toBN, toBNWei, isZeroAddress, compareAddressesSimple, } from "../utils";
3
+ import { DEFAULT_SIMULATED_RELAYER_ADDRESS, DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM, TOKEN_SYMBOLS_MAP, } from "../constants";
4
+ import { MAX_BIG_INT, bnZero, fixedPointAdjustment, getTokenInfo, isDefined, max, min, nativeToToken, percent, toBN, toBNWei, isZeroAddress, compareAddressesSimple, chainIsSvm, } from "../utils";
5
5
  export var expectedCapitalCostsKeys = ["lowerBound", "upperBound", "cutoff", "decimals"];
6
6
  export var DEFAULT_LOGGER = {
7
7
  debug: function () {
@@ -33,6 +33,11 @@ export var DEFAULT_LOGGER = {
33
33
  return console.error(args);
34
34
  },
35
35
  };
36
+ export function getDefaultSimulatedRelayerAddress(chainId) {
37
+ return isDefined(chainId) && chainIsSvm(chainId)
38
+ ? DEFAULT_SIMULATED_RELAYER_ADDRESS_SVM
39
+ : DEFAULT_SIMULATED_RELAYER_ADDRESS;
40
+ }
36
41
  // Small amount to simulate filling with. Should be low enough to guarantee a successful fill.
37
42
  var safeOutputAmount = toBN(100);
38
43
  var RelayFeeCalculator = /** @class */ (function () {
@@ -132,7 +137,7 @@ var RelayFeeCalculator = /** @class */ (function () {
132
137
  */
133
138
  RelayFeeCalculator.prototype.gasFeePercent = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, tokenMapping, gasPrice, gasLimit, _tokenGasCost, transport) {
134
139
  if (simulateZeroFill === void 0) { simulateZeroFill = false; }
135
- if (relayerAddress === void 0) { relayerAddress = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
140
+ if (relayerAddress === void 0) { relayerAddress = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
136
141
  if (tokenMapping === void 0) { tokenMapping = TOKEN_SYMBOLS_MAP; }
137
142
  return __awaiter(this, void 0, void 0, function () {
138
143
  var inputToken, destinationChainId, originChainId, destinationChainTokenDetails, outputToken, outputTokenInfo, inputTokenInfo, simulatedAmount, getGasCosts, _a, tokenGasCost, tokenPrice, gasFeesInToken;
@@ -333,7 +338,7 @@ var RelayFeeCalculator = /** @class */ (function () {
333
338
  */
334
339
  RelayFeeCalculator.prototype.relayerFeeDetails = function (deposit, amountToRelay, simulateZeroFill, relayerAddress, _tokenPrice, gasPrice, gasUnits, tokenGasCost) {
335
340
  if (simulateZeroFill === void 0) { simulateZeroFill = false; }
336
- if (relayerAddress === void 0) { relayerAddress = DEFAULT_SIMULATED_RELAYER_ADDRESS; }
341
+ if (relayerAddress === void 0) { relayerAddress = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
337
342
  return __awaiter(this, void 0, void 0, function () {
338
343
  var inputToken, originChainId, token, gasFeePercent, gasFeeTotal, capitalFeePercent, capitalFeeTotal, relayFeePercent, relayFeeTotal, maxGasFeePercent, minDeposit, isAmountTooLow;
339
344
  return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relayFeeCalculator.js","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACL,iCAAiC,EACjC,qCAAqC,EACrC,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAGL,WAAW,EAEX,MAAM,EACN,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,GAAG,EACH,GAAG,EACH,aAAa,EACb,OAAO,EACP,IAAI,EACJ,OAAO,EACP,aAAa,EACb,sBAAsB,EACtB,UAAU,GACX,MAAM,UAAU,CAAC;AAqBlB,MAAM,CAAC,IAAM,wBAAwB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AA4D3F,MAAM,CAAC,IAAM,cAAc,GAAW;IACpC,KAAK,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAAnB,CAAmB;IACvC,IAAI,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAAlB,CAAkB;IACrC,IAAI,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAAlB,CAAkB;IACrC,KAAK,EAAE;QAAC,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,yBAAO;;QAAK,OAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAAnB,CAAmB;CACxC,CAAC;AAEF,MAAM,UAAU,iCAAiC,CAAC,OAAgB;IAChE,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,iCAAiC,CAAC;AACxC,CAAC;AAED,8FAA8F;AAC9F,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AAEnC;IAcE,4BAAY,MAAiC,EAAE,MAAe,EAAE,kBAA2B;QACzF,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAE1C,IAAI,SAAS,IAAI,MAAM,EAAE;YACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;SAC/B;aAAM;YACL,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,+DAA+D,CAAC,CAAC;YAC1G,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,2CAA2C,CAAC,CAAC;YAC3F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;SACtD;QAED,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAC5D,MAAM,CACJ,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,IAAI,GAAG,EAC9D,sDAAsD,CACvD,CAAC;QACF,MAAM,CACJ,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,IAAI,CAAC,sBAAsB,IAAI,GAAG,EACtE,0DAA0D,CAC3D,CAAC;QACF,MAAM,CACJ,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI,GAAG,EACxD,mDAAmD,CACpD,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAC,EAAqB;gBAApB,KAAK,QAAA,EAAE,YAAY,QAAA;YACjE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC,8CAA8C,CAAC,YAAY,CAAC,CAAC,CAAC;QAChH,CAAC,CAAC,CACH,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,iDAAiD,CAAC,CAAC;QAC3G,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,cAAc,CAAC;QACvC,8DAA8D;QAC9D,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACY,8CAA2B,GAA1C,UACE,MAAqD;QAErD,OAAQ,MAAoC,CAAC,OAAO,KAAK,SAAS,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACI,iEAA8C,GAArD,UACE,YAA2D;QAE3D,uHAAuH;QACvH,8HAA8H;QAC9H,kDAAkD;QAClD,IAAM,MAAM,GAA8B,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC;YACtF,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAE9B,+BAA+B;QAC/B,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,0DAA0D;QAC1D,KAA8B,UAA0C,EAA1C,KAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,EAA1C,cAA0C,EAA1C,IAA0C,EAAE;YAArE,IAAM,eAAe,SAAA;YACxB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SACzE;QACD,kCAAkC;QAClC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1F,uCAAuC;QACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAE/F,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,6CAA0B,GAAjC,UAAkC,YAA+B;QAC/D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACrF,MAAM,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACvF,CAAC;IAED,0CAAa,GAAb,UAAc,WAAmB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,0CAAa,GAAnB,UACE,OAAgB,EAChB,aAA2B,EAC3B,gBAAwB,EACxB,cAA8E,EAC9E,WAAoB,EACpB,YAAgC,EAChC,QAAuB,EACvB,QAAuB,EACvB,aAA4B,EAC5B,SAAqB;QAPrB,iCAAA,EAAA,wBAAwB;QACxB,+BAAA,EAAA,iBAAiB,iCAAiC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAE9E,6BAAA,EAAA,gCAAgC;;;;;;;wBAMhC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;4BAAE,sBAAO,WAAW,EAAC;wBAE/C,UAAU,GAAwC,OAAO,WAA/C,EAAE,kBAAkB,GAAoB,OAAO,mBAA3B,EAAE,aAAa,GAAK,OAAO,cAAZ,CAAa;wBAK5D,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACnE,UAAC,OAAO;4BACN,OAAA,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;gCACpE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;wBADhD,CACgD,CACnD,CAAC;wBACI,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;4BACpD,CAAC,CAAC,4BAA6B,CAAC,SAAS,CAAC,kBAAkB,CAAC;4BAC7D,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;wBAClB,eAAe,GAAG,YAAY,CAAC,WAAW,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;wBAC9E,cAAc,GAAG,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;wBAC7E,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;4BAC7D,MAAM,IAAI,KAAK,CAAC,+CAAwC,UAAU,iBAAO,WAAW,CAAE,CAAC,CAAC;yBACzF;wBAIK,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBAClF,OAAO,yBAAQ,OAAO,KAAE,YAAY,EAAE,eAAe,GAAE,CAAC;wBAElD,WAAW,GAAG,IAAI,CAAC,OAAO;6BAC7B,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,QAAQ,UAAA,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,WAAA,EAAE,CAAC;6BACjF,IAAI,CAAC,UAAC,EAAgB;gCAAd,YAAY,kBAAA;4BAAO,OAAA,YAAY;wBAAZ,CAAY,CAAC;6BACxC,KAAK,CAAC,UAAC,KAAK;4BACX,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gCAChB,EAAE,EAAE,mBAAmB;gCACvB,OAAO,EAAE,gCAAgC;gCACzC,KAAK,OAAA;gCACL,gBAAgB,kBAAA;gCAChB,OAAO,SAAA;6BACR,CAAC,CAAC;4BACH,MAAM,KAAK,CAAC;wBACd,CAAC,CAAC,CAAC;wBAC8B,qBAAM,OAAO,CAAC,GAAG,CAAC;gCACnD,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW;gCAC5D,WAAW,aAAX,WAAW,cAAX,WAAW,GACT,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;oCAC7D,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wCAChB,EAAE,EAAE,mBAAmB;wCACvB,OAAO,EAAE,kCAAkC;wCAC3C,KAAK,OAAA;wCACL,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;wCAC9C,UAAU,YAAA;qCACX,CAAC,CAAC;oCACH,MAAM,KAAK,CAAC;gCACd,CAAC,CAAC;6BACL,CAAC,EAAA;;wBAbI,KAA6B,SAajC,EAbK,YAAY,QAAA,EAAE,UAAU,QAAA;wBAczB,cAAc,GAAG,aAAa,CAAC,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;wBAClH,sBAAO,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAC;;;;KAC1D;IAED,qHAAqH;IACrH,8CAAiB,GAAjB,UACE,cAA4B,EAC5B,YAAoB,EACpB,YAA8B,EAC9B,iBAAmC;;QAEnC,gEAAgE;QAChE,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,WAAW,CAAC;QAEzD,kEAAkE;QAClE,mEAAmE;QACnE,yBAAyB;QACzB,IAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChB,EAAE,EAAE,uBAAuB;gBAC3B,OAAO,EAAE,6CAAsC,YAAY,CAAE;aAC9D,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,qDAA8C,YAAY,CAAE,CAAC,CAAC;SAC/E;QACD,gHAAgH;QAChH,6GAA6G;QAC7G,iHAAiH;QACjH,gCAAgC;aAC3B;YACH,0DAA0D;YAC1D,mDAAmD;YACnD,iCAAiC;YACjC,4BAA4B;YAC5B,oBAAoB;YACpB,IAAM,aAAa,GAAG,MAAA,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,cAAc,0CAAG,YAAY,IAAI,EAAE,CAAC,0CAAG,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACvG,IAAM,wBAAwB,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,yBAAyB,0CAAG,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACvG,IAAM,mBAAmB,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,oBAAoB,0CAAG,YAAY,IAAI,EAAE,CAAC,CAAC;YACxF,IAAM,MAAM,GACV,MAAA,MAAA,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,wBAAwB,mCAAI,mBAAmB,mCAAI,eAAe,CAAC,OAAO,CAAC;YAE9F,qDAAqD;YACrD,IAAI,CAAC,qBAAqB,CACxB,YAAY,EACZ,YAAY,IAAI,EAAE,EAClB,iBAAiB,IAAI,EAAE,EACvB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,CACpB,CAAC;YAEF,mCAAmC;YACnC,IAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,6DAA6D;YAC7D,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAE3E,wGAAwG;YACxG,gEAAgE;YAChE,IAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAExC,mGAAmG;YACnG,gFAAgF;YAChF,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACT,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChG,IAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC9E,IAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,8GAA8G;YAC9G,SAAS;YACT,IAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,IAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAEjH,OAAO,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC5F;IACH,CAAC;IAED;;;;;OAKG;IACK,oDAAuB,GAA/B;;gCACc,WAAW,EAAE,WAAW;YAClC,0DAA0D;YAC1D,IAAM,YAAY,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1F,+DAA+D;YAC/D,IAAM,UAAU,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,CAAC;YAE7F,sCAAsC;YACtC,IAAI,WAAW,CAAC,cAAc,EAAE;gBAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAC,WAAW;oBAC1D,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAe,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,SAAS;wBACtE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;YAED,6EAA6E;YAC7E,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;;aAErD;YAED,gFAAgF;YAChF,KAA0B,UAAwB,EAAxB,KAAA,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAxB,cAAwB,EAAxB,IAAwB,EAAE;gBAA/C,IAAM,WAAW,SAAA;gBACpB,KAAwB,UAAsB,EAAtB,KAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAtB,cAAsB,EAAtB,IAAsB,EAAE;oBAA3C,IAAM,SAAS,SAAA;oBAClB,IAAM,aAAa,GAAG,MAAA,MAAA,WAAW,CAAC,cAAc,0CAAG,WAAW,CAAC,0CAAG,SAAS,CAAC,CAAC;oBAC7E,IAAM,wBAAwB,GAAG,MAAA,WAAW,CAAC,yBAAyB,0CAAG,SAAS,CAAC,CAAC;oBACpF,IAAM,mBAAmB,GAAG,MAAA,WAAW,CAAC,oBAAoB,0CAAG,WAAW,CAAC,CAAC;oBAE5E,OAAK,qBAAqB,CACxB,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,wBAAwB,EACxB,mBAAmB,CACpB,CAAC;iBACH;aACF;;;QArCH,KAAyC,UAAuC,EAAvC,KAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAvC,cAAuC,EAAvC,IAAuC;YAArE,IAAA,WAA0B,EAAzB,WAAW,QAAA,EAAE,WAAW,QAAA;oBAAxB,WAAW,EAAE,WAAW;SAsCnC;IACH,CAAC;IAED;;;OAGG;IACK,kDAAqB,GAA7B,UACE,WAAmB,EACnB,WAAmB,EACnB,SAAiB,EACjB,aAAiC,EACjC,wBAA4C,EAC5C,mBAAuC;QAEvC,IAAM,aAAa,GAAG,CAAC,aAAa,EAAE,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAE5G,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,IAAM,UAAU,GAAG,aAAa;gBAC9B,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,4BAA4B;oBAC9B,CAAC,CAAC,mBAAmB;wBACrB,CAAC,CAAC,uBAAuB;wBACzB,CAAC,CAAC,kBAAkB,CAAC;YAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,oBAAoB;gBACxB,OAAO,EAAE,kDAA2C,WAAW,yBAAe,WAAW,uBAAa,SAAS,CAAE;gBACjH,UAAU,YAAA;gBACV,aAAa,eAAA;gBACb,wBAAwB,0BAAA;gBACxB,mBAAmB,qBAAA;aACpB,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACG,8CAAiB,GAAvB,UACE,OAAgB,EAChB,aAA4B,EAC5B,gBAAwB,EACxB,cAA8E,EAC9E,WAAoB,EACpB,QAAuB,EACvB,QAAuB,EACvB,YAA2B;QAL3B,iCAAA,EAAA,wBAAwB;QACxB,+BAAA,EAAA,iBAAiB,iCAAiC,CAAC,OAAO,CAAC,kBAAkB,CAAC;;;;;;wBAM9E,kDAAkD;wBAClD,sCAAsC;wBACtC,aAAa,aAAb,aAAa,cAAb,aAAa,IAAb,aAAa,GAAK,OAAO,CAAC,YAAY,EAAC;wBAC/B,UAAU,GAAoB,OAAO,WAA3B,EAAE,aAAa,GAAK,OAAO,cAAZ,CAAa;wBAGxC,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;wBACtD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;4BACrB,MAAM,IAAI,KAAK,CAAC,+CAAwC,UAAU,CAAE,CAAC,CAAC;yBACvE;wBAEqB,qBAAM,IAAI,CAAC,aAAa,CAC5C,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,CACb,EAAA;;wBAVK,aAAa,GAAG,SAUrB;wBACK,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;wBACzE,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAC9C,aAAa,EACb,KAAK,CAAC,MAAM,EACZ,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,EAChC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CACtC,CAAC;wBACI,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;wBACjF,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;wBACvD,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;wBAQjD,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBAIlG,IAAI,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;4BAChC,UAAU,GAAG,WAAW,CAAC;4BACzB,cAAc,GAAG,IAAI,CAAC;yBACvB;6BAAM;4BACL,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;4BACzE,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;yBACrD;wBAED,sBAAO;gCACL,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;gCACvC,WAAW,EAAE,KAAK,CAAC,MAAM;gCACzB,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;gCACvC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gCACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gCAC3C,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;gCAC/C,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;gCAC3C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gCACnD,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;gCAC3C,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;gCACvC,eAAe,EAAE,IAAI,CAAC,eAAe;gCACrC,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;gCAC7C,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;gCACjC,cAAc,gBAAA;6BACf,EAAC;;;;KACH;IACH,yBAAC;AAAD,CAAC,AA9bD,IA8bC"}
@@ -0,0 +1,22 @@
1
+ export type BlockFinderOpts = {
2
+ highBlock?: number;
3
+ highBlockOffset?: number;
4
+ blockRange?: number;
5
+ };
6
+ export type BlockTimeAverage = {
7
+ average: number;
8
+ blockRange: number;
9
+ timestamp: number;
10
+ };
11
+ export interface Block {
12
+ hash: string;
13
+ number: number;
14
+ timestamp: number;
15
+ }
16
+ export type BlockFinderHints = {
17
+ lowBlock?: number;
18
+ highBlock?: number;
19
+ };
20
+ export declare abstract class BlockFinder<TBlock extends Block> {
21
+ abstract getBlockForTimestamp(timestamp: number | string, hints: BlockFinderHints): Promise<TBlock>;
22
+ }
@@ -0,0 +1,7 @@
1
+ var BlockFinder = /** @class */ (function () {
2
+ function BlockFinder() {
3
+ }
4
+ return BlockFinder;
5
+ }());
6
+ export { BlockFinder };
7
+ //# sourceMappingURL=BlockFinder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockFinder.js","sourceRoot":"","sources":["../../../src/utils/BlockFinder.ts"],"names":[],"mappings":"AAuBA;IAAA;IAEA,CAAC;IAAD,kBAAC;AAAD,CAAC,AAFD,IAEC"}
@@ -1,38 +1,5 @@
1
- import type { Block, Provider } from "@ethersproject/abstract-provider";
2
1
  import { CachingMechanismInterface } from "../interfaces";
3
- type Opts = {
4
- highBlock?: number;
5
- highBlockOffset?: number;
6
- blockRange?: number;
7
- };
8
- type BlockTimeAverage = {
9
- average: number;
10
- blockRange: number;
11
- timestamp: number;
12
- };
13
- /**
14
- * @description Compute the average block time over a block range.
15
- * @returns Average number of seconds per block.
16
- */
17
- export declare function averageBlockTime(provider: Provider, { highBlock, highBlockOffset, blockRange }?: Opts): Promise<Pick<BlockTimeAverage, "average" | "blockRange">>;
18
- export type BlockFinderHints = {
19
- lowBlock?: number;
20
- highBlock?: number;
21
- };
22
- export declare class BlockFinder {
23
- private readonly provider;
24
- private readonly blocks;
25
- constructor(provider: Provider, blocks?: Block[]);
26
- /**
27
- * @notice Gets the latest block whose timestamp is <= the provided timestamp.
28
- * @param number Timestamp timestamp to search.
29
- * @param hints Optional low and high block to bound the search space.
30
- */
31
- getBlockForTimestamp(timestamp: number | string, hints?: BlockFinderHints): Promise<Block>;
32
- private getLatestBlock;
33
- private getBlock;
34
- private findBlock;
35
- }
2
+ import { BlockFinderHints, BlockFinder, Block } from "./BlockFinder";
36
3
  /**
37
4
  * @notice Get the block number for a given timestamp fresh from on-chain data if not found in redis cache.
38
5
  * If redis cache is not available, then requests block from blockFinder.
@@ -42,5 +9,4 @@ export declare class BlockFinder {
42
9
  * or loading from cache. This is useful for testing primarily.
43
10
  * @returns Block number for the requested timestamp.
44
11
  */
45
- export declare function getCachedBlockForTimestamp(chainId: number, timestamp: number, blockFinder: BlockFinder, cache?: CachingMechanismInterface, hints?: BlockFinderHints): Promise<number>;
46
- export {};
12
+ export declare function getCachedBlockForTimestamp<TBlock extends Block>(chainId: number, timestamp: number, blockFinder: BlockFinder<TBlock>, cache?: CachingMechanismInterface, hints?: BlockFinderHints): Promise<number>;