@across-protocol/sdk 4.1.63-beta.0 → 4.1.63
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/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 +90 -90
- package/dist/cjs/clients/HubPoolClient.d.ts +1 -1
- package/dist/cjs/clients/HubPoolClient.js +16 -16
- 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 +54 -50
- 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/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 -7
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +4 -5
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +11 -4
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +1 -7
- 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 +9 -0
- package/dist/cjs/svm/eventsClient.d.ts +15 -0
- package/dist/cjs/{arch/svm → svm}/eventsClient.js +28 -60
- 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/{esm/arch → cjs}/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/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/TokenUtils.d.ts +18 -0
- 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/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 +90 -90
- package/dist/esm/clients/HubPoolClient.d.ts +1 -1
- package/dist/esm/clients/HubPoolClient.js +16 -16
- 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 +55 -51
- 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/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 -7
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +3 -4
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +11 -4
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js +2 -8
- 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 +9 -0
- package/dist/esm/svm/eventsClient.d.ts +51 -0
- package/dist/esm/{arch/svm → svm}/eventsClient.js +27 -69
- 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/{cjs/arch → esm}/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/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/TokenUtils.d.ts +18 -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/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 +90 -90
- package/dist/types/clients/HubPoolClient.d.ts +1 -1
- 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/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 -7
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
- 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 +11 -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 +9 -0
- 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/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/TokenUtils.d.ts +18 -0
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/package.json +2 -5
- package/src/arch/evm/SpokeUtils.ts +5 -5
- 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 +16 -16
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +21 -23
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +56 -44
- 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/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 -7
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +3 -5
- package/src/relayFeeCalculator/chain-queries/factory.ts +5 -21
- package/src/relayFeeCalculator/chain-queries/index.ts +0 -1
- package/src/{arch/svm → svm}/eventsClient.ts +45 -67
- 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/EventUtils.ts +11 -11
- package/src/utils/JSONUtils.ts +0 -2
- package/src/utils/SpokeUtils.ts +1 -5
- package/dist/cjs/arch/svm/SpokeUtils.d.ts +0 -20
- package/dist/cjs/arch/svm/SpokeUtils.js +0 -428
- package/dist/cjs/arch/svm/SpokeUtils.js.map +0 -1
- package/dist/cjs/arch/svm/constants.d.ts +0 -1
- package/dist/cjs/arch/svm/constants.js +0 -5
- package/dist/cjs/arch/svm/constants.js.map +0 -1
- package/dist/cjs/arch/svm/eventsClient.d.ts +0 -21
- 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 -17
- package/dist/cjs/arch/svm/utils.js +0 -204
- 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 -145
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.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/relayFeeCalculator/chain-queries/svmQuery.d.ts +0 -31
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +0 -136
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +0 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +0 -94
- package/dist/esm/arch/svm/SpokeUtils.js +0 -513
- package/dist/esm/arch/svm/SpokeUtils.js.map +0 -1
- package/dist/esm/arch/svm/constants.d.ts +0 -1
- package/dist/esm/arch/svm/constants.js +0 -2
- package/dist/esm/arch/svm/constants.js.map +0 -1
- package/dist/esm/arch/svm/eventsClient.d.ts +0 -67
- 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 -59
- package/dist/esm/arch/svm/utils.js +0 -248
- package/dist/esm/arch/svm/utils.js.map +0 -1
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +0 -67
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +0 -196
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.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/relayFeeCalculator/chain-queries/svmQuery.d.ts +0 -66
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +0 -169
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +0 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +0 -95
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +0 -1
- package/dist/types/arch/svm/constants.d.ts +0 -2
- package/dist/types/arch/svm/constants.d.ts.map +0 -1
- package/dist/types/arch/svm/eventsClient.d.ts +0 -68
- 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 -60
- package/dist/types/arch/svm/utils.d.ts.map +0 -1
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +0 -68
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.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/relayFeeCalculator/chain-queries/svmQuery.d.ts +0 -67
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +0 -1
- package/src/arch/svm/SpokeUtils.ts +0 -526
- package/src/arch/svm/constants.ts +0 -1
- package/src/arch/svm/utils.ts +0 -222
- package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +0 -244
- package/src/gasPriceOracle/adapters/solana.ts +0 -45
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +0 -193
- /package/dist/cjs/{arch/svm → svm}/types.js +0 -0
- /package/dist/esm/{arch/svm → svm}/types.js +0 -0
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { pipe } from "@solana/functional";
|
|
2
|
-
import { Coingecko } from "../../coingecko";
|
|
3
|
-
import { SymbolMappingType } from "./";
|
|
4
|
-
import { CHAIN_IDs, DEFAULT_SIMULATED_RELAYER_ADDRESS } from "../../constants";
|
|
5
|
-
import { Deposit } from "../../interfaces";
|
|
6
|
-
import { getGasPriceEstimate, SvmGasPriceEstimate } from "../../gasPriceOracle";
|
|
7
|
-
import {
|
|
8
|
-
BigNumberish,
|
|
9
|
-
TransactionCostEstimate,
|
|
10
|
-
BigNumber,
|
|
11
|
-
SvmAddress,
|
|
12
|
-
toBN,
|
|
13
|
-
isDefined,
|
|
14
|
-
toAddressType,
|
|
15
|
-
} from "../../utils";
|
|
16
|
-
import { Logger, QueryInterface } from "../relayFeeCalculator";
|
|
17
|
-
import {
|
|
18
|
-
fillRelayInstruction,
|
|
19
|
-
createApproveInstruction,
|
|
20
|
-
createTokenAccountsInstruction,
|
|
21
|
-
SVMProvider,
|
|
22
|
-
SolanaVoidSigner,
|
|
23
|
-
getAssociatedTokenAddress,
|
|
24
|
-
} from "../../arch/svm";
|
|
25
|
-
import {
|
|
26
|
-
createTransactionMessage,
|
|
27
|
-
setTransactionMessageFeePayer,
|
|
28
|
-
setTransactionMessageLifetimeUsingBlockhash,
|
|
29
|
-
appendTransactionMessageInstructions,
|
|
30
|
-
getComputeUnitEstimateForTransactionMessageFactory,
|
|
31
|
-
fetchEncodedAccount,
|
|
32
|
-
IInstruction,
|
|
33
|
-
} from "@solana/kit";
|
|
34
|
-
import { TOKEN_PROGRAM_ADDRESS, getMintSize, getInitializeMintInstruction, fetchMint } from "@solana-program/token";
|
|
35
|
-
import { getCreateAccountInstruction } from "@solana-program/system";
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* A special QueryBase implementation for SVM used for querying gas costs, token prices, and decimals of various tokens
|
|
39
|
-
* on Solana.
|
|
40
|
-
*/
|
|
41
|
-
export class SvmQuery implements QueryInterface {
|
|
42
|
-
protected computeUnitEstimator;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Instantiates a SvmQuery instance
|
|
46
|
-
* @param provider A valid solana/kit rpc client.
|
|
47
|
-
* @param symbolMapping A mapping to valid ERC20 tokens and their respective characteristics
|
|
48
|
-
* @param spokePoolAddress The valid address of the Spoke Pool deployment
|
|
49
|
-
* @param simulatedRelayerAddress The address that these queries will reference as the sender. Note: This address must be approved for USDC
|
|
50
|
-
* @param logger A logging utility to report logs
|
|
51
|
-
* @param coingeckoProApiKey An optional CoinGecko API key that links to a PRO account
|
|
52
|
-
* @param fixedGasPrice Overrides the gas price with a fixed value. Note: primarily used for the Boba blockchain
|
|
53
|
-
* @param coingeckoBaseCurrency The basis currency that CoinGecko will use to resolve pricing
|
|
54
|
-
*/
|
|
55
|
-
constructor(
|
|
56
|
-
readonly provider: SVMProvider,
|
|
57
|
-
readonly symbolMapping: SymbolMappingType,
|
|
58
|
-
readonly spokePoolAddress: SvmAddress,
|
|
59
|
-
readonly simulatedRelayerAddress: SvmAddress,
|
|
60
|
-
readonly logger: Logger,
|
|
61
|
-
readonly coingeckoProApiKey?: string,
|
|
62
|
-
readonly fixedGasPrice?: BigNumberish,
|
|
63
|
-
readonly coingeckoBaseCurrency: string = "eth"
|
|
64
|
-
) {
|
|
65
|
-
this.computeUnitEstimator = getComputeUnitEstimateForTransactionMessageFactory({
|
|
66
|
-
rpc: provider,
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Retrieves the current gas costs of performing a fillRelay contract at the referenced SpokePool.
|
|
72
|
-
* @param deposit V3 deposit instance.
|
|
73
|
-
* @param relayerAddress Relayer address to simulate with.
|
|
74
|
-
* @param options
|
|
75
|
-
* @param options.gasPrice Optional gas price to use for the simulation.
|
|
76
|
-
* @param options.gasUnits Optional gas units to use for the simulation.
|
|
77
|
-
* @param options.transport Optional transport object for custom gas price retrieval.
|
|
78
|
-
* @returns The gas estimate for this function call (multiplied with the optional buffer).
|
|
79
|
-
*/
|
|
80
|
-
async getGasCosts(
|
|
81
|
-
deposit: Omit<Deposit, "messageHash">,
|
|
82
|
-
_relayer = DEFAULT_SIMULATED_RELAYER_ADDRESS,
|
|
83
|
-
options: Partial<{
|
|
84
|
-
gasPrice: BigNumberish;
|
|
85
|
-
gasUnits: BigNumberish;
|
|
86
|
-
baseFeeMultiplier: BigNumber;
|
|
87
|
-
priorityFeeMultiplier: BigNumber;
|
|
88
|
-
}> = {}
|
|
89
|
-
): Promise<TransactionCostEstimate> {
|
|
90
|
-
// If the user did not have a token account created on destination, then we need to include this as a gas cost.
|
|
91
|
-
const mint = toAddressType(deposit.outputToken).forceSvmAddress();
|
|
92
|
-
const owner = toAddressType(deposit.recipient).forceSvmAddress();
|
|
93
|
-
const associatedToken = await getAssociatedTokenAddress(owner, mint);
|
|
94
|
-
const simulatedSigner = SolanaVoidSigner(this.simulatedRelayerAddress.toBase58());
|
|
95
|
-
|
|
96
|
-
// If the recipient has an associated token account on destination, then skip generating the instruction for creating a new token account.
|
|
97
|
-
let recipientCreateTokenAccountInstructions: IInstruction[] | undefined = undefined;
|
|
98
|
-
const [associatedTokenAccountExists, mintInfo] = await Promise.all([
|
|
99
|
-
(await fetchEncodedAccount(this.provider, associatedToken)).exists,
|
|
100
|
-
fetchMint(this.provider, mint.toV2Address()),
|
|
101
|
-
]);
|
|
102
|
-
if (!associatedTokenAccountExists) {
|
|
103
|
-
const space = BigInt(getMintSize());
|
|
104
|
-
const rent = await this.provider.getMinimumBalanceForRentExemption(space).send();
|
|
105
|
-
const createAccountIx = getCreateAccountInstruction({
|
|
106
|
-
payer: simulatedSigner,
|
|
107
|
-
newAccount: SolanaVoidSigner(mint.toBase58()),
|
|
108
|
-
lamports: rent,
|
|
109
|
-
space,
|
|
110
|
-
programAddress: TOKEN_PROGRAM_ADDRESS,
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
const initializeMintIx = getInitializeMintInstruction({
|
|
114
|
-
mint: mint.toV2Address(),
|
|
115
|
-
decimals: mintInfo.data.decimals,
|
|
116
|
-
mintAuthority: owner.toV2Address(),
|
|
117
|
-
});
|
|
118
|
-
recipientCreateTokenAccountInstructions = [createAccountIx, initializeMintIx];
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
const [createTokenAccountsIx, approveIx, fillIx] = await Promise.all([
|
|
122
|
-
createTokenAccountsInstruction(mint, simulatedSigner),
|
|
123
|
-
createApproveInstruction(
|
|
124
|
-
mint,
|
|
125
|
-
deposit.outputAmount,
|
|
126
|
-
this.simulatedRelayerAddress,
|
|
127
|
-
this.spokePoolAddress,
|
|
128
|
-
mintInfo.data.decimals
|
|
129
|
-
),
|
|
130
|
-
fillRelayInstruction(this.spokePoolAddress, deposit, simulatedSigner, associatedToken),
|
|
131
|
-
]);
|
|
132
|
-
|
|
133
|
-
// Get the most recent confirmed blockhash.
|
|
134
|
-
const recentBlockhash = await this.provider.getLatestBlockhash().send();
|
|
135
|
-
const fillRelayTx = pipe(
|
|
136
|
-
createTransactionMessage({ version: 0 }),
|
|
137
|
-
(tx) => setTransactionMessageFeePayer(this.simulatedRelayerAddress.toV2Address(), tx),
|
|
138
|
-
(tx) => setTransactionMessageLifetimeUsingBlockhash(recentBlockhash.value, tx),
|
|
139
|
-
(tx) =>
|
|
140
|
-
isDefined(recipientCreateTokenAccountInstructions)
|
|
141
|
-
? appendTransactionMessageInstructions(recipientCreateTokenAccountInstructions, tx)
|
|
142
|
-
: tx,
|
|
143
|
-
(tx) => appendTransactionMessageInstructions([createTokenAccountsIx, approveIx, fillIx], tx)
|
|
144
|
-
);
|
|
145
|
-
|
|
146
|
-
const [computeUnitsConsumed, _gasPriceEstimate] = await Promise.all([
|
|
147
|
-
toBN(await this.computeUnitEstimator(fillRelayTx)),
|
|
148
|
-
getGasPriceEstimate(this.provider, {
|
|
149
|
-
unsignedTx: fillRelayTx,
|
|
150
|
-
baseFeeMultiplier: options.baseFeeMultiplier,
|
|
151
|
-
priorityFeeMultiplier: options.priorityFeeMultiplier,
|
|
152
|
-
}),
|
|
153
|
-
]);
|
|
154
|
-
|
|
155
|
-
// We can cast the gas price estimate to an SvmGasPriceEstimate here since the oracle should always
|
|
156
|
-
// query the Solana adapter.
|
|
157
|
-
const gasPriceEstimate = _gasPriceEstimate as SvmGasPriceEstimate;
|
|
158
|
-
const gasPrice = gasPriceEstimate.baseFee.add(
|
|
159
|
-
gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div(toBN(1_000_000)) // 1_000_000 microLamports/lamport.
|
|
160
|
-
);
|
|
161
|
-
|
|
162
|
-
return {
|
|
163
|
-
nativeGasCost: computeUnitsConsumed,
|
|
164
|
-
tokenGasCost: gasPrice,
|
|
165
|
-
gasPrice,
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Retrieves the current price of a token
|
|
171
|
-
* @param tokenSymbol A valid [CoinGecko-ID](https://api.coingecko.com/api/v3/coins/list)
|
|
172
|
-
* @returns The resolved token price within the specified coingeckoBaseCurrency
|
|
173
|
-
*/
|
|
174
|
-
async getTokenPrice(tokenSymbol: string): Promise<number> {
|
|
175
|
-
if (!this.symbolMapping[tokenSymbol]) throw new Error(`${tokenSymbol} does not exist in mapping`);
|
|
176
|
-
const coingeckoInstance = Coingecko.get(this.logger, this.coingeckoProApiKey);
|
|
177
|
-
const [, price] = await coingeckoInstance.getCurrentPriceByContract(
|
|
178
|
-
this.symbolMapping[tokenSymbol].addresses[CHAIN_IDs.MAINNET],
|
|
179
|
-
this.coingeckoBaseCurrency
|
|
180
|
-
);
|
|
181
|
-
return price;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Resolves the number of decimal places a token can have
|
|
186
|
-
* @param tokenSymbol A valid Across-Enabled Token ID
|
|
187
|
-
* @returns The number of decimals of precision for the corresponding tokenSymbol
|
|
188
|
-
*/
|
|
189
|
-
getTokenDecimals(tokenSymbol: string): number {
|
|
190
|
-
if (!this.symbolMapping[tokenSymbol]) throw new Error(`${tokenSymbol} does not exist in mapping`);
|
|
191
|
-
return this.symbolMapping[tokenSymbol].decimals;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
File without changes
|
|
File without changes
|