@across-protocol/sdk 4.1.63 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/arch/evm/BlockUtils.d.ts +15 -0
- package/dist/cjs/arch/evm/BlockUtils.js +218 -0
- package/dist/cjs/arch/evm/BlockUtils.js.map +1 -0
- package/dist/cjs/arch/evm/SpokeUtils.d.ts +1 -1
- package/dist/cjs/arch/evm/SpokeUtils.js +6 -5
- package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/evm/index.d.ts +1 -0
- package/dist/cjs/arch/evm/index.js +1 -0
- package/dist/cjs/arch/evm/index.js.map +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +20 -0
- package/dist/cjs/arch/svm/SpokeUtils.js +449 -0
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -0
- package/dist/cjs/arch/svm/constants.d.ts +2 -0
- package/dist/cjs/arch/svm/constants.js +7 -0
- package/dist/cjs/arch/svm/constants.js.map +1 -0
- package/dist/cjs/arch/svm/eventsClient.d.ts +26 -0
- package/dist/cjs/arch/svm/eventsClient.js +253 -0
- package/dist/cjs/arch/svm/eventsClient.js.map +1 -0
- package/dist/cjs/arch/svm/index.d.ts +5 -1
- package/dist/cjs/arch/svm/index.js +6 -2
- package/dist/cjs/arch/svm/index.js.map +1 -1
- package/dist/cjs/{svm → arch/svm}/types.d.ts +9 -4
- package/dist/cjs/arch/svm/types.js.map +1 -0
- package/dist/cjs/arch/svm/utils.d.ts +18 -0
- package/dist/cjs/arch/svm/utils.js +212 -0
- package/dist/cjs/arch/svm/utils.js.map +1 -0
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +7 -7
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/BaseAbstractClient.d.ts +6 -5
- package/dist/cjs/clients/BaseAbstractClient.js +30 -19
- package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +15 -11
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
- package/dist/cjs/clients/HubPoolClient.d.ts +4 -3
- package/dist/cjs/clients/HubPoolClient.js +18 -17
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +23 -20
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +23 -0
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +172 -0
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -0
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +5 -5
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +54 -57
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/index.d.ts +3 -0
- package/dist/cjs/clients/SpokePoolClient/index.js +8 -1
- package/dist/cjs/clients/SpokePoolClient/index.js.map +1 -1
- package/dist/cjs/clients/index.d.ts +1 -1
- package/dist/cjs/clients/index.js +2 -1
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/mocks/MockConfigStoreClient.d.ts +1 -1
- package/dist/cjs/clients/mocks/MockConfigStoreClient.js +2 -2
- package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +2 -2
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +7 -4
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.d.ts +33 -0
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js +184 -0
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.js.map +1 -0
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.d.ts +30 -0
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +90 -0
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -0
- package/dist/cjs/clients/mocks/index.d.ts +2 -0
- package/dist/cjs/clients/mocks/index.js +2 -0
- package/dist/cjs/clients/mocks/index.js.map +1 -1
- package/dist/cjs/constants.d.ts +1 -0
- package/dist/cjs/constants.js +2 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
- package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/ethereum.d.ts +4 -4
- package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/linea-viem.js +3 -2
- package/dist/cjs/gasPriceOracle/adapters/linea-viem.js.map +1 -1
- package/dist/cjs/gasPriceOracle/adapters/polygon.d.ts +3 -3
- package/dist/cjs/gasPriceOracle/adapters/solana.d.ts +4 -0
- package/dist/cjs/gasPriceOracle/adapters/solana.js +43 -0
- package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -0
- package/dist/cjs/gasPriceOracle/index.d.ts +1 -1
- package/dist/cjs/gasPriceOracle/oracle.d.ts +4 -3
- package/dist/cjs/gasPriceOracle/oracle.js +16 -9
- package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
- package/dist/cjs/gasPriceOracle/types.d.ts +6 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.js +1 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/SpokePool.d.ts +13 -0
- package/dist/cjs/interfaces/SpokePool.js.map +1 -1
- package/dist/cjs/providers/index.d.ts +1 -1
- package/dist/cjs/providers/index.js +1 -2
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.d.ts +5 -0
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +21 -0
- package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -0
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +5 -0
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +20 -0
- package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -0
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.d.ts +13 -0
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js +76 -0
- package/dist/cjs/providers/mocks/MockSolanaRpcFactory.js.map +1 -0
- package/dist/cjs/providers/mocks/index.d.ts +4 -0
- package/dist/cjs/providers/mocks/index.js +8 -0
- package/dist/cjs/providers/mocks/index.js.map +1 -0
- package/dist/cjs/providers/{mockProvider.js → mocks/mockEthersProvider.js} +2 -2
- package/dist/cjs/providers/mocks/mockEthersProvider.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +10 -8
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +8 -2
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/index.d.ts +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/index.js +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/index.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +37 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +171 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +2 -0
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +9 -3
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/utils/AddressUtils.d.ts +9 -3
- package/dist/cjs/utils/AddressUtils.js +36 -6
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/ArrayUtils.d.ts +1 -0
- package/dist/cjs/utils/ArrayUtils.js +6 -1
- package/dist/cjs/utils/ArrayUtils.js.map +1 -1
- package/dist/cjs/utils/BlockFinder.d.ts +22 -0
- package/dist/cjs/utils/BlockFinder.js +10 -0
- package/dist/cjs/utils/BlockFinder.js.map +1 -0
- package/dist/cjs/utils/BlockUtils.d.ts +2 -27
- package/dist/cjs/utils/BlockUtils.js +2 -208
- package/dist/cjs/utils/BlockUtils.js.map +1 -1
- package/dist/cjs/utils/EventUtils.d.ts +4 -4
- package/dist/cjs/utils/EventUtils.js +7 -4
- package/dist/cjs/utils/EventUtils.js.map +1 -1
- package/dist/cjs/utils/JSONUtils.js +3 -0
- package/dist/cjs/utils/JSONUtils.js.map +1 -1
- package/dist/cjs/utils/NumberUtils.d.ts +1 -0
- package/dist/cjs/utils/NumberUtils.js +7 -1
- package/dist/cjs/utils/NumberUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.js +5 -0
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/arch/evm/BlockUtils.d.ts +24 -0
- package/dist/esm/arch/evm/BlockUtils.js +250 -0
- package/dist/esm/arch/evm/BlockUtils.js.map +1 -0
- package/dist/esm/arch/evm/SpokeUtils.d.ts +1 -1
- package/dist/esm/arch/evm/SpokeUtils.js +6 -5
- package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/evm/index.d.ts +1 -0
- package/dist/esm/arch/evm/index.js +1 -0
- package/dist/esm/arch/evm/index.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +122 -0
- package/dist/esm/arch/svm/SpokeUtils.js +566 -0
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -0
- package/dist/esm/arch/svm/constants.d.ts +2 -0
- package/dist/esm/arch/svm/constants.js +3 -0
- package/dist/esm/arch/svm/constants.js.map +1 -0
- package/dist/esm/arch/svm/eventsClient.d.ts +87 -0
- package/dist/esm/arch/svm/eventsClient.js +316 -0
- package/dist/esm/arch/svm/eventsClient.js.map +1 -0
- package/dist/esm/arch/svm/index.d.ts +5 -1
- package/dist/esm/arch/svm/index.js +5 -1
- package/dist/esm/arch/svm/index.js.map +1 -1
- package/dist/esm/{svm → arch/svm}/types.d.ts +9 -4
- package/dist/esm/arch/svm/types.js.map +1 -0
- package/dist/esm/arch/svm/utils.d.ts +63 -0
- package/dist/esm/arch/svm/utils.js +258 -0
- package/dist/esm/arch/svm/utils.js.map +1 -0
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +7 -7
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/BaseAbstractClient.d.ts +6 -5
- package/dist/esm/clients/BaseAbstractClient.js +30 -19
- package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +17 -14
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
- package/dist/esm/clients/HubPoolClient.d.ts +4 -3
- package/dist/esm/clients/HubPoolClient.js +19 -18
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +23 -20
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +66 -0
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +225 -0
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -0
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +57 -59
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/index.d.ts +8 -0
- package/dist/esm/clients/SpokePoolClient/index.js +10 -0
- package/dist/esm/clients/SpokePoolClient/index.js.map +1 -1
- package/dist/esm/clients/index.d.ts +1 -1
- package/dist/esm/clients/index.js +1 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/mocks/MockConfigStoreClient.d.ts +1 -1
- package/dist/esm/clients/mocks/MockConfigStoreClient.js +2 -2
- package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.js +2 -2
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +8 -5
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.d.ts +33 -0
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js +183 -0
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.js.map +1 -0
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.d.ts +30 -0
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +89 -0
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -0
- package/dist/esm/clients/mocks/index.d.ts +2 -0
- package/dist/esm/clients/mocks/index.js +2 -0
- package/dist/esm/clients/mocks/index.js.map +1 -1
- package/dist/esm/constants.d.ts +1 -0
- package/dist/esm/constants.js +1 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
- package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/ethereum.d.ts +4 -4
- package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/linea-viem.js +3 -2
- package/dist/esm/gasPriceOracle/adapters/linea-viem.js.map +1 -1
- package/dist/esm/gasPriceOracle/adapters/polygon.d.ts +4 -4
- package/dist/esm/gasPriceOracle/adapters/polygon.js +1 -1
- package/dist/esm/gasPriceOracle/adapters/solana.d.ts +8 -0
- package/dist/esm/gasPriceOracle/adapters/solana.js +43 -0
- package/dist/esm/gasPriceOracle/adapters/solana.js.map +1 -0
- package/dist/esm/gasPriceOracle/index.d.ts +1 -1
- package/dist/esm/gasPriceOracle/oracle.d.ts +4 -3
- package/dist/esm/gasPriceOracle/oracle.js +18 -9
- package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
- package/dist/esm/gasPriceOracle/types.d.ts +6 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/SpokePool.d.ts +13 -0
- package/dist/esm/interfaces/SpokePool.js.map +1 -1
- package/dist/esm/providers/index.d.ts +1 -1
- package/dist/esm/providers/index.js +1 -2
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.d.ts +5 -0
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +19 -0
- package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -0
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +5 -0
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +18 -0
- package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -0
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.d.ts +13 -0
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.js +74 -0
- package/dist/esm/providers/mocks/MockSolanaRpcFactory.js.map +1 -0
- package/dist/esm/providers/mocks/index.d.ts +4 -0
- package/dist/esm/providers/mocks/index.js +5 -0
- package/dist/esm/providers/mocks/index.js.map +1 -0
- package/dist/esm/providers/{mockProvider.js → mocks/mockEthersProvider.js} +2 -2
- package/dist/esm/providers/mocks/mockEthersProvider.js.map +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +10 -8
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js +11 -5
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/index.d.ts +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/index.js +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/index.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +84 -0
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +216 -0
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -0
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +9 -4
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/AddressUtils.d.ts +9 -3
- package/dist/esm/utils/AddressUtils.js +41 -6
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/ArrayUtils.d.ts +6 -0
- package/dist/esm/utils/ArrayUtils.js +9 -0
- package/dist/esm/utils/ArrayUtils.js.map +1 -1
- package/dist/esm/utils/BlockFinder.d.ts +22 -0
- package/dist/esm/utils/BlockFinder.js +7 -0
- package/dist/esm/utils/BlockFinder.js.map +1 -0
- package/dist/esm/utils/BlockUtils.d.ts +2 -36
- package/dist/esm/utils/BlockUtils.js +2 -243
- package/dist/esm/utils/BlockUtils.js.map +1 -1
- package/dist/esm/utils/EventUtils.d.ts +4 -4
- package/dist/esm/utils/EventUtils.js +7 -4
- package/dist/esm/utils/EventUtils.js.map +1 -1
- package/dist/esm/utils/JSONUtils.js +3 -0
- package/dist/esm/utils/JSONUtils.js.map +1 -1
- package/dist/esm/utils/NumberUtils.d.ts +7 -0
- package/dist/esm/utils/NumberUtils.js +11 -0
- package/dist/esm/utils/NumberUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.js +5 -0
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/types/arch/evm/BlockUtils.d.ts +25 -0
- package/dist/types/arch/evm/BlockUtils.d.ts.map +1 -0
- package/dist/types/arch/evm/SpokeUtils.d.ts +1 -1
- package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/evm/index.d.ts +1 -0
- package/dist/types/arch/evm/index.d.ts.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +123 -0
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -0
- package/dist/types/arch/svm/constants.d.ts +3 -0
- package/dist/types/arch/svm/constants.d.ts.map +1 -0
- package/dist/types/arch/svm/eventsClient.d.ts +88 -0
- package/dist/types/arch/svm/eventsClient.d.ts.map +1 -0
- package/dist/types/arch/svm/index.d.ts +5 -1
- package/dist/types/arch/svm/index.d.ts.map +1 -1
- package/dist/types/{svm → arch/svm}/types.d.ts +9 -4
- package/dist/types/arch/svm/types.d.ts.map +1 -0
- package/dist/types/arch/svm/utils.d.ts +64 -0
- package/dist/types/arch/svm/utils.d.ts.map +1 -0
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +1 -1
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -1
- package/dist/types/clients/BaseAbstractClient.d.ts +6 -5
- package/dist/types/clients/BaseAbstractClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +114 -114
- package/dist/types/clients/HubPoolClient.d.ts +4 -3
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -3
- package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +67 -0
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -0
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +7 -7
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/index.d.ts +8 -0
- package/dist/types/clients/SpokePoolClient/index.d.ts.map +1 -1
- package/dist/types/clients/index.d.ts +1 -1
- package/dist/types/clients/index.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockConfigStoreClient.d.ts +1 -1
- package/dist/types/clients/mocks/MockConfigStoreClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts +34 -0
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts.map +1 -0
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts +31 -0
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts.map +1 -0
- package/dist/types/clients/mocks/index.d.ts +2 -0
- package/dist/types/clients/mocks/index.d.ts.map +1 -1
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts +2 -2
- package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/ethereum.d.ts +4 -4
- package/dist/types/gasPriceOracle/adapters/ethereum.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/linea-viem.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/polygon.d.ts +4 -4
- package/dist/types/gasPriceOracle/adapters/polygon.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/adapters/solana.d.ts +9 -0
- package/dist/types/gasPriceOracle/adapters/solana.d.ts.map +1 -0
- package/dist/types/gasPriceOracle/index.d.ts +1 -1
- package/dist/types/gasPriceOracle/index.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/oracle.d.ts +4 -3
- package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
- package/dist/types/gasPriceOracle/types.d.ts +6 -1
- package/dist/types/gasPriceOracle/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/SpokePool.d.ts +13 -0
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
- package/dist/types/providers/index.d.ts +1 -1
- package/dist/types/providers/index.d.ts.map +1 -1
- package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts +6 -0
- package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts.map +1 -0
- package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +6 -0
- package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts.map +1 -0
- package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts +14 -0
- package/dist/types/providers/mocks/MockSolanaRpcFactory.d.ts.map +1 -0
- package/dist/types/providers/mocks/index.d.ts +5 -0
- package/dist/types/providers/mocks/index.d.ts.map +1 -0
- package/dist/types/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +1 -1
- package/dist/types/providers/mocks/mockEthersProvider.d.ts.map +1 -0
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts +4 -2
- package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/index.d.ts +1 -0
- package/dist/types/relayFeeCalculator/chain-queries/index.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +85 -0
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -0
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +12 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +9 -3
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/ArrayUtils.d.ts +6 -0
- package/dist/types/utils/ArrayUtils.d.ts.map +1 -1
- package/dist/types/utils/BlockFinder.d.ts +23 -0
- package/dist/types/utils/BlockFinder.d.ts.map +1 -0
- package/dist/types/utils/BlockUtils.d.ts +2 -36
- package/dist/types/utils/BlockUtils.d.ts.map +1 -1
- package/dist/types/utils/EventUtils.d.ts +4 -4
- package/dist/types/utils/EventUtils.d.ts.map +1 -1
- package/dist/types/utils/JSONUtils.d.ts.map +1 -1
- package/dist/types/utils/NumberUtils.d.ts +7 -0
- package/dist/types/utils/NumberUtils.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/arch/evm/BlockUtils.ts +209 -0
- package/src/arch/evm/SpokeUtils.ts +5 -5
- package/src/arch/evm/index.ts +1 -0
- package/src/arch/svm/SpokeUtils.ts +581 -0
- package/src/arch/svm/constants.ts +2 -0
- package/src/arch/svm/eventsClient.ts +342 -0
- package/src/arch/svm/index.ts +5 -1
- package/src/{svm → arch/svm}/types.ts +21 -4
- package/src/arch/svm/utils.ts +233 -0
- package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +7 -7
- package/src/clients/BaseAbstractClient.ts +20 -13
- package/src/clients/BundleDataClient/BundleDataClient.ts +28 -19
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +1 -1
- package/src/clients/HubPoolClient.ts +19 -19
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +23 -21
- package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +268 -0
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +50 -59
- package/src/clients/SpokePoolClient/index.ts +11 -0
- package/src/clients/index.ts +1 -1
- package/src/clients/mocks/MockConfigStoreClient.ts +2 -2
- package/src/clients/mocks/MockHubPoolClient.ts +2 -2
- package/src/clients/mocks/MockSpokePoolClient.ts +9 -4
- package/src/clients/mocks/MockSvmCpiEventsClient.ts +226 -0
- package/src/clients/mocks/MockSvmSpokePoolClient.ts +119 -0
- package/src/clients/mocks/index.ts +2 -0
- package/src/constants.ts +1 -0
- package/src/gasPriceOracle/adapters/arbitrum.ts +5 -2
- package/src/gasPriceOracle/adapters/ethereum.ts +7 -4
- package/src/gasPriceOracle/adapters/linea-viem.ts +3 -1
- package/src/gasPriceOracle/adapters/polygon.ts +6 -6
- package/src/gasPriceOracle/adapters/solana.ts +45 -0
- package/src/gasPriceOracle/index.ts +1 -1
- package/src/gasPriceOracle/oracle.ts +20 -4
- package/src/gasPriceOracle/types.ts +7 -1
- package/src/index.ts +0 -1
- package/src/interfaces/SpokePool.ts +14 -0
- package/src/providers/index.ts +1 -1
- package/src/providers/mocks/MockCachedSolanaRpcFactory.ts +15 -0
- package/src/providers/mocks/MockRateLimitedSolanaRpcFactory.ts +14 -0
- package/src/providers/mocks/MockSolanaRpcFactory.ts +55 -0
- package/src/providers/mocks/index.ts +4 -0
- package/src/providers/{mockProvider.ts → mocks/mockEthersProvider.ts} +1 -1
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +11 -9
- package/src/relayFeeCalculator/chain-queries/factory.ts +24 -8
- package/src/relayFeeCalculator/chain-queries/index.ts +1 -0
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +225 -0
- package/src/relayFeeCalculator/relayFeeCalculator.ts +15 -3
- package/src/utils/AddressUtils.ts +49 -6
- package/src/utils/ArrayUtils.ts +12 -0
- package/src/utils/BlockFinder.ts +26 -0
- package/src/utils/BlockUtils.ts +5 -215
- package/src/utils/EventUtils.ts +11 -11
- package/src/utils/JSONUtils.ts +2 -0
- package/src/utils/NumberUtils.ts +10 -0
- package/src/utils/SpokeUtils.ts +7 -3
- package/src/utils/index.ts +1 -0
- package/dist/cjs/providers/mockProvider.js.map +0 -1
- package/dist/cjs/svm/eventsClient.d.ts +0 -15
- package/dist/cjs/svm/eventsClient.js +0 -157
- package/dist/cjs/svm/eventsClient.js.map +0 -1
- package/dist/cjs/svm/index.d.ts +0 -3
- package/dist/cjs/svm/index.js +0 -8
- package/dist/cjs/svm/index.js.map +0 -1
- package/dist/cjs/svm/types.js.map +0 -1
- package/dist/cjs/svm/utils/events.d.ts +0 -8
- package/dist/cjs/svm/utils/events.js +0 -47
- package/dist/cjs/svm/utils/events.js.map +0 -1
- package/dist/cjs/svm/utils/helpers.d.ts +0 -2
- package/dist/cjs/svm/utils/helpers.js +0 -19
- package/dist/cjs/svm/utils/helpers.js.map +0 -1
- package/dist/cjs/svm/utils/index.d.ts +0 -1
- package/dist/cjs/svm/utils/index.js +0 -5
- package/dist/cjs/svm/utils/index.js.map +0 -1
- package/dist/esm/providers/mockProvider.js.map +0 -1
- package/dist/esm/svm/eventsClient.d.ts +0 -51
- package/dist/esm/svm/eventsClient.js +0 -195
- package/dist/esm/svm/eventsClient.js.map +0 -1
- package/dist/esm/svm/index.d.ts +0 -3
- package/dist/esm/svm/index.js +0 -5
- package/dist/esm/svm/index.js.map +0 -1
- package/dist/esm/svm/types.js.map +0 -1
- package/dist/esm/svm/utils/events.d.ts +0 -17
- package/dist/esm/svm/utils/events.js +0 -55
- package/dist/esm/svm/utils/events.js.map +0 -1
- package/dist/esm/svm/utils/helpers.d.ts +0 -5
- package/dist/esm/svm/utils/helpers.js +0 -18
- package/dist/esm/svm/utils/helpers.js.map +0 -1
- package/dist/esm/svm/utils/index.d.ts +0 -1
- package/dist/esm/svm/utils/index.js +0 -2
- package/dist/esm/svm/utils/index.js.map +0 -1
- package/dist/types/providers/mockProvider.d.ts.map +0 -1
- package/dist/types/svm/eventsClient.d.ts +0 -52
- package/dist/types/svm/eventsClient.d.ts.map +0 -1
- package/dist/types/svm/index.d.ts +0 -4
- package/dist/types/svm/index.d.ts.map +0 -1
- package/dist/types/svm/types.d.ts.map +0 -1
- package/dist/types/svm/utils/events.d.ts +0 -18
- package/dist/types/svm/utils/events.d.ts.map +0 -1
- package/dist/types/svm/utils/helpers.d.ts +0 -6
- package/dist/types/svm/utils/helpers.d.ts.map +0 -1
- package/dist/types/svm/utils/index.d.ts +0 -2
- package/dist/types/svm/utils/index.d.ts.map +0 -1
- package/src/svm/eventsClient.ts +0 -199
- package/src/svm/index.ts +0 -3
- package/src/svm/utils/events.ts +0 -58
- package/src/svm/utils/helpers.ts +0 -9
- package/src/svm/utils/index.ts +0 -1
- /package/dist/cjs/{svm → arch/svm}/types.js +0 -0
- /package/dist/cjs/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +0 -0
- /package/dist/esm/{svm → arch/svm}/types.js +0 -0
- /package/dist/esm/providers/{mockProvider.d.ts → mocks/mockEthersProvider.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { providers } from "ethers";
|
|
2
2
|
import { BaseHTTPAdapter, BaseHTTPAdapterArgs } from "../../priceClient/adapters/baseAdapter";
|
|
3
3
|
import { BigNumber } from "../../utils";
|
|
4
|
-
import {
|
|
4
|
+
import { EvmGasPriceEstimate } from "../types";
|
|
5
5
|
import { GasPriceEstimateOptions } from "../oracle";
|
|
6
6
|
type Polygon1559GasPrice = {
|
|
7
7
|
maxPriorityFee: number | string;
|
|
@@ -14,7 +14,7 @@ type GasStationArgs = BaseHTTPAdapterArgs & {
|
|
|
14
14
|
export declare class PolygonGasStation extends BaseHTTPAdapter {
|
|
15
15
|
readonly chainId: number;
|
|
16
16
|
constructor({ chainId, host, timeout, retries }?: GasStationArgs);
|
|
17
|
-
getFeeData(strategy?: "safeLow" | "standard" | "fast"): Promise<
|
|
17
|
+
getFeeData(strategy?: "safeLow" | "standard" | "fast"): Promise<EvmGasPriceEstimate>;
|
|
18
18
|
protected isPolygon1559GasPrice(gasPrice: unknown): gasPrice is Polygon1559GasPrice;
|
|
19
19
|
}
|
|
20
20
|
export declare const MockPolygonGasStationBaseFee: () => BigNumber;
|
|
@@ -23,7 +23,7 @@ export declare const MockPolygonGasStationPriorityFee: () => BigNumber;
|
|
|
23
23
|
* @notice Returns the gas price suggested by the Polygon GasStation API or reconstructs it using
|
|
24
24
|
* the eip1559() method as a fallback.
|
|
25
25
|
* @param provider Ethers Provider.
|
|
26
|
-
* @returns
|
|
26
|
+
* @returns EvmGasPriceEstimate
|
|
27
27
|
*/
|
|
28
|
-
export declare function gasStation(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<
|
|
28
|
+
export declare function gasStation(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<EvmGasPriceEstimate>;
|
|
29
29
|
export {};
|
|
@@ -81,7 +81,7 @@ var MockPolygonGasStation = /** @class */ (function (_super) {
|
|
|
81
81
|
* @notice Returns the gas price suggested by the Polygon GasStation API or reconstructs it using
|
|
82
82
|
* the eip1559() method as a fallback.
|
|
83
83
|
* @param provider Ethers Provider.
|
|
84
|
-
* @returns
|
|
84
|
+
* @returns EvmGasPriceEstimate
|
|
85
85
|
*/
|
|
86
86
|
export function gasStation(provider, opts) {
|
|
87
87
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SVMProvider } from "../../arch/svm";
|
|
2
|
+
import { GasPriceEstimate } from "../types";
|
|
3
|
+
import { GasPriceEstimateOptions } from "../oracle";
|
|
4
|
+
/**
|
|
5
|
+
* @notice Returns result of getFeeForMessage and getRecentPrioritizationFees RPC calls.
|
|
6
|
+
* @returns GasPriceEstimate
|
|
7
|
+
*/
|
|
8
|
+
export declare function messageFee(provider: SVMProvider, opts: GasPriceEstimateOptions): Promise<GasPriceEstimate>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { toBN, dedupArray, parseUnits } from "../../utils";
|
|
3
|
+
import { compileTransaction } from "@solana/kit";
|
|
4
|
+
/**
|
|
5
|
+
* @notice Returns result of getFeeForMessage and getRecentPrioritizationFees RPC calls.
|
|
6
|
+
* @returns GasPriceEstimate
|
|
7
|
+
*/
|
|
8
|
+
export function messageFee(provider, opts) {
|
|
9
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
10
|
+
var _unsignedTx, unsignedTx, compiledTransaction, encodedTransactionMessage, baseFeeResponse, instructionAddresses, recentPriorityFees, nonzeroPrioritizationFees, totalPrioritizationFees, flooredPriorityFeePerGas, microLamportsPerComputeUnit;
|
|
11
|
+
return __generator(this, function (_a) {
|
|
12
|
+
switch (_a.label) {
|
|
13
|
+
case 0:
|
|
14
|
+
_unsignedTx = opts.unsignedTx;
|
|
15
|
+
unsignedTx = _unsignedTx;
|
|
16
|
+
compiledTransaction = compileTransaction(unsignedTx);
|
|
17
|
+
encodedTransactionMessage = Buffer.from(compiledTransaction.messageBytes).toString("base64");
|
|
18
|
+
return [4 /*yield*/, provider.getFeeForMessage(encodedTransactionMessage).send()];
|
|
19
|
+
case 1:
|
|
20
|
+
baseFeeResponse = _a.sent();
|
|
21
|
+
instructionAddresses = dedupArray(unsignedTx.instructions.map(function (instruction) { return instruction.programAddress; }));
|
|
22
|
+
return [4 /*yield*/, provider.getRecentPrioritizationFees(instructionAddresses).send()];
|
|
23
|
+
case 2:
|
|
24
|
+
recentPriorityFees = _a.sent();
|
|
25
|
+
nonzeroPrioritizationFees = recentPriorityFees
|
|
26
|
+
.slice(125)
|
|
27
|
+
.map(function (value) { return value.prioritizationFee; })
|
|
28
|
+
.filter(function (fee) { return fee > 0; });
|
|
29
|
+
totalPrioritizationFees = nonzeroPrioritizationFees.reduce(function (acc, fee) { return acc + fee; }, BigInt(0));
|
|
30
|
+
flooredPriorityFeePerGas = parseUnits(process.env["MIN_PRIORITY_FEE_PER_GAS_".concat(opts.chainId)] || "0", 6);
|
|
31
|
+
microLamportsPerComputeUnit = toBN(totalPrioritizationFees / BigInt(nonzeroPrioritizationFees.length));
|
|
32
|
+
if (microLamportsPerComputeUnit.lt(flooredPriorityFeePerGas)) {
|
|
33
|
+
microLamportsPerComputeUnit = flooredPriorityFeePerGas;
|
|
34
|
+
}
|
|
35
|
+
return [2 /*return*/, {
|
|
36
|
+
baseFee: toBN(baseFeeResponse.value),
|
|
37
|
+
microLamportsPerComputeUnit: microLamportsPerComputeUnit,
|
|
38
|
+
}];
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=solana.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/solana.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAA+D,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE9G;;;GAGG;AACH,MAAM,UAAgB,UAAU,CAAC,QAAqB,EAAE,IAA6B;;;;;;oBAC/D,WAAW,GAAK,IAAI,WAAT,CAAU;oBAGnC,UAAU,GAAG,WAA2C,CAAC;oBACzD,mBAAmB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAGrD,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,QAAQ,CACtF,QAAQ,CACwB,CAAC;oBACX,qBAAM,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,IAAI,EAAE,EAAA;;oBAAnF,eAAe,GAAG,SAAiE;oBAGnF,oBAAoB,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,WAAW,IAAK,OAAA,WAAW,CAAC,cAAc,EAA1B,CAA0B,CAAC,CAAC,CAAC;oBACvF,qBAAM,QAAQ,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,EAAA;;oBAA5F,kBAAkB,GAAG,SAAuE;oBAG5F,yBAAyB,GAAG,kBAAkB;yBACjD,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,iBAAiB,EAAvB,CAAuB,CAAC;yBACvC,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,GAAG,CAAC,EAAP,CAAO,CAAC,CAAC;oBACtB,uBAAuB,GAAG,yBAAyB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,OAAA,GAAG,GAAG,GAAG,EAAT,CAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAG/F,wBAAwB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,mCAA4B,IAAI,CAAC,OAAO,CAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC3G,2BAA2B,GAAG,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3G,IAAI,2BAA2B,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE;wBAC5D,2BAA2B,GAAG,wBAAwB,CAAC;qBACxD;oBACD,sBAAO;4BACL,OAAO,EAAE,IAAI,CAAC,eAAgB,CAAC,KAAM,CAAC;4BACtC,2BAA2B,6BAAA;yBAC5B,EAAC;;;;CACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { getGasPriceEstimate } from "./oracle";
|
|
2
|
-
export { GasPriceEstimate } from "./types";
|
|
2
|
+
export { GasPriceEstimate, EvmGasPriceEstimate, SvmGasPriceEstimate } from "./types";
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Transport } from "viem";
|
|
2
|
-
import {
|
|
2
|
+
import { providers } from "ethers";
|
|
3
3
|
import { BigNumber } from "../utils";
|
|
4
|
+
import { SVMProvider as SolanaProvider } from "../arch/svm";
|
|
4
5
|
import { GasPriceEstimate } from "./types";
|
|
5
6
|
export interface GasPriceEstimateOptions {
|
|
6
7
|
baseFeeMultiplier: BigNumber;
|
|
7
8
|
priorityFeeMultiplier: BigNumber;
|
|
8
9
|
legacyFallback: boolean;
|
|
9
10
|
chainId: number;
|
|
10
|
-
unsignedTx?:
|
|
11
|
+
unsignedTx?: unknown;
|
|
11
12
|
transport?: Transport;
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
@@ -16,7 +17,7 @@ export interface GasPriceEstimateOptions {
|
|
|
16
17
|
* @param {opts} GasPriceEstimateOptions optional parameters.
|
|
17
18
|
* @returns An object of type GasPriceEstimate.
|
|
18
19
|
*/
|
|
19
|
-
export declare function getGasPriceEstimate(provider: providers.Provider, opts?: Partial<GasPriceEstimateOptions>): Promise<GasPriceEstimate>;
|
|
20
|
+
export declare function getGasPriceEstimate(provider: providers.Provider | SolanaProvider, opts?: Partial<GasPriceEstimateOptions>): Promise<GasPriceEstimate>;
|
|
20
21
|
/**
|
|
21
22
|
* Provide an estimate for the current gas price for a particular chain.
|
|
22
23
|
* @param providerOrChainId A valid ethers provider or a chain ID.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
2
|
import assert from "assert";
|
|
3
|
+
import { providers } from "ethers";
|
|
3
4
|
import { CHAIN_IDs } from "../constants";
|
|
4
5
|
import { BigNumber, chainIsOPStack, fixedPointAdjustment, toBNWei } from "../utils";
|
|
5
6
|
import { getPublicClient } from "./util";
|
|
@@ -7,6 +8,7 @@ import * as arbitrum from "./adapters/arbitrum";
|
|
|
7
8
|
import * as ethereum from "./adapters/ethereum";
|
|
8
9
|
import * as polygon from "./adapters/polygon";
|
|
9
10
|
import * as lineaViem from "./adapters/linea-viem";
|
|
11
|
+
import * as solana from "./adapters/solana";
|
|
10
12
|
var GAS_PRICE_ESTIMATE_DEFAULTS = {
|
|
11
13
|
legacyFallback: true,
|
|
12
14
|
};
|
|
@@ -19,26 +21,33 @@ var VIEM_CHAINS = [CHAIN_IDs.LINEA];
|
|
|
19
21
|
* @returns An object of type GasPriceEstimate.
|
|
20
22
|
*/
|
|
21
23
|
export function getGasPriceEstimate(provider, opts) {
|
|
22
|
-
var _a, _b, _c;
|
|
24
|
+
var _a, _b, _c, _d;
|
|
23
25
|
if (opts === void 0) { opts = {}; }
|
|
24
26
|
return __awaiter(this, void 0, void 0, function () {
|
|
25
|
-
var baseFeeMultiplier, priorityFeeMultiplier, chainId,
|
|
26
|
-
return __generator(this, function (
|
|
27
|
-
switch (
|
|
27
|
+
var baseFeeMultiplier, priorityFeeMultiplier, optsWithDefaults_1, chainId, _e, optsWithDefaults, useViem;
|
|
28
|
+
return __generator(this, function (_f) {
|
|
29
|
+
switch (_f.label) {
|
|
28
30
|
case 0:
|
|
29
31
|
baseFeeMultiplier = (_a = opts.baseFeeMultiplier) !== null && _a !== void 0 ? _a : toBNWei("1");
|
|
30
32
|
assert(baseFeeMultiplier.gte(toBNWei("1.0")) && baseFeeMultiplier.lte(toBNWei("5")), "Require 1.0 < base fee multiplier (".concat(baseFeeMultiplier, ") <= 5.0 for a total gas multiplier within [+1.0, +5.0]"));
|
|
31
33
|
priorityFeeMultiplier = (_b = opts.priorityFeeMultiplier) !== null && _b !== void 0 ? _b : toBNWei("1");
|
|
32
34
|
assert(priorityFeeMultiplier.gte(toBNWei("1.0")) && priorityFeeMultiplier.lte(toBNWei("5")), "Require 1.0 < priority fee multiplier (".concat(priorityFeeMultiplier, ") <= 5.0 for a total gas multiplier within [+1.0, +5.0]"));
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
// Exit here if we need to estimate on Solana.
|
|
36
|
+
if (!(provider instanceof providers.Provider)) {
|
|
37
|
+
optsWithDefaults_1 = __assign(__assign(__assign(__assign({}, GAS_PRICE_ESTIMATE_DEFAULTS), { baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier }), opts), { chainId: (_c = opts.chainId) !== null && _c !== void 0 ? _c : CHAIN_IDs.SOLANA });
|
|
38
|
+
return [2 /*return*/, solana.messageFee(provider, optsWithDefaults_1)];
|
|
39
|
+
}
|
|
40
|
+
// Cast the provider to an ethers provider, which should be given to the oracle when querying an EVM network.
|
|
41
|
+
provider = provider;
|
|
42
|
+
if (!((_d = opts.chainId) !== null && _d !== void 0)) return [3 /*break*/, 1];
|
|
43
|
+
_e = _d;
|
|
35
44
|
return [3 /*break*/, 3];
|
|
36
45
|
case 1: return [4 /*yield*/, provider.getNetwork()];
|
|
37
46
|
case 2:
|
|
38
|
-
|
|
39
|
-
|
|
47
|
+
_e = (_f.sent()).chainId;
|
|
48
|
+
_f.label = 3;
|
|
40
49
|
case 3:
|
|
41
|
-
chainId =
|
|
50
|
+
chainId = _e;
|
|
42
51
|
optsWithDefaults = __assign(__assign(__assign(__assign({}, GAS_PRICE_ESTIMATE_DEFAULTS), { baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier }), opts), { chainId: chainId });
|
|
43
52
|
useViem = VIEM_CHAINS.includes(chainId);
|
|
44
53
|
return [2 /*return*/, useViem
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/gasPriceOracle/oracle.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/gasPriceOracle/oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { type Chain, type Transport, PublicClient, FeeValuesEIP1559 } from "viem";
|
|
2
2
|
import { BigNumber } from "../utils";
|
|
3
3
|
export type InternalGasPriceEstimate = FeeValuesEIP1559;
|
|
4
|
-
export type GasPriceEstimate =
|
|
4
|
+
export type GasPriceEstimate = EvmGasPriceEstimate | SvmGasPriceEstimate;
|
|
5
|
+
export type EvmGasPriceEstimate = {
|
|
5
6
|
maxFeePerGas: BigNumber;
|
|
6
7
|
maxPriorityFeePerGas: BigNumber;
|
|
7
8
|
};
|
|
9
|
+
export type SvmGasPriceEstimate = {
|
|
10
|
+
baseFee: BigNumber;
|
|
11
|
+
microLamportsPerComputeUnit: BigNumber;
|
|
12
|
+
};
|
|
8
13
|
export interface GasPriceFeed {
|
|
9
14
|
(provider: PublicClient<Transport, Chain>, chainId: number): Promise<InternalGasPriceEstimate>;
|
|
10
15
|
}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"wBAAsB,QAAQ;mBAAlB,IAAI;qCACmB,qBAAqB;gCAA5C,iBAAiB;mCACI,mBAAmB;8BAAxC,eAAe;wBACL,QAAQ;mBAAlB,IAAI;sCACoB,sBAAsB;iCAA9C,kBAAkB;yBACP,SAAS;oBAApB,KAAK;6BACU,aAAa;wBAA5B,SAAS;6BACM,aAAa;wBAA5B,SAAS;kCACW,kBAAkB;6BAAtC,cAAc;+BACG,eAAe;0BAAhC,WAAW;qCACY,qBAAqB;gCAA5C,iBAAiB;6BACF,aAAa;wBAA5B,SAAS;8BACO,cAAc;yBAA9B,UAAU;8BACM,cAAc;yBAA9B,UAAU;2BACG,WAAW;sBAAxB,OAAO;6BACQ,aAAa;wBAA5B,SAAS;2BACI,WAAW;sBAAxB,OAAO;6BACQ,aAAa;wBAA5B,SAAS
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"wBAAsB,QAAQ;mBAAlB,IAAI;qCACmB,qBAAqB;gCAA5C,iBAAiB;mCACI,mBAAmB;8BAAxC,eAAe;wBACL,QAAQ;mBAAlB,IAAI;sCACoB,sBAAsB;iCAA9C,kBAAkB;yBACP,SAAS;oBAApB,KAAK;6BACU,aAAa;wBAA5B,SAAS;6BACM,aAAa;wBAA5B,SAAS;kCACW,kBAAkB;6BAAtC,cAAc;+BACG,eAAe;0BAAhC,WAAW;qCACY,qBAAqB;gCAA5C,iBAAiB;6BACF,aAAa;wBAA5B,SAAS;8BACO,cAAc;yBAA9B,UAAU;8BACM,cAAc;yBAA9B,UAAU;2BACG,WAAW;sBAAxB,OAAO;6BACQ,aAAa;wBAA5B,SAAS;2BACI,WAAW;sBAAxB,OAAO;6BACQ,aAAa;wBAA5B,SAAS"}
|
|
@@ -32,6 +32,9 @@ export interface Deposit extends RelayData {
|
|
|
32
32
|
export interface DepositWithBlock extends Deposit, SortableEvent {
|
|
33
33
|
quoteBlockNumber: number;
|
|
34
34
|
}
|
|
35
|
+
export interface DepositWithTime extends Deposit, SortableEvent {
|
|
36
|
+
depositTimestamp: number;
|
|
37
|
+
}
|
|
35
38
|
export declare enum FillStatus {
|
|
36
39
|
Unfilled = 0,
|
|
37
40
|
RequestedSlowFill = 1,
|
|
@@ -58,6 +61,16 @@ export interface Fill extends Omit<RelayData, "message"> {
|
|
|
58
61
|
}
|
|
59
62
|
export interface FillWithBlock extends Fill, SortableEvent {
|
|
60
63
|
}
|
|
64
|
+
export interface FillWithTime extends Fill, SortableEvent {
|
|
65
|
+
fillTimestamp: number;
|
|
66
|
+
}
|
|
67
|
+
export interface EnabledDepositRoute {
|
|
68
|
+
originToken: string;
|
|
69
|
+
destinationChainId: number;
|
|
70
|
+
enabled: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface EnabledDepositRouteWithBlock extends EnabledDepositRoute, SortableEvent {
|
|
73
|
+
}
|
|
61
74
|
export interface SpeedUp {
|
|
62
75
|
depositor: string;
|
|
63
76
|
depositorSignature: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokePool.js","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpokePool.js","sourceRoot":"","sources":["../../../src/interfaces/SpokePool.ts"],"names":[],"mappings":"AA2CA,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,mDAAY,CAAA;IACZ,qEAAiB,CAAA;IACjB,+CAAM,CAAA;AACR,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+CAAY,CAAA;IACZ,+DAAgB,CAAA;IAChB,+CAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB"}
|
|
@@ -5,7 +5,6 @@ export * from "./speedProvider";
|
|
|
5
5
|
export * from "./constants";
|
|
6
6
|
export * from "./types";
|
|
7
7
|
export * from "./utils";
|
|
8
|
-
|
|
9
|
-
export { mocks_1 as mocks };
|
|
8
|
+
export * from "./mocks";
|
|
10
9
|
export * from "./solana";
|
|
11
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CachedSolanaRpcFactory } from "..";
|
|
2
|
+
import { MockRateLimitedSolanaRpcFactory } from "./MockRateLimitedSolanaRpcFactory";
|
|
3
|
+
export declare class MockCachedSolanaRpcFactory extends CachedSolanaRpcFactory {
|
|
4
|
+
constructor(mockRateLimitedSolanaRpcFactory: MockRateLimitedSolanaRpcFactory, ...cachedConstructorParams: ConstructorParameters<typeof CachedSolanaRpcFactory>);
|
|
5
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { CachedSolanaRpcFactory } from "..";
|
|
3
|
+
// Creates mocked cached Solana RPC factory by using the mocked Solana RPC factory.
|
|
4
|
+
var MockCachedSolanaRpcFactory = /** @class */ (function (_super) {
|
|
5
|
+
__extends(MockCachedSolanaRpcFactory, _super);
|
|
6
|
+
function MockCachedSolanaRpcFactory(mockRateLimitedSolanaRpcFactory) {
|
|
7
|
+
var cachedConstructorParams = [];
|
|
8
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
9
|
+
cachedConstructorParams[_i - 1] = arguments[_i];
|
|
10
|
+
}
|
|
11
|
+
var _this = _super.apply(this, cachedConstructorParams) || this;
|
|
12
|
+
_this.rateLimitedTransport = mockRateLimitedSolanaRpcFactory.createTransport();
|
|
13
|
+
_this.rateLimitedRpcClient = mockRateLimitedSolanaRpcFactory.createRpcClient();
|
|
14
|
+
return _this;
|
|
15
|
+
}
|
|
16
|
+
return MockCachedSolanaRpcFactory;
|
|
17
|
+
}(CachedSolanaRpcFactory));
|
|
18
|
+
export { MockCachedSolanaRpcFactory };
|
|
19
|
+
//# sourceMappingURL=MockCachedSolanaRpcFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockCachedSolanaRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/mocks/MockCachedSolanaRpcFactory.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,IAAI,CAAC;AAG5C,mFAAmF;AACnF;IAAgD,8CAAsB;IACpE,oCACE,+BAAgE;QAChE,iCAAgF;aAAhF,UAAgF,EAAhF,qBAAgF,EAAhF,IAAgF;YAAhF,gDAAgF;;QAFlF,+BAIW,uBAAuB,UAIjC;QAFC,KAAI,CAAC,oBAAoB,GAAG,+BAA+B,CAAC,eAAe,EAAE,CAAC;QAC9E,KAAI,CAAC,oBAAoB,GAAG,+BAA+B,CAAC,eAAe,EAAE,CAAC;;IAChF,CAAC;IACH,iCAAC;AAAD,CAAC,AAVD,CAAgD,sBAAsB,GAUrE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { RateLimitedSolanaRpcFactory } from "..";
|
|
2
|
+
import { MockSolanaRpcFactory } from "./MockSolanaRpcFactory";
|
|
3
|
+
export declare class MockRateLimitedSolanaRpcFactory extends RateLimitedSolanaRpcFactory {
|
|
4
|
+
constructor(mockSolanaRpcFactory: MockSolanaRpcFactory, ...rateLimitedConstructorParams: ConstructorParameters<typeof RateLimitedSolanaRpcFactory>);
|
|
5
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { RateLimitedSolanaRpcFactory } from "..";
|
|
3
|
+
// Creates mocked rate limited Solana RPC factory by using the mocked Solana RPC factory.
|
|
4
|
+
var MockRateLimitedSolanaRpcFactory = /** @class */ (function (_super) {
|
|
5
|
+
__extends(MockRateLimitedSolanaRpcFactory, _super);
|
|
6
|
+
function MockRateLimitedSolanaRpcFactory(mockSolanaRpcFactory) {
|
|
7
|
+
var rateLimitedConstructorParams = [];
|
|
8
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
9
|
+
rateLimitedConstructorParams[_i - 1] = arguments[_i];
|
|
10
|
+
}
|
|
11
|
+
var _this = _super.apply(this, rateLimitedConstructorParams) || this;
|
|
12
|
+
_this.defaultTransport = mockSolanaRpcFactory.createTransport();
|
|
13
|
+
return _this;
|
|
14
|
+
}
|
|
15
|
+
return MockRateLimitedSolanaRpcFactory;
|
|
16
|
+
}(RateLimitedSolanaRpcFactory));
|
|
17
|
+
export { MockRateLimitedSolanaRpcFactory };
|
|
18
|
+
//# sourceMappingURL=MockRateLimitedSolanaRpcFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockRateLimitedSolanaRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/mocks/MockRateLimitedSolanaRpcFactory.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,IAAI,CAAC;AAGjD,yFAAyF;AACzF;IAAqD,mDAA2B;IAC9E,yCACE,oBAA0C;QAC1C,sCAA0F;aAA1F,UAA0F,EAA1F,qBAA0F,EAA1F,IAA0F;YAA1F,qDAA0F;;QAF5F,+BAIW,4BAA4B,UAGtC;QADC,KAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,eAAe,EAAE,CAAC;;IACjE,CAAC;IACH,sCAAC;AAAD,CAAC,AATD,CAAqD,2BAA2B,GAS/E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RpcTransport } from "@solana/kit";
|
|
2
|
+
import { SolanaClusterRpcFactory } from "../solana";
|
|
3
|
+
export declare class MockSolanaRpcFactory extends SolanaClusterRpcFactory {
|
|
4
|
+
private responseTime;
|
|
5
|
+
private responses;
|
|
6
|
+
constructor(...clusterConstructorParams: ConstructorParameters<typeof SolanaClusterRpcFactory>);
|
|
7
|
+
createTransport(): RpcTransport;
|
|
8
|
+
setResult(method: string, params: unknown[], result: unknown): void;
|
|
9
|
+
setError(method: string, params: unknown[], error: unknown): void;
|
|
10
|
+
setThrow(method: string, params: unknown[], throwError: string): void;
|
|
11
|
+
setResponseTime(responseTime: number): void;
|
|
12
|
+
private createMockRpcTransport;
|
|
13
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { __awaiter, __extends, __generator } from "tslib";
|
|
2
|
+
import { SolanaClusterRpcFactory } from "../solana";
|
|
3
|
+
// Exposes mocked RPC transport for Solana in the SolanaClusterRpcFactory class.
|
|
4
|
+
var MockSolanaRpcFactory = /** @class */ (function (_super) {
|
|
5
|
+
__extends(MockSolanaRpcFactory, _super);
|
|
6
|
+
function MockSolanaRpcFactory() {
|
|
7
|
+
var clusterConstructorParams = [];
|
|
8
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
9
|
+
clusterConstructorParams[_i] = arguments[_i];
|
|
10
|
+
}
|
|
11
|
+
var _this = _super.apply(this, clusterConstructorParams) || this;
|
|
12
|
+
_this.responseTime = 10; // in milliseconds
|
|
13
|
+
_this.responses = new Map();
|
|
14
|
+
return _this;
|
|
15
|
+
}
|
|
16
|
+
MockSolanaRpcFactory.prototype.createTransport = function () {
|
|
17
|
+
var _this = this;
|
|
18
|
+
return function () {
|
|
19
|
+
var args = [];
|
|
20
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
21
|
+
args[_i] = arguments[_i];
|
|
22
|
+
}
|
|
23
|
+
return _this.createMockRpcTransport().apply(void 0, args);
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
MockSolanaRpcFactory.prototype.setResult = function (method, params, result) {
|
|
27
|
+
var requestKey = JSON.stringify({ method: method, params: params });
|
|
28
|
+
this.responses.set(requestKey, { result: result });
|
|
29
|
+
};
|
|
30
|
+
MockSolanaRpcFactory.prototype.setError = function (method, params, error) {
|
|
31
|
+
var requestKey = JSON.stringify({ method: method, params: params });
|
|
32
|
+
this.responses.set(requestKey, { error: error });
|
|
33
|
+
};
|
|
34
|
+
MockSolanaRpcFactory.prototype.setThrow = function (method, params, throwError) {
|
|
35
|
+
var requestKey = JSON.stringify({ method: method, params: params });
|
|
36
|
+
this.responses.set(requestKey, { throwError: throwError });
|
|
37
|
+
};
|
|
38
|
+
MockSolanaRpcFactory.prototype.setResponseTime = function (responseTime) {
|
|
39
|
+
this.responseTime = responseTime;
|
|
40
|
+
};
|
|
41
|
+
MockSolanaRpcFactory.prototype.createMockRpcTransport = function () {
|
|
42
|
+
var _this = this;
|
|
43
|
+
return function (_a) {
|
|
44
|
+
var payload = _a.payload;
|
|
45
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
46
|
+
var _b, method, params, requestKey, jsonRpcResponse, requestKeyWithoutParams;
|
|
47
|
+
var _this = this;
|
|
48
|
+
return __generator(this, function (_c) {
|
|
49
|
+
switch (_c.label) {
|
|
50
|
+
case 0:
|
|
51
|
+
_b = payload, method = _b.method, params = _b.params;
|
|
52
|
+
requestKey = JSON.stringify({ method: method, params: params });
|
|
53
|
+
jsonRpcResponse = this.responses.get(requestKey);
|
|
54
|
+
if (jsonRpcResponse === undefined) {
|
|
55
|
+
requestKeyWithoutParams = JSON.stringify({ method: method, params: [] });
|
|
56
|
+
jsonRpcResponse = this.responses.get(requestKeyWithoutParams);
|
|
57
|
+
if (jsonRpcResponse === undefined)
|
|
58
|
+
jsonRpcResponse = { result: null };
|
|
59
|
+
}
|
|
60
|
+
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, _this.responseTime); })];
|
|
61
|
+
case 1:
|
|
62
|
+
_c.sent();
|
|
63
|
+
if ("throwError" in jsonRpcResponse)
|
|
64
|
+
throw new Error(jsonRpcResponse.throwError);
|
|
65
|
+
return [2 /*return*/, jsonRpcResponse];
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
return MockSolanaRpcFactory;
|
|
72
|
+
}(SolanaClusterRpcFactory));
|
|
73
|
+
export { MockSolanaRpcFactory };
|
|
74
|
+
//# sourceMappingURL=MockSolanaRpcFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockSolanaRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/mocks/MockSolanaRpcFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/mocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
2
|
import { providers } from "ethers";
|
|
3
|
-
import { bnZero } from "
|
|
3
|
+
import { bnZero } from "../../utils/BigNumberUtils";
|
|
4
4
|
/**
|
|
5
5
|
* @notice Class used to test GasPriceOracle which makes ethers provider calls to the following implemented
|
|
6
6
|
* methods.
|
|
@@ -70,4 +70,4 @@ var MockedProvider = /** @class */ (function (_super) {
|
|
|
70
70
|
return MockedProvider;
|
|
71
71
|
}(providers.StaticJsonRpcProvider));
|
|
72
72
|
export { MockedProvider };
|
|
73
|
-
//# sourceMappingURL=
|
|
73
|
+
//# sourceMappingURL=mockEthersProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockEthersProvider.js","sourceRoot":"","sources":["../../../../src/providers/mocks/mockEthersProvider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD;;;GAGG;AACH;IAAoC,kCAA+B;IAGjE,wBACW,oBAA+B,EAC/B,uBAAkC,EAClC,cAAkB;QAAlB,+BAAA,EAAA,kBAAkB;QAH7B,YAKE,kBAAM,SAAS,EAAE,cAAc,CAAC,SACjC;QALU,0BAAoB,GAApB,oBAAoB,CAAW;QAC/B,6BAAuB,GAAvB,uBAAuB,CAAW;QAClC,oBAAc,GAAd,cAAc,CAAI;QALrB,kBAAY,GAA4C,EAAE,CAAC;;IAQnE,CAAC;IAED,iCAAQ,GAAR,UAAS,oBAAoE;QAC3E,IAAM,SAAS,GAAU;YACvB,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,IAAI,CAAC,oBAAoB;YACxC,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,8DAA8D;IAC9D,6BAAI,GAAJ,UAAK,MAAc,EAAE,OAAmB;QACtC,QAAQ,MAAM,EAAE;YACd,KAAK,0BAA0B;gBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACvD;gBACE,MAAM,IAAI,KAAK,CAAC,+CAAwC,MAAM,CAAE,CAAC,CAAC;SACrE;IACH,CAAC;IAED,mCAAU,GAAV;QACE,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,iBAAiB,EAAE,IAAI,CAAC,oBAAoB;YAC5C,oBAAoB,EAAE,IAAI,CAAC,uBAAuB;YAClD,6CAA6C;YAC7C,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,uCAAc,GAAd,UAAe,IAAY;QACzB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,oCAAW,GAAX;QACE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,mCAAU,GAAV;QACE,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,wCAAe,GAAf,UAAgB,IAAY,EAAE,WAAgC;QAC5D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;IACxC,CAAC;IACH,qBAAC;AAAD,CAAC,AApED,CAAoC,SAAS,CAAC,qBAAqB,GAoElE"}
|
|
@@ -7,7 +7,7 @@ import { Logger, QueryInterface } from "../relayFeeCalculator";
|
|
|
7
7
|
import { Transport } from "viem";
|
|
8
8
|
type Provider = providers.Provider;
|
|
9
9
|
type OptimismProvider = L2Provider<Provider>;
|
|
10
|
-
type SymbolMappingType = Record<string, {
|
|
10
|
+
export type SymbolMappingType = Record<string, {
|
|
11
11
|
addresses: Record<number, string>;
|
|
12
12
|
decimals: number;
|
|
13
13
|
}>;
|
|
@@ -2,12 +2,13 @@ import { __assign, __awaiter, __generator } from "tslib";
|
|
|
2
2
|
import { isL2Provider as isOptimismL2Provider } from "@eth-optimism/sdk/dist/l2-provider";
|
|
3
3
|
import { VoidSigner } from "ethers";
|
|
4
4
|
import { Coingecko } from "../../coingecko";
|
|
5
|
-
import { CHAIN_IDs
|
|
5
|
+
import { CHAIN_IDs } from "../../constants";
|
|
6
6
|
import { SpokePool__factory } from "../../typechain";
|
|
7
7
|
import { populateV3Relay } from "../../arch/evm";
|
|
8
8
|
import { BigNumber, toBNWei, bnZero, chainIsOPStack, fixedPointAdjustment, } from "../../utils";
|
|
9
9
|
import assert from "assert";
|
|
10
|
-
import {
|
|
10
|
+
import { getDefaultSimulatedRelayerAddress } from "../relayFeeCalculator";
|
|
11
|
+
import { getGasPriceEstimate } from "../../gasPriceOracle";
|
|
11
12
|
/**
|
|
12
13
|
* A unified QueryBase for querying gas costs, token prices, and decimals of various tokens
|
|
13
14
|
* on a blockchain.
|
|
@@ -47,7 +48,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
47
48
|
* @returns The gas estimate for this function call (multiplied with the optional buffer).
|
|
48
49
|
*/
|
|
49
50
|
QueryBase.prototype.getGasCosts = function (deposit, relayer, options) {
|
|
50
|
-
if (relayer === void 0) { relayer =
|
|
51
|
+
if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
51
52
|
if (options === void 0) { options = {}; }
|
|
52
53
|
return __awaiter(this, void 0, void 0, function () {
|
|
53
54
|
var _a, gasPrice, gasUnits, baseFeeMultiplier, priorityFeeMultiplier, opStackL1GasCostMultiplier, transport, tx, _b, nativeGasCost, tokenGasCost, impliedGasPrice, opStackL1GasCost;
|
|
@@ -85,7 +86,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
85
86
|
* @returns PopulatedTransaction
|
|
86
87
|
*/
|
|
87
88
|
QueryBase.prototype.getUnsignedTxFromDeposit = function (deposit, relayer) {
|
|
88
|
-
if (relayer === void 0) { relayer =
|
|
89
|
+
if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
89
90
|
return populateV3Relay(this.spokePool, deposit, relayer);
|
|
90
91
|
};
|
|
91
92
|
/**
|
|
@@ -95,7 +96,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
95
96
|
* @returns Estimated gas cost based on ethers.VoidSigner's gas estimation
|
|
96
97
|
*/
|
|
97
98
|
QueryBase.prototype.getNativeGasCost = function (deposit, relayer) {
|
|
98
|
-
if (relayer === void 0) { relayer =
|
|
99
|
+
if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(deposit.destinationChainId); }
|
|
99
100
|
return __awaiter(this, void 0, void 0, function () {
|
|
100
101
|
var unsignedTx, voidSigner;
|
|
101
102
|
return __generator(this, function (_a) {
|
|
@@ -118,7 +119,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
118
119
|
* @returns BigNumber L1 data fee in gas units
|
|
119
120
|
*/
|
|
120
121
|
QueryBase.prototype.getOpStackL1DataFee = function (unsignedTx, relayer, options) {
|
|
121
|
-
if (relayer === void 0) { relayer =
|
|
122
|
+
if (relayer === void 0) { relayer = getDefaultSimulatedRelayerAddress(unsignedTx.chainId); }
|
|
122
123
|
return __awaiter(this, void 0, void 0, function () {
|
|
123
124
|
var _a, opStackL2GasUnits, _b, opStackL1DataFeeMultiplier, chainId, voidSigner, populatedTransaction, l1DataFee;
|
|
124
125
|
return __generator(this, function (_c) {
|
|
@@ -155,7 +156,7 @@ var QueryBase = /** @class */ (function () {
|
|
|
155
156
|
QueryBase.prototype.estimateGas = function (unsignedTx, senderAddress, provider, options) {
|
|
156
157
|
if (options === void 0) { options = {}; }
|
|
157
158
|
return __awaiter(this, void 0, void 0, function () {
|
|
158
|
-
var _a, _gasPrice, gasUnits, _b, baseFeeMultiplier, _c, priorityFeeMultiplier, _d, opStackL1GasCostMultiplier, transport, chainId, voidSigner, queries, _e, nativeGasCost, gasPrice, tokenGasCost, opStackL1GasCost, l2GasCost;
|
|
159
|
+
var _a, _gasPrice, gasUnits, _b, baseFeeMultiplier, _c, priorityFeeMultiplier, _d, opStackL1GasCostMultiplier, transport, chainId, voidSigner, queries, _e, nativeGasCost, _gasPriceEstimate, gasPrice, tokenGasCost, opStackL1GasCost, l2GasCost;
|
|
159
160
|
return __generator(this, function (_f) {
|
|
160
161
|
switch (_f.label) {
|
|
161
162
|
case 0:
|
|
@@ -172,7 +173,8 @@ var QueryBase = /** @class */ (function () {
|
|
|
172
173
|
];
|
|
173
174
|
return [4 /*yield*/, Promise.all(queries)];
|
|
174
175
|
case 2:
|
|
175
|
-
_e = _f.sent(), nativeGasCost = _e[0],
|
|
176
|
+
_e = _f.sent(), nativeGasCost = _e[0], _gasPriceEstimate = _e[1];
|
|
177
|
+
gasPrice = _gasPriceEstimate.maxFeePerGas;
|
|
176
178
|
assert(nativeGasCost.gt(bnZero), "Gas cost should not be 0");
|
|
177
179
|
if (!chainIsOPStack(chainId)) return [3 /*break*/, 4];
|
|
178
180
|
return [4 /*yield*/, this.getOpStackL1DataFee(unsignedTx, senderAddress, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1F,OAAO,EAAmC,UAAU,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"baseQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
|