@across-protocol/sdk 4.1.63-beta.3 → 4.1.64-alpha.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/SpokeUtils.d.ts +1 -1
- package/dist/cjs/arch/evm/SpokeUtils.js +5 -6
- package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/evm/index.d.ts +0 -1
- package/dist/cjs/arch/evm/index.js +0 -1
- package/dist/cjs/arch/evm/index.js.map +1 -1
- package/dist/cjs/arch/svm/index.d.ts +1 -5
- package/dist/cjs/arch/svm/index.js +2 -6
- package/dist/cjs/arch/svm/index.js.map +1 -1
- 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 +5 -6
- package/dist/cjs/clients/BaseAbstractClient.js +19 -30
- package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +11 -15
- 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 +3 -4
- package/dist/cjs/clients/HubPoolClient.js +17 -18
- 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 +20 -23
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +5 -5
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +57 -54
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/index.d.ts +0 -3
- package/dist/cjs/clients/SpokePoolClient/index.js +1 -8
- 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 +1 -2
- 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 +4 -7
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/index.d.ts +0 -2
- package/dist/cjs/clients/mocks/index.js +0 -2
- package/dist/cjs/clients/mocks/index.js.map +1 -1
- package/dist/cjs/constants.d.ts +0 -1
- package/dist/cjs/constants.js +1 -2
- 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 +2 -3
- 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/index.d.ts +1 -1
- package/dist/cjs/gasPriceOracle/oracle.d.ts +3 -4
- package/dist/cjs/gasPriceOracle/oracle.js +9 -16
- package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
- package/dist/cjs/gasPriceOracle/types.d.ts +1 -6
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/SpokePool.d.ts +0 -13
- package/dist/cjs/interfaces/SpokePool.js.map +1 -1
- package/dist/cjs/providers/index.d.ts +1 -1
- package/dist/cjs/providers/index.js +2 -1
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/providers/{mocks/mockEthersProvider.js → mockProvider.js} +2 -2
- package/dist/cjs/providers/mockProvider.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +8 -10
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +2 -4
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +2 -8
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/index.d.ts +0 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/index.js +0 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/index.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +0 -2
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +4 -10
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/svm/eventsClient.d.ts +15 -0
- package/dist/cjs/svm/eventsClient.js +157 -0
- package/dist/cjs/svm/eventsClient.js.map +1 -0
- package/dist/cjs/svm/index.d.ts +3 -0
- package/dist/cjs/svm/index.js +8 -0
- package/dist/cjs/svm/index.js.map +1 -0
- package/dist/cjs/{arch/svm → svm}/types.d.ts +4 -9
- package/dist/cjs/svm/types.js.map +1 -0
- package/dist/cjs/svm/utils/events.d.ts +8 -0
- package/dist/cjs/svm/utils/events.js +47 -0
- package/dist/cjs/svm/utils/events.js.map +1 -0
- package/dist/cjs/svm/utils/helpers.d.ts +2 -0
- package/dist/cjs/svm/utils/helpers.js +19 -0
- package/dist/cjs/svm/utils/helpers.js.map +1 -0
- package/dist/cjs/svm/utils/index.d.ts +1 -0
- package/dist/cjs/svm/utils/index.js +5 -0
- package/dist/cjs/svm/utils/index.js.map +1 -0
- package/dist/cjs/utils/AddressUtils.d.ts +3 -9
- package/dist/cjs/utils/AddressUtils.js +6 -36
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/ArrayUtils.d.ts +0 -1
- package/dist/cjs/utils/ArrayUtils.js +1 -6
- package/dist/cjs/utils/ArrayUtils.js.map +1 -1
- package/dist/cjs/utils/BlockUtils.d.ts +27 -2
- package/dist/cjs/utils/BlockUtils.js +208 -2
- package/dist/cjs/utils/BlockUtils.js.map +1 -1
- package/dist/cjs/utils/EventUtils.d.ts +4 -4
- package/dist/cjs/utils/EventUtils.js +4 -7
- package/dist/cjs/utils/EventUtils.js.map +1 -1
- package/dist/cjs/utils/JSONUtils.js +0 -3
- package/dist/cjs/utils/JSONUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.js +0 -5
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +0 -1
- package/dist/cjs/utils/index.js +0 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/arch/evm/SpokeUtils.d.ts +1 -1
- package/dist/esm/arch/evm/SpokeUtils.js +5 -6
- package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/evm/index.d.ts +0 -1
- package/dist/esm/arch/evm/index.js +0 -1
- package/dist/esm/arch/evm/index.js.map +1 -1
- package/dist/esm/arch/svm/index.d.ts +1 -5
- package/dist/esm/arch/svm/index.js +1 -5
- package/dist/esm/arch/svm/index.js.map +1 -1
- 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 +5 -6
- package/dist/esm/clients/BaseAbstractClient.js +19 -30
- package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +14 -17
- 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 +3 -4
- package/dist/esm/clients/HubPoolClient.js +18 -19
- 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 +20 -23
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +59 -57
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/index.d.ts +0 -8
- package/dist/esm/clients/SpokePoolClient/index.js +0 -10
- 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 +5 -8
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/index.d.ts +0 -2
- package/dist/esm/clients/mocks/index.js +0 -2
- package/dist/esm/clients/mocks/index.js.map +1 -1
- package/dist/esm/constants.d.ts +0 -1
- package/dist/esm/constants.js +0 -1
- 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 +2 -3
- 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/index.d.ts +1 -1
- package/dist/esm/gasPriceOracle/oracle.d.ts +3 -4
- package/dist/esm/gasPriceOracle/oracle.js +9 -18
- package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
- package/dist/esm/gasPriceOracle/types.d.ts +1 -6
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/SpokePool.d.ts +0 -13
- package/dist/esm/interfaces/SpokePool.js.map +1 -1
- package/dist/esm/providers/index.d.ts +1 -1
- package/dist/esm/providers/index.js +2 -1
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/providers/{mocks/mockEthersProvider.js → mockProvider.js} +2 -2
- package/dist/esm/providers/mockProvider.js.map +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +8 -10
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +2 -4
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js +5 -11
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/index.d.ts +0 -1
- package/dist/esm/relayFeeCalculator/chain-queries/index.js +0 -1
- package/dist/esm/relayFeeCalculator/chain-queries/index.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +1 -12
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +5 -10
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/svm/eventsClient.d.ts +51 -0
- package/dist/esm/svm/eventsClient.js +195 -0
- package/dist/esm/svm/eventsClient.js.map +1 -0
- package/dist/esm/svm/index.d.ts +3 -0
- package/dist/esm/svm/index.js +5 -0
- package/dist/esm/svm/index.js.map +1 -0
- package/dist/esm/{arch/svm → svm}/types.d.ts +4 -9
- package/dist/esm/svm/types.js.map +1 -0
- package/dist/esm/svm/utils/events.d.ts +17 -0
- package/dist/esm/svm/utils/events.js +55 -0
- package/dist/esm/svm/utils/events.js.map +1 -0
- package/dist/esm/svm/utils/helpers.d.ts +5 -0
- package/dist/esm/svm/utils/helpers.js +18 -0
- package/dist/esm/svm/utils/helpers.js.map +1 -0
- package/dist/esm/svm/utils/index.d.ts +1 -0
- package/dist/esm/svm/utils/index.js +2 -0
- package/dist/esm/svm/utils/index.js.map +1 -0
- package/dist/esm/utils/AddressUtils.d.ts +3 -9
- package/dist/esm/utils/AddressUtils.js +6 -41
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/ArrayUtils.d.ts +0 -6
- package/dist/esm/utils/ArrayUtils.js +0 -9
- package/dist/esm/utils/ArrayUtils.js.map +1 -1
- package/dist/esm/utils/BlockUtils.d.ts +36 -2
- package/dist/esm/utils/BlockUtils.js +243 -2
- package/dist/esm/utils/BlockUtils.js.map +1 -1
- package/dist/esm/utils/EventUtils.d.ts +4 -4
- package/dist/esm/utils/EventUtils.js +4 -7
- package/dist/esm/utils/EventUtils.js.map +1 -1
- package/dist/esm/utils/JSONUtils.js +0 -3
- package/dist/esm/utils/JSONUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.js +0 -5
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/index.d.ts +0 -1
- package/dist/esm/utils/index.js +0 -1
- package/dist/esm/utils/index.js.map +1 -1
- 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 +0 -1
- package/dist/types/arch/evm/index.d.ts.map +1 -1
- package/dist/types/arch/svm/index.d.ts +1 -5
- package/dist/types/arch/svm/index.d.ts.map +1 -1
- 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 +5 -6
- 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 +3 -4
- 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/SpokePoolClient.d.ts +7 -7
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/index.d.ts +0 -8
- 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/index.d.ts +0 -2
- package/dist/types/clients/mocks/index.d.ts.map +1 -1
- package/dist/types/constants.d.ts +0 -1
- 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/index.d.ts +1 -1
- package/dist/types/gasPriceOracle/index.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/oracle.d.ts +3 -4
- package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/types.d.ts +1 -6
- package/dist/types/gasPriceOracle/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/SpokePool.d.ts +0 -13
- 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/mockEthersProvider.d.ts → mockProvider.d.ts} +1 -1
- package/dist/types/providers/mockProvider.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 +2 -4
- package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/index.d.ts +0 -1
- package/dist/types/relayFeeCalculator/chain-queries/index.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +1 -12
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/svm/eventsClient.d.ts +52 -0
- package/dist/types/svm/eventsClient.d.ts.map +1 -0
- package/dist/types/svm/index.d.ts +4 -0
- package/dist/types/svm/index.d.ts.map +1 -0
- package/dist/types/{arch/svm → svm}/types.d.ts +4 -9
- package/dist/types/svm/types.d.ts.map +1 -0
- package/dist/types/svm/utils/events.d.ts +18 -0
- package/dist/types/svm/utils/events.d.ts.map +1 -0
- package/dist/types/svm/utils/helpers.d.ts +6 -0
- package/dist/types/svm/utils/helpers.d.ts.map +1 -0
- package/dist/types/svm/utils/index.d.ts +2 -0
- package/dist/types/svm/utils/index.d.ts.map +1 -0
- package/dist/types/utils/AddressUtils.d.ts +3 -9
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/ArrayUtils.d.ts +0 -6
- package/dist/types/utils/ArrayUtils.d.ts.map +1 -1
- package/dist/types/utils/BlockUtils.d.ts +36 -2
- 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/SpokeUtils.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +0 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +1 -3
- package/src/arch/evm/SpokeUtils.ts +5 -5
- package/src/arch/evm/index.ts +0 -1
- package/src/arch/svm/index.ts +1 -5
- package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +7 -7
- package/src/clients/BaseAbstractClient.ts +13 -20
- package/src/clients/BundleDataClient/BundleDataClient.ts +19 -28
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +1 -1
- package/src/clients/HubPoolClient.ts +19 -19
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +21 -23
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +59 -50
- package/src/clients/SpokePoolClient/index.ts +0 -11
- 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 +4 -9
- package/src/clients/mocks/index.ts +0 -2
- package/src/constants.ts +0 -1
- package/src/gasPriceOracle/adapters/arbitrum.ts +2 -5
- package/src/gasPriceOracle/adapters/ethereum.ts +4 -7
- package/src/gasPriceOracle/adapters/linea-viem.ts +1 -3
- package/src/gasPriceOracle/adapters/polygon.ts +6 -6
- package/src/gasPriceOracle/index.ts +1 -1
- package/src/gasPriceOracle/oracle.ts +4 -20
- package/src/gasPriceOracle/types.ts +1 -7
- package/src/index.ts +1 -0
- package/src/interfaces/SpokePool.ts +0 -14
- package/src/providers/index.ts +1 -1
- package/src/providers/{mocks/mockEthersProvider.ts → mockProvider.ts} +1 -1
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +9 -11
- package/src/relayFeeCalculator/chain-queries/factory.ts +8 -24
- package/src/relayFeeCalculator/chain-queries/index.ts +0 -1
- package/src/relayFeeCalculator/relayFeeCalculator.ts +4 -16
- package/src/svm/eventsClient.ts +199 -0
- package/src/svm/index.ts +3 -0
- package/src/{arch/svm → svm}/types.ts +4 -21
- package/src/svm/utils/events.ts +58 -0
- package/src/svm/utils/helpers.ts +9 -0
- package/src/svm/utils/index.ts +1 -0
- package/src/utils/AddressUtils.ts +6 -49
- package/src/utils/ArrayUtils.ts +0 -12
- package/src/utils/BlockUtils.ts +215 -5
- package/src/utils/EventUtils.ts +11 -11
- package/src/utils/JSONUtils.ts +0 -2
- package/src/utils/SpokeUtils.ts +3 -7
- package/src/utils/index.ts +0 -1
- package/dist/cjs/arch/evm/BlockUtils.d.ts +0 -15
- package/dist/cjs/arch/evm/BlockUtils.js +0 -218
- package/dist/cjs/arch/evm/BlockUtils.js.map +0 -1
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +0 -21
- package/dist/cjs/arch/svm/SpokeUtils.js +0 -454
- package/dist/cjs/arch/svm/SpokeUtils.js.map +0 -1
- package/dist/cjs/arch/svm/constants.d.ts +0 -2
- package/dist/cjs/arch/svm/constants.js +0 -7
- package/dist/cjs/arch/svm/constants.js.map +0 -1
- package/dist/cjs/arch/svm/eventsClient.d.ts +0 -26
- package/dist/cjs/arch/svm/eventsClient.js +0 -253
- package/dist/cjs/arch/svm/eventsClient.js.map +0 -1
- package/dist/cjs/arch/svm/types.js.map +0 -1
- package/dist/cjs/arch/svm/utils.d.ts +0 -18
- package/dist/cjs/arch/svm/utils.js +0 -212
- package/dist/cjs/arch/svm/utils.js.map +0 -1
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +0 -23
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +0 -172
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +0 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.d.ts +0 -33
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +0 -184
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +0 -1
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.d.ts +0 -30
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +0 -90
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +0 -1
- package/dist/cjs/gasPriceOracle/adapters/solana.d.ts +0 -4
- package/dist/cjs/gasPriceOracle/adapters/solana.js +0 -43
- package/dist/cjs/gasPriceOracle/adapters/solana.js.map +0 -1
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.d.ts +0 -5
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +0 -21
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +0 -1
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +0 -5
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +0 -20
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +0 -1
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.d.ts +0 -13
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +0 -76
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js.map +0 -1
- package/dist/cjs/providers/mocks/index.d.ts +0 -4
- package/dist/cjs/providers/mocks/index.js +0 -8
- package/dist/cjs/providers/mocks/index.js.map +0 -1
- package/dist/cjs/providers/mocks/mockEthersProvider.js.map +0 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +0 -37
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +0 -171
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +0 -1
- package/dist/cjs/utils/BlockFinder.d.ts +0 -22
- package/dist/cjs/utils/BlockFinder.js +0 -10
- package/dist/cjs/utils/BlockFinder.js.map +0 -1
- package/dist/esm/arch/evm/BlockUtils.d.ts +0 -24
- package/dist/esm/arch/evm/BlockUtils.js +0 -250
- package/dist/esm/arch/evm/BlockUtils.js.map +0 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +0 -129
- package/dist/esm/arch/svm/SpokeUtils.js +0 -576
- package/dist/esm/arch/svm/SpokeUtils.js.map +0 -1
- package/dist/esm/arch/svm/constants.d.ts +0 -2
- package/dist/esm/arch/svm/constants.js +0 -3
- package/dist/esm/arch/svm/constants.js.map +0 -1
- package/dist/esm/arch/svm/eventsClient.d.ts +0 -87
- package/dist/esm/arch/svm/eventsClient.js +0 -316
- package/dist/esm/arch/svm/eventsClient.js.map +0 -1
- package/dist/esm/arch/svm/types.js.map +0 -1
- package/dist/esm/arch/svm/utils.d.ts +0 -63
- package/dist/esm/arch/svm/utils.js +0 -258
- package/dist/esm/arch/svm/utils.js.map +0 -1
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +0 -66
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +0 -225
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +0 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.d.ts +0 -33
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +0 -183
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +0 -1
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.d.ts +0 -30
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +0 -89
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +0 -1
- package/dist/esm/gasPriceOracle/adapters/solana.d.ts +0 -8
- package/dist/esm/gasPriceOracle/adapters/solana.js +0 -43
- package/dist/esm/gasPriceOracle/adapters/solana.js.map +0 -1
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.d.ts +0 -5
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +0 -19
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +0 -1
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +0 -5
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +0 -18
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +0 -1
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.d.ts +0 -13
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +0 -74
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +0 -1
- package/dist/esm/providers/mocks/index.d.ts +0 -4
- package/dist/esm/providers/mocks/index.js +0 -5
- package/dist/esm/providers/mocks/index.js.map +0 -1
- package/dist/esm/providers/mocks/mockEthersProvider.js.map +0 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +0 -84
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +0 -216
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +0 -1
- package/dist/esm/utils/BlockFinder.d.ts +0 -22
- package/dist/esm/utils/BlockFinder.js +0 -7
- package/dist/esm/utils/BlockFinder.js.map +0 -1
- package/dist/types/arch/evm/BlockUtils.d.ts +0 -25
- package/dist/types/arch/evm/BlockUtils.d.ts.map +0 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +0 -130
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +0 -1
- package/dist/types/arch/svm/constants.d.ts +0 -3
- package/dist/types/arch/svm/constants.d.ts.map +0 -1
- package/dist/types/arch/svm/eventsClient.d.ts +0 -88
- package/dist/types/arch/svm/eventsClient.d.ts.map +0 -1
- package/dist/types/arch/svm/types.d.ts.map +0 -1
- package/dist/types/arch/svm/utils.d.ts +0 -64
- package/dist/types/arch/svm/utils.d.ts.map +0 -1
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +0 -67
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +0 -1
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts +0 -34
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts.map +0 -1
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts +0 -31
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts.map +0 -1
- package/dist/types/gasPriceOracle/adapters/solana.d.ts +0 -9
- package/dist/types/gasPriceOracle/adapters/solana.d.ts.map +0 -1
- package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts +0 -6
- package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts.map +0 -1
- package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +0 -6
- package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts.map +0 -1
- package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts +0 -14
- package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts.map +0 -1
- package/dist/types/providers/mocks/index.d.ts +0 -5
- package/dist/types/providers/mocks/index.d.ts.map +0 -1
- package/dist/types/providers/mocks/mockEthersProvider.d.ts.map +0 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +0 -85
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +0 -1
- package/dist/types/utils/BlockFinder.d.ts +0 -23
- package/dist/types/utils/BlockFinder.d.ts.map +0 -1
- package/src/arch/evm/BlockUtils.ts +0 -209
- package/src/arch/svm/SpokeUtils.ts +0 -596
- package/src/arch/svm/constants.ts +0 -2
- package/src/arch/svm/eventsClient.ts +0 -342
- package/src/arch/svm/utils.ts +0 -233
- package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +0 -268
- package/src/clients/mocks/MockSvmCpiEventsClient.ts +0 -226
- package/src/clients/mocks/MockSvmSpokePoolClient.ts +0 -119
- package/src/gasPriceOracle/adapters/solana.ts +0 -45
- package/src/providers/mocks/MockCachedSolanaRpcFactory.ts +0 -15
- package/src/providers/mocks/MockRateLimitedSolanaRpcFactory.ts +0 -14
- package/src/providers/mocks/MockSolanaRpcFactory.ts +0 -55
- package/src/providers/mocks/index.ts +0 -4
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +0 -225
- package/src/utils/BlockFinder.ts +0 -26
- /package/dist/cjs/providers/{mocks/mockEthersProvider.d.ts → mockProvider.d.ts} +0 -0
- /package/dist/cjs/{arch/svm → svm}/types.js +0 -0
- /package/dist/esm/providers/{mocks/mockEthersProvider.d.ts → mockProvider.d.ts} +0 -0
- /package/dist/esm/{arch/svm → svm}/types.js +0 -0
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { providers } from "ethers";
|
|
3
|
-
import { Address as V2Address } from "@solana/kit";
|
|
4
2
|
import { BigNumber } from "./";
|
|
5
3
|
/**
|
|
6
4
|
* Checks if a contract is deployed at the given address
|
|
@@ -21,7 +19,7 @@ export declare function isValidEvmAddress(address: string): boolean;
|
|
|
21
19
|
* @returns a child `Address` type most fitting for the chain ID.
|
|
22
20
|
* @todo: Change this to `toAddress` once we remove the other `toAddress` function.
|
|
23
21
|
*/
|
|
24
|
-
export declare function toAddressType(address: string): Address | EvmAddress | SvmAddress;
|
|
22
|
+
export declare function toAddressType(address: string, chainId: number): Address | EvmAddress | SvmAddress;
|
|
25
23
|
export declare class Address {
|
|
26
24
|
readonly rawAddress: Uint8Array;
|
|
27
25
|
evmAddress: string | undefined;
|
|
@@ -34,28 +32,24 @@ export declare class Address {
|
|
|
34
32
|
toBigNumber(): BigNumber;
|
|
35
33
|
toEvmAddress(): string;
|
|
36
34
|
toAddress(): string;
|
|
37
|
-
toBuffer(): Buffer;
|
|
38
35
|
toHexString(): string;
|
|
39
36
|
isValidEvmAddress(): boolean;
|
|
40
37
|
isValidOn(chainId: number): boolean;
|
|
41
38
|
static isAddress(obj: unknown): boolean;
|
|
42
39
|
toString(): string;
|
|
43
40
|
isZeroAddress(): boolean;
|
|
44
|
-
forceSvmAddress(): SvmAddress;
|
|
45
|
-
forceEvmAddress(): EvmAddress;
|
|
46
41
|
eq(other: Address): boolean;
|
|
47
42
|
compare(otherAddress: Address): 1 | -1 | 0;
|
|
48
43
|
}
|
|
49
44
|
export declare class EvmAddress extends Address {
|
|
50
45
|
constructor(rawAddress: Uint8Array);
|
|
51
46
|
toAddress(): string;
|
|
52
|
-
static from(
|
|
47
|
+
static from(hexString: string): EvmAddress;
|
|
53
48
|
}
|
|
54
49
|
export declare class SvmAddress extends Address {
|
|
55
50
|
constructor(rawAddress: Uint8Array);
|
|
56
51
|
toAddress(): string;
|
|
57
|
-
toV2Address(): V2Address<string>;
|
|
58
52
|
toEvmAddress(): string;
|
|
59
|
-
static from(
|
|
53
|
+
static from(bs58Address: string): SvmAddress;
|
|
60
54
|
}
|
|
61
55
|
//# sourceMappingURL=AddressUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddressUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAc,MAAM,IAAI,CAAC;AAE3C;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CASjH;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAY/E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAKpF;AAKD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAGD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAc1D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAWjG;AAID,qBAAa,OAAO;IAClB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAGhC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAa;IAC3C,cAAc,EAAE,MAAM,GAAG,SAAS,CAAa;IAC/C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAa;IAC3C,SAAS,EAAE,SAAS,GAAG,SAAS,CAAa;gBAEjC,WAAW,EAAE,UAAU;IAanC,SAAS,IAAI,MAAM;IAMnB,QAAQ,IAAI,MAAM;IAKlB,WAAW,IAAI,SAAS;IAMxB,YAAY,IAAI,MAAM;IAWtB,SAAS,IAAI,MAAM;IAKnB,WAAW,IAAI,MAAM;IAKrB,iBAAiB,IAAI,OAAO;IAU5B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IASnC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAKvC,QAAQ,IAAI,MAAM;IAKlB,aAAa,IAAI,OAAO;IAKxB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAK3B,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;CAa3C;AAGD,qBAAa,UAAW,SAAQ,OAAO;gBAEzB,UAAU,EAAE,UAAU;IASzB,SAAS,IAAI,MAAM;IAK5B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;CAG3C;AAGD,qBAAa,UAAW,SAAQ,OAAO;gBAEzB,UAAU,EAAE,UAAU;IAMzB,SAAS,IAAI,MAAM;IAInB,YAAY,IAAI,MAAM;IAK/B,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU;CAG7C"}
|
|
@@ -96,10 +96,4 @@ export declare function includesAsync<T>(array: T[], predicate: (value: T, index
|
|
|
96
96
|
* @note This function uses Array.prototype.every.
|
|
97
97
|
*/
|
|
98
98
|
export declare function isArrayOf<T>(array: unknown, predicate: (value: unknown) => value is T): array is T[];
|
|
99
|
-
/**
|
|
100
|
-
* Checks if a value is a Uint8Array.
|
|
101
|
-
* @param value The value to check.
|
|
102
|
-
* @returns True if the value is a Uint8Array, false otherwise.
|
|
103
|
-
*/
|
|
104
|
-
export declare function isUint8Array(value: unknown): value is Uint8Array;
|
|
105
99
|
//# sourceMappingURL=ArrayUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAQ7D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,GAAG,MAAM,CAO9G;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS,CAGhH;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GACjE,OAAO,CAAC,CAAC,EAAE,CAAC,CAGd;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAElH;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,CAAC,EACpC,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,EACxF,YAAY,EAAE,CAAC,GACd,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GACjE,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GACjE,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GACjE,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAEpG
|
|
1
|
+
{"version":3,"file":"ArrayUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/ArrayUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,38 @@
|
|
|
1
|
+
import type { Block, Provider } from "@ethersproject/abstract-provider";
|
|
1
2
|
import { CachingMechanismInterface } from "../interfaces";
|
|
2
|
-
|
|
3
|
+
type Opts = {
|
|
4
|
+
highBlock?: number;
|
|
5
|
+
highBlockOffset?: number;
|
|
6
|
+
blockRange?: number;
|
|
7
|
+
};
|
|
8
|
+
type BlockTimeAverage = {
|
|
9
|
+
average: number;
|
|
10
|
+
blockRange: number;
|
|
11
|
+
timestamp: number;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* @description Compute the average block time over a block range.
|
|
15
|
+
* @returns Average number of seconds per block.
|
|
16
|
+
*/
|
|
17
|
+
export declare function averageBlockTime(provider: Provider, { highBlock, highBlockOffset, blockRange }?: Opts): Promise<Pick<BlockTimeAverage, "average" | "blockRange">>;
|
|
18
|
+
export type BlockFinderHints = {
|
|
19
|
+
lowBlock?: number;
|
|
20
|
+
highBlock?: number;
|
|
21
|
+
};
|
|
22
|
+
export declare class BlockFinder {
|
|
23
|
+
private readonly provider;
|
|
24
|
+
private readonly blocks;
|
|
25
|
+
constructor(provider: Provider, blocks?: Block[]);
|
|
26
|
+
/**
|
|
27
|
+
* @notice Gets the latest block whose timestamp is <= the provided timestamp.
|
|
28
|
+
* @param number Timestamp timestamp to search.
|
|
29
|
+
* @param hints Optional low and high block to bound the search space.
|
|
30
|
+
*/
|
|
31
|
+
getBlockForTimestamp(timestamp: number | string, hints?: BlockFinderHints): Promise<Block>;
|
|
32
|
+
private getLatestBlock;
|
|
33
|
+
private getBlock;
|
|
34
|
+
private findBlock;
|
|
35
|
+
}
|
|
3
36
|
/**
|
|
4
37
|
* @notice Get the block number for a given timestamp fresh from on-chain data if not found in redis cache.
|
|
5
38
|
* If redis cache is not available, then requests block from blockFinder.
|
|
@@ -9,5 +42,6 @@ import { BlockFinderHints, BlockFinder, Block } from "./BlockFinder";
|
|
|
9
42
|
* or loading from cache. This is useful for testing primarily.
|
|
10
43
|
* @returns Block number for the requested timestamp.
|
|
11
44
|
*/
|
|
12
|
-
export declare function getCachedBlockForTimestamp
|
|
45
|
+
export declare function getCachedBlockForTimestamp(chainId: number, timestamp: number, blockFinder: BlockFinder, cache?: CachingMechanismInterface, hints?: BlockFinderHints): Promise<number>;
|
|
46
|
+
export {};
|
|
13
47
|
//# sourceMappingURL=BlockUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/BlockUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BlockUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/BlockUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAKxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAI1D,KAAK,IAAI,GAAG;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAuBF;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,EAClB,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,GAAE,IAAS,GACpD,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC,CAqC3D;AAQD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,QAAQ,EAAE,QAAQ,EAClB,MAAM,GAAE,KAAK,EAAO;IAGvC;;;;OAIG;IACU,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,CAAC;YA+C7F,cAAc;YAQd,QAAQ;YAiBR,SAAS;CAgCxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,KAAK,CAAC,EAAE,yBAAyB,EACjC,KAAK,CAAC,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAkCjB"}
|
|
@@ -5,9 +5,9 @@ export declare function spreadEvent(args: Result | Record<string, unknown>): {
|
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
};
|
|
7
7
|
export interface EventSearchConfig {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
fromBlock: number;
|
|
9
|
+
toBlock: number;
|
|
10
|
+
maxBlockLookBack?: number;
|
|
11
11
|
}
|
|
12
12
|
export declare const eventToLog: (event: Event) => Log;
|
|
13
13
|
export declare function paginatedEventQuery(contract: Contract, filter: EventFilter, searchConfig: EventSearchConfig, retryCount?: number): Promise<Log[]>;
|
|
@@ -25,7 +25,7 @@ export declare function paginatedEventQuery(contract: Contract, filter: EventFil
|
|
|
25
25
|
* input range, but can include blocks outside of the desired range, so results should be filtered. Results
|
|
26
26
|
* are ordered from smallest to largest.
|
|
27
27
|
*/
|
|
28
|
-
export declare function getPaginatedBlockRanges({
|
|
28
|
+
export declare function getPaginatedBlockRanges({ fromBlock, toBlock, maxBlockLookBack, }: EventSearchConfig): [number, number][];
|
|
29
29
|
export declare function logToSortableEvent(log: Log): SortableEvent;
|
|
30
30
|
export declare function spreadEventWithBlockNumber(event: Log): SortableEvent;
|
|
31
31
|
type PartialSortableEvent = Pick<SortableEvent, "blockNumber" | "logIndex">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAwBnD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAuE1F;AAED,MAAM,WAAW,iBAAiB;IAChC,
|
|
1
|
+
{"version":3,"file":"EventUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAwBnD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAuE1F;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,UAAU,UAAW,KAAK,KAAG,GAA0E,CAAC;AAErH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,iBAAiB,EAC/B,UAAU,SAAI,GACb,OAAO,CAAC,GAAG,EAAE,CAAC,CAgChB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,OAAO,EACP,gBAAgB,GACjB,EAAE,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAuCxC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAO1D;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,GAAG,aAAa,CAKpE;AAED,KAAK,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,UAAU,CAAC,CAAC;AAG5E,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,oBAAoB,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAEpF;AAID,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,oBAAoB,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAI3F;AAGD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,oBAAoB,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAErF;AAID,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,oBAAoB,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAI5F;AAGD,wBAAgB,YAAY,CAAC,CAAC,SAAS,oBAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAElF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAEpE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAE1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/JSONUtils.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAWlF;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"JSONUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/JSONUtils.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAWlF;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAOnE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAoBhF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAU/E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAE7E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,SAAS,CAepF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAgCzF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQ/D;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@across-protocol/sdk",
|
|
3
3
|
"author": "UMA Team",
|
|
4
|
-
"version": "4.1.
|
|
4
|
+
"version": "4.1.64-alpha.0",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"homepage": "https://docs.across.to/reference/sdk",
|
|
7
7
|
"files": [
|
|
@@ -111,8 +111,6 @@
|
|
|
111
111
|
"@ethersproject/bignumber": "^5.7.0",
|
|
112
112
|
"@pinata/sdk": "^2.1.0",
|
|
113
113
|
"@solana/kit": "^2.1.0",
|
|
114
|
-
"@solana-program/system": "^0.7.0",
|
|
115
|
-
"@solana-program/token-2022": "^0.4.0",
|
|
116
114
|
"@solana/web3.js": "^1.31.0",
|
|
117
115
|
"@types/mocha": "^10.0.1",
|
|
118
116
|
"@uma/sdk": "^0.34.10",
|
|
@@ -160,7 +160,7 @@ export async function findDepositBlock(
|
|
|
160
160
|
export async function relayFillStatus(
|
|
161
161
|
spokePool: Contract,
|
|
162
162
|
relayData: RelayData,
|
|
163
|
-
blockTag
|
|
163
|
+
blockTag?: number | "latest",
|
|
164
164
|
destinationChainId?: number
|
|
165
165
|
): Promise<FillStatus> {
|
|
166
166
|
destinationChainId ??= await spokePool.chainId();
|
|
@@ -290,20 +290,20 @@ export async function findFillEvent(
|
|
|
290
290
|
if (!blockNumber) return undefined;
|
|
291
291
|
|
|
292
292
|
// We can hardcode this to 0 to instruct paginatedEventQuery to make a single request for the same block number.
|
|
293
|
-
const
|
|
294
|
-
const [
|
|
293
|
+
const maxBlockLookBack = 0;
|
|
294
|
+
const [fromBlock, toBlock] = [blockNumber, blockNumber];
|
|
295
295
|
|
|
296
296
|
const query = (
|
|
297
297
|
await Promise.all([
|
|
298
298
|
paginatedEventQuery(
|
|
299
299
|
spokePool,
|
|
300
300
|
spokePool.filters.FilledRelay(null, null, null, null, null, relayData.originChainId, relayData.depositId),
|
|
301
|
-
{
|
|
301
|
+
{ fromBlock, toBlock, maxBlockLookBack }
|
|
302
302
|
),
|
|
303
303
|
paginatedEventQuery(
|
|
304
304
|
spokePool,
|
|
305
305
|
spokePool.filters.FilledV3Relay(null, null, null, null, null, relayData.originChainId, relayData.depositId),
|
|
306
|
-
{
|
|
306
|
+
{ fromBlock, toBlock, maxBlockLookBack }
|
|
307
307
|
),
|
|
308
308
|
])
|
|
309
309
|
).flat();
|
package/src/arch/evm/index.ts
CHANGED
package/src/arch/svm/index.ts
CHANGED
|
@@ -98,12 +98,12 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
98
98
|
constructor(
|
|
99
99
|
readonly logger: winston.Logger,
|
|
100
100
|
readonly configStore: Contract,
|
|
101
|
-
eventSearchConfig: MakeOptional<EventSearchConfig, "
|
|
101
|
+
eventSearchConfig: MakeOptional<EventSearchConfig, "toBlock"> = { fromBlock: 0, maxBlockLookBack: 0 },
|
|
102
102
|
readonly configStoreVersion: number
|
|
103
103
|
) {
|
|
104
104
|
super(eventSearchConfig);
|
|
105
|
-
this.
|
|
106
|
-
this.
|
|
105
|
+
this.firstBlockToSearch = eventSearchConfig.fromBlock;
|
|
106
|
+
this.latestBlockSearched = 0;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
getRateModelForBlockNumber(
|
|
@@ -355,7 +355,7 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
355
355
|
return {
|
|
356
356
|
success: true,
|
|
357
357
|
chainId,
|
|
358
|
-
searchEndBlock: searchConfig.
|
|
358
|
+
searchEndBlock: searchConfig.toBlock,
|
|
359
359
|
events: {
|
|
360
360
|
updatedTokenConfigEvents: updatedTokenConfigSortableEvents,
|
|
361
361
|
updatedGlobalConfigEvents: updatedGlobalConfigSortableEvents,
|
|
@@ -550,9 +550,9 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
550
550
|
}
|
|
551
551
|
|
|
552
552
|
this.hasLatestConfigStoreVersion = this.hasValidConfigStoreVersionForTimestamp();
|
|
553
|
-
this.
|
|
554
|
-
this.
|
|
555
|
-
this.eventSearchConfig.
|
|
553
|
+
this.latestBlockSearched = result.searchEndBlock;
|
|
554
|
+
this.firstBlockToSearch = result.searchEndBlock + 1; // Next iteration should start off from where this one ended.
|
|
555
|
+
this.eventSearchConfig.toBlock = undefined; // Caller can re-set on subsequent updates if necessary
|
|
556
556
|
this.chainId = this.chainId ?? chainId; // Update on the first run only.
|
|
557
557
|
this.isUpdated = true;
|
|
558
558
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { providers } from "ethers";
|
|
2
2
|
import { CachingMechanismInterface } from "../interfaces";
|
|
3
3
|
import { EventSearchConfig, isDefined, MakeOptional } from "../utils";
|
|
4
|
-
import { SVMProvider } from "../arch/svm";
|
|
5
4
|
|
|
6
5
|
export enum UpdateFailureReason {
|
|
7
6
|
NotReady,
|
|
@@ -19,15 +18,15 @@ export function isUpdateFailureReason(x: EventSearchConfig | UpdateFailureReason
|
|
|
19
18
|
*/
|
|
20
19
|
export abstract class BaseAbstractClient {
|
|
21
20
|
protected _isUpdated: boolean;
|
|
22
|
-
public
|
|
23
|
-
public
|
|
21
|
+
public firstBlockToSearch = 0;
|
|
22
|
+
public latestBlockSearched = 0;
|
|
24
23
|
|
|
25
24
|
/**
|
|
26
25
|
* Creates a new client.
|
|
27
26
|
* @param cachingMechanism The caching mechanism to use for this client. If not provided, the client will not rely on an external cache.
|
|
28
27
|
*/
|
|
29
28
|
constructor(
|
|
30
|
-
readonly eventSearchConfig: MakeOptional<EventSearchConfig, "
|
|
29
|
+
readonly eventSearchConfig: MakeOptional<EventSearchConfig, "toBlock"> = { fromBlock: 0, maxBlockLookBack: 0 },
|
|
31
30
|
protected cachingMechanism?: CachingMechanismInterface
|
|
32
31
|
) {
|
|
33
32
|
this._isUpdated = false;
|
|
@@ -59,28 +58,22 @@ export abstract class BaseAbstractClient {
|
|
|
59
58
|
* @provider Ethers RPC provider instance.
|
|
60
59
|
* @returns An EventSearchConfig instance if valid, otherwise an UpdateFailureReason.
|
|
61
60
|
*/
|
|
62
|
-
public async updateSearchConfig(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (from > to) {
|
|
69
|
-
throw new Error(`Invalid event search config from (${from}) > to (${to})`);
|
|
61
|
+
public async updateSearchConfig(provider: providers.Provider): Promise<EventSearchConfig | UpdateFailureReason> {
|
|
62
|
+
const fromBlock = this.firstBlockToSearch;
|
|
63
|
+
let { toBlock } = this.eventSearchConfig;
|
|
64
|
+
if (isDefined(toBlock)) {
|
|
65
|
+
if (fromBlock > toBlock) {
|
|
66
|
+
throw new Error(`Invalid event search config fromBlock (${fromBlock}) > toBlock (${toBlock})`);
|
|
70
67
|
}
|
|
71
68
|
} else {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
} else {
|
|
75
|
-
to = Number(await provider.getSlot({ commitment: "confirmed" }).send());
|
|
76
|
-
}
|
|
77
|
-
if (to < from) {
|
|
69
|
+
toBlock = await provider.getBlockNumber();
|
|
70
|
+
if (toBlock < fromBlock) {
|
|
78
71
|
return UpdateFailureReason.AlreadyUpdated;
|
|
79
72
|
}
|
|
80
73
|
}
|
|
81
74
|
|
|
82
|
-
const {
|
|
83
|
-
return {
|
|
75
|
+
const { maxBlockLookBack } = this.eventSearchConfig;
|
|
76
|
+
return { fromBlock, toBlock, maxBlockLookBack };
|
|
84
77
|
}
|
|
85
78
|
|
|
86
79
|
/**
|
|
@@ -20,8 +20,7 @@ import {
|
|
|
20
20
|
DepositWithBlock,
|
|
21
21
|
} from "../../interfaces";
|
|
22
22
|
import { SpokePoolClient } from "..";
|
|
23
|
-
import { findFillEvent
|
|
24
|
-
import { findFillEvent as findSvmFillEvent } from "../../arch/svm";
|
|
23
|
+
import { findFillEvent } from "../../arch/evm";
|
|
25
24
|
import {
|
|
26
25
|
BigNumber,
|
|
27
26
|
bnZero,
|
|
@@ -57,7 +56,7 @@ import {
|
|
|
57
56
|
V3FillWithBlock,
|
|
58
57
|
verifyFillRepayment,
|
|
59
58
|
} from "./utils";
|
|
60
|
-
import { isEVMSpokePoolClient
|
|
59
|
+
import { isEVMSpokePoolClient } from "../SpokePoolClient";
|
|
61
60
|
|
|
62
61
|
// max(uint256) - 1
|
|
63
62
|
export const INFINITE_FILL_DEADLINE = bnUint32Max;
|
|
@@ -371,7 +370,7 @@ export class BundleDataClient {
|
|
|
371
370
|
}
|
|
372
371
|
|
|
373
372
|
const bundle = this.clients.hubPoolClient.getLatestFullyExecutedRootBundle(
|
|
374
|
-
this.clients.hubPoolClient.
|
|
373
|
+
this.clients.hubPoolClient.latestBlockSearched
|
|
375
374
|
);
|
|
376
375
|
if (bundle !== undefined) {
|
|
377
376
|
refunds.push(await this.getPendingRefundsFromBundle(bundle));
|
|
@@ -384,7 +383,7 @@ export class BundleDataClient {
|
|
|
384
383
|
async getPendingRefundsFromBundle(bundle: ProposedRootBundle): Promise<CombinedRefunds> {
|
|
385
384
|
const nextBundleMainnetStartBlock = this.clients.hubPoolClient.getNextBundleStartBlockNumber(
|
|
386
385
|
this.chainIdListForBundleEvaluationBlockNumbers,
|
|
387
|
-
this.clients.hubPoolClient.
|
|
386
|
+
this.clients.hubPoolClient.latestBlockSearched,
|
|
388
387
|
this.clients.hubPoolClient.chainId
|
|
389
388
|
);
|
|
390
389
|
const chainIds = this.clients.configStoreClient.getChainIdIndicesForBlock(nextBundleMainnetStartBlock);
|
|
@@ -518,7 +517,7 @@ export class BundleDataClient {
|
|
|
518
517
|
const hubPoolClient = this.clients.hubPoolClient;
|
|
519
518
|
const nextBundleMainnetStartBlock = hubPoolClient.getNextBundleStartBlockNumber(
|
|
520
519
|
this.chainIdListForBundleEvaluationBlockNumbers,
|
|
521
|
-
hubPoolClient.
|
|
520
|
+
hubPoolClient.latestBlockSearched,
|
|
522
521
|
hubPoolClient.chainId
|
|
523
522
|
);
|
|
524
523
|
const chainIds = this.clients.configStoreClient.getChainIdIndicesForBlock(nextBundleMainnetStartBlock);
|
|
@@ -531,8 +530,8 @@ export class BundleDataClient {
|
|
|
531
530
|
this.spokePoolClients,
|
|
532
531
|
getEndBlockBuffers(chainIds, this.blockRangeEndBlockBuffer),
|
|
533
532
|
this.clients,
|
|
534
|
-
this.clients.hubPoolClient.
|
|
535
|
-
this.clients.configStoreClient.getEnabledChains(this.clients.hubPoolClient.
|
|
533
|
+
this.clients.hubPoolClient.latestBlockSearched,
|
|
534
|
+
this.clients.configStoreClient.getEnabledChains(this.clients.hubPoolClient.latestBlockSearched)
|
|
536
535
|
);
|
|
537
536
|
// Return block ranges for blocks after _pendingBlockRanges and up to widestBlockRanges.
|
|
538
537
|
// If a chain is disabled or doesn't have a spoke pool client, return a range of 0
|
|
@@ -800,7 +799,7 @@ export class BundleDataClient {
|
|
|
800
799
|
// hasn't queried. This is because this function will usually be called
|
|
801
800
|
// in production with block ranges that were validated by
|
|
802
801
|
// DataworkerUtils.blockRangesAreInvalidForSpokeClients.
|
|
803
|
-
Math.min(queryBlock, spokePoolClients[deposit.destinationChainId].
|
|
802
|
+
Math.min(queryBlock, spokePoolClients[deposit.destinationChainId].latestBlockSearched)
|
|
804
803
|
);
|
|
805
804
|
};
|
|
806
805
|
|
|
@@ -1617,24 +1616,16 @@ export class BundleDataClient {
|
|
|
1617
1616
|
deposit: DepositWithBlock,
|
|
1618
1617
|
spokePoolClient: SpokePoolClient
|
|
1619
1618
|
): Promise<FillWithBlock | undefined> {
|
|
1620
|
-
if (
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
spokePoolClient.chainId,
|
|
1624
|
-
spokePoolClient.svmEventsClient,
|
|
1625
|
-
spokePoolClient.deploymentBlock,
|
|
1626
|
-
spokePoolClient.latestHeightSearched
|
|
1627
|
-
);
|
|
1628
|
-
} else if (isEVMSpokePoolClient(spokePoolClient)) {
|
|
1629
|
-
return await findEvmFillEvent(
|
|
1630
|
-
spokePoolClient.spokePool,
|
|
1631
|
-
deposit,
|
|
1632
|
-
spokePoolClient.deploymentBlock,
|
|
1633
|
-
spokePoolClient.latestHeightSearched
|
|
1634
|
-
);
|
|
1635
|
-
} else {
|
|
1636
|
-
throw new Error("Unsupported spoke pool client type");
|
|
1619
|
+
if (!isEVMSpokePoolClient(spokePoolClient)) {
|
|
1620
|
+
// FIXME: Handle non-EVM chains.
|
|
1621
|
+
throw new Error("Destination chain is not an EVM chain.");
|
|
1637
1622
|
}
|
|
1623
|
+
return await findFillEvent(
|
|
1624
|
+
spokePoolClient.spokePool,
|
|
1625
|
+
deposit,
|
|
1626
|
+
spokePoolClient.deploymentBlock,
|
|
1627
|
+
spokePoolClient.latestBlockSearched
|
|
1628
|
+
);
|
|
1638
1629
|
}
|
|
1639
1630
|
|
|
1640
1631
|
async getBundleBlockTimestamps(
|
|
@@ -1661,13 +1652,13 @@ export class BundleDataClient {
|
|
|
1661
1652
|
// contain blocks where the spoke pool client hasn't queried. This is because this function
|
|
1662
1653
|
// will usually be called in production with block ranges that were validated by
|
|
1663
1654
|
// DataworkerUtils.blockRangesAreInvalidForSpokeClients.
|
|
1664
|
-
const startBlockForChain = Math.min(_startBlockForChain, spokePoolClient.
|
|
1655
|
+
const startBlockForChain = Math.min(_startBlockForChain, spokePoolClient.latestBlockSearched);
|
|
1665
1656
|
// @dev Add 1 to the bundle end block. The thinking here is that there can be a gap between
|
|
1666
1657
|
// block timestamps in subsequent blocks. The bundle data client assumes that fill deadlines expire
|
|
1667
1658
|
// in exactly one bundle, therefore we must make sure that the bundle block timestamp for one bundle's
|
|
1668
1659
|
// end block is exactly equal to the bundle block timestamp for the next bundle's start block. This way
|
|
1669
1660
|
// there are no gaps in block timestamps between bundles.
|
|
1670
|
-
const endBlockForChain = Math.min(_endBlockForChain + 1, spokePoolClient.
|
|
1661
|
+
const endBlockForChain = Math.min(_endBlockForChain + 1, spokePoolClient.latestBlockSearched);
|
|
1671
1662
|
const [startTime, _endTime] = [
|
|
1672
1663
|
await spokePoolClient.getTimestampForBlock(startBlockForChain),
|
|
1673
1664
|
await spokePoolClient.getTimestampForBlock(endBlockForChain),
|
|
@@ -32,7 +32,7 @@ export function getWidestPossibleExpectedBlockRange(
|
|
|
32
32
|
// filled during the challenge period.
|
|
33
33
|
const latestPossibleBundleEndBlockNumbers = chainIdListForBundleEvaluationBlockNumbers.map(
|
|
34
34
|
(chainId: number, index) =>
|
|
35
|
-
spokeClients[chainId] && Math.max(spokeClients[chainId].
|
|
35
|
+
spokeClients[chainId] && Math.max(spokeClients[chainId].latestBlockSearched - endBlockBuffers[index], 0)
|
|
36
36
|
);
|
|
37
37
|
return chainIdListForBundleEvaluationBlockNumbers.map((chainId: number, index) => {
|
|
38
38
|
const lastEndBlockForChain = clients.hubPoolClient.getLatestBundleEndBlockForChain(
|
|
@@ -22,9 +22,9 @@ import {
|
|
|
22
22
|
TokenRunningBalance,
|
|
23
23
|
} from "../interfaces";
|
|
24
24
|
import * as lpFeeCalculator from "../lpFeeCalculator";
|
|
25
|
-
import { EVMBlockFinder } from "../arch/evm";
|
|
26
25
|
import {
|
|
27
26
|
BigNumber,
|
|
27
|
+
BlockFinder,
|
|
28
28
|
bnZero,
|
|
29
29
|
dedupArray,
|
|
30
30
|
EventSearchConfig,
|
|
@@ -97,7 +97,7 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
97
97
|
protected pendingRootBundle: PendingRootBundle | undefined;
|
|
98
98
|
|
|
99
99
|
public currentTime: number | undefined;
|
|
100
|
-
public readonly blockFinder:
|
|
100
|
+
public readonly blockFinder: BlockFinder;
|
|
101
101
|
|
|
102
102
|
constructor(
|
|
103
103
|
readonly logger: winston.Logger,
|
|
@@ -105,7 +105,7 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
105
105
|
public configStoreClient: ConfigStoreClient,
|
|
106
106
|
public deploymentBlock = 0,
|
|
107
107
|
readonly chainId: number = 1,
|
|
108
|
-
eventSearchConfig: MakeOptional<EventSearchConfig, "
|
|
108
|
+
eventSearchConfig: MakeOptional<EventSearchConfig, "toBlock"> = { fromBlock: 0, maxBlockLookBack: 0 },
|
|
109
109
|
protected readonly configOverride: {
|
|
110
110
|
ignoredHubExecutedBundles: number[];
|
|
111
111
|
ignoredHubProposedBundles: number[];
|
|
@@ -117,11 +117,11 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
117
117
|
cachingMechanism?: CachingMechanismInterface
|
|
118
118
|
) {
|
|
119
119
|
super(eventSearchConfig, cachingMechanism);
|
|
120
|
-
this.
|
|
121
|
-
this.
|
|
120
|
+
this.latestBlockSearched = Math.min(deploymentBlock - 1, 0);
|
|
121
|
+
this.firstBlockToSearch = eventSearchConfig.fromBlock;
|
|
122
122
|
|
|
123
123
|
const provider = this.hubPool.provider;
|
|
124
|
-
this.blockFinder = new
|
|
124
|
+
this.blockFinder = new BlockFinder(provider);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
protected hubPoolEventFilters(): Record<HubPoolEvent, EventFilter> {
|
|
@@ -254,7 +254,7 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
254
254
|
return l2Token !== undefined;
|
|
255
255
|
}
|
|
256
256
|
|
|
257
|
-
l2TokenHasPoolRebalanceRoute(l2Token: string, l2ChainId: number, hubPoolBlock = this.
|
|
257
|
+
l2TokenHasPoolRebalanceRoute(l2Token: string, l2ChainId: number, hubPoolBlock = this.latestBlockSearched): boolean {
|
|
258
258
|
return Object.values(this.l1TokensToDestinationTokensWithBlock).some((destinationTokenMapping) => {
|
|
259
259
|
return Object.entries(destinationTokenMapping).some(([_l2ChainId, setPoolRebalanceRouteEvents]) => {
|
|
260
260
|
return setPoolRebalanceRouteEvents.some((e) => {
|
|
@@ -312,7 +312,7 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
312
312
|
}
|
|
313
313
|
|
|
314
314
|
async getCurrentPoolUtilization(l1Token: string): Promise<BigNumber> {
|
|
315
|
-
const blockNumber = this.
|
|
315
|
+
const blockNumber = this.latestBlockSearched ?? (await this.hubPool.provider.getBlockNumber());
|
|
316
316
|
return await this.getUtilization(l1Token, blockNumber, bnZero, getCurrentTime(), 0);
|
|
317
317
|
}
|
|
318
318
|
|
|
@@ -523,7 +523,7 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
523
523
|
chainIdA: number,
|
|
524
524
|
tokenB: string,
|
|
525
525
|
chainIdB: number,
|
|
526
|
-
hubPoolBlock = this.
|
|
526
|
+
hubPoolBlock = this.latestBlockSearched
|
|
527
527
|
): boolean {
|
|
528
528
|
if (
|
|
529
529
|
!this.l2TokenHasPoolRebalanceRoute(tokenA, chainIdA, hubPoolBlock) ||
|
|
@@ -719,7 +719,7 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
719
719
|
if (n === 0) {
|
|
720
720
|
throw new Error("n cannot be 0");
|
|
721
721
|
}
|
|
722
|
-
if (!this.
|
|
722
|
+
if (!this.latestBlockSearched) {
|
|
723
723
|
throw new Error("HubPoolClient::getNthFullyExecutedRootBundle client not updated");
|
|
724
724
|
}
|
|
725
725
|
|
|
@@ -728,7 +728,7 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
728
728
|
// If n is negative, then return the Nth latest executed bundle, otherwise return the Nth earliest
|
|
729
729
|
// executed bundle.
|
|
730
730
|
if (n < 0) {
|
|
731
|
-
let nextLatestMainnetBlock = startBlock ?? this.
|
|
731
|
+
let nextLatestMainnetBlock = startBlock ?? this.latestBlockSearched;
|
|
732
732
|
for (let i = 0; i < Math.abs(n); i++) {
|
|
733
733
|
bundleToReturn = this.getLatestFullyExecutedRootBundle(nextLatestMainnetBlock);
|
|
734
734
|
const bundleBlockNumber = bundleToReturn ? bundleToReturn.blockNumber : 0;
|
|
@@ -740,12 +740,12 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
740
740
|
} else {
|
|
741
741
|
let nextStartBlock = startBlock ?? 0;
|
|
742
742
|
for (let i = 0; i < n; i++) {
|
|
743
|
-
bundleToReturn = this.getEarliestFullyExecutedRootBundle(this.
|
|
743
|
+
bundleToReturn = this.getEarliestFullyExecutedRootBundle(this.latestBlockSearched, nextStartBlock);
|
|
744
744
|
const bundleBlockNumber = bundleToReturn ? bundleToReturn.blockNumber : 0;
|
|
745
745
|
|
|
746
746
|
// Add 1 so that next `getEarliestFullyExecutedRootBundle` call filters out the root bundle we just found
|
|
747
747
|
// because its block number is < nextStartBlock.
|
|
748
|
-
nextStartBlock = Math.min(bundleBlockNumber + 1, this.
|
|
748
|
+
nextStartBlock = Math.min(bundleBlockNumber + 1, this.latestBlockSearched);
|
|
749
749
|
}
|
|
750
750
|
}
|
|
751
751
|
|
|
@@ -831,7 +831,7 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
831
831
|
// instantiation. However, certain events generally must be queried back to HubPool genesis.
|
|
832
832
|
const overrideEvents = ["CrossChainContractsSet", "L1TokenEnabledForLiquidityProvision", "SetPoolRebalanceRoute"];
|
|
833
833
|
if (overrideEvents.includes(eventName) && !this.isUpdated) {
|
|
834
|
-
_searchConfig.
|
|
834
|
+
_searchConfig.fromBlock = this.deploymentBlock;
|
|
835
835
|
}
|
|
836
836
|
|
|
837
837
|
return {
|
|
@@ -853,7 +853,7 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
853
853
|
const [multicallOutput, ...events] = await Promise.all([
|
|
854
854
|
hubPool.callStatic.multicall(
|
|
855
855
|
multicallFunctions.map((f) => hubPool.interface.encodeFunctionData(f)),
|
|
856
|
-
{ blockTag: searchConfig.
|
|
856
|
+
{ blockTag: searchConfig.toBlock }
|
|
857
857
|
),
|
|
858
858
|
...eventSearchConfigs.map((config) => paginatedEventQuery(hubPool, config.filter, config.searchConfig)),
|
|
859
859
|
]);
|
|
@@ -874,7 +874,7 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
874
874
|
success: true,
|
|
875
875
|
currentTime,
|
|
876
876
|
pendingRootBundleProposal,
|
|
877
|
-
searchEndBlock: searchConfig.
|
|
877
|
+
searchEndBlock: searchConfig.toBlock,
|
|
878
878
|
events: _events,
|
|
879
879
|
};
|
|
880
880
|
}
|
|
@@ -1087,9 +1087,9 @@ export class HubPoolClient extends BaseAbstractClient {
|
|
|
1087
1087
|
}
|
|
1088
1088
|
|
|
1089
1089
|
this.currentTime = currentTime;
|
|
1090
|
-
this.
|
|
1091
|
-
this.
|
|
1092
|
-
this.eventSearchConfig.
|
|
1090
|
+
this.latestBlockSearched = searchEndBlock;
|
|
1091
|
+
this.firstBlockToSearch = update.searchEndBlock + 1; // Next iteration should start off from where this one ended.
|
|
1092
|
+
this.eventSearchConfig.toBlock = undefined; // Caller can re-set on subsequent updates if necessary.
|
|
1093
1093
|
|
|
1094
1094
|
this.isUpdated = true;
|
|
1095
1095
|
this.logger.debug({ at: "HubPoolClient::update", message: "HubPool client updated!", searchEndBlock });
|