@across-protocol/sdk 4.1.63 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/arch/evm/BlockUtils.d.ts +15 -0
- package/dist/cjs/arch/evm/BlockUtils.js +218 -0
- package/dist/cjs/arch/evm/BlockUtils.js.map +1 -0
- package/dist/cjs/arch/evm/SpokeUtils.d.ts +1 -1
- package/dist/cjs/arch/evm/SpokeUtils.js +6 -5
- package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/evm/index.d.ts +1 -0
- package/dist/cjs/arch/evm/index.js +1 -0
- package/dist/cjs/arch/evm/index.js.map +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +20 -0
- package/dist/cjs/arch/svm/SpokeUtils.js +449 -0
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -0
- package/dist/cjs/arch/svm/constants.d.ts +2 -0
- package/dist/cjs/arch/svm/constants.js +7 -0
- package/dist/cjs/arch/svm/constants.js.map +1 -0
- package/dist/cjs/arch/svm/eventsClient.d.ts +26 -0
- package/dist/cjs/arch/svm/eventsClient.js +253 -0
- package/dist/cjs/arch/svm/eventsClient.js.map +1 -0
- package/dist/cjs/arch/svm/index.d.ts +5 -1
- package/dist/cjs/arch/svm/index.js +6 -2
- package/dist/cjs/arch/svm/index.js.map +1 -1
- package/dist/cjs/{svm → arch/svm}/types.d.ts +9 -4
- package/dist/cjs/arch/svm/types.js.map +1 -0
- package/dist/cjs/arch/svm/utils.d.ts +18 -0
- package/dist/cjs/arch/svm/utils.js +212 -0
- package/dist/cjs/arch/svm/utils.js.map +1 -0
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +7 -7
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/BaseAbstractClient.d.ts +6 -5
- package/dist/cjs/clients/BaseAbstractClient.js +30 -19
- package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +15 -11
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
- package/dist/cjs/clients/HubPoolClient.d.ts +4 -3
- package/dist/cjs/clients/HubPoolClient.js +18 -17
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +23 -20
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +23 -0
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +172 -0
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -0
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +5 -5
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +54 -57
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/index.d.ts +3 -0
- package/dist/cjs/clients/SpokePoolClient/index.js +8 -1
- package/dist/cjs/clients/SpokePoolClient/index.js.map +1 -1
- package/dist/cjs/clients/index.d.ts +1 -1
- package/dist/cjs/clients/index.js +2 -1
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/mocks/MockConfigStoreClient.d.ts +1 -1
- package/dist/cjs/clients/mocks/MockConfigStoreClient.js +2 -2
- package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +2 -2
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +7 -4
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.d.ts +33 -0
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +184 -0
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -0
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.d.ts +30 -0
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +90 -0
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -0
- package/dist/cjs/clients/mocks/index.d.ts +2 -0
- package/dist/cjs/clients/mocks/index.js +2 -0
- package/dist/cjs/clients/mocks/index.js.map +1 -1
- package/dist/cjs/constants.d.ts +1 -0
- package/dist/cjs/constants.js +2 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
- package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/ethereum.d.ts +4 -4
- package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/linea-viem.js +3 -2
- package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/polygon.d.ts +3 -3
- package/dist/cjs/gasPriceOracle/adapters/solana.d.ts +4 -0
- package/dist/cjs/gasPriceOracle/adapters/solana.js +43 -0
- package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -0
- package/dist/cjs/gasPriceOracle/index.d.ts +1 -1
- package/dist/cjs/gasPriceOracle/oracle.d.ts +4 -3
- package/dist/cjs/gasPriceOracle/oracle.js +16 -9
- package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
- package/dist/cjs/gasPriceOracle/types.d.ts +6 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.js +1 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/SpokePool.d.ts +13 -0
- package/dist/cjs/interfaces/SpokePool.js.map +1 -1
- package/dist/cjs/providers/index.d.ts +1 -1
- package/dist/cjs/providers/index.js +1 -2
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.d.ts +5 -0
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +21 -0
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -0
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +5 -0
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +20 -0
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -0
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.d.ts +13 -0
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +76 -0
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js.map +1 -0
- package/dist/cjs/providers/mocks/index.d.ts +4 -0
- package/dist/cjs/providers/mocks/index.js +8 -0
- package/dist/cjs/providers/mocks/index.js.map +1 -0
- package/dist/cjs/providers/{mockProvider.js → mocks/mockEthersProvider.js} +2 -2
- package/dist/cjs/providers/mocks/mockEthersProvider.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +10 -8
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +8 -2
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/index.d.ts +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/index.js +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/index.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +37 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +171 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +2 -0
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +9 -3
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/utils/AddressUtils.d.ts +9 -3
- package/dist/cjs/utils/AddressUtils.js +36 -6
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/ArrayUtils.d.ts +1 -0
- package/dist/cjs/utils/ArrayUtils.js +6 -1
- package/dist/cjs/utils/ArrayUtils.js.map +1 -1
- package/dist/cjs/utils/BlockFinder.d.ts +22 -0
- package/dist/cjs/utils/BlockFinder.js +10 -0
- package/dist/cjs/utils/BlockFinder.js.map +1 -0
- package/dist/cjs/utils/BlockUtils.d.ts +2 -27
- package/dist/cjs/utils/BlockUtils.js +2 -208
- package/dist/cjs/utils/BlockUtils.js.map +1 -1
- package/dist/cjs/utils/EventUtils.d.ts +4 -4
- package/dist/cjs/utils/EventUtils.js +7 -4
- package/dist/cjs/utils/EventUtils.js.map +1 -1
- package/dist/cjs/utils/JSONUtils.js +3 -0
- package/dist/cjs/utils/JSONUtils.js.map +1 -1
- package/dist/cjs/utils/NumberUtils.d.ts +1 -0
- package/dist/cjs/utils/NumberUtils.js +7 -1
- package/dist/cjs/utils/NumberUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.js +5 -0
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/arch/evm/BlockUtils.d.ts +24 -0
- package/dist/esm/arch/evm/BlockUtils.js +250 -0
- package/dist/esm/arch/evm/BlockUtils.js.map +1 -0
- package/dist/esm/arch/evm/SpokeUtils.d.ts +1 -1
- package/dist/esm/arch/evm/SpokeUtils.js +6 -5
- package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/evm/index.d.ts +1 -0
- package/dist/esm/arch/evm/index.js +1 -0
- package/dist/esm/arch/evm/index.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +122 -0
- package/dist/esm/arch/svm/SpokeUtils.js +566 -0
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -0
- package/dist/esm/arch/svm/constants.d.ts +2 -0
- package/dist/esm/arch/svm/constants.js +3 -0
- package/dist/esm/arch/svm/constants.js.map +1 -0
- package/dist/esm/arch/svm/eventsClient.d.ts +87 -0
- package/dist/esm/arch/svm/eventsClient.js +316 -0
- package/dist/esm/arch/svm/eventsClient.js.map +1 -0
- package/dist/esm/arch/svm/index.d.ts +5 -1
- package/dist/esm/arch/svm/index.js +5 -1
- package/dist/esm/arch/svm/index.js.map +1 -1
- package/dist/esm/{svm → arch/svm}/types.d.ts +9 -4
- package/dist/esm/arch/svm/types.js.map +1 -0
- package/dist/esm/arch/svm/utils.d.ts +63 -0
- package/dist/esm/arch/svm/utils.js +258 -0
- package/dist/esm/arch/svm/utils.js.map +1 -0
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +7 -7
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/BaseAbstractClient.d.ts +6 -5
- package/dist/esm/clients/BaseAbstractClient.js +30 -19
- package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +17 -14
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
- package/dist/esm/clients/HubPoolClient.d.ts +4 -3
- package/dist/esm/clients/HubPoolClient.js +19 -18
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +23 -20
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +66 -0
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +225 -0
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -0
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +57 -59
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/index.d.ts +8 -0
- package/dist/esm/clients/SpokePoolClient/index.js +10 -0
- package/dist/esm/clients/SpokePoolClient/index.js.map +1 -1
- package/dist/esm/clients/index.d.ts +1 -1
- package/dist/esm/clients/index.js +1 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/mocks/MockConfigStoreClient.d.ts +1 -1
- package/dist/esm/clients/mocks/MockConfigStoreClient.js +2 -2
- package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.js +2 -2
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +8 -5
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.d.ts +33 -0
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +183 -0
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -0
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.d.ts +30 -0
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +89 -0
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -0
- package/dist/esm/clients/mocks/index.d.ts +2 -0
- package/dist/esm/clients/mocks/index.js +2 -0
- package/dist/esm/clients/mocks/index.js.map +1 -1
- package/dist/esm/constants.d.ts +1 -0
- package/dist/esm/constants.js +1 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
- package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/ethereum.d.ts +4 -4
- package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/linea-viem.js +3 -2
- package/dist/esm/gasPriceOracle/adapters/linea-viem.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/polygon.d.ts +4 -4
- package/dist/esm/gasPriceOracle/adapters/polygon.js +1 -1
- package/dist/esm/gasPriceOracle/adapters/solana.d.ts +8 -0
- package/dist/esm/gasPriceOracle/adapters/solana.js +43 -0
- package/dist/esm/gasPriceOracle/adapters/solana.js.map +1 -0
- package/dist/esm/gasPriceOracle/index.d.ts +1 -1
- package/dist/esm/gasPriceOracle/oracle.d.ts +4 -3
- package/dist/esm/gasPriceOracle/oracle.js +18 -9
- package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
- package/dist/esm/gasPriceOracle/types.d.ts +6 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/SpokePool.d.ts +13 -0
- package/dist/esm/interfaces/SpokePool.js.map +1 -1
- package/dist/esm/providers/index.d.ts +1 -1
- package/dist/esm/providers/index.js +1 -2
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.d.ts +5 -0
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +19 -0
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -0
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +5 -0
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +18 -0
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -0
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.d.ts +13 -0
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +74 -0
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +1 -0
- package/dist/esm/providers/mocks/index.d.ts +4 -0
- package/dist/esm/providers/mocks/index.js +5 -0
- package/dist/esm/providers/mocks/index.js.map +1 -0
- package/dist/esm/providers/{mockProvider.js → mocks/mockEthersProvider.js} +2 -2
- package/dist/esm/providers/mocks/mockEthersProvider.js.map +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +10 -8
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js +11 -5
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/index.d.ts +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/index.js +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/index.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +84 -0
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +216 -0
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -0
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +9 -4
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/AddressUtils.d.ts +9 -3
- package/dist/esm/utils/AddressUtils.js +41 -6
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/ArrayUtils.d.ts +6 -0
- package/dist/esm/utils/ArrayUtils.js +9 -0
- package/dist/esm/utils/ArrayUtils.js.map +1 -1
- package/dist/esm/utils/BlockFinder.d.ts +22 -0
- package/dist/esm/utils/BlockFinder.js +7 -0
- package/dist/esm/utils/BlockFinder.js.map +1 -0
- package/dist/esm/utils/BlockUtils.d.ts +2 -36
- package/dist/esm/utils/BlockUtils.js +2 -243
- package/dist/esm/utils/BlockUtils.js.map +1 -1
- package/dist/esm/utils/EventUtils.d.ts +4 -4
- package/dist/esm/utils/EventUtils.js +7 -4
- package/dist/esm/utils/EventUtils.js.map +1 -1
- package/dist/esm/utils/JSONUtils.js +3 -0
- package/dist/esm/utils/JSONUtils.js.map +1 -1
- package/dist/esm/utils/NumberUtils.d.ts +7 -0
- package/dist/esm/utils/NumberUtils.js +11 -0
- package/dist/esm/utils/NumberUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.js +5 -0
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/types/arch/evm/BlockUtils.d.ts +25 -0
- package/dist/types/arch/evm/BlockUtils.d.ts.map +1 -0
- package/dist/types/arch/evm/SpokeUtils.d.ts +1 -1
- package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/evm/index.d.ts +1 -0
- package/dist/types/arch/evm/index.d.ts.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +123 -0
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -0
- package/dist/types/arch/svm/constants.d.ts +3 -0
- package/dist/types/arch/svm/constants.d.ts.map +1 -0
- package/dist/types/arch/svm/eventsClient.d.ts +88 -0
- package/dist/types/arch/svm/eventsClient.d.ts.map +1 -0
- package/dist/types/arch/svm/index.d.ts +5 -1
- package/dist/types/arch/svm/index.d.ts.map +1 -1
- package/dist/types/{svm → arch/svm}/types.d.ts +9 -4
- package/dist/types/arch/svm/types.d.ts.map +1 -0
- package/dist/types/arch/svm/utils.d.ts +64 -0
- package/dist/types/arch/svm/utils.d.ts.map +1 -0
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -1
- package/dist/types/clients/BaseAbstractClient.d.ts +6 -5
- package/dist/types/clients/BaseAbstractClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
- package/dist/types/clients/HubPoolClient.d.ts +4 -3
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
- package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +67 -0
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -0
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/index.d.ts +8 -0
- package/dist/types/clients/SpokePoolClient/index.d.ts.map +1 -1
- package/dist/types/clients/index.d.ts +1 -1
- package/dist/types/clients/index.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockConfigStoreClient.d.ts +1 -1
- package/dist/types/clients/mocks/MockConfigStoreClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts +34 -0
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts.map +1 -0
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts +31 -0
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts.map +1 -0
- package/dist/types/clients/mocks/index.d.ts +2 -0
- package/dist/types/clients/mocks/index.d.ts.map +1 -1
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
- package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/ethereum.d.ts +4 -4
- package/dist/types/gasPriceOracle/adapters/ethereum.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/linea-viem.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/polygon.d.ts +4 -4
- package/dist/types/gasPriceOracle/adapters/polygon.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/solana.d.ts +9 -0
- package/dist/types/gasPriceOracle/adapters/solana.d.ts.map +1 -0
- package/dist/types/gasPriceOracle/index.d.ts +1 -1
- package/dist/types/gasPriceOracle/index.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/oracle.d.ts +4 -3
- package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/types.d.ts +6 -1
- package/dist/types/gasPriceOracle/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/SpokePool.d.ts +13 -0
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
- package/dist/types/providers/index.d.ts +1 -1
- package/dist/types/providers/index.d.ts.map +1 -1
- package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts +6 -0
- package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts.map +1 -0
- package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +6 -0
- package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts.map +1 -0
- package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts +14 -0
- package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts.map +1 -0
- package/dist/types/providers/mocks/index.d.ts +5 -0
- package/dist/types/providers/mocks/index.d.ts.map +1 -0
- package/dist/types/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +1 -1
- package/dist/types/providers/mocks/mockEthersProvider.d.ts.map +1 -0
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
- package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/index.d.ts +1 -0
- package/dist/types/relayFeeCalculator/chain-queries/index.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +85 -0
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -0
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +9 -3
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/ArrayUtils.d.ts +6 -0
- package/dist/types/utils/ArrayUtils.d.ts.map +1 -1
- package/dist/types/utils/BlockFinder.d.ts +23 -0
- package/dist/types/utils/BlockFinder.d.ts.map +1 -0
- package/dist/types/utils/BlockUtils.d.ts +2 -36
- package/dist/types/utils/BlockUtils.d.ts.map +1 -1
- package/dist/types/utils/EventUtils.d.ts +4 -4
- package/dist/types/utils/EventUtils.d.ts.map +1 -1
- package/dist/types/utils/JSONUtils.d.ts.map +1 -1
- package/dist/types/utils/NumberUtils.d.ts +7 -0
- package/dist/types/utils/NumberUtils.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/arch/evm/BlockUtils.ts +209 -0
- package/src/arch/evm/SpokeUtils.ts +5 -5
- package/src/arch/evm/index.ts +1 -0
- package/src/arch/svm/SpokeUtils.ts +581 -0
- package/src/arch/svm/constants.ts +2 -0
- package/src/arch/svm/eventsClient.ts +342 -0
- package/src/arch/svm/index.ts +5 -1
- package/src/{svm → arch/svm}/types.ts +21 -4
- package/src/arch/svm/utils.ts +233 -0
- package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +7 -7
- package/src/clients/BaseAbstractClient.ts +20 -13
- package/src/clients/BundleDataClient/BundleDataClient.ts +28 -19
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +1 -1
- package/src/clients/HubPoolClient.ts +19 -19
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +23 -21
- package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +268 -0
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +50 -59
- package/src/clients/SpokePoolClient/index.ts +11 -0
- package/src/clients/index.ts +1 -1
- package/src/clients/mocks/MockConfigStoreClient.ts +2 -2
- package/src/clients/mocks/MockHubPoolClient.ts +2 -2
- package/src/clients/mocks/MockSpokePoolClient.ts +9 -4
- package/src/clients/mocks/MockSvmCpiEventsClient.ts +226 -0
- package/src/clients/mocks/MockSvmSpokePoolClient.ts +119 -0
- package/src/clients/mocks/index.ts +2 -0
- package/src/constants.ts +1 -0
- package/src/gasPriceOracle/adapters/arbitrum.ts +5 -2
- package/src/gasPriceOracle/adapters/ethereum.ts +7 -4
- package/src/gasPriceOracle/adapters/linea-viem.ts +3 -1
- package/src/gasPriceOracle/adapters/polygon.ts +6 -6
- package/src/gasPriceOracle/adapters/solana.ts +45 -0
- package/src/gasPriceOracle/index.ts +1 -1
- package/src/gasPriceOracle/oracle.ts +20 -4
- package/src/gasPriceOracle/types.ts +7 -1
- package/src/index.ts +0 -1
- package/src/interfaces/SpokePool.ts +14 -0
- package/src/providers/index.ts +1 -1
- package/src/providers/mocks/MockCachedSolanaRpcFactory.ts +15 -0
- package/src/providers/mocks/MockRateLimitedSolanaRpcFactory.ts +14 -0
- package/src/providers/mocks/MockSolanaRpcFactory.ts +55 -0
- package/src/providers/mocks/index.ts +4 -0
- package/src/providers/{mockProvider.ts → mocks/mockEthersProvider.ts} +1 -1
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +11 -9
- package/src/relayFeeCalculator/chain-queries/factory.ts +24 -8
- package/src/relayFeeCalculator/chain-queries/index.ts +1 -0
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +225 -0
- package/src/relayFeeCalculator/relayFeeCalculator.ts +15 -3
- package/src/utils/AddressUtils.ts +49 -6
- package/src/utils/ArrayUtils.ts +12 -0
- package/src/utils/BlockFinder.ts +26 -0
- package/src/utils/BlockUtils.ts +5 -215
- package/src/utils/EventUtils.ts +11 -11
- package/src/utils/JSONUtils.ts +2 -0
- package/src/utils/NumberUtils.ts +10 -0
- package/src/utils/SpokeUtils.ts +7 -3
- package/src/utils/index.ts +1 -0
- package/dist/cjs/providers/mockProvider.js.map +0 -1
- package/dist/cjs/svm/eventsClient.d.ts +0 -15
- package/dist/cjs/svm/eventsClient.js +0 -157
- package/dist/cjs/svm/eventsClient.js.map +0 -1
- package/dist/cjs/svm/index.d.ts +0 -3
- package/dist/cjs/svm/index.js +0 -8
- package/dist/cjs/svm/index.js.map +0 -1
- package/dist/cjs/svm/types.js.map +0 -1
- package/dist/cjs/svm/utils/events.d.ts +0 -8
- package/dist/cjs/svm/utils/events.js +0 -47
- package/dist/cjs/svm/utils/events.js.map +0 -1
- package/dist/cjs/svm/utils/helpers.d.ts +0 -2
- package/dist/cjs/svm/utils/helpers.js +0 -19
- package/dist/cjs/svm/utils/helpers.js.map +0 -1
- package/dist/cjs/svm/utils/index.d.ts +0 -1
- package/dist/cjs/svm/utils/index.js +0 -5
- package/dist/cjs/svm/utils/index.js.map +0 -1
- package/dist/esm/providers/mockProvider.js.map +0 -1
- package/dist/esm/svm/eventsClient.d.ts +0 -51
- package/dist/esm/svm/eventsClient.js +0 -195
- package/dist/esm/svm/eventsClient.js.map +0 -1
- package/dist/esm/svm/index.d.ts +0 -3
- package/dist/esm/svm/index.js +0 -5
- package/dist/esm/svm/index.js.map +0 -1
- package/dist/esm/svm/types.js.map +0 -1
- package/dist/esm/svm/utils/events.d.ts +0 -17
- package/dist/esm/svm/utils/events.js +0 -55
- package/dist/esm/svm/utils/events.js.map +0 -1
- package/dist/esm/svm/utils/helpers.d.ts +0 -5
- package/dist/esm/svm/utils/helpers.js +0 -18
- package/dist/esm/svm/utils/helpers.js.map +0 -1
- package/dist/esm/svm/utils/index.d.ts +0 -1
- package/dist/esm/svm/utils/index.js +0 -2
- package/dist/esm/svm/utils/index.js.map +0 -1
- package/dist/types/providers/mockProvider.d.ts.map +0 -1
- package/dist/types/svm/eventsClient.d.ts +0 -52
- package/dist/types/svm/eventsClient.d.ts.map +0 -1
- package/dist/types/svm/index.d.ts +0 -4
- package/dist/types/svm/index.d.ts.map +0 -1
- package/dist/types/svm/types.d.ts.map +0 -1
- package/dist/types/svm/utils/events.d.ts +0 -18
- package/dist/types/svm/utils/events.d.ts.map +0 -1
- package/dist/types/svm/utils/helpers.d.ts +0 -6
- package/dist/types/svm/utils/helpers.d.ts.map +0 -1
- package/dist/types/svm/utils/index.d.ts +0 -2
- package/dist/types/svm/utils/index.d.ts.map +0 -1
- package/src/svm/eventsClient.ts +0 -199
- package/src/svm/index.ts +0 -3
- package/src/svm/utils/events.ts +0 -58
- package/src/svm/utils/helpers.ts +0 -9
- package/src/svm/utils/index.ts +0 -1
- /package/dist/cjs/{svm → arch/svm}/types.js +0 -0
- /package/dist/cjs/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +0 -0
- /package/dist/esm/{svm → arch/svm}/types.js +0 -0
- /package/dist/esm/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +0 -0
|
@@ -83,9 +83,9 @@ export function isValidEvmAddress(address) {
|
|
|
83
83
|
* @returns a child `Address` type most fitting for the chain ID.
|
|
84
84
|
* @todo: Change this to `toAddress` once we remove the other `toAddress` function.
|
|
85
85
|
*/
|
|
86
|
-
export function toAddressType(address
|
|
86
|
+
export function toAddressType(address) {
|
|
87
87
|
try {
|
|
88
|
-
if (
|
|
88
|
+
if (utils.isHexString(address)) {
|
|
89
89
|
return EvmAddress.from(address);
|
|
90
90
|
}
|
|
91
91
|
return SvmAddress.from(address);
|
|
@@ -148,6 +148,10 @@ var Address = /** @class */ (function () {
|
|
|
148
148
|
Address.prototype.toAddress = function () {
|
|
149
149
|
return this.toBytes32();
|
|
150
150
|
};
|
|
151
|
+
// Converts the address to a Buffer type.
|
|
152
|
+
Address.prototype.toBuffer = function () {
|
|
153
|
+
return Buffer.from(this.rawAddress);
|
|
154
|
+
};
|
|
151
155
|
// Implements `Hexable` for `Address`. Needed for encoding purposes. This class is treated by default as a bytes32 primitive type, but can change for subclasses.
|
|
152
156
|
Address.prototype.toHexString = function () {
|
|
153
157
|
return this.toBytes32();
|
|
@@ -182,6 +186,14 @@ var Address = /** @class */ (function () {
|
|
|
182
186
|
Address.prototype.isZeroAddress = function () {
|
|
183
187
|
return utils.stripZeros(this.rawAddress).length === 0;
|
|
184
188
|
};
|
|
189
|
+
// Forces `rawAddress` to become an SvmAddress type. This will only throw if `rawAddress.length > 32`.
|
|
190
|
+
Address.prototype.forceSvmAddress = function () {
|
|
191
|
+
return SvmAddress.from(this.toBase58());
|
|
192
|
+
};
|
|
193
|
+
// Forces `rawAddress` to become an EvmAddress type. This will throw if `rawAddress.length > 20`.
|
|
194
|
+
Address.prototype.forceEvmAddress = function () {
|
|
195
|
+
return EvmAddress.from(this.toEvmAddress());
|
|
196
|
+
};
|
|
185
197
|
// Checks if the other address is equivalent to this address.
|
|
186
198
|
Address.prototype.eq = function (other) {
|
|
187
199
|
return this.toString() === other.toString();
|
|
@@ -222,8 +234,18 @@ var EvmAddress = /** @class */ (function (_super) {
|
|
|
222
234
|
return this.toEvmAddress();
|
|
223
235
|
};
|
|
224
236
|
// Constructs a new EvmAddress type.
|
|
225
|
-
EvmAddress.from = function (
|
|
226
|
-
|
|
237
|
+
EvmAddress.from = function (address, encoding) {
|
|
238
|
+
if (encoding === void 0) { encoding = "base16"; }
|
|
239
|
+
if (encoding === "base16") {
|
|
240
|
+
return new this(utils.arrayify(address));
|
|
241
|
+
}
|
|
242
|
+
var decodedAddress = bs58.decode(address);
|
|
243
|
+
var padding = decodedAddress.subarray(0, 12);
|
|
244
|
+
var evmAddress = decodedAddress.subarray(12);
|
|
245
|
+
if (padding.length !== 12 || utils.stripZeros(padding).length !== 0 || evmAddress.length !== 20) {
|
|
246
|
+
throw new Error("Not a valid base58-encoded EVM address: ".concat(address));
|
|
247
|
+
}
|
|
248
|
+
return new this(evmAddress);
|
|
227
249
|
};
|
|
228
250
|
return EvmAddress;
|
|
229
251
|
}(Address));
|
|
@@ -240,12 +262,25 @@ var SvmAddress = /** @class */ (function (_super) {
|
|
|
240
262
|
SvmAddress.prototype.toAddress = function () {
|
|
241
263
|
return this.toBase58();
|
|
242
264
|
};
|
|
265
|
+
// Small utility to convert an SvmAddress to a Solana Kit branded type.
|
|
266
|
+
SvmAddress.prototype.toV2Address = function () {
|
|
267
|
+
return this.toBase58();
|
|
268
|
+
};
|
|
269
|
+
// Forces an SvmAddress to an EVM address string by truncating the leading 12 bytes.
|
|
243
270
|
SvmAddress.prototype.toEvmAddress = function () {
|
|
244
271
|
return toAddress("0x".concat(this.toBytes32().slice(-40)));
|
|
245
272
|
};
|
|
246
273
|
// Constructs a new SvmAddress type.
|
|
247
|
-
SvmAddress.from = function (
|
|
248
|
-
|
|
274
|
+
SvmAddress.from = function (address, encoding) {
|
|
275
|
+
if (encoding === void 0) { encoding = "base58"; }
|
|
276
|
+
if (encoding === "base58") {
|
|
277
|
+
return new this(bs58.decode(address));
|
|
278
|
+
}
|
|
279
|
+
var decodedAddress = utils.arrayify(address);
|
|
280
|
+
if (decodedAddress.length !== 32) {
|
|
281
|
+
throw new Error("Not a valid base16-encoded SVM address: ".concat(address));
|
|
282
|
+
}
|
|
283
|
+
return new this(decodedAddress);
|
|
249
284
|
};
|
|
250
285
|
return SvmAddress;
|
|
251
286
|
}(Address));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAa,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"AddressUtils.js","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,3 +96,9 @@ export declare function includesAsync<T>(array: T[], predicate: (value: T, index
|
|
|
96
96
|
* @note This function uses Array.prototype.every.
|
|
97
97
|
*/
|
|
98
98
|
export declare function isArrayOf<T>(array: unknown, predicate: (value: unknown) => value is T): array is T[];
|
|
99
|
+
/**
|
|
100
|
+
* Checks if a value is a Uint8Array.
|
|
101
|
+
* @param value The value to check.
|
|
102
|
+
* @returns True if the value is a Uint8Array, false otherwise.
|
|
103
|
+
*/
|
|
104
|
+
export declare function isUint8Array(value: unknown): value is Uint8Array;
|
|
@@ -193,4 +193,13 @@ export function includesAsync(array, predicate) {
|
|
|
193
193
|
export function isArrayOf(array, predicate) {
|
|
194
194
|
return Array.isArray(array) && array.every(predicate);
|
|
195
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Checks if a value is a Uint8Array.
|
|
198
|
+
* @param value The value to check.
|
|
199
|
+
* @returns True if the value is a Uint8Array, false otherwise.
|
|
200
|
+
*/
|
|
201
|
+
export function isUint8Array(value) {
|
|
202
|
+
return (Array.isArray(value) &&
|
|
203
|
+
value.every(function (item) { return typeof item === "number" && Number.isInteger(item) && item >= 0 && item < 256; }));
|
|
204
|
+
}
|
|
196
205
|
//# sourceMappingURL=ArrayUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayUtils.js","sourceRoot":"","sources":["../../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ArrayUtils.js","sourceRoot":"","sources":["../../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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
|
-
|
|
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
|
|
46
|
-
export {};
|
|
12
|
+
export declare function getCachedBlockForTimestamp<TBlock extends Block>(chainId: number, timestamp: number, blockFinder: BlockFinder<TBlock>, cache?: CachingMechanismInterface, hints?: BlockFinderHints): Promise<number>;
|
|
@@ -1,249 +1,8 @@
|
|
|
1
|
-
var _a;
|
|
2
1
|
import { __awaiter, __generator } from "tslib";
|
|
3
|
-
import assert from "assert";
|
|
4
|
-
import { clamp, sortedIndexBy } from "lodash";
|
|
5
|
-
import { chainIsOPStack, getNetworkName } from "./NetworkUtils";
|
|
6
2
|
import { isDefined } from "./TypeGuards";
|
|
7
3
|
import { getCurrentTime } from "./TimeUtils";
|
|
8
4
|
import { shouldCache } from "./CachingUtils";
|
|
9
|
-
import {
|
|
10
|
-
// Archive requests typically commence at 128 blocks past the head of the chain.
|
|
11
|
-
// Round down to 120 blocks to avoid slipping into archive territory.
|
|
12
|
-
var defaultBlockRange = 120;
|
|
13
|
-
// Default offset to the high block number. This is subtracted from the block number of the high block
|
|
14
|
-
// when it is queried from the network, rather than having been specified by the caller. This is useful
|
|
15
|
-
// since the supplied Provider instance may be backed by multiple RPC providers, which can lead to some
|
|
16
|
-
// providers running slower than others and taking time to synchronise on the latest block.
|
|
17
|
-
var defaultHighBlockOffset = 10;
|
|
18
|
-
// Retain computations for 15 minutes.
|
|
19
|
-
var cacheTTL = 60 * 15;
|
|
20
|
-
var now = getCurrentTime(); // Seed the cache with initial values.
|
|
21
|
-
var blockTimes = (_a = {},
|
|
22
|
-
_a[CHAIN_IDs.INK] = { average: 1, timestamp: now, blockRange: 1 },
|
|
23
|
-
_a[CHAIN_IDs.LINEA] = { average: 3, timestamp: now, blockRange: 1 },
|
|
24
|
-
_a[CHAIN_IDs.MAINNET] = { average: 12.5, timestamp: now, blockRange: 1 },
|
|
25
|
-
_a[CHAIN_IDs.OPTIMISM] = { average: 2, timestamp: now, blockRange: 1 },
|
|
26
|
-
_a[CHAIN_IDs.UNICHAIN] = { average: 1, timestamp: now, blockRange: 1 },
|
|
27
|
-
_a);
|
|
28
|
-
/**
|
|
29
|
-
* @description Compute the average block time over a block range.
|
|
30
|
-
* @returns Average number of seconds per block.
|
|
31
|
-
*/
|
|
32
|
-
export function averageBlockTime(provider, _a) {
|
|
33
|
-
var _b;
|
|
34
|
-
var _c = _a === void 0 ? {} : _a, highBlock = _c.highBlock, highBlockOffset = _c.highBlockOffset, blockRange = _c.blockRange;
|
|
35
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
36
|
-
var chainId, cache, now, earliestBlockNumber, _d, firstBlock, lastBlock, average;
|
|
37
|
-
return __generator(this, function (_e) {
|
|
38
|
-
switch (_e.label) {
|
|
39
|
-
case 0: return [4 /*yield*/, provider.getNetwork()];
|
|
40
|
-
case 1:
|
|
41
|
-
chainId = (_e.sent()).chainId;
|
|
42
|
-
cache = (_b = blockTimes[chainId]) !== null && _b !== void 0 ? _b : (chainIsOPStack(chainId) ? blockTimes[CHAIN_IDs.OPTIMISM] : undefined);
|
|
43
|
-
now = getCurrentTime();
|
|
44
|
-
if (isDefined(cache) && now < cache.timestamp + cacheTTL) {
|
|
45
|
-
return [2 /*return*/, { average: cache.average, blockRange: cache.blockRange }];
|
|
46
|
-
}
|
|
47
|
-
if (!!isDefined(highBlock)) return [3 /*break*/, 3];
|
|
48
|
-
return [4 /*yield*/, provider.getBlockNumber()];
|
|
49
|
-
case 2:
|
|
50
|
-
highBlock = _e.sent();
|
|
51
|
-
highBlock -= highBlockOffset !== null && highBlockOffset !== void 0 ? highBlockOffset : defaultHighBlockOffset;
|
|
52
|
-
_e.label = 3;
|
|
53
|
-
case 3:
|
|
54
|
-
blockRange !== null && blockRange !== void 0 ? blockRange : (blockRange = defaultBlockRange);
|
|
55
|
-
earliestBlockNumber = highBlock - blockRange;
|
|
56
|
-
return [4 /*yield*/, Promise.all([
|
|
57
|
-
provider.getBlock(earliestBlockNumber),
|
|
58
|
-
provider.getBlock(highBlock),
|
|
59
|
-
])];
|
|
60
|
-
case 4:
|
|
61
|
-
_d = _e.sent(), firstBlock = _d[0], lastBlock = _d[1];
|
|
62
|
-
[firstBlock, lastBlock].forEach(function (block) {
|
|
63
|
-
if (!isDefined(block === null || block === void 0 ? void 0 : block.timestamp)) {
|
|
64
|
-
var network = getNetworkName(chainId);
|
|
65
|
-
var blockNumber = block === firstBlock ? earliestBlockNumber : highBlock;
|
|
66
|
-
throw new Error("BlockFinder: Failed to fetch block ".concat(blockNumber, " on ").concat(network));
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
average = (lastBlock.timestamp - firstBlock.timestamp) / blockRange;
|
|
70
|
-
blockTimes[chainId] = { timestamp: now, average: average, blockRange: blockRange };
|
|
71
|
-
return [2 /*return*/, { average: average, blockRange: blockRange }];
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
function estimateBlocksElapsed(seconds, cushionPercentage, provider) {
|
|
77
|
-
if (cushionPercentage === void 0) { cushionPercentage = 0.0; }
|
|
78
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
79
|
-
var cushionMultiplier, average;
|
|
80
|
-
return __generator(this, function (_a) {
|
|
81
|
-
switch (_a.label) {
|
|
82
|
-
case 0:
|
|
83
|
-
cushionMultiplier = cushionPercentage + 1.0;
|
|
84
|
-
return [4 /*yield*/, averageBlockTime(provider)];
|
|
85
|
-
case 1:
|
|
86
|
-
average = (_a.sent()).average;
|
|
87
|
-
return [2 /*return*/, Math.floor((seconds * cushionMultiplier) / average)];
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
var BlockFinder = /** @class */ (function () {
|
|
93
|
-
function BlockFinder(provider, blocks) {
|
|
94
|
-
if (blocks === void 0) { blocks = []; }
|
|
95
|
-
this.provider = provider;
|
|
96
|
-
this.blocks = blocks;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* @notice Gets the latest block whose timestamp is <= the provided timestamp.
|
|
100
|
-
* @param number Timestamp timestamp to search.
|
|
101
|
-
* @param hints Optional low and high block to bound the search space.
|
|
102
|
-
*/
|
|
103
|
-
BlockFinder.prototype.getBlockForTimestamp = function (timestamp, hints) {
|
|
104
|
-
if (hints === void 0) { hints = {}; }
|
|
105
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
106
|
-
var block, initialBlock, cushion, incrementDistance, _a, _b, multiplier, distance, blockNumber, block, index;
|
|
107
|
-
var _this = this;
|
|
108
|
-
return __generator(this, function (_c) {
|
|
109
|
-
switch (_c.label) {
|
|
110
|
-
case 0:
|
|
111
|
-
timestamp = Number(timestamp);
|
|
112
|
-
assert(timestamp !== undefined && timestamp !== null, "timestamp must be provided");
|
|
113
|
-
if (!(this.blocks.length === 0 || this.blocks[this.blocks.length - 1].timestamp < timestamp)) return [3 /*break*/, 2];
|
|
114
|
-
return [4 /*yield*/, this.getLatestBlock()];
|
|
115
|
-
case 1:
|
|
116
|
-
block = _c.sent();
|
|
117
|
-
if (timestamp >= block.timestamp)
|
|
118
|
-
return [2 /*return*/, block];
|
|
119
|
-
_c.label = 2;
|
|
120
|
-
case 2:
|
|
121
|
-
// Prime the BlockFinder cache with any supplied hints.
|
|
122
|
-
// If the hint is accurate, then this will bypass the subsequent estimation.
|
|
123
|
-
return [4 /*yield*/, Promise.all(Object.values(hints)
|
|
124
|
-
.filter(function (blockNumber) { return isDefined(blockNumber); })
|
|
125
|
-
.map(function (blockNumber) { return _this.getBlock(blockNumber); }))];
|
|
126
|
-
case 3:
|
|
127
|
-
// Prime the BlockFinder cache with any supplied hints.
|
|
128
|
-
// If the hint is accurate, then this will bypass the subsequent estimation.
|
|
129
|
-
_c.sent();
|
|
130
|
-
if (!(this.blocks[0].timestamp > timestamp)) return [3 /*break*/, 8];
|
|
131
|
-
initialBlock = this.blocks[0];
|
|
132
|
-
cushion = 1;
|
|
133
|
-
_b = (_a = Math).max;
|
|
134
|
-
// Ensure the increment block distance is _at least_ a single block to prevent an infinite loop.
|
|
135
|
-
return [4 /*yield*/, estimateBlocksElapsed(initialBlock.timestamp - timestamp, cushion, this.provider)];
|
|
136
|
-
case 4:
|
|
137
|
-
incrementDistance = _b.apply(_a, [
|
|
138
|
-
// Ensure the increment block distance is _at least_ a single block to prevent an infinite loop.
|
|
139
|
-
_c.sent(), 1]);
|
|
140
|
-
multiplier = 1;
|
|
141
|
-
_c.label = 5;
|
|
142
|
-
case 5:
|
|
143
|
-
distance = multiplier * incrementDistance;
|
|
144
|
-
blockNumber = Math.max(0, initialBlock.number - distance);
|
|
145
|
-
return [4 /*yield*/, this.getBlock(blockNumber)];
|
|
146
|
-
case 6:
|
|
147
|
-
block = _c.sent();
|
|
148
|
-
if (block.timestamp <= timestamp)
|
|
149
|
-
return [3 /*break*/, 8]; // Found an earlier block.
|
|
150
|
-
assert(blockNumber > 0, "timestamp is before block 0"); // Block 0 was not earlier than this timestamp. The row.
|
|
151
|
-
_c.label = 7;
|
|
152
|
-
case 7:
|
|
153
|
-
multiplier++;
|
|
154
|
-
return [3 /*break*/, 5];
|
|
155
|
-
case 8:
|
|
156
|
-
index = sortedIndexBy(this.blocks, { timestamp: timestamp }, "timestamp");
|
|
157
|
-
return [2 /*return*/, this.findBlock(this.blocks[index - 1], this.blocks[index], timestamp)];
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
});
|
|
161
|
-
};
|
|
162
|
-
// Grabs the most recent block and caches it.
|
|
163
|
-
BlockFinder.prototype.getLatestBlock = function () {
|
|
164
|
-
var _a;
|
|
165
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
166
|
-
var block, index;
|
|
167
|
-
return __generator(this, function (_b) {
|
|
168
|
-
switch (_b.label) {
|
|
169
|
-
case 0: return [4 /*yield*/, this.provider.getBlock("latest")];
|
|
170
|
-
case 1:
|
|
171
|
-
block = _b.sent();
|
|
172
|
-
index = sortedIndexBy(this.blocks, block, "number");
|
|
173
|
-
if (((_a = this.blocks[index]) === null || _a === void 0 ? void 0 : _a.number) !== block.number)
|
|
174
|
-
this.blocks.splice(index, 0, block);
|
|
175
|
-
return [2 /*return*/, this.blocks[index]];
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
|
-
};
|
|
180
|
-
// Grabs the block for a particular number and caches it.
|
|
181
|
-
BlockFinder.prototype.getBlock = function (number) {
|
|
182
|
-
var _a, _b;
|
|
183
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
184
|
-
var index, block;
|
|
185
|
-
return __generator(this, function (_c) {
|
|
186
|
-
switch (_c.label) {
|
|
187
|
-
case 0:
|
|
188
|
-
index = sortedIndexBy(this.blocks, { number: number }, "number");
|
|
189
|
-
if (((_a = this.blocks[index]) === null || _a === void 0 ? void 0 : _a.number) === number)
|
|
190
|
-
return [2 /*return*/, this.blocks[index]]; // Return early if block already exists.
|
|
191
|
-
return [4 /*yield*/, this.provider.getBlock(number)];
|
|
192
|
-
case 1:
|
|
193
|
-
block = _c.sent();
|
|
194
|
-
// Recompute the index after the async call since the state of this.blocks could have changed!
|
|
195
|
-
index = sortedIndexBy(this.blocks, { number: number }, "number");
|
|
196
|
-
// Rerun this check to avoid duplicate insertion.
|
|
197
|
-
if (((_b = this.blocks[index]) === null || _b === void 0 ? void 0 : _b.number) === number)
|
|
198
|
-
return [2 /*return*/, this.blocks[index]];
|
|
199
|
-
this.blocks.splice(index, 0, block); // A simple insert at index.
|
|
200
|
-
return [2 /*return*/, block];
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
});
|
|
204
|
-
};
|
|
205
|
-
// Return the latest block, between startBlock and endBlock, whose timestamp is <= timestamp.
|
|
206
|
-
// Effectively, this is an interpolation search algorithm to minimize block requests.
|
|
207
|
-
// Note: startBlock and endBlock _must_ be different blocks.
|
|
208
|
-
BlockFinder.prototype.findBlock = function (_startBlock, _endBlock, timestamp) {
|
|
209
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
210
|
-
var _a, startBlock, endBlock, totalTimeDifference, totalBlockDistance, blockPercentile, estimatedBlock, newBlock;
|
|
211
|
-
return __generator(this, function (_b) {
|
|
212
|
-
switch (_b.label) {
|
|
213
|
-
case 0:
|
|
214
|
-
_a = [_startBlock, _endBlock], startBlock = _a[0], endBlock = _a[1];
|
|
215
|
-
// In the case of equality, the endBlock is expected to be passed as the one whose timestamp === the requested
|
|
216
|
-
// timestamp.
|
|
217
|
-
if (endBlock.timestamp === timestamp)
|
|
218
|
-
return [2 /*return*/, endBlock];
|
|
219
|
-
// If there's no equality, but the blocks are adjacent, return the startBlock, since we want the returned block's
|
|
220
|
-
// timestamp to be <= the requested timestamp.
|
|
221
|
-
if (endBlock.number === startBlock.number + 1)
|
|
222
|
-
return [2 /*return*/, startBlock];
|
|
223
|
-
assert(endBlock.number !== startBlock.number, "startBlock cannot equal endBlock");
|
|
224
|
-
assert(timestamp < endBlock.timestamp && timestamp > startBlock.timestamp, "timestamp not in between start and end blocks");
|
|
225
|
-
totalTimeDifference = endBlock.timestamp - startBlock.timestamp;
|
|
226
|
-
totalBlockDistance = endBlock.number - startBlock.number;
|
|
227
|
-
blockPercentile = (timestamp - startBlock.timestamp) / totalTimeDifference;
|
|
228
|
-
estimatedBlock = startBlock.number + Math.round(blockPercentile * totalBlockDistance);
|
|
229
|
-
return [4 /*yield*/, this.getBlock(clamp(estimatedBlock, startBlock.number + 1, endBlock.number - 1))];
|
|
230
|
-
case 1:
|
|
231
|
-
newBlock = _b.sent();
|
|
232
|
-
// Depending on whether the new block is below or above the timestamp, narrow the search space accordingly.
|
|
233
|
-
if (newBlock.timestamp < timestamp) {
|
|
234
|
-
return [2 /*return*/, this.findBlock(newBlock, endBlock, timestamp)];
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
return [2 /*return*/, this.findBlock(startBlock, newBlock, timestamp)];
|
|
238
|
-
}
|
|
239
|
-
return [2 /*return*/];
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
});
|
|
243
|
-
};
|
|
244
|
-
return BlockFinder;
|
|
245
|
-
}());
|
|
246
|
-
export { BlockFinder };
|
|
5
|
+
import { DEFAULT_CACHING_SAFE_LAG } from "../constants";
|
|
247
6
|
/**
|
|
248
7
|
* @notice Get the block number for a given timestamp fresh from on-chain data if not found in redis cache.
|
|
249
8
|
* If redis cache is not available, then requests block from blockFinder.
|
|
@@ -262,7 +21,7 @@ export function getCachedBlockForTimestamp(chainId, timestamp, blockFinder, cach
|
|
|
262
21
|
case 0:
|
|
263
22
|
resolver = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
264
23
|
switch (_a.label) {
|
|
265
|
-
case 0: return [4 /*yield*/, blockFinder.getBlockForTimestamp(timestamp, hints)];
|
|
24
|
+
case 0: return [4 /*yield*/, blockFinder.getBlockForTimestamp(timestamp, hints || {})];
|
|
266
25
|
case 1: return [2 /*return*/, (_a.sent()).number];
|
|
267
26
|
}
|
|
268
27
|
}); }); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockUtils.js","sourceRoot":"","sources":["../../../src/utils/BlockUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BlockUtils.js","sourceRoot":"","sources":["../../../src/utils/BlockUtils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,UAAgB,0BAA0B,CAC9C,OAAe,EACf,SAAiB,EACjB,WAAgC,EAChC,KAAiC,EACjC,KAAwB;;;;;;;oBAIlB,QAAQ,GAAG;;oCAAa,qBAAM,WAAW,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,EAAA;oCAA/D,sBAAA,CAAC,SAA8D,CAAC,CAAC,MAAM,EAAA;;6BAAA,CAAC;oBAErG,2DAA2D;oBAC3D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACrB,sBAAO,QAAQ,EAAE,EAAC;qBACnB;oBAKK,GAAG,GAAG,UAAG,OAAO,2BAAiB,SAAS,CAAE,CAAC;yBAE/C,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,wBAAwB,CAAC,EAAlE,wBAAkE;oBAErD,qBAAM,KAAK,CAAC,GAAG,CAAS,GAAG,CAAC,EAAA;;oBAArC,MAAM,GAAG,SAA4B;yBAEvC,CAAA,MAAM,KAAK,IAAI,CAAA,EAAf,wBAAe;oBACjB,sBAAO,QAAQ,CAAC,MAAM,CAAC,EAAC;wBAIJ,qBAAM,QAAQ,EAAE,EAAA;;oBAA9B,WAAW,GAAG,SAAgB;oBACpC,4BAA4B;oBAC5B,qBAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAA;;oBAD/D,4BAA4B;oBAC5B,SAA+D,CAAC,CAAC,UAAU;oBAC3E,sBAAO,WAAW,EAAC;;wBAKrB,sBAAO,QAAQ,EAAE,EAAC;;;;;CAErB"}
|
|
@@ -5,9 +5,9 @@ export declare function spreadEvent(args: Result | Record<string, unknown>): {
|
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
};
|
|
7
7
|
export interface EventSearchConfig {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
from: number;
|
|
9
|
+
to: number;
|
|
10
|
+
maxLookBack?: number;
|
|
11
11
|
}
|
|
12
12
|
export declare const eventToLog: (event: Event) => Log;
|
|
13
13
|
export declare function paginatedEventQuery(contract: Contract, filter: EventFilter, searchConfig: EventSearchConfig, retryCount?: number): Promise<Log[]>;
|
|
@@ -25,7 +25,7 @@ export declare function paginatedEventQuery(contract: Contract, filter: EventFil
|
|
|
25
25
|
* input range, but can include blocks outside of the desired range, so results should be filtered. Results
|
|
26
26
|
* are ordered from smallest to largest.
|
|
27
27
|
*/
|
|
28
|
-
export declare function getPaginatedBlockRanges({
|
|
28
|
+
export declare function getPaginatedBlockRanges({ from, to, maxLookBack }: EventSearchConfig): [number, number][];
|
|
29
29
|
export declare function logToSortableEvent(log: Log): SortableEvent;
|
|
30
30
|
export declare function spreadEventWithBlockNumber(event: Log): SortableEvent;
|
|
31
31
|
type PartialSortableEvent = Pick<SortableEvent, "blockNumber" | "logIndex">;
|
|
@@ -98,8 +98,8 @@ export function paginatedEventQuery(contract, filter, searchConfig, retryCount)
|
|
|
98
98
|
return __generator(this, function (_a) {
|
|
99
99
|
switch (_a.label) {
|
|
100
100
|
case 0:
|
|
101
|
-
if (!(searchConfig.
|
|
102
|
-
return [4 /*yield*/, contract.queryFilter(filter, searchConfig.
|
|
101
|
+
if (!(searchConfig.maxLookBack === 0)) return [3 /*break*/, 2];
|
|
102
|
+
return [4 /*yield*/, contract.queryFilter(filter, searchConfig.from, searchConfig.to)];
|
|
103
103
|
case 1:
|
|
104
104
|
events = _a.sent();
|
|
105
105
|
return [2 /*return*/, events.map(eventToLog)];
|
|
@@ -115,7 +115,7 @@ export function paginatedEventQuery(contract, filter, searchConfig, retryCount)
|
|
|
115
115
|
case 4: return [2 /*return*/, ((_a.sent())
|
|
116
116
|
.flat()
|
|
117
117
|
// Filter events by block number because ranges can include blocks that are outside the range specified for caching reasons.
|
|
118
|
-
.filter(function (event) { return event.blockNumber >= searchConfig.
|
|
118
|
+
.filter(function (event) { return event.blockNumber >= searchConfig.from && event.blockNumber <= searchConfig.to; })
|
|
119
119
|
.map(eventToLog))];
|
|
120
120
|
case 5:
|
|
121
121
|
error_1 = _a.sent();
|
|
@@ -147,7 +147,10 @@ export function paginatedEventQuery(contract, filter, searchConfig, retryCount)
|
|
|
147
147
|
* are ordered from smallest to largest.
|
|
148
148
|
*/
|
|
149
149
|
export function getPaginatedBlockRanges(_a) {
|
|
150
|
-
var
|
|
150
|
+
var from = _a.from, to = _a.to, maxLookBack = _a.maxLookBack;
|
|
151
|
+
var fromBlock = from;
|
|
152
|
+
var toBlock = to;
|
|
153
|
+
var maxBlockLookBack = maxLookBack;
|
|
151
154
|
// If the maxBlockLookBack is undefined, we can look back as far as we like. Just return the entire range.
|
|
152
155
|
if (maxBlockLookBack === undefined) {
|
|
153
156
|
return [[fromBlock, toBlock]];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventUtils.js","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EventUtils.js","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAgB,SAAS,EAAE,MAAM,IAAI,CAAC;AAE9D,IAAM,UAAU,GAAG,CAAC,CAAC;AACrB,IAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,4FAA4F;AAC5F,IAAM,0BAA0B,GAAG;IACjC,gBAAgB;IAChB,gBAAgB;IAChB,+CAA+C;IAC/C,YAAY;IACZ,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,SAAS;IACT,0BAA0B;IAC1B,kBAAkB;CACnB,CAAC;AAEF,8DAA8D;AAC9D,MAAM,UAAU,WAAW,CAAC,IAAsC;IAChE,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAC,GAAW,IAAK,OAAA,KAAK,CAAC,CAAC,GAAG,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC,4BAA4B;IAEjG,8DAA8D;IAC9D,IAAM,cAAc,GAA+B,EAAE,CAAC;IACtD,IAAI,CAAC,OAAO,CAAC,UAAC,GAAW;QACvB,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE;YACxB,KAAK,SAAS,CAAC,CAAC,cAAc;YAC9B,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC5B,cAAc,CAAC,GAAG,CAAC;wBACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAC,GAAW,IAAK,OAAA,KAAK,CAAC,CAAC,GAAG,CAAC,EAAX,CAAW,CAAC,CAAC,MAAM,GAAG,CAAC;4BACpE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB;4BAClD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB;iBAClC;qBAAM;oBACL,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;iBACjC;gBACD,MAAM;SACT;IACH,CAAC,CAAC,CAAC;IAEH,+FAA+F;IAC/F,IAAI,cAAc,CAAC,UAAU,EAAE;QAC7B,cAAc,CAAC,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;KAC/D;IACD,IAAI,cAAc,CAAC,MAAM,EAAE;QACzB,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KACvD;IACD,IAAI,cAAc,CAAC,OAAO,EAAE;QAC1B,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;KACzD;IACD,IAAI,cAAc,CAAC,kBAAkB,EAAE;QACrC,cAAc,CAAC,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;KAC/E;IACD,IAAI,cAAc,CAAC,aAAa,EAAE;QAChC,cAAc,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;KACrE;IACD,IAAI,cAAc,CAAC,gBAAgB,EAAE;QACnC,cAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;KAC3E;IACD,IAAI,cAAc,CAAC,SAAS,EAAE;QAC5B,cAAc,CAAC,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;KAC7D;IACD,IAAI,cAAc,CAAC,YAAY,EAAE;QAC/B,cAAc,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;KACnE;IACD,yHAAyH;IACzH,uDAAuD;IACvD,IAAI,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;QACvC,+JAA+J;QAC/J,oDAAoD;QACpD,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAyB,CAAC,CAAC;KAC3E;IAED,kEAAkE;IAClE,KAAoB,UAA0B,EAA1B,yDAA0B,EAA1B,wCAA0B,EAA1B,IAA0B,EAAE;QAA3C,IAAM,KAAK,mCAAA;QACd,IAAI,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;YACpC,IAAI,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,IAAI;gBACF,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7B,oCAAoC;aACrC;YAAC,OAAO,CAAC,EAAE,GAAE;YACd,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;SACjC;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAQD,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,KAAY,IAAU,OAAA,uBAAM,KAAK,KAAE,KAAK,EAAE,KAAK,CAAC,KAAM,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAK,CAAC,IAAG,EAAnE,CAAmE,CAAC;AAErH,MAAM,UAAgB,mBAAmB,CACvC,QAAkB,EAClB,MAAmB,EACnB,YAA+B,EAC/B,UAAc;IAAd,2BAAA,EAAA,cAAc;;;;;;yBAGV,CAAA,YAAY,CAAC,WAAW,KAAK,CAAC,CAAA,EAA9B,wBAA8B;oBACjB,qBAAM,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,EAAA;;oBAA/E,MAAM,GAAG,SAAsE;oBACrF,sBAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAC;;oBAM1B,eAAe,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;;;;oBAKxD,qBAAM,OAAO,CAAC,GAAG,CACf,eAAe,CAAC,GAAG,CAAC,UAAC,EAAoB;gCAAnB,SAAS,QAAA,EAAE,OAAO,QAAA;4BAAM,OAAA,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;wBAAhD,CAAgD,CAAC,CAChG,EAAA;wBAJL,sBAAO,CACL,CACE,SAEC,CACF;yBACE,IAAI,EAAE;wBACP,4HAA4H;yBAC3H,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC,EAAE,EAA9E,CAA8E,CAAC;yBACjG,GAAG,CAAC,UAAU,CAAC,CACnB,EAAC;;;yBAEE,CAAA,UAAU,GAAG,UAAU,CAAA,EAAvB,wBAAuB;oBACzB,qBAAM,KAAK,CAAC,cAAc,CAAC,EAAA;;oBAA3B,SAA2B,CAAC;oBACrB,qBAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,GAAG,CAAC,CAAC,EAAA;wBAAhF,sBAAO,SAAyE,EAAC;wBAEjF,MAAM,OAAK,CAAC;;;;;;CAGjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CAAC,EAA4C;QAA1C,IAAI,UAAA,EAAE,EAAE,QAAA,EAAE,WAAW,iBAAA;IAC7D,IAAM,SAAS,GAAG,IAAI,CAAC;IACvB,IAAM,OAAO,GAAG,EAAE,CAAC;IACnB,IAAM,gBAAgB,GAAG,WAAW,CAAC;IAErC,0GAA0G;IAC1G,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAClC,OAAO,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;KAC/B;IAED,wDAAwD;IACxD,IAAI,SAAS,GAAG,OAAO,EAAE;QACvB,OAAO,EAAE,CAAC;KACX;IAED,0CAA0C;IAC1C,IAAI,gBAAgB,IAAI,CAAC,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IAED,2GAA2G;IAC3G,qFAAqF;IACrF,sBAAsB;IACtB,iHAAiH;IACjH,8BAA8B;IAC9B,IAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IAEtF,oFAAoF;IACpF,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,iBAAiB,CAAC,GAAG,gBAAgB,CAAC,CAAC;IAEnF,IAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;QACnC,8FAA8F;QAC9F,IAAM,cAAc,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,CAAC,CAAC;QAEhE,+GAA+G;QAC/G,gHAAgH;QAChH,UAAU;QACV,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,gBAAgB,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;KAC7C;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAQ;IACzC,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,gBAAgB;QAC9B,MAAM,EAAE,GAAG,CAAC,eAAe;QAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,WAAW,EAAE,GAAG,CAAC,WAAW;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAU;IACnD,6BACK,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GACvB,kBAAkB,CAAC,KAAK,CAAC,EAC5B;AACJ,CAAC;AAID,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CAAiC,MAAW;IAC7E,OAAO,0BAA0B,mBAAK,MAAM,QAAE,CAAC;AACjD,CAAC;AAED,kHAAkH;AAClH,qFAAqF;AACrF,MAAM,UAAU,0BAA0B,CAAiC,MAAW;IACpF,OAAO,MAAM,CAAC,IAAI,CAAC,UAAC,EAAE,EAAE,EAAE;QACxB,OAAA,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW;IAA/F,CAA+F,CAChG,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,oBAAoB,CAAiC,MAAW;IAC9E,OAAO,2BAA2B,mBAAK,MAAM,QAAE,CAAC;AAClD,CAAC;AAED,kHAAkH;AAClH,qFAAqF;AACrF,MAAM,UAAU,2BAA2B,CAAiC,MAAW;IACrF,OAAO,MAAM,CAAC,IAAI,CAAC,UAAC,EAAE,EAAE,EAAE;QACxB,OAAA,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW;IAA/F,CAA+F,CAChG,CAAC;AACJ,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,YAAY,CAAiC,EAAK,EAAE,EAAK;IACvE,OAAO,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAuB;IACxD,yBAAW,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,CAAC,CAAC,QAAE;AAC/D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAgB,EAAE,CAAgB;IAC/D,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC;AAC5D,CAAC"}
|
|
@@ -33,6 +33,9 @@ export function stringifyJSONWithNumericString(obj) {
|
|
|
33
33
|
if (typeof value === "object" && value !== null && value.type === "BigNumber") {
|
|
34
34
|
return BigNumber.from(value).toString();
|
|
35
35
|
}
|
|
36
|
+
else if (typeof value === "bigint" && value !== null) {
|
|
37
|
+
return value.toString();
|
|
38
|
+
}
|
|
36
39
|
return value;
|
|
37
40
|
});
|
|
38
41
|
}
|