@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
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BlockFinder = void 0;
|
|
4
|
+
var BlockFinder = (function () {
|
|
5
|
+
function BlockFinder() {
|
|
6
|
+
}
|
|
7
|
+
return BlockFinder;
|
|
8
|
+
}());
|
|
9
|
+
exports.BlockFinder = BlockFinder;
|
|
10
|
+
//# 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;AAFqB,kCAAW"}
|
|
@@ -1,28 +1,3 @@
|
|
|
1
|
-
import type { Block, Provider } from "@ethersproject/abstract-provider";
|
|
2
1
|
import { CachingMechanismInterface } from "../interfaces";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
highBlockOffset?: number;
|
|
6
|
-
blockRange?: number;
|
|
7
|
-
};
|
|
8
|
-
type BlockTimeAverage = {
|
|
9
|
-
average: number;
|
|
10
|
-
blockRange: number;
|
|
11
|
-
timestamp: number;
|
|
12
|
-
};
|
|
13
|
-
export declare function averageBlockTime(provider: Provider, { highBlock, highBlockOffset, blockRange }?: Opts): Promise<Pick<BlockTimeAverage, "average" | "blockRange">>;
|
|
14
|
-
export type BlockFinderHints = {
|
|
15
|
-
lowBlock?: number;
|
|
16
|
-
highBlock?: number;
|
|
17
|
-
};
|
|
18
|
-
export declare class BlockFinder {
|
|
19
|
-
private readonly provider;
|
|
20
|
-
private readonly blocks;
|
|
21
|
-
constructor(provider: Provider, blocks?: Block[]);
|
|
22
|
-
getBlockForTimestamp(timestamp: number | string, hints?: BlockFinderHints): Promise<Block>;
|
|
23
|
-
private getLatestBlock;
|
|
24
|
-
private getBlock;
|
|
25
|
-
private findBlock;
|
|
26
|
-
}
|
|
27
|
-
export declare function getCachedBlockForTimestamp(chainId: number, timestamp: number, blockFinder: BlockFinder, cache?: CachingMechanismInterface, hints?: BlockFinderHints): Promise<number>;
|
|
28
|
-
export {};
|
|
2
|
+
import { BlockFinderHints, BlockFinder, Block } from "./BlockFinder";
|
|
3
|
+
export declare function getCachedBlockForTimestamp<TBlock extends Block>(chainId: number, timestamp: number, blockFinder: BlockFinder<TBlock>, cache?: CachingMechanismInterface, hints?: BlockFinderHints): Promise<number>;
|
|
@@ -1,217 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.getCachedBlockForTimestamp =
|
|
3
|
+
exports.getCachedBlockForTimestamp = void 0;
|
|
5
4
|
var tslib_1 = require("tslib");
|
|
6
|
-
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
7
|
-
var lodash_1 = require("lodash");
|
|
8
|
-
var NetworkUtils_1 = require("./NetworkUtils");
|
|
9
5
|
var TypeGuards_1 = require("./TypeGuards");
|
|
10
6
|
var TimeUtils_1 = require("./TimeUtils");
|
|
11
7
|
var CachingUtils_1 = require("./CachingUtils");
|
|
12
8
|
var constants_1 = require("../constants");
|
|
13
|
-
var defaultBlockRange = 120;
|
|
14
|
-
var defaultHighBlockOffset = 10;
|
|
15
|
-
var cacheTTL = 60 * 15;
|
|
16
|
-
var now = (0, TimeUtils_1.getCurrentTime)();
|
|
17
|
-
var blockTimes = (_a = {},
|
|
18
|
-
_a[constants_1.CHAIN_IDs.INK] = { average: 1, timestamp: now, blockRange: 1 },
|
|
19
|
-
_a[constants_1.CHAIN_IDs.LINEA] = { average: 3, timestamp: now, blockRange: 1 },
|
|
20
|
-
_a[constants_1.CHAIN_IDs.MAINNET] = { average: 12.5, timestamp: now, blockRange: 1 },
|
|
21
|
-
_a[constants_1.CHAIN_IDs.OPTIMISM] = { average: 2, timestamp: now, blockRange: 1 },
|
|
22
|
-
_a[constants_1.CHAIN_IDs.UNICHAIN] = { average: 1, timestamp: now, blockRange: 1 },
|
|
23
|
-
_a);
|
|
24
|
-
function averageBlockTime(provider, _a) {
|
|
25
|
-
var _b;
|
|
26
|
-
var _c = _a === void 0 ? {} : _a, highBlock = _c.highBlock, highBlockOffset = _c.highBlockOffset, blockRange = _c.blockRange;
|
|
27
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
28
|
-
var chainId, cache, now, earliestBlockNumber, _d, firstBlock, lastBlock, average;
|
|
29
|
-
return tslib_1.__generator(this, function (_e) {
|
|
30
|
-
switch (_e.label) {
|
|
31
|
-
case 0: return [4, provider.getNetwork()];
|
|
32
|
-
case 1:
|
|
33
|
-
chainId = (_e.sent()).chainId;
|
|
34
|
-
cache = (_b = blockTimes[chainId]) !== null && _b !== void 0 ? _b : ((0, NetworkUtils_1.chainIsOPStack)(chainId) ? blockTimes[constants_1.CHAIN_IDs.OPTIMISM] : undefined);
|
|
35
|
-
now = (0, TimeUtils_1.getCurrentTime)();
|
|
36
|
-
if ((0, TypeGuards_1.isDefined)(cache) && now < cache.timestamp + cacheTTL) {
|
|
37
|
-
return [2, { average: cache.average, blockRange: cache.blockRange }];
|
|
38
|
-
}
|
|
39
|
-
if (!!(0, TypeGuards_1.isDefined)(highBlock)) return [3, 3];
|
|
40
|
-
return [4, provider.getBlockNumber()];
|
|
41
|
-
case 2:
|
|
42
|
-
highBlock = _e.sent();
|
|
43
|
-
highBlock -= highBlockOffset !== null && highBlockOffset !== void 0 ? highBlockOffset : defaultHighBlockOffset;
|
|
44
|
-
_e.label = 3;
|
|
45
|
-
case 3:
|
|
46
|
-
blockRange !== null && blockRange !== void 0 ? blockRange : (blockRange = defaultBlockRange);
|
|
47
|
-
earliestBlockNumber = highBlock - blockRange;
|
|
48
|
-
return [4, Promise.all([
|
|
49
|
-
provider.getBlock(earliestBlockNumber),
|
|
50
|
-
provider.getBlock(highBlock),
|
|
51
|
-
])];
|
|
52
|
-
case 4:
|
|
53
|
-
_d = _e.sent(), firstBlock = _d[0], lastBlock = _d[1];
|
|
54
|
-
[firstBlock, lastBlock].forEach(function (block) {
|
|
55
|
-
if (!(0, TypeGuards_1.isDefined)(block === null || block === void 0 ? void 0 : block.timestamp)) {
|
|
56
|
-
var network = (0, NetworkUtils_1.getNetworkName)(chainId);
|
|
57
|
-
var blockNumber = block === firstBlock ? earliestBlockNumber : highBlock;
|
|
58
|
-
throw new Error("BlockFinder: Failed to fetch block ".concat(blockNumber, " on ").concat(network));
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
average = (lastBlock.timestamp - firstBlock.timestamp) / blockRange;
|
|
62
|
-
blockTimes[chainId] = { timestamp: now, average: average, blockRange: blockRange };
|
|
63
|
-
return [2, { average: average, blockRange: blockRange }];
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
exports.averageBlockTime = averageBlockTime;
|
|
69
|
-
function estimateBlocksElapsed(seconds, cushionPercentage, provider) {
|
|
70
|
-
if (cushionPercentage === void 0) { cushionPercentage = 0.0; }
|
|
71
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
72
|
-
var cushionMultiplier, average;
|
|
73
|
-
return tslib_1.__generator(this, function (_a) {
|
|
74
|
-
switch (_a.label) {
|
|
75
|
-
case 0:
|
|
76
|
-
cushionMultiplier = cushionPercentage + 1.0;
|
|
77
|
-
return [4, averageBlockTime(provider)];
|
|
78
|
-
case 1:
|
|
79
|
-
average = (_a.sent()).average;
|
|
80
|
-
return [2, Math.floor((seconds * cushionMultiplier) / average)];
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
var BlockFinder = (function () {
|
|
86
|
-
function BlockFinder(provider, blocks) {
|
|
87
|
-
if (blocks === void 0) { blocks = []; }
|
|
88
|
-
this.provider = provider;
|
|
89
|
-
this.blocks = blocks;
|
|
90
|
-
}
|
|
91
|
-
BlockFinder.prototype.getBlockForTimestamp = function (timestamp, hints) {
|
|
92
|
-
if (hints === void 0) { hints = {}; }
|
|
93
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
94
|
-
var block, initialBlock, cushion, incrementDistance, _a, _b, multiplier, distance, blockNumber, block, index;
|
|
95
|
-
var _this = this;
|
|
96
|
-
return tslib_1.__generator(this, function (_c) {
|
|
97
|
-
switch (_c.label) {
|
|
98
|
-
case 0:
|
|
99
|
-
timestamp = Number(timestamp);
|
|
100
|
-
(0, assert_1.default)(timestamp !== undefined && timestamp !== null, "timestamp must be provided");
|
|
101
|
-
if (!(this.blocks.length === 0 || this.blocks[this.blocks.length - 1].timestamp < timestamp)) return [3, 2];
|
|
102
|
-
return [4, this.getLatestBlock()];
|
|
103
|
-
case 1:
|
|
104
|
-
block = _c.sent();
|
|
105
|
-
if (timestamp >= block.timestamp)
|
|
106
|
-
return [2, block];
|
|
107
|
-
_c.label = 2;
|
|
108
|
-
case 2: return [4, Promise.all(Object.values(hints)
|
|
109
|
-
.filter(function (blockNumber) { return (0, TypeGuards_1.isDefined)(blockNumber); })
|
|
110
|
-
.map(function (blockNumber) { return _this.getBlock(blockNumber); }))];
|
|
111
|
-
case 3:
|
|
112
|
-
_c.sent();
|
|
113
|
-
if (!(this.blocks[0].timestamp > timestamp)) return [3, 8];
|
|
114
|
-
initialBlock = this.blocks[0];
|
|
115
|
-
cushion = 1;
|
|
116
|
-
_b = (_a = Math).max;
|
|
117
|
-
return [4, estimateBlocksElapsed(initialBlock.timestamp - timestamp, cushion, this.provider)];
|
|
118
|
-
case 4:
|
|
119
|
-
incrementDistance = _b.apply(_a, [_c.sent(), 1]);
|
|
120
|
-
multiplier = 1;
|
|
121
|
-
_c.label = 5;
|
|
122
|
-
case 5:
|
|
123
|
-
distance = multiplier * incrementDistance;
|
|
124
|
-
blockNumber = Math.max(0, initialBlock.number - distance);
|
|
125
|
-
return [4, this.getBlock(blockNumber)];
|
|
126
|
-
case 6:
|
|
127
|
-
block = _c.sent();
|
|
128
|
-
if (block.timestamp <= timestamp)
|
|
129
|
-
return [3, 8];
|
|
130
|
-
(0, assert_1.default)(blockNumber > 0, "timestamp is before block 0");
|
|
131
|
-
_c.label = 7;
|
|
132
|
-
case 7:
|
|
133
|
-
multiplier++;
|
|
134
|
-
return [3, 5];
|
|
135
|
-
case 8:
|
|
136
|
-
index = (0, lodash_1.sortedIndexBy)(this.blocks, { timestamp: timestamp }, "timestamp");
|
|
137
|
-
return [2, this.findBlock(this.blocks[index - 1], this.blocks[index], timestamp)];
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
};
|
|
142
|
-
BlockFinder.prototype.getLatestBlock = function () {
|
|
143
|
-
var _a;
|
|
144
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
145
|
-
var block, index;
|
|
146
|
-
return tslib_1.__generator(this, function (_b) {
|
|
147
|
-
switch (_b.label) {
|
|
148
|
-
case 0: return [4, this.provider.getBlock("latest")];
|
|
149
|
-
case 1:
|
|
150
|
-
block = _b.sent();
|
|
151
|
-
index = (0, lodash_1.sortedIndexBy)(this.blocks, block, "number");
|
|
152
|
-
if (((_a = this.blocks[index]) === null || _a === void 0 ? void 0 : _a.number) !== block.number)
|
|
153
|
-
this.blocks.splice(index, 0, block);
|
|
154
|
-
return [2, this.blocks[index]];
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
};
|
|
159
|
-
BlockFinder.prototype.getBlock = function (number) {
|
|
160
|
-
var _a, _b;
|
|
161
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
162
|
-
var index, block;
|
|
163
|
-
return tslib_1.__generator(this, function (_c) {
|
|
164
|
-
switch (_c.label) {
|
|
165
|
-
case 0:
|
|
166
|
-
index = (0, lodash_1.sortedIndexBy)(this.blocks, { number: number }, "number");
|
|
167
|
-
if (((_a = this.blocks[index]) === null || _a === void 0 ? void 0 : _a.number) === number)
|
|
168
|
-
return [2, this.blocks[index]];
|
|
169
|
-
return [4, this.provider.getBlock(number)];
|
|
170
|
-
case 1:
|
|
171
|
-
block = _c.sent();
|
|
172
|
-
index = (0, lodash_1.sortedIndexBy)(this.blocks, { number: number }, "number");
|
|
173
|
-
if (((_b = this.blocks[index]) === null || _b === void 0 ? void 0 : _b.number) === number)
|
|
174
|
-
return [2, this.blocks[index]];
|
|
175
|
-
this.blocks.splice(index, 0, block);
|
|
176
|
-
return [2, block];
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
};
|
|
181
|
-
BlockFinder.prototype.findBlock = function (_startBlock, _endBlock, timestamp) {
|
|
182
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
183
|
-
var _a, startBlock, endBlock, totalTimeDifference, totalBlockDistance, blockPercentile, estimatedBlock, newBlock;
|
|
184
|
-
return tslib_1.__generator(this, function (_b) {
|
|
185
|
-
switch (_b.label) {
|
|
186
|
-
case 0:
|
|
187
|
-
_a = [_startBlock, _endBlock], startBlock = _a[0], endBlock = _a[1];
|
|
188
|
-
if (endBlock.timestamp === timestamp)
|
|
189
|
-
return [2, endBlock];
|
|
190
|
-
if (endBlock.number === startBlock.number + 1)
|
|
191
|
-
return [2, startBlock];
|
|
192
|
-
(0, assert_1.default)(endBlock.number !== startBlock.number, "startBlock cannot equal endBlock");
|
|
193
|
-
(0, assert_1.default)(timestamp < endBlock.timestamp && timestamp > startBlock.timestamp, "timestamp not in between start and end blocks");
|
|
194
|
-
totalTimeDifference = endBlock.timestamp - startBlock.timestamp;
|
|
195
|
-
totalBlockDistance = endBlock.number - startBlock.number;
|
|
196
|
-
blockPercentile = (timestamp - startBlock.timestamp) / totalTimeDifference;
|
|
197
|
-
estimatedBlock = startBlock.number + Math.round(blockPercentile * totalBlockDistance);
|
|
198
|
-
return [4, this.getBlock((0, lodash_1.clamp)(estimatedBlock, startBlock.number + 1, endBlock.number - 1))];
|
|
199
|
-
case 1:
|
|
200
|
-
newBlock = _b.sent();
|
|
201
|
-
if (newBlock.timestamp < timestamp) {
|
|
202
|
-
return [2, this.findBlock(newBlock, endBlock, timestamp)];
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
return [2, this.findBlock(startBlock, newBlock, timestamp)];
|
|
206
|
-
}
|
|
207
|
-
return [2];
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
});
|
|
211
|
-
};
|
|
212
|
-
return BlockFinder;
|
|
213
|
-
}());
|
|
214
|
-
exports.BlockFinder = BlockFinder;
|
|
215
9
|
function getCachedBlockForTimestamp(chainId, timestamp, blockFinder, cache, hints) {
|
|
216
10
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
217
11
|
var resolver, key, result, blockNumber;
|
|
@@ -221,7 +15,7 @@ function getCachedBlockForTimestamp(chainId, timestamp, blockFinder, cache, hint
|
|
|
221
15
|
case 0:
|
|
222
16
|
resolver = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
223
17
|
switch (_a.label) {
|
|
224
|
-
case 0: return [4, blockFinder.getBlockForTimestamp(timestamp, hints)];
|
|
18
|
+
case 0: return [4, blockFinder.getBlockForTimestamp(timestamp, hints || {})];
|
|
225
19
|
case 1: return [2, (_a.sent()).number];
|
|
226
20
|
}
|
|
227
21
|
}); }); };
|
|
@@ -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,2CAAyC;AACzC,yCAA6C;AAE7C,+CAA6C;AAE7C,0CAAwD;AAWxD,SAAsB,0BAA0B,CAC9C,OAAe,EACf,SAAiB,EACjB,WAAgC,EAChC,KAAiC,EACjC,KAAwB;;;;;;;oBAIlB,QAAQ,GAAG;;oCAAa,WAAM,WAAW,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,EAAA;oCAA/D,WAAA,CAAC,SAA8D,CAAC,CAAC,MAAM,EAAA;;6BAAA,CAAC;oBAGrG,IAAI,CAAC,IAAA,sBAAS,EAAC,KAAK,CAAC,EAAE;wBACrB,WAAO,QAAQ,EAAE,EAAC;qBACnB;oBAKK,GAAG,GAAG,UAAG,OAAO,2BAAiB,SAAS,CAAE,CAAC;yBAE/C,IAAA,0BAAW,EAAC,SAAS,EAAE,IAAA,0BAAc,GAAE,EAAE,oCAAwB,CAAC,EAAlE,cAAkE;oBAErD,WAAM,KAAK,CAAC,GAAG,CAAS,GAAG,CAAC,EAAA;;oBAArC,MAAM,GAAG,SAA4B;yBAEvC,CAAA,MAAM,KAAK,IAAI,CAAA,EAAf,cAAe;oBACjB,WAAO,QAAQ,CAAC,MAAM,CAAC,EAAC;wBAIJ,WAAM,QAAQ,EAAE,EAAA;;oBAA9B,WAAW,GAAG,SAAgB;oBAEpC,WAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAA;;oBAA/D,SAA+D,CAAC;oBAChE,WAAO,WAAW,EAAC;;wBAKrB,WAAO,QAAQ,EAAE,EAAC;;;;;CAErB;AAxCD,gEAwCC"}
|
|
@@ -5,13 +5,13 @@ 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[]>;
|
|
14
|
-
export declare function getPaginatedBlockRanges({
|
|
14
|
+
export declare function getPaginatedBlockRanges({ from, to, maxLookBack }: EventSearchConfig): [number, number][];
|
|
15
15
|
export declare function logToSortableEvent(log: Log): SortableEvent;
|
|
16
16
|
export declare function spreadEventWithBlockNumber(event: Log): SortableEvent;
|
|
17
17
|
type PartialSortableEvent = Pick<SortableEvent, "blockNumber" | "logIndex">;
|
|
@@ -89,8 +89,8 @@ function paginatedEventQuery(contract, filter, searchConfig, retryCount) {
|
|
|
89
89
|
return tslib_1.__generator(this, function (_a) {
|
|
90
90
|
switch (_a.label) {
|
|
91
91
|
case 0:
|
|
92
|
-
if (!(searchConfig.
|
|
93
|
-
return [4, contract.queryFilter(filter, searchConfig.
|
|
92
|
+
if (!(searchConfig.maxLookBack === 0)) return [3, 2];
|
|
93
|
+
return [4, contract.queryFilter(filter, searchConfig.from, searchConfig.to)];
|
|
94
94
|
case 1:
|
|
95
95
|
events = _a.sent();
|
|
96
96
|
return [2, events.map(exports.eventToLog)];
|
|
@@ -105,7 +105,7 @@ function paginatedEventQuery(contract, filter, searchConfig, retryCount) {
|
|
|
105
105
|
}))];
|
|
106
106
|
case 4: return [2, ((_a.sent())
|
|
107
107
|
.flat()
|
|
108
|
-
.filter(function (event) { return event.blockNumber >= searchConfig.
|
|
108
|
+
.filter(function (event) { return event.blockNumber >= searchConfig.from && event.blockNumber <= searchConfig.to; })
|
|
109
109
|
.map(exports.eventToLog))];
|
|
110
110
|
case 5:
|
|
111
111
|
error_1 = _a.sent();
|
|
@@ -124,7 +124,10 @@ function paginatedEventQuery(contract, filter, searchConfig, retryCount) {
|
|
|
124
124
|
}
|
|
125
125
|
exports.paginatedEventQuery = paginatedEventQuery;
|
|
126
126
|
function getPaginatedBlockRanges(_a) {
|
|
127
|
-
var
|
|
127
|
+
var from = _a.from, to = _a.to, maxLookBack = _a.maxLookBack;
|
|
128
|
+
var fromBlock = from;
|
|
129
|
+
var toBlock = to;
|
|
130
|
+
var maxBlockLookBack = maxLookBack;
|
|
128
131
|
if (maxBlockLookBack === undefined) {
|
|
129
132
|
return [[fromBlock, toBlock]];
|
|
130
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventUtils.js","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":";;;;AAIA,mCAAiC;AACjC,uBAA8D;AAE9D,IAAM,UAAU,GAAG,CAAC,CAAC;AACrB,IAAM,cAAc,GAAG,EAAE,CAAC;AAG1B,IAAM,0BAA0B,GAAG;IAEjC,gBAAgB;IAEhB,YAAY;IACZ,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB;IAElB,SAAS;IAET,kBAAkB;CACnB,CAAC;AAGF,SAAgB,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;IAGpE,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;YACf,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;4BACxB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACjB;qBAAM;oBACL,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;iBACjC;gBACD,MAAM;SACT;IACH,CAAC,CAAC,CAAC;IAGH,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;IAGD,IAAI,IAAA,YAAS,EAAC,cAAc,CAAC,SAAS,CAAC,EAAE;QAGvC,cAAc,CAAC,SAAS,GAAG,IAAA,OAAI,EAAC,cAAc,CAAC,SAAyB,CAAC,CAAC;KAC3E;IAGD,KAAoB,UAA0B,EAA1B,yDAA0B,EAA1B,wCAA0B,EAA1B,IAA0B,EAAE;QAA3C,IAAM,KAAK,mCAAA;QACd,IAAI,IAAA,YAAS,EAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;YACpC,IAAI,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,IAAI;gBACF,OAAO,GAAG,IAAA,YAAS,EAAC,OAAO,CAAC,CAAC;aAE9B;YAAC,OAAO,CAAC,EAAE,GAAE;YACd,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;SACjC;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAvED,kCAuEC;AAQM,IAAM,UAAU,GAAG,UAAC,KAAY,IAAU,OAAA,uCAAM,KAAK,KAAE,KAAK,EAAE,KAAK,CAAC,KAAM,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAK,CAAC,IAAG,EAAnE,CAAmE,CAAC;AAAxG,QAAA,UAAU,cAA8F;AAErH,SAAsB,mBAAmB,CACvC,QAAkB,EAClB,MAAmB,EACnB,YAA+B,EAC/B,UAAc;IAAd,2BAAA,EAAA,cAAc;;;;;;yBAGV,CAAA,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"EventUtils.js","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,9 @@ function stringifyJSONWithNumericString(obj) {
|
|
|
22
22
|
if (typeof value === "object" && value !== null && value.type === "BigNumber") {
|
|
23
23
|
return BigNumberUtils_1.BigNumber.from(value).toString();
|
|
24
24
|
}
|
|
25
|
+
else if (typeof value === "bigint" && value !== null) {
|
|
26
|
+
return value.toString();
|
|
27
|
+
}
|
|
25
28
|
return value;
|
|
26
29
|
});
|
|
27
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONUtils.js","sourceRoot":"","sources":["../../../src/utils/JSONUtils.ts"],"names":[],"mappings":";;;AAAA,mDAA6C;AAC7C,2CAAyC;AAUzC,SAAgB,0BAA0B,CAAC,UAAkB;IAC3D,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAC,IAAI,EAAE,KAAK;YACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aAClC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAXD,gEAWC;AASD,SAAgB,8BAA8B,CAAC,GAAY;IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAC,IAAI,EAAE,KAAK;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;YAC7E,OAAO,0BAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACzC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"JSONUtils.js","sourceRoot":"","sources":["../../../src/utils/JSONUtils.ts"],"names":[],"mappings":";;;AAAA,mDAA6C;AAC7C,2CAAyC;AAUzC,SAAgB,0BAA0B,CAAC,UAAkB;IAC3D,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAC,IAAI,EAAE,KAAK;YACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aAClC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAXD,gEAWC;AASD,SAAgB,8BAA8B,CAAC,GAAY;IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAC,IAAI,EAAE,KAAK;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;YAC7E,OAAO,0BAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACzC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YACtD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;SACzB;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AATD,wEASC;AAQD,SAAgB,0BAA0B,CAAC,IAAY,EAAE,KAAc;IAErE,IAAI,CAAC,IAAA,sBAAS,EAAC,KAAK,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC;KACd;IAKD,IAAI,0BAAS,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KACzB;IAGD,IAAM,WAAW,GAAG,KAAsC,CAAC;IAC3D,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,IAAA,sBAAS,EAAC,WAAW,CAAC,GAAG,CAAC,EAAE;QAClE,OAAO,0BAAS,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;KACnD;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AApBD,gEAoBC;AAQD,SAAgB,yBAAyB,CAAC,IAAY,EAAE,KAAc;IAGpE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACtD,IAAM,SAAS,GAAG,0BAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE;YAClC,OAAO,SAAS,CAAC;SAClB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAVD,8DAUC;AAKD,SAAgB,uBAAuB,CAAC,IAAY,EAAE,KAAc;IAClE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACpE,CAAC;AAFD,0DAEC;AAKD,SAAgB,sBAAsB,CAAC,IAAY,EAAE,KAAc;IACjE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClG,CAAC;AAFD,wDAEC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isPositiveInteger = exports.isInteger = void 0;
|
|
3
|
+
exports.getRandomInt = exports.isPositiveInteger = exports.isInteger = void 0;
|
|
4
4
|
function isInteger(value) {
|
|
5
5
|
return !Number.isNaN(Number(value)) && Number.isInteger(value);
|
|
6
6
|
}
|
|
@@ -9,4 +9,10 @@ function isPositiveInteger(value) {
|
|
|
9
9
|
return isInteger(value) && value > 0;
|
|
10
10
|
}
|
|
11
11
|
exports.isPositiveInteger = isPositiveInteger;
|
|
12
|
+
function getRandomInt(min, max) {
|
|
13
|
+
if (min === void 0) { min = 0; }
|
|
14
|
+
if (max === void 0) { max = 1000000; }
|
|
15
|
+
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
16
|
+
}
|
|
17
|
+
exports.getRandomInt = getRandomInt;
|
|
12
18
|
//# sourceMappingURL=NumberUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberUtils.js","sourceRoot":"","sources":["../../../src/utils/NumberUtils.ts"],"names":[],"mappings":";;;AAKA,SAAgB,SAAS,CAAC,KAAc;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAFD,8BAEC;AAOD,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AACvC,CAAC;AAFD,8CAEC"}
|
|
1
|
+
{"version":3,"file":"NumberUtils.js","sourceRoot":"","sources":["../../../src/utils/NumberUtils.ts"],"names":[],"mappings":";;;AAKA,SAAgB,SAAS,CAAC,KAAc;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAFD,8BAEC;AAOD,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AACvC,CAAC;AAFD,8CAEC;AAQD,SAAgB,YAAY,CAAC,GAAe,EAAE,GAAqB;IAAtC,oBAAA,EAAA,OAAe;IAAE,oBAAA,EAAA,aAAqB;IACjE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3D,CAAC;AAFD,oCAEC"}
|
|
@@ -7,6 +7,8 @@ var constants_1 = require("../constants");
|
|
|
7
7
|
var AddressUtils_1 = require("./AddressUtils");
|
|
8
8
|
var BigNumberUtils_1 = require("./BigNumberUtils");
|
|
9
9
|
var DepositUtils_1 = require("./DepositUtils");
|
|
10
|
+
var NetworkUtils_1 = require("./NetworkUtils");
|
|
11
|
+
var arch_1 = require("../arch");
|
|
10
12
|
function getDepositRelayData(deposit) {
|
|
11
13
|
return {
|
|
12
14
|
depositor: (0, AddressUtils_1.toBytes32)(deposit.depositor),
|
|
@@ -46,6 +48,9 @@ function getRelayDataHash(relayData, destinationChainId) {
|
|
|
46
48
|
{ type: "uint256", name: "destinationChainId" },
|
|
47
49
|
];
|
|
48
50
|
var _relayData = tslib_1.__assign(tslib_1.__assign({}, relayData), { depositor: (0, AddressUtils_1.toBytes32)(relayData.depositor), recipient: (0, AddressUtils_1.toBytes32)(relayData.recipient), inputToken: (0, AddressUtils_1.toBytes32)(relayData.inputToken), outputToken: (0, AddressUtils_1.toBytes32)(relayData.outputToken), exclusiveRelayer: (0, AddressUtils_1.toBytes32)(relayData.exclusiveRelayer) });
|
|
51
|
+
if ((0, NetworkUtils_1.chainIsSvm)(destinationChainId)) {
|
|
52
|
+
return arch_1.svm.getRelayDataHash(_relayData, destinationChainId);
|
|
53
|
+
}
|
|
49
54
|
return (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)(abi, [_relayData, destinationChainId]));
|
|
50
55
|
}
|
|
51
56
|
exports.getRelayDataHash = getRelayDataHash;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"SpokeUtils.js","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -5,6 +5,7 @@ tslib_1.__exportStar(require("./common"), exports);
|
|
|
5
5
|
tslib_1.__exportStar(require("./abi"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./ArrayUtils"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./BlockUtils"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./BlockFinder"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./EventUtils"), exports);
|
|
9
10
|
tslib_1.__exportStar(require("./ObjectUtils"), exports);
|
|
10
11
|
tslib_1.__exportStar(require("./TimeUtils"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,gDAAsB;AACtB,uDAA6B;AAC7B,uDAA6B;AAC7B,uDAA6B;AAC7B,wDAA8B;AAC9B,sDAA4B;AAC5B,uDAA6B;AAC7B,sDAA4B;AAC5B,uDAA6B;AAC7B,qDAA2B;AAC3B,wDAA8B;AAC9B,sDAA4B;AAC5B,sDAA4B;AAC5B,wDAA8B;AAC9B,4DAAkC;AAClC,4DAAkC;AAClC,+DAAqC;AACrC,2DAAiC;AACjC,yDAA+B;AAC/B,yDAA+B;AAC/B,qDAA2B;AAC3B,sDAA4B;AAC5B,yDAA+B;AAC/B,yDAA+B;AAC/B,2DAAiC;AACjC,yDAA+B;AAC/B,uDAA6B;AAC7B,oDAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,gDAAsB;AACtB,uDAA6B;AAC7B,uDAA6B;AAC7B,wDAA8B;AAC9B,uDAA6B;AAC7B,wDAA8B;AAC9B,sDAA4B;AAC5B,uDAA6B;AAC7B,sDAA4B;AAC5B,uDAA6B;AAC7B,qDAA2B;AAC3B,wDAA8B;AAC9B,sDAA4B;AAC5B,sDAA4B;AAC5B,wDAA8B;AAC9B,4DAAkC;AAClC,4DAAkC;AAClC,+DAAqC;AACrC,2DAAiC;AACjC,yDAA+B;AAC/B,yDAA+B;AAC/B,qDAA2B;AAC3B,sDAA4B;AAC5B,yDAA+B;AAC/B,yDAA+B;AAC/B,2DAAiC;AACjC,yDAA+B;AAC/B,uDAA6B;AAC7B,oDAA0B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Provider, Block as EthersBlock } from "@ethersproject/abstract-provider";
|
|
2
|
+
import { BlockFinder, type Block, type BlockFinderOpts as Opts, type BlockTimeAverage, type BlockFinderHints } from "../../utils/BlockFinder";
|
|
3
|
+
interface EVMBlock extends Block, EthersBlock {
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* @description Compute the average block time over a block range.
|
|
7
|
+
* @returns Average number of seconds per block.
|
|
8
|
+
*/
|
|
9
|
+
export declare function averageBlockTime(provider: Provider, { highBlock, highBlockOffset, blockRange }?: Opts): Promise<Pick<BlockTimeAverage, "average" | "blockRange">>;
|
|
10
|
+
export declare class EVMBlockFinder extends BlockFinder<EVMBlock> {
|
|
11
|
+
private readonly provider;
|
|
12
|
+
private readonly blocks;
|
|
13
|
+
constructor(provider: Provider, blocks?: EVMBlock[]);
|
|
14
|
+
/**
|
|
15
|
+
* @notice Gets the latest block whose timestamp is <= the provided timestamp.
|
|
16
|
+
* @param number Timestamp timestamp to search.
|
|
17
|
+
* @param hints Optional low and high block to bound the search space.
|
|
18
|
+
*/
|
|
19
|
+
getBlockForTimestamp(timestamp: number | string, hints?: BlockFinderHints): Promise<EVMBlock>;
|
|
20
|
+
private getLatestBlock;
|
|
21
|
+
private getBlock;
|
|
22
|
+
private findBlock;
|
|
23
|
+
}
|
|
24
|
+
export {};
|