@across-protocol/sdk 4.3.111-alpha.3 → 4.3.111
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/addressAggregator/adapters/abstract.js +64 -50
- package/dist/cjs/addressAggregator/adapters/abstract.js.map +1 -1
- package/dist/cjs/addressAggregator/adapters/bybit.js +29 -16
- package/dist/cjs/addressAggregator/adapters/bybit.js.map +1 -1
- package/dist/cjs/addressAggregator/adapters/env.js +15 -11
- package/dist/cjs/addressAggregator/adapters/env.js.map +1 -1
- package/dist/cjs/addressAggregator/adapters/file.js +45 -32
- package/dist/cjs/addressAggregator/adapters/file.js.map +1 -1
- package/dist/cjs/addressAggregator/adapters/index.js +1 -1
- package/dist/cjs/addressAggregator/adapters/risklabs.js +36 -22
- package/dist/cjs/addressAggregator/adapters/risklabs.js.map +1 -1
- package/dist/cjs/addressAggregator/index.js +87 -57
- package/dist/cjs/addressAggregator/index.js.map +1 -1
- package/dist/cjs/apiClient/abstractClient.js +8 -9
- package/dist/cjs/apiClient/abstractClient.js.map +1 -1
- package/dist/cjs/apiClient/index.js +1 -1
- package/dist/cjs/apiClient/mockedClient.js +29 -23
- package/dist/cjs/apiClient/mockedClient.js.map +1 -1
- package/dist/cjs/apiClient/productionClient.js +103 -65
- package/dist/cjs/apiClient/productionClient.js.map +1 -1
- package/dist/cjs/arch/evm/BlockUtils.js +208 -122
- package/dist/cjs/arch/evm/BlockUtils.js.map +1 -1
- package/dist/cjs/arch/evm/MessageUtils.js +1 -1
- package/dist/cjs/arch/evm/MessageUtils.js.map +1 -1
- package/dist/cjs/arch/evm/SpokeUtils.js +288 -134
- package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/evm/index.js +1 -1
- package/dist/cjs/arch/evm/utils/index.js +1 -1
- package/dist/cjs/arch/evm/utils/wait.js +49 -38
- package/dist/cjs/arch/evm/utils/wait.js.map +1 -1
- package/dist/cjs/arch/index.js +1 -1
- package/dist/cjs/arch/svm/BlockUtils.js +158 -102
- package/dist/cjs/arch/svm/BlockUtils.js.map +1 -1
- package/dist/cjs/arch/svm/MessageUtils.js +2 -2
- package/dist/cjs/arch/svm/MessageUtils.js.map +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.js +1147 -708
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/encoders.js +1 -1
- package/dist/cjs/arch/svm/encoders.js.map +1 -1
- package/dist/cjs/arch/svm/eventsClient.js +236 -174
- package/dist/cjs/arch/svm/eventsClient.js.map +1 -1
- package/dist/cjs/arch/svm/index.js +1 -1
- package/dist/cjs/arch/svm/provider.js +3 -3
- package/dist/cjs/arch/svm/provider.js.map +1 -1
- package/dist/cjs/arch/svm/utils.js +355 -166
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/caching/Arweave/ArweaveClient.js +246 -168
- package/dist/cjs/caching/Arweave/ArweaveClient.js.map +1 -1
- package/dist/cjs/caching/Arweave/index.js +1 -1
- package/dist/cjs/caching/IPFS/PinataIPFSClient.js +49 -40
- package/dist/cjs/caching/IPFS/PinataIPFSClient.js.map +1 -1
- package/dist/cjs/caching/IPFS/index.js +1 -1
- package/dist/cjs/caching/Memory/MemoryCacheClient.js +18 -13
- package/dist/cjs/caching/Memory/MemoryCacheClient.js.map +1 -1
- package/dist/cjs/caching/Memory/index.js +1 -1
- package/dist/cjs/caching/index.js +1 -1
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +381 -302
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/AcrossConfigStoreClient/index.js +1 -1
- package/dist/cjs/clients/BaseAbstractClient.js +83 -58
- package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +900 -709
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/index.js +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +128 -95
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +53 -48
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js +8 -10
- package/dist/cjs/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +90 -67
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +24 -46
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/index.js +1 -1
- package/dist/cjs/clients/HubPoolClient.js +708 -526
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +179 -133
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +183 -124
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +389 -357
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClientManager.js +8 -9
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClientManager.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/index.js +3 -3
- package/dist/cjs/clients/SpokePoolClient/index.js.map +1 -1
- package/dist/cjs/clients/index.js +1 -1
- package/dist/cjs/clients/mocks/MockConfigStoreClient.js +67 -58
- package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockEvents.js +52 -47
- package/dist/cjs/clients/mocks/MockEvents.js.map +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +185 -142
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +192 -208
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +143 -140
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +73 -57
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/index.js +1 -1
- package/dist/cjs/coingecko/Coingecko.js +437 -285
- package/dist/cjs/coingecko/Coingecko.js.map +1 -1
- package/dist/cjs/coingecko/index.js +1 -1
- package/dist/cjs/constants.js +30 -23
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/contracts/acrossConfigStore.js +48 -27
- package/dist/cjs/contracts/acrossConfigStore.js.map +1 -1
- package/dist/cjs/contracts/hubPool.js +20 -36
- package/dist/cjs/contracts/hubPool.js.map +1 -1
- package/dist/cjs/contracts/index.js +1 -1
- package/dist/cjs/contracts/utils.js +8 -6
- package/dist/cjs/contracts/utils.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/arbitrum.js +16 -7
- package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/ethereum.js +45 -26
- package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/linea-viem.js +28 -16
- package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/polygon.js +112 -73
- package/dist/cjs/gasPriceOracle/adapters/polygon.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/solana.js +33 -20
- package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -1
- package/dist/cjs/gasPriceOracle/oracle.js +104 -77
- package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
- package/dist/cjs/gasPriceOracle/types.js +3 -3
- package/dist/cjs/gasPriceOracle/types.js.map +1 -1
- package/dist/cjs/gasPriceOracle/util.js +8 -8
- package/dist/cjs/gasPriceOracle/util.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/interfaces/index.js +1 -1
- package/dist/cjs/lpFeeCalculator/index.js +1 -1
- package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js +35 -33
- package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
- package/dist/cjs/lpFeeCalculator/rateModel.js +9 -7
- package/dist/cjs/lpFeeCalculator/rateModel.js.map +1 -1
- package/dist/cjs/merkleDistributor/MerkleDistributor.js +18 -20
- package/dist/cjs/merkleDistributor/MerkleDistributor.js.map +1 -1
- package/dist/cjs/merkleDistributor/index.js +1 -1
- package/dist/cjs/merkleDistributor/model/index.js +1 -1
- package/dist/cjs/pool/TransactionManager.js +100 -45
- package/dist/cjs/pool/TransactionManager.js.map +1 -1
- package/dist/cjs/pool/index.js +1 -1
- package/dist/cjs/pool/poolClient.js +731 -464
- package/dist/cjs/pool/poolClient.js.map +1 -1
- package/dist/cjs/pool/uma/across/index.js +1 -1
- package/dist/cjs/pool/uma/across/transactionManager.js +100 -45
- package/dist/cjs/pool/uma/across/transactionManager.js.map +1 -1
- package/dist/cjs/pool/uma/clients/erc20/client.js +16 -18
- package/dist/cjs/pool/uma/clients/erc20/client.js.map +1 -1
- package/dist/cjs/pool/uma/clients/erc20/index.js +1 -1
- package/dist/cjs/pool/uma/clients/index.js +1 -1
- package/dist/cjs/pool/uma/index.js +1 -1
- package/dist/cjs/pool/uma/oracle/index.js +1 -1
- package/dist/cjs/pool/uma/oracle/utils.js +5 -4
- package/dist/cjs/pool/uma/oracle/utils.js.map +1 -1
- package/dist/cjs/pool/uma/utils.js +30 -11
- package/dist/cjs/pool/uma/utils.js.map +1 -1
- package/dist/cjs/priceClient/adapters/acrossApi.js +39 -22
- package/dist/cjs/priceClient/adapters/acrossApi.js.map +1 -1
- package/dist/cjs/priceClient/adapters/baseAdapter.js +73 -49
- package/dist/cjs/priceClient/adapters/baseAdapter.js.map +1 -1
- package/dist/cjs/priceClient/adapters/coingecko.js +61 -34
- package/dist/cjs/priceClient/adapters/coingecko.js.map +1 -1
- package/dist/cjs/priceClient/adapters/default.js +31 -16
- package/dist/cjs/priceClient/adapters/default.js.map +1 -1
- package/dist/cjs/priceClient/adapters/defiLlama.js +74 -40
- package/dist/cjs/priceClient/adapters/defiLlama.js.map +1 -1
- package/dist/cjs/priceClient/adapters/index.js +1 -1
- package/dist/cjs/priceClient/index.js +1 -1
- package/dist/cjs/priceClient/priceClient.js +159 -110
- package/dist/cjs/priceClient/priceClient.js.map +1 -1
- package/dist/cjs/providers/alchemy.js +19 -17
- package/dist/cjs/providers/alchemy.js.map +1 -1
- package/dist/cjs/providers/cachedProvider.js +129 -88
- package/dist/cjs/providers/cachedProvider.js.map +1 -1
- package/dist/cjs/providers/drpc.js +11 -9
- package/dist/cjs/providers/drpc.js.map +1 -1
- package/dist/cjs/providers/index.js +1 -1
- package/dist/cjs/providers/infura.js +12 -10
- package/dist/cjs/providers/infura.js.map +1 -1
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +15 -7
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +14 -6
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
- package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js +15 -7
- package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +66 -42
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js.map +1 -1
- package/dist/cjs/providers/mocks/index.js +1 -1
- package/dist/cjs/providers/mocks/mockEthersProvider.js +31 -29
- package/dist/cjs/providers/mocks/mockEthersProvider.js.map +1 -1
- package/dist/cjs/providers/quicknode.js +21 -19
- package/dist/cjs/providers/quicknode.js.map +1 -1
- package/dist/cjs/providers/rateLimitedProvider.js +79 -64
- package/dist/cjs/providers/rateLimitedProvider.js.map +1 -1
- package/dist/cjs/providers/retryProvider.js +246 -163
- package/dist/cjs/providers/retryProvider.js.map +1 -1
- package/dist/cjs/providers/solana/baseRpcFactories.js +18 -14
- package/dist/cjs/providers/solana/baseRpcFactories.js.map +1 -1
- package/dist/cjs/providers/solana/cachedRpcFactory.js +112 -70
- package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -1
- package/dist/cjs/providers/solana/defaultRpcFactory.js +15 -8
- package/dist/cjs/providers/solana/defaultRpcFactory.js.map +1 -1
- package/dist/cjs/providers/solana/index.js +1 -1
- package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js +191 -135
- package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
- package/dist/cjs/providers/solana/rateLimitedRpcFactory.js +90 -67
- package/dist/cjs/providers/solana/rateLimitedRpcFactory.js.map +1 -1
- package/dist/cjs/providers/solana/retryRpcFactory.js +79 -52
- package/dist/cjs/providers/solana/retryRpcFactory.js.map +1 -1
- package/dist/cjs/providers/solana/utils.js +2 -2
- package/dist/cjs/providers/solana/utils.js.map +1 -1
- package/dist/cjs/providers/speedProvider.js +53 -31
- package/dist/cjs/providers/speedProvider.js.map +1 -1
- package/dist/cjs/providers/types.js +1 -1
- package/dist/cjs/providers/types.js.map +1 -1
- package/dist/cjs/providers/utils.js +28 -26
- package/dist/cjs/providers/utils.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +162 -108
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/customGasToken.js +26 -14
- package/dist/cjs/relayFeeCalculator/chain-queries/customGasToken.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +29 -20
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/index.js +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +137 -88
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/index.js +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +297 -199
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/typeguards/error.js +7 -5
- package/dist/cjs/typeguards/error.js.map +1 -1
- package/dist/cjs/typeguards/index.js +1 -1
- package/dist/cjs/utils/AddressUtils.js +144 -117
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/ArrayUtils.js +78 -21
- package/dist/cjs/utils/ArrayUtils.js.map +1 -1
- package/dist/cjs/utils/BigNumberUtils.js +10 -9
- package/dist/cjs/utils/BigNumberUtils.js.map +1 -1
- package/dist/cjs/utils/BlockExplorerUtils.js +30 -26
- package/dist/cjs/utils/BlockExplorerUtils.js.map +1 -1
- package/dist/cjs/utils/BlockFinder.js +5 -2
- package/dist/cjs/utils/BlockFinder.js.map +1 -1
- package/dist/cjs/utils/BlockUtils.js +41 -24
- package/dist/cjs/utils/BlockUtils.js.map +1 -1
- package/dist/cjs/utils/BundleUtils.js +24 -21
- package/dist/cjs/utils/BundleUtils.js.map +1 -1
- package/dist/cjs/utils/CCTPUtils.js +126 -62
- package/dist/cjs/utils/CCTPUtils.js.map +1 -1
- package/dist/cjs/utils/CachingUtils.js +42 -20
- package/dist/cjs/utils/CachingUtils.js.map +1 -1
- package/dist/cjs/utils/ContractUtils.js +5 -5
- package/dist/cjs/utils/ContractUtils.js.map +1 -1
- package/dist/cjs/utils/DepositUtils.js +99 -122
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/cjs/utils/EventUtils.js +70 -49
- package/dist/cjs/utils/EventUtils.js.map +1 -1
- package/dist/cjs/utils/FormattingUtils.js +32 -26
- package/dist/cjs/utils/FormattingUtils.js.map +1 -1
- package/dist/cjs/utils/HyperLiquidUtils.js +23 -10
- package/dist/cjs/utils/HyperLiquidUtils.js.map +1 -1
- package/dist/cjs/utils/IPFSUtils.js +34 -16
- package/dist/cjs/utils/IPFSUtils.js.map +1 -1
- package/dist/cjs/utils/JSONUtils.js +6 -6
- package/dist/cjs/utils/JSONUtils.js.map +1 -1
- package/dist/cjs/utils/LogUtils.js +12 -10
- package/dist/cjs/utils/LogUtils.js.map +1 -1
- package/dist/cjs/utils/Multicall.js +115 -56
- package/dist/cjs/utils/Multicall.js.map +1 -1
- package/dist/cjs/utils/NetworkUtils.js +28 -12
- package/dist/cjs/utils/NetworkUtils.js.map +1 -1
- package/dist/cjs/utils/NumberUtils.js +3 -1
- package/dist/cjs/utils/NumberUtils.js.map +1 -1
- package/dist/cjs/utils/ObjectUtils.js +41 -27
- package/dist/cjs/utils/ObjectUtils.js.map +1 -1
- package/dist/cjs/utils/Profiler.js +83 -80
- package/dist/cjs/utils/Profiler.js.map +1 -1
- package/dist/cjs/utils/ReviverUtils.js +9 -5
- package/dist/cjs/utils/ReviverUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.js +84 -84
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.js +64 -41
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/cjs/utils/TypeGuards.js +1 -1
- package/dist/cjs/utils/TypeGuards.js.map +1 -1
- package/dist/cjs/utils/ValidatorUtils.js +7 -7
- package/dist/cjs/utils/ValidatorUtils.js.map +1 -1
- package/dist/cjs/utils/abi/contracts/index.js +1 -1
- package/dist/cjs/utils/abi/index.js +22 -12
- package/dist/cjs/utils/abi/index.js.map +1 -1
- package/dist/cjs/utils/abi/typechain/factories/Multicall3__factory.js +12 -9
- package/dist/cjs/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
- package/dist/cjs/utils/abi/typechain/index.js +1 -1
- package/dist/cjs/utils/common.js +53 -40
- package/dist/cjs/utils/common.js.map +1 -1
- package/dist/cjs/utils/index.js +1 -1
- package/dist/esm/addressAggregator/adapters/abstract.js +64 -48
- package/dist/esm/addressAggregator/adapters/abstract.js.map +1 -1
- package/dist/esm/addressAggregator/adapters/bybit.js +29 -15
- package/dist/esm/addressAggregator/adapters/bybit.js.map +1 -1
- package/dist/esm/addressAggregator/adapters/env.js +14 -9
- package/dist/esm/addressAggregator/adapters/env.js.map +1 -1
- package/dist/esm/addressAggregator/adapters/file.js +43 -29
- package/dist/esm/addressAggregator/adapters/file.js.map +1 -1
- package/dist/esm/addressAggregator/adapters/risklabs.js +35 -20
- package/dist/esm/addressAggregator/adapters/risklabs.js.map +1 -1
- package/dist/esm/addressAggregator/index.js +83 -52
- package/dist/esm/addressAggregator/index.js.map +1 -1
- package/dist/esm/addressAggregator/types.js +1 -1
- package/dist/esm/addressAggregator/types.js.map +1 -1
- package/dist/esm/apiClient/abstractClient.js +9 -15
- package/dist/esm/apiClient/abstractClient.js.map +1 -1
- package/dist/esm/apiClient/mockedClient.js +26 -21
- package/dist/esm/apiClient/mockedClient.js.map +1 -1
- package/dist/esm/apiClient/productionClient.js +101 -61
- package/dist/esm/apiClient/productionClient.js.map +1 -1
- package/dist/esm/arch/evm/BlockUtils.js +217 -139
- package/dist/esm/arch/evm/BlockUtils.js.map +1 -1
- package/dist/esm/arch/evm/SpokeUtils.js +289 -146
- package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/evm/utils/wait.js +46 -34
- package/dist/esm/arch/evm/utils/wait.js.map +1 -1
- package/dist/esm/arch/svm/BlockUtils.js +166 -118
- package/dist/esm/arch/svm/BlockUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.js +1150 -738
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/constants.js +1 -1
- package/dist/esm/arch/svm/constants.js.map +1 -1
- package/dist/esm/arch/svm/eventsClient.js +232 -172
- package/dist/esm/arch/svm/eventsClient.js.map +1 -1
- package/dist/esm/arch/svm/provider.js +1 -1
- package/dist/esm/arch/svm/provider.js.map +1 -1
- package/dist/esm/arch/svm/utils.js +345 -155
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/caching/Arweave/ArweaveClient.js +256 -182
- package/dist/esm/caching/Arweave/ArweaveClient.js.map +1 -1
- package/dist/esm/caching/IPFS/PinataIPFSClient.js +48 -47
- package/dist/esm/caching/IPFS/PinataIPFSClient.js.map +1 -1
- package/dist/esm/caching/Memory/MemoryCacheClient.js +19 -13
- package/dist/esm/caching/Memory/MemoryCacheClient.js.map +1 -1
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +408 -333
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/BaseAbstractClient.js +92 -66
- package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +1054 -927
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +131 -102
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +59 -57
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js +5 -7
- package/dist/esm/clients/BundleDataClient/utils/MerkleTreeUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +94 -75
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +23 -45
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.js +740 -581
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +178 -133
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +183 -126
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +399 -372
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClientManager.js +9 -9
- package/dist/esm/clients/SpokePoolClient/SpokePoolClientManager.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/index.js +2 -2
- package/dist/esm/clients/SpokePoolClient/index.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/types.js +2 -2
- package/dist/esm/clients/SpokePoolClient/types.js.map +1 -1
- package/dist/esm/clients/mocks/MockConfigStoreClient.js +64 -53
- package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockEvents.js +49 -42
- package/dist/esm/clients/mocks/MockEvents.js.map +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.js +182 -138
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +188 -202
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +132 -127
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +69 -53
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
- package/dist/esm/coingecko/Coingecko.js +443 -298
- package/dist/esm/coingecko/Coingecko.js.map +1 -1
- package/dist/esm/constants.js +47 -40
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/contracts/acrossConfigStore.js +46 -24
- package/dist/esm/contracts/acrossConfigStore.js.map +1 -1
- package/dist/esm/contracts/hubPool.js +18 -34
- package/dist/esm/contracts/hubPool.js.map +1 -1
- package/dist/esm/contracts/utils.js +5 -3
- package/dist/esm/contracts/utils.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/arbitrum.js +14 -6
- package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/ethereum.js +42 -22
- package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/linea-viem.js +25 -13
- package/dist/esm/gasPriceOracle/adapters/linea-viem.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/polygon.js +108 -72
- package/dist/esm/gasPriceOracle/adapters/polygon.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/solana.js +31 -22
- package/dist/esm/gasPriceOracle/adapters/solana.js.map +1 -1
- package/dist/esm/gasPriceOracle/oracle.js +96 -70
- package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
- package/dist/esm/gasPriceOracle/types.js +2 -2
- package/dist/esm/gasPriceOracle/types.js.map +1 -1
- package/dist/esm/gasPriceOracle/util.js +4 -4
- package/dist/esm/gasPriceOracle/util.js.map +1 -1
- package/dist/esm/lpFeeCalculator/lpFeeCalculator.js +33 -30
- package/dist/esm/lpFeeCalculator/lpFeeCalculator.js.map +1 -1
- package/dist/esm/lpFeeCalculator/rateModel.js +9 -7
- package/dist/esm/lpFeeCalculator/rateModel.js.map +1 -1
- package/dist/esm/merkleDistributor/MerkleDistributor.js +17 -18
- package/dist/esm/merkleDistributor/MerkleDistributor.js.map +1 -1
- package/dist/esm/pool/TransactionManager.js +100 -45
- package/dist/esm/pool/TransactionManager.js.map +1 -1
- package/dist/esm/pool/poolClient.js +740 -479
- package/dist/esm/pool/poolClient.js.map +1 -1
- package/dist/esm/pool/uma/across/constants.js +2 -2
- package/dist/esm/pool/uma/across/constants.js.map +1 -1
- package/dist/esm/pool/uma/across/transactionManager.js +100 -45
- package/dist/esm/pool/uma/across/transactionManager.js.map +1 -1
- package/dist/esm/pool/uma/clients/erc20/client.js +13 -15
- package/dist/esm/pool/uma/clients/erc20/client.js.map +1 -1
- package/dist/esm/pool/uma/oracle/utils.js +3 -2
- package/dist/esm/pool/uma/oracle/utils.js.map +1 -1
- package/dist/esm/pool/uma/utils.js +28 -9
- package/dist/esm/pool/uma/utils.js.map +1 -1
- package/dist/esm/priceClient/adapters/acrossApi.js +40 -21
- package/dist/esm/priceClient/adapters/acrossApi.js.map +1 -1
- package/dist/esm/priceClient/adapters/baseAdapter.js +72 -46
- package/dist/esm/priceClient/adapters/baseAdapter.js.map +1 -1
- package/dist/esm/priceClient/adapters/coingecko.js +61 -33
- package/dist/esm/priceClient/adapters/coingecko.js.map +1 -1
- package/dist/esm/priceClient/adapters/default.js +31 -15
- package/dist/esm/priceClient/adapters/default.js.map +1 -1
- package/dist/esm/priceClient/adapters/defiLlama.js +73 -38
- package/dist/esm/priceClient/adapters/defiLlama.js.map +1 -1
- package/dist/esm/priceClient/priceClient.js +158 -109
- package/dist/esm/priceClient/priceClient.js.map +1 -1
- package/dist/esm/providers/alchemy.js +18 -16
- package/dist/esm/providers/alchemy.js.map +1 -1
- package/dist/esm/providers/cachedProvider.js +134 -99
- package/dist/esm/providers/cachedProvider.js.map +1 -1
- package/dist/esm/providers/constants.js +3 -3
- package/dist/esm/providers/constants.js.map +1 -1
- package/dist/esm/providers/drpc.js +10 -8
- package/dist/esm/providers/drpc.js.map +1 -1
- package/dist/esm/providers/infura.js +11 -9
- package/dist/esm/providers/infura.js.map +1 -1
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +15 -6
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +14 -5
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
- package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js +15 -6
- package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +66 -41
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +1 -1
- package/dist/esm/providers/mocks/mockEthersProvider.js +30 -27
- package/dist/esm/providers/mocks/mockEthersProvider.js.map +1 -1
- package/dist/esm/providers/quicknode.js +20 -18
- package/dist/esm/providers/quicknode.js.map +1 -1
- package/dist/esm/providers/rateLimitedProvider.js +80 -68
- package/dist/esm/providers/rateLimitedProvider.js.map +1 -1
- package/dist/esm/providers/retryProvider.js +259 -186
- package/dist/esm/providers/retryProvider.js.map +1 -1
- package/dist/esm/providers/solana/baseRpcFactories.js +19 -13
- package/dist/esm/providers/solana/baseRpcFactories.js.map +1 -1
- package/dist/esm/providers/solana/cachedRpcFactory.js +112 -75
- package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -1
- package/dist/esm/providers/solana/defaultRpcFactory.js +14 -6
- package/dist/esm/providers/solana/defaultRpcFactory.js.map +1 -1
- package/dist/esm/providers/solana/quorumFallbackRpcFactory.js +202 -149
- package/dist/esm/providers/solana/quorumFallbackRpcFactory.js.map +1 -1
- package/dist/esm/providers/solana/rateLimitedRpcFactory.js +90 -70
- package/dist/esm/providers/solana/rateLimitedRpcFactory.js.map +1 -1
- package/dist/esm/providers/solana/retryRpcFactory.js +74 -50
- package/dist/esm/providers/solana/retryRpcFactory.js.map +1 -1
- package/dist/esm/providers/solana/utils.js +1 -1
- package/dist/esm/providers/solana/utils.js.map +1 -1
- package/dist/esm/providers/speedProvider.js +51 -28
- package/dist/esm/providers/speedProvider.js.map +1 -1
- package/dist/esm/providers/types.js +2 -2
- package/dist/esm/providers/types.js.map +1 -1
- package/dist/esm/providers/utils.js +20 -17
- package/dist/esm/providers/utils.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +152 -98
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/customGasToken.js +26 -13
- package/dist/esm/relayFeeCalculator/chain-queries/customGasToken.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js +19 -9
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +128 -83
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +299 -211
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/typeguards/error.js +5 -3
- package/dist/esm/typeguards/error.js.map +1 -1
- package/dist/esm/utils/AddressUtils.js +147 -115
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/ArrayUtils.js +78 -21
- package/dist/esm/utils/ArrayUtils.js.map +1 -1
- package/dist/esm/utils/BigNumberUtils.js +12 -11
- package/dist/esm/utils/BigNumberUtils.js.map +1 -1
- package/dist/esm/utils/BlockExplorerUtils.js +23 -19
- package/dist/esm/utils/BlockExplorerUtils.js.map +1 -1
- package/dist/esm/utils/BlockFinder.js +6 -2
- package/dist/esm/utils/BlockFinder.js.map +1 -1
- package/dist/esm/utils/BlockUtils.js +40 -31
- package/dist/esm/utils/BlockUtils.js.map +1 -1
- package/dist/esm/utils/BundleUtils.js +24 -21
- package/dist/esm/utils/BundleUtils.js.map +1 -1
- package/dist/esm/utils/CCTPUtils.js +123 -62
- package/dist/esm/utils/CCTPUtils.js.map +1 -1
- package/dist/esm/utils/CachingUtils.js +38 -17
- package/dist/esm/utils/CachingUtils.js.map +1 -1
- package/dist/esm/utils/ContractUtils.js +3 -3
- package/dist/esm/utils/ContractUtils.js.map +1 -1
- package/dist/esm/utils/DepositUtils.js +98 -121
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/esm/utils/EventUtils.js +69 -52
- package/dist/esm/utils/EventUtils.js.map +1 -1
- package/dist/esm/utils/FormattingUtils.js +26 -20
- package/dist/esm/utils/FormattingUtils.js.map +1 -1
- package/dist/esm/utils/HyperLiquidUtils.js +22 -8
- package/dist/esm/utils/HyperLiquidUtils.js.map +1 -1
- package/dist/esm/utils/IPFSUtils.js +35 -16
- package/dist/esm/utils/IPFSUtils.js.map +1 -1
- package/dist/esm/utils/JSONUtils.js +4 -4
- package/dist/esm/utils/JSONUtils.js.map +1 -1
- package/dist/esm/utils/LogUtils.js +12 -8
- package/dist/esm/utils/LogUtils.js.map +1 -1
- package/dist/esm/utils/Multicall.js +110 -50
- package/dist/esm/utils/Multicall.js.map +1 -1
- package/dist/esm/utils/NetworkUtils.js +28 -12
- package/dist/esm/utils/NetworkUtils.js.map +1 -1
- package/dist/esm/utils/NumberUtils.js +3 -1
- package/dist/esm/utils/NumberUtils.js.map +1 -1
- package/dist/esm/utils/ObjectUtils.js +41 -27
- package/dist/esm/utils/ObjectUtils.js.map +1 -1
- package/dist/esm/utils/Profiler.js +82 -77
- package/dist/esm/utils/Profiler.js.map +1 -1
- package/dist/esm/utils/ReviverUtils.js +7 -3
- package/dist/esm/utils/ReviverUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.js +78 -83
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.js +57 -33
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/esm/utils/ValidatorUtils.js +4 -4
- package/dist/esm/utils/ValidatorUtils.js.map +1 -1
- package/dist/esm/utils/abi/index.js +20 -10
- package/dist/esm/utils/abi/index.js.map +1 -1
- package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js +12 -8
- package/dist/esm/utils/abi/typechain/factories/Multicall3__factory.js.map +1 -1
- package/dist/esm/utils/common.js +52 -38
- package/dist/esm/utils/common.js.map +1 -1
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
- package/dist/types/utils/Multicall.d.ts.map +1 -1
- package/dist/types/utils/NetworkUtils.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/constants.ts +1 -0
- package/src/gasPriceOracle/oracle.ts +1 -0
- package/src/utils/Multicall.ts +1 -0
- package/src/utils/NetworkUtils.ts +8 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
1
2
|
/**
|
|
2
3
|
* Deduplicates an array by filtering it via a Set.
|
|
3
4
|
* @notice Should not be used for deduplicating arrays of complex types.
|
|
@@ -14,8 +15,8 @@ export function dedupArray(array) {
|
|
|
14
15
|
* @returns A new array of chunked members.
|
|
15
16
|
*/
|
|
16
17
|
export function chunk(array, chunkSize) {
|
|
17
|
-
|
|
18
|
-
for (
|
|
18
|
+
var chunks = [];
|
|
19
|
+
for (var i = 0; i < array.length; i += chunkSize) {
|
|
19
20
|
chunks.push(array.slice(i, i + chunkSize));
|
|
20
21
|
}
|
|
21
22
|
return chunks;
|
|
@@ -28,7 +29,7 @@ export function chunk(array, chunkSize) {
|
|
|
28
29
|
* @returns The last index of the array that matches the predicate, or -1 if no element matches.
|
|
29
30
|
*/
|
|
30
31
|
export function findLastIndex(array, predicate) {
|
|
31
|
-
for (
|
|
32
|
+
for (var i = array.length - 1; i >= 0; i--) {
|
|
32
33
|
if (predicate(array[i], i, array)) {
|
|
33
34
|
return i;
|
|
34
35
|
}
|
|
@@ -43,7 +44,7 @@ export function findLastIndex(array, predicate) {
|
|
|
43
44
|
* @returns The last element of the array that matches the predicate, or undefined if no element matches.
|
|
44
45
|
*/
|
|
45
46
|
export function findLast(array, predicate) {
|
|
46
|
-
|
|
47
|
+
var index = findLastIndex(array, predicate);
|
|
47
48
|
return index >= 0 ? array[index] : undefined;
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
@@ -53,9 +54,18 @@ export function findLast(array, predicate) {
|
|
|
53
54
|
* @param predicate The asynchronous predicate function to apply to each element.
|
|
54
55
|
* @returns A promise that resolves to an array of elements that match the predicate.
|
|
55
56
|
*/
|
|
56
|
-
export
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
export function filterAsync(array, predicate) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
59
|
+
var results;
|
|
60
|
+
return __generator(this, function (_a) {
|
|
61
|
+
switch (_a.label) {
|
|
62
|
+
case 0: return [4 /*yield*/, Promise.all(array.map(predicate))];
|
|
63
|
+
case 1:
|
|
64
|
+
results = _a.sent();
|
|
65
|
+
return [2 /*return*/, array.filter(function (_, index) { return results[index]; })];
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
59
69
|
}
|
|
60
70
|
/**
|
|
61
71
|
* Performs an asynchronous map operation on an array. This function behaves like Array.prototype.map, but accepts an
|
|
@@ -75,12 +85,28 @@ export function mapAsync(array, mapper) {
|
|
|
75
85
|
* @param initialValue The initial value of the accumulator.
|
|
76
86
|
* @returns A promise that resolves to the final value of the accumulator.
|
|
77
87
|
*/
|
|
78
|
-
export
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
88
|
+
export function reduceAsync(array, reducer, initialValue) {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
90
|
+
var accumulator, i;
|
|
91
|
+
return __generator(this, function (_a) {
|
|
92
|
+
switch (_a.label) {
|
|
93
|
+
case 0:
|
|
94
|
+
accumulator = initialValue;
|
|
95
|
+
i = 0;
|
|
96
|
+
_a.label = 1;
|
|
97
|
+
case 1:
|
|
98
|
+
if (!(i < array.length)) return [3 /*break*/, 4];
|
|
99
|
+
return [4 /*yield*/, reducer(accumulator, array[i], i, array)];
|
|
100
|
+
case 2:
|
|
101
|
+
accumulator = _a.sent();
|
|
102
|
+
_a.label = 3;
|
|
103
|
+
case 3:
|
|
104
|
+
i++;
|
|
105
|
+
return [3 /*break*/, 1];
|
|
106
|
+
case 4: return [2 /*return*/, accumulator];
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
});
|
|
84
110
|
}
|
|
85
111
|
/**
|
|
86
112
|
* Performs an asynchronous forEach operation on an array. This function behaves like Array.prototype.forEach, but
|
|
@@ -89,8 +115,17 @@ export async function reduceAsync(array, reducer, initialValue) {
|
|
|
89
115
|
* @param callback The asynchronous callback function to apply to each element.
|
|
90
116
|
* @returns A promise that resolves to void.
|
|
91
117
|
*/
|
|
92
|
-
export
|
|
93
|
-
|
|
118
|
+
export function forEachAsync(array, callback) {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
120
|
+
return __generator(this, function (_a) {
|
|
121
|
+
switch (_a.label) {
|
|
122
|
+
case 0: return [4 /*yield*/, mapAsync(array, callback)];
|
|
123
|
+
case 1:
|
|
124
|
+
_a.sent();
|
|
125
|
+
return [2 /*return*/];
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
});
|
|
94
129
|
}
|
|
95
130
|
/**
|
|
96
131
|
* Performs an asynchronous some operation on an array. This function behaves like Array.prototype.some, but accepts
|
|
@@ -99,9 +134,18 @@ export async function forEachAsync(array, callback) {
|
|
|
99
134
|
* @param predicate The asynchronous predicate function to apply to each element.
|
|
100
135
|
* @returns A promise that resolves to true if any element matches the predicate, or false if no element matches.
|
|
101
136
|
*/
|
|
102
|
-
export
|
|
103
|
-
|
|
104
|
-
|
|
137
|
+
export function someAsync(array, predicate) {
|
|
138
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
139
|
+
var results;
|
|
140
|
+
return __generator(this, function (_a) {
|
|
141
|
+
switch (_a.label) {
|
|
142
|
+
case 0: return [4 /*yield*/, mapAsync(array, predicate)];
|
|
143
|
+
case 1:
|
|
144
|
+
results = _a.sent();
|
|
145
|
+
return [2 /*return*/, results.some(function (value) { return value; })];
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
});
|
|
105
149
|
}
|
|
106
150
|
/**
|
|
107
151
|
* Performs an asynchronous every operation on an array. This function behaves like Array.prototype.every, but accepts
|
|
@@ -112,8 +156,21 @@ export async function someAsync(array, predicate) {
|
|
|
112
156
|
* @note This function uses De Morgan's law to convert the predicate to a negated predicate, and then uses someAsync.
|
|
113
157
|
* This is done because it is more efficient to short-circuit on the first false value than the first true value.
|
|
114
158
|
*/
|
|
115
|
-
export
|
|
116
|
-
return
|
|
159
|
+
export function everyAsync(array, predicate) {
|
|
160
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
161
|
+
var _this = this;
|
|
162
|
+
return __generator(this, function (_a) {
|
|
163
|
+
switch (_a.label) {
|
|
164
|
+
case 0: return [4 /*yield*/, someAsync(array, function (value, index, obj) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
165
|
+
switch (_a.label) {
|
|
166
|
+
case 0: return [4 /*yield*/, predicate(value, index, obj)];
|
|
167
|
+
case 1: return [2 /*return*/, !(_a.sent())];
|
|
168
|
+
}
|
|
169
|
+
}); }); })];
|
|
170
|
+
case 1: return [2 /*return*/, !(_a.sent())];
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
});
|
|
117
174
|
}
|
|
118
175
|
/**
|
|
119
176
|
* Performs an asynchronous includes operation on an array. This function behaves like Array.prototype.includes, but
|
|
@@ -144,6 +201,6 @@ export function isArrayOf(array, predicate) {
|
|
|
144
201
|
export function isUint8Array(value) {
|
|
145
202
|
return (Array.isArray(value) &&
|
|
146
203
|
value.length > 0 &&
|
|
147
|
-
value.every((item)
|
|
204
|
+
value.every(function (item) { return typeof item === "number" && Number.isInteger(item) && item >= 0 && item < 256; }));
|
|
148
205
|
}
|
|
149
206
|
//# sourceMappingURL=ArrayUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayUtils.js","sourceRoot":"","sources":["../../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAI,KAAU;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAI,KAAU,EAAE,SAAiB;IACpD,
|
|
1
|
+
{"version":3,"file":"ArrayUtils.js","sourceRoot":"","sources":["../../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,16 +8,16 @@ import { utils as ethersUtils } from "ethers";
|
|
|
8
8
|
import { BigNumber } from "@ethersproject/bignumber";
|
|
9
9
|
// eslint-disable-next-line no-restricted-imports
|
|
10
10
|
export * from "@ethersproject/bignumber";
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
11
|
+
export var formatEther = ethersUtils.formatEther, formatUnits = ethersUtils.formatUnits, parseEther = ethersUtils.parseEther, parseUnits = ethersUtils.parseUnits;
|
|
12
|
+
export var bnZero = BigNumber.from("0");
|
|
13
|
+
export var bnOne = BigNumber.from("1");
|
|
14
|
+
export var bnUint32Max = BigNumber.from("0xffffffff");
|
|
15
|
+
export var bnUint256Max = BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
|
16
16
|
/**
|
|
17
17
|
* BigInt min/max helpers.
|
|
18
18
|
*/
|
|
19
|
-
export
|
|
20
|
-
export
|
|
19
|
+
export var biMin = function (a, b) { return (a > b ? b : a); };
|
|
20
|
+
export var biMax = function (a, b) { return (a > b ? a : b); };
|
|
21
21
|
/**
|
|
22
22
|
* Converts a stringified number into a BigNumber with 18 decimal places.
|
|
23
23
|
* @param num The number to parse.
|
|
@@ -42,17 +42,18 @@ export function toGWei(num) {
|
|
|
42
42
|
* @returns The parsed BigNumber.
|
|
43
43
|
* @note This is a temporary function until we can backport support for decimal points to @across-protocol/sdk.
|
|
44
44
|
*/
|
|
45
|
-
export
|
|
45
|
+
export var toBN = function (num, rounding) {
|
|
46
|
+
if (rounding === void 0) { rounding = "floor"; }
|
|
46
47
|
// If the string version of the num contains a `.` then it is a number which needs to be parsed to a string int.
|
|
47
48
|
if (num.toString().includes(".")) {
|
|
48
49
|
// Destructure the integer and decimal parts of the number.
|
|
49
|
-
|
|
50
|
+
var _a = num.toString().split("."), integer = _a[0], decimal = _a[1];
|
|
50
51
|
// We can determine if we need to round in a losseless way. First we need to check
|
|
51
52
|
// if the number just has a decimal point with no decimal places. If it does, we
|
|
52
53
|
// can just return the integer. However, if it has a decimal point with decimal
|
|
53
54
|
// places, then we can automatically round up if ceil is specified or if round is
|
|
54
55
|
// specified and the first decimal is greater than or equal to 5.
|
|
55
|
-
|
|
56
|
+
var roundUp = decimal.length > 0 && (rounding === "ceil" || (rounding === "round" && parseInt(decimal[0]) >= 5));
|
|
56
57
|
// If we need to round up, we can just add 1 to the integer.
|
|
57
58
|
return BigNumber.from(integer).add(roundUp ? 1 : 0);
|
|
58
59
|
}
|
|
@@ -66,7 +67,7 @@ export const toBN = (num, rounding = "floor") => {
|
|
|
66
67
|
* @param cmp The second BigNumber to compare.
|
|
67
68
|
* @returns The greater of the two BigNumbers.
|
|
68
69
|
*/
|
|
69
|
-
export
|
|
70
|
+
export var bnMax = function (val, cmp) {
|
|
70
71
|
return val.gt(cmp) ? val : cmp;
|
|
71
72
|
};
|
|
72
73
|
//# sourceMappingURL=BigNumberUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BigNumberUtils.js","sourceRoot":"","sources":["../../../src/utils/BigNumberUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9C,iDAAiD;AACjD,OAAO,EAAE,SAAS,EAAgB,MAAM,0BAA0B,CAAC;AAEnE,iDAAiD;AACjD,cAAc,0BAA0B,CAAC;AAGzC,MAAM,
|
|
1
|
+
{"version":3,"file":"BigNumberUtils.js","sourceRoot":"","sources":["../../../src/utils/BigNumberUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9C,iDAAiD;AACjD,OAAO,EAAE,SAAS,EAAgB,MAAM,0BAA0B,CAAC;AAEnE,iDAAiD;AACjD,cAAc,0BAA0B,CAAC;AAGzC,MAAM,CAAS,IAAA,WAAW,GAA0C,WAAW,YAArD,EAAE,WAAW,GAA6B,WAAW,YAAxC,EAAE,UAAU,GAAiB,WAAW,WAA5B,EAAE,UAAU,GAAK,WAAW,WAAhB,CAAiB;AAChF,MAAM,CAAC,IAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,IAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxD,MAAM,CAAC,IAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;AAEjH;;GAEG;AACH,MAAM,CAAC,IAAM,KAAK,GAAG,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC;AAC/D,MAAM,CAAC,IAAM,KAAK,GAAG,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC;AAE/D;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,GAAiB;IACrC,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,GAAiB;IACtC,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,IAAM,IAAI,GAAG,UAAC,GAAiB,EAAE,QAA8C;IAA9C,yBAAA,EAAA,kBAA8C;IACpF,gHAAgH;IAChH,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,2DAA2D;QACrD,IAAA,KAAqB,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAA7C,OAAO,QAAA,EAAE,OAAO,QAA6B,CAAC;QACrD,kFAAkF;QAClF,gFAAgF;QAChF,+EAA+E;QAC/E,iFAAiF;QACjF,iEAAiE;QACjE,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnH,4DAA4D;QAC5D,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,8DAA8D;IAC9D,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,KAAK,GAAG,UAAC,GAAc,EAAE,GAAc;IAClD,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACjC,CAAC,CAAC"}
|
|
@@ -11,7 +11,8 @@ import bs58 from "bs58";
|
|
|
11
11
|
* @returns The block explorer link. This link will be formatted in markdown.
|
|
12
12
|
*/
|
|
13
13
|
export function blockExplorerLink(txHashOrAddress, chainId) {
|
|
14
|
-
|
|
14
|
+
var _a;
|
|
15
|
+
return (_a = _createBlockExplorerLinkMarkdown(txHashOrAddress, Number(chainId))) !== null && _a !== void 0 ? _a : "<>";
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
17
18
|
* Resolves a domain to an block explorer link for a given network.
|
|
@@ -19,7 +20,8 @@ export function blockExplorerLink(txHashOrAddress, chainId) {
|
|
|
19
20
|
* @returns The block explorer link. If the networkId is not supported, undefined will be returned.
|
|
20
21
|
*/
|
|
21
22
|
export function resolveBlockExplorerDomain(networkId) {
|
|
22
|
-
|
|
23
|
+
var _a;
|
|
24
|
+
return (_a = PUBLIC_NETWORKS[networkId]) === null || _a === void 0 ? void 0 : _a.blockExplorer;
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
25
27
|
* Constructs a URL for a given list of domain parts.
|
|
@@ -33,13 +35,13 @@ export function resolveBlockExplorerDomain(networkId) {
|
|
|
33
35
|
*/
|
|
34
36
|
function constructURL(domain, parts) {
|
|
35
37
|
// Further split the parts by "/" to handle any parts that contain multiple "/".
|
|
36
|
-
parts = parts.flatMap((p)
|
|
38
|
+
parts = parts.flatMap(function (p) { return p.split("/"); });
|
|
37
39
|
// Remove any empty parts.
|
|
38
|
-
parts = parts.filter((p)
|
|
40
|
+
parts = parts.filter(function (p) { return p !== ""; });
|
|
39
41
|
// Join the parts with a "/".
|
|
40
|
-
|
|
42
|
+
var path = parts.join("/");
|
|
41
43
|
// Remove any trailing "/".
|
|
42
|
-
return
|
|
44
|
+
return "".concat(domain, "/").concat(path).replace(/\/+$/, "");
|
|
43
45
|
}
|
|
44
46
|
/**
|
|
45
47
|
* Generates a valid block explorer link for a given transaction hash or address.
|
|
@@ -47,38 +49,40 @@ function constructURL(domain, parts) {
|
|
|
47
49
|
* @param chainId The chainId to link to.
|
|
48
50
|
* @returns A formatted markdown block explorer link to the given transaction hash or address on the given chainId.
|
|
49
51
|
*/
|
|
50
|
-
function _createBlockExplorerLinkMarkdown(addr, chainId
|
|
52
|
+
function _createBlockExplorerLinkMarkdown(addr, chainId) {
|
|
53
|
+
if (chainId === void 0) { chainId = 1; }
|
|
51
54
|
// Attempt to resolve the block explorer domain for the given chainId.
|
|
52
|
-
|
|
55
|
+
var explorerDomain = resolveBlockExplorerDomain(chainId);
|
|
53
56
|
// If the chainId is not supported, return an unsupported link.
|
|
54
57
|
if (!isDefined(explorerDomain)) {
|
|
55
|
-
return
|
|
58
|
+
return "<unsupported chain/hash ".concat(chainId, ":").concat(addr, ">}");
|
|
56
59
|
}
|
|
57
60
|
// Ensure that the first two characters are "0x". If they are not, append them.
|
|
58
61
|
if (addr.substring(0, 2) !== "0x" && chainIsEvm(chainId)) {
|
|
59
|
-
addr =
|
|
62
|
+
addr = "0x".concat(addr);
|
|
60
63
|
if (!ethers.utils.isHexString(addr)) {
|
|
61
64
|
return null;
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
67
|
// Resolve the short URL string.
|
|
65
|
-
|
|
68
|
+
var shortURLString = createShortenedString(addr);
|
|
66
69
|
if (chainIsEvm(chainId)) {
|
|
67
70
|
// Iterate over the two possible addr lengths.
|
|
68
|
-
for (
|
|
71
|
+
for (var _i = 0, _a = [
|
|
69
72
|
[66, "tx"],
|
|
70
73
|
[42, "address"],
|
|
71
|
-
]) {
|
|
74
|
+
]; _i < _a.length; _i++) {
|
|
75
|
+
var _b = _a[_i], length_1 = _b[0], route = _b[1];
|
|
72
76
|
// If the hex string is the correct length, return the link.
|
|
73
|
-
if (addr.length ===
|
|
74
|
-
return
|
|
77
|
+
if (addr.length === length_1) {
|
|
78
|
+
return "<".concat(constructURL(explorerDomain, [route, addr]), " | ").concat(shortURLString, ">");
|
|
75
79
|
}
|
|
76
80
|
}
|
|
77
81
|
}
|
|
78
82
|
else {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return
|
|
83
|
+
var addrLength = bs58.decode(addr).length;
|
|
84
|
+
var route = addrLength === 32 ? "account" : "tx";
|
|
85
|
+
return "<".concat(constructURL(explorerDomain, [route, addr]), " | ").concat(shortURLString, ">");
|
|
82
86
|
}
|
|
83
87
|
return null;
|
|
84
88
|
}
|
|
@@ -90,6 +94,6 @@ function _createBlockExplorerLinkMarkdown(addr, chainId = 1) {
|
|
|
90
94
|
* @see blockExplorerLink
|
|
91
95
|
*/
|
|
92
96
|
export function blockExplorerLinks(txHashesOrAddresses, chainId) {
|
|
93
|
-
return txHashesOrAddresses.map((hash)
|
|
97
|
+
return txHashesOrAddresses.map(function (hash) { return "".concat(blockExplorerLink(hash, chainId), "\n"); }).join("");
|
|
94
98
|
}
|
|
95
99
|
//# sourceMappingURL=BlockExplorerUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockExplorerUtils.js","sourceRoot":"","sources":["../../../src/utils/BlockExplorerUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,eAAuB,EAAE,OAAwB
|
|
1
|
+
{"version":3,"file":"BlockExplorerUtils.js","sourceRoot":"","sources":["../../../src/utils/BlockExplorerUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockFinder.js","sourceRoot":"","sources":["../../../src/utils/BlockFinder.ts"],"names":[],"mappings":"AAsBA,
|
|
1
|
+
{"version":3,"file":"BlockFinder.js","sourceRoot":"","sources":["../../../src/utils/BlockFinder.ts"],"names":[],"mappings":"AAsBA;IAAA;IAEA,CAAC;IAAD,kBAAC;AAAD,CAAC,AAFD,IAEC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
1
2
|
import { isDefined } from "./TypeGuards";
|
|
2
3
|
import { getCurrentTime } from "./TimeUtils";
|
|
3
4
|
import { shouldCache } from "./CachingUtils";
|
|
@@ -11,36 +12,44 @@ import { DEFAULT_CACHING_SAFE_LAG } from "../constants";
|
|
|
11
12
|
* or loading from cache. This is useful for testing primarily.
|
|
12
13
|
* @returns Block number for the requested timestamp.
|
|
13
14
|
*/
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
15
|
+
export function getCachedBlockForTimestamp(chainId, timestamp, blockFinder, cache, hints) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
17
|
+
var resolver, key, result, blockNumber;
|
|
18
|
+
var _this = this;
|
|
19
|
+
return __generator(this, function (_a) {
|
|
20
|
+
switch (_a.label) {
|
|
21
|
+
case 0:
|
|
22
|
+
resolver = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
23
|
+
switch (_a.label) {
|
|
24
|
+
case 0: return [4 /*yield*/, blockFinder.getBlockForTimestamp(timestamp, hints || {})];
|
|
25
|
+
case 1: return [2 /*return*/, (_a.sent()).number];
|
|
26
|
+
}
|
|
27
|
+
}); }); };
|
|
28
|
+
// If no redis client, then request block from blockFinder.
|
|
29
|
+
if (!isDefined(cache)) {
|
|
30
|
+
return [2 /*return*/, resolver()];
|
|
31
|
+
}
|
|
32
|
+
key = "".concat(chainId, "_block_number_").concat(timestamp);
|
|
33
|
+
if (!shouldCache(timestamp, getCurrentTime(), DEFAULT_CACHING_SAFE_LAG)) return [3 /*break*/, 6];
|
|
34
|
+
return [4 /*yield*/, cache.get(key)];
|
|
35
|
+
case 1:
|
|
36
|
+
result = _a.sent();
|
|
37
|
+
if (!(result !== null)) return [3 /*break*/, 2];
|
|
38
|
+
return [2 /*return*/, parseInt(result)];
|
|
39
|
+
case 2: return [4 /*yield*/, resolver()];
|
|
40
|
+
case 3:
|
|
41
|
+
blockNumber = _a.sent();
|
|
42
|
+
// Expire key after 90 days.
|
|
43
|
+
return [4 /*yield*/, cache.set(key, blockNumber.toString(), 60 * 60 * 24 * 90)];
|
|
44
|
+
case 4:
|
|
45
|
+
// Expire key after 90 days.
|
|
46
|
+
_a.sent(); // 90 days
|
|
47
|
+
return [2 /*return*/, blockNumber];
|
|
48
|
+
case 5: return [3 /*break*/, 7];
|
|
49
|
+
case 6: return [2 /*return*/, resolver()];
|
|
50
|
+
case 7: return [2 /*return*/];
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
45
54
|
}
|
|
46
55
|
//# sourceMappingURL=BlockUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAAC;wBACtB,sBAAO,QAAQ,EAAE,EAAC;oBACpB,CAAC;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"}
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
* @returns The block for `chain` in `bundleEvaluationBlockNumbers`.
|
|
11
11
|
*/
|
|
12
12
|
export function getBlockForChain(bundleEvaluationBlockNumbers, chain, chainIdListForBundleEvaluationBlockNumbers) {
|
|
13
|
-
|
|
13
|
+
var indexForChain = chainIdListForBundleEvaluationBlockNumbers.indexOf(chain);
|
|
14
14
|
if (indexForChain === -1) {
|
|
15
|
-
throw new Error(
|
|
15
|
+
throw new Error("Could not find chain ".concat(chain, " in chain ID list ").concat(chainIdListForBundleEvaluationBlockNumbers));
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
var blockForChain = bundleEvaluationBlockNumbers[indexForChain];
|
|
18
18
|
if (blockForChain === undefined) {
|
|
19
|
-
throw new Error(
|
|
19
|
+
throw new Error("Invalid block range for chain ".concat(chain));
|
|
20
20
|
}
|
|
21
21
|
return blockForChain;
|
|
22
22
|
}
|
|
@@ -28,13 +28,13 @@ export function getBlockForChain(bundleEvaluationBlockNumbers, chain, chainIdLis
|
|
|
28
28
|
* @returns
|
|
29
29
|
*/
|
|
30
30
|
export function getBlockRangeForChain(blockRanges, chain, chainIdListForBundleEvaluationBlockNumbers) {
|
|
31
|
-
|
|
31
|
+
var indexForChain = chainIdListForBundleEvaluationBlockNumbers.indexOf(chain);
|
|
32
32
|
if (indexForChain === -1) {
|
|
33
|
-
throw new Error(
|
|
33
|
+
throw new Error("Could not find chain ".concat(chain, " in chain ID list ").concat(chainIdListForBundleEvaluationBlockNumbers));
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
var blockRangeForChain = blockRanges[indexForChain];
|
|
36
36
|
if (!blockRangeForChain || blockRangeForChain.length !== 2) {
|
|
37
|
-
throw new Error(
|
|
37
|
+
throw new Error("Invalid block range for chain ".concat(chain));
|
|
38
38
|
}
|
|
39
39
|
return blockRangeForChain;
|
|
40
40
|
}
|
|
@@ -45,21 +45,23 @@ export function getBlockRangeForChain(blockRanges, chain, chainIdListForBundleEv
|
|
|
45
45
|
* @returns blockRanges: number[][], [[startBlock, endBlock], [startBlock, endBlock], ...]
|
|
46
46
|
*/
|
|
47
47
|
export function getImpliedBundleBlockRanges(hubPoolClient, configStoreClient, rootBundle) {
|
|
48
|
-
|
|
48
|
+
var _a;
|
|
49
|
+
var prevRootBundle = hubPoolClient.getLatestFullyExecutedRootBundle(rootBundle.blockNumber);
|
|
49
50
|
// If chain is disabled for this bundle block range, end block should be same as previous bundle.
|
|
50
51
|
// Otherwise the range should be previous bundle's endBlock + 1 to current bundle's end block.
|
|
51
52
|
// Get enabled chains at the mainnet start block of the current root bundle.
|
|
52
53
|
// We'll check each chain represented in the bundleEvaluationBlockNumbers to see if it's enabled and
|
|
53
54
|
// use that to determine the implied block range.
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
var mainnetStartBlock = (_a = prevRootBundle === null || prevRootBundle === void 0 ? void 0 : prevRootBundle.bundleEvaluationBlockNumbers[0].toNumber()) !== null && _a !== void 0 ? _a : 0;
|
|
56
|
+
var enabledChainsAtMainnetStartBlock = configStoreClient.getEnabledChains(mainnetStartBlock);
|
|
56
57
|
// Load all chain indices in order to map bundle evaluation block numbers to enabled chains list.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
var chainIdIndices = configStoreClient.getChainIdIndicesForBlock(rootBundle.blockNumber);
|
|
59
|
+
var result = rootBundle.bundleEvaluationBlockNumbers.map(function (_endBlock, i) {
|
|
60
|
+
var _a, _b, _c;
|
|
61
|
+
var endBlock = _endBlock.toNumber();
|
|
62
|
+
var bundleEndBlock = (_c = (_b = (_a = prevRootBundle === null || prevRootBundle === void 0 ? void 0 : prevRootBundle.bundleEvaluationBlockNumbers) === null || _a === void 0 ? void 0 : _a[i]) === null || _b === void 0 ? void 0 : _b.toNumber()) !== null && _c !== void 0 ? _c : 0;
|
|
63
|
+
var fromBlock = bundleEndBlock === endBlock ? endBlock : bundleEndBlock + 1;
|
|
64
|
+
var chainId = chainIdIndices[i];
|
|
63
65
|
if (!enabledChainsAtMainnetStartBlock.includes(chainId)) {
|
|
64
66
|
return [endBlock, endBlock];
|
|
65
67
|
}
|
|
@@ -68,16 +70,17 @@ export function getImpliedBundleBlockRanges(hubPoolClient, configStoreClient, ro
|
|
|
68
70
|
// Lastly, sanity check the results to catch errors early:
|
|
69
71
|
// 1. If the chain is enabled, the start block should be strictly less than to the end block.
|
|
70
72
|
// 2. If the chain is disabled, the start block should be equal to the end block.
|
|
71
|
-
result.forEach((
|
|
72
|
-
|
|
73
|
+
result.forEach(function (_a, i) {
|
|
74
|
+
var start = _a[0], end = _a[1];
|
|
75
|
+
var chainId = chainIdIndices[i];
|
|
73
76
|
if (enabledChainsAtMainnetStartBlock.includes(chainId)) {
|
|
74
77
|
if (start > end) {
|
|
75
|
-
throw new Error(
|
|
78
|
+
throw new Error("Invalid block range for enabled chain ".concat(chainId, ": start block ").concat(start, " is greater than end block ").concat(end));
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
else {
|
|
79
82
|
if (start !== end) {
|
|
80
|
-
throw new Error(
|
|
83
|
+
throw new Error("Invalid block range for disabled chain ".concat(chainId, ": start block ").concat(start, " is not equal to end block ").concat(end));
|
|
81
84
|
}
|
|
82
85
|
}
|
|
83
86
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BundleUtils.js","sourceRoot":"","sources":["../../../src/utils/BundleUtils.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,4BAAsC,EACtC,KAAa,EACb,0CAAoD;IAEpD,
|
|
1
|
+
{"version":3,"file":"BundleUtils.js","sourceRoot":"","sources":["../../../src/utils/BundleUtils.ts"],"names":[],"mappings":"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"}
|