@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,204 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getEventAuthority = exports.getRoutePda = exports.getFillStatusPda = exports.getStatePda = exports.unwrapEventData = exports.getEventName = exports.decodeEvent = exports.parseEventData = exports.isDevnet = exports.SolanaVoidSigner = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var anchor_1 = require("@coral-xyz/anchor");
|
|
6
|
-
var kit_1 = require("@solana/kit");
|
|
7
|
-
var utils_1 = require("../../utils");
|
|
8
|
-
var contracts_1 = require("@across-protocol/contracts");
|
|
9
|
-
var interfaces_1 = require("../../interfaces");
|
|
10
|
-
var types_1 = require("./types");
|
|
11
|
-
var SolanaVoidSigner = function (simulationAddress) {
|
|
12
|
-
return {
|
|
13
|
-
address: (0, kit_1.address)(simulationAddress),
|
|
14
|
-
signAndSendTransactions: function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
15
|
-
return tslib_1.__generator(this, function (_a) {
|
|
16
|
-
switch (_a.label) {
|
|
17
|
-
case 0: return [4, Promise.resolve([])];
|
|
18
|
-
case 1: return [2, _a.sent()];
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}); },
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
exports.SolanaVoidSigner = SolanaVoidSigner;
|
|
25
|
-
function isDevnet(rpc) {
|
|
26
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
27
|
-
var genesisHash;
|
|
28
|
-
return tslib_1.__generator(this, function (_a) {
|
|
29
|
-
switch (_a.label) {
|
|
30
|
-
case 0: return [4, rpc.getGenesisHash().send()];
|
|
31
|
-
case 1:
|
|
32
|
-
genesisHash = _a.sent();
|
|
33
|
-
return [2, genesisHash === "EtWTRABZaYq6iMfeYKouRu166VU2xqa1wcaWoxPkrZBG"];
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
exports.isDevnet = isDevnet;
|
|
39
|
-
function parseEventData(eventData) {
|
|
40
|
-
if (!eventData)
|
|
41
|
-
return eventData;
|
|
42
|
-
if (Array.isArray(eventData)) {
|
|
43
|
-
return eventData.map(parseEventData);
|
|
44
|
-
}
|
|
45
|
-
if (typeof eventData === "object") {
|
|
46
|
-
if (eventData.constructor.name === "PublicKey") {
|
|
47
|
-
return (0, kit_1.address)(eventData.toString());
|
|
48
|
-
}
|
|
49
|
-
if (anchor_1.BN.isBN(eventData)) {
|
|
50
|
-
return BigInt(eventData.toString());
|
|
51
|
-
}
|
|
52
|
-
return Object.fromEntries(Object.entries(eventData).map(function (_a) {
|
|
53
|
-
var key = _a[0], value = _a[1];
|
|
54
|
-
return [snakeToCamel(key), parseEventData(value)];
|
|
55
|
-
}));
|
|
56
|
-
}
|
|
57
|
-
return eventData;
|
|
58
|
-
}
|
|
59
|
-
exports.parseEventData = parseEventData;
|
|
60
|
-
function decodeEvent(idl, rawEvent) {
|
|
61
|
-
var event = new anchor_1.BorshEventCoder(idl).decode(rawEvent);
|
|
62
|
-
if (!event)
|
|
63
|
-
throw new Error("Malformed rawEvent for IDL ".concat(idl.address, ": ").concat(rawEvent));
|
|
64
|
-
return {
|
|
65
|
-
name: event.name,
|
|
66
|
-
data: parseEventData(event.data),
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
exports.decodeEvent = decodeEvent;
|
|
70
|
-
function snakeToCamel(s) {
|
|
71
|
-
return s.replace(/(_\w)/g, function (match) { return match[1].toUpperCase(); });
|
|
72
|
-
}
|
|
73
|
-
function getEventName(rawName) {
|
|
74
|
-
if (Object.values(types_1.SVMEventNames).some(function (name) { return rawName.includes(name); }))
|
|
75
|
-
return rawName;
|
|
76
|
-
throw new Error("Unknown event name: ".concat(rawName));
|
|
77
|
-
}
|
|
78
|
-
exports.getEventName = getEventName;
|
|
79
|
-
function unwrapEventData(data, uint8ArrayKeysAsBigInt, currentKey) {
|
|
80
|
-
if (uint8ArrayKeysAsBigInt === void 0) { uint8ArrayKeysAsBigInt = ["depositId"]; }
|
|
81
|
-
if (data == null) {
|
|
82
|
-
return data;
|
|
83
|
-
}
|
|
84
|
-
if (typeof data === "bigint") {
|
|
85
|
-
return utils_1.BigNumber.from(data);
|
|
86
|
-
}
|
|
87
|
-
if (data instanceof Uint8Array || (0, utils_1.isUint8Array)(data)) {
|
|
88
|
-
var bytes = data instanceof Uint8Array ? data : new Uint8Array(data);
|
|
89
|
-
var hex = "0x" + Buffer.from(bytes).toString("hex");
|
|
90
|
-
if (currentKey && uint8ArrayKeysAsBigInt.includes(currentKey)) {
|
|
91
|
-
return utils_1.BigNumber.from(hex);
|
|
92
|
-
}
|
|
93
|
-
return hex;
|
|
94
|
-
}
|
|
95
|
-
if (Array.isArray(data)) {
|
|
96
|
-
return data.map(function (item) { return unwrapEventData(item, uint8ArrayKeysAsBigInt); });
|
|
97
|
-
}
|
|
98
|
-
if (typeof data === "string" && (0, kit_1.isAddress)(data)) {
|
|
99
|
-
return utils_1.SvmAddress.from(data).toBytes32();
|
|
100
|
-
}
|
|
101
|
-
if (typeof data === "object") {
|
|
102
|
-
if (currentKey === "fillType") {
|
|
103
|
-
var fillType = Object.keys(data)[0];
|
|
104
|
-
switch (fillType) {
|
|
105
|
-
case "FastFill":
|
|
106
|
-
return interfaces_1.FillType.FastFill;
|
|
107
|
-
case "ReplacedSlowFill":
|
|
108
|
-
return interfaces_1.FillType.ReplacedSlowFill;
|
|
109
|
-
case "SlowFill":
|
|
110
|
-
return interfaces_1.FillType.SlowFill;
|
|
111
|
-
default:
|
|
112
|
-
throw new Error("Unknown fill type: ".concat(fillType));
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
if (Object.keys(data).length === 0) {
|
|
116
|
-
return "0x";
|
|
117
|
-
}
|
|
118
|
-
return Object.fromEntries(Object.entries(data).map(function (_a) {
|
|
119
|
-
var key = _a[0], value = _a[1];
|
|
120
|
-
return [
|
|
121
|
-
key,
|
|
122
|
-
unwrapEventData(value, uint8ArrayKeysAsBigInt, key),
|
|
123
|
-
];
|
|
124
|
-
}));
|
|
125
|
-
}
|
|
126
|
-
return data;
|
|
127
|
-
}
|
|
128
|
-
exports.unwrapEventData = unwrapEventData;
|
|
129
|
-
function getStatePda(programId) {
|
|
130
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
131
|
-
var intEncoder, seed, statePda;
|
|
132
|
-
return tslib_1.__generator(this, function (_a) {
|
|
133
|
-
switch (_a.label) {
|
|
134
|
-
case 0:
|
|
135
|
-
intEncoder = (0, kit_1.getU64Encoder)();
|
|
136
|
-
seed = intEncoder.encode(0);
|
|
137
|
-
return [4, (0, kit_1.getProgramDerivedAddress)({
|
|
138
|
-
programAddress: programId,
|
|
139
|
-
seeds: ["state", seed],
|
|
140
|
-
})];
|
|
141
|
-
case 1:
|
|
142
|
-
statePda = (_a.sent())[0];
|
|
143
|
-
return [2, statePda];
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
exports.getStatePda = getStatePda;
|
|
149
|
-
function getFillStatusPda(programId, relayData, destinationChainId) {
|
|
150
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
151
|
-
var relayDataHash, uint8RelayDataHash, fillStatusPda;
|
|
152
|
-
return tslib_1.__generator(this, function (_a) {
|
|
153
|
-
switch (_a.label) {
|
|
154
|
-
case 0:
|
|
155
|
-
relayDataHash = (0, utils_1.getRelayDataHash)(relayData, destinationChainId);
|
|
156
|
-
uint8RelayDataHash = new Uint8Array(Buffer.from(relayDataHash.slice(2), "hex"));
|
|
157
|
-
return [4, (0, kit_1.getProgramDerivedAddress)({
|
|
158
|
-
programAddress: programId,
|
|
159
|
-
seeds: ["fills", uint8RelayDataHash],
|
|
160
|
-
})];
|
|
161
|
-
case 1:
|
|
162
|
-
fillStatusPda = (_a.sent())[0];
|
|
163
|
-
return [2, fillStatusPda];
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
exports.getFillStatusPda = getFillStatusPda;
|
|
169
|
-
function getRoutePda(originToken, seed, routeChainId) {
|
|
170
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
171
|
-
var intEncoder, addressEncoder, pda;
|
|
172
|
-
return tslib_1.__generator(this, function (_a) {
|
|
173
|
-
switch (_a.label) {
|
|
174
|
-
case 0:
|
|
175
|
-
intEncoder = (0, kit_1.getU64Encoder)();
|
|
176
|
-
addressEncoder = (0, kit_1.getAddressEncoder)();
|
|
177
|
-
return [4, (0, kit_1.getProgramDerivedAddress)({
|
|
178
|
-
programAddress: (0, kit_1.address)(contracts_1.SvmSpokeClient.SVM_SPOKE_PROGRAM_ADDRESS),
|
|
179
|
-
seeds: ["route", addressEncoder.encode(originToken), intEncoder.encode(seed), intEncoder.encode(routeChainId)],
|
|
180
|
-
})];
|
|
181
|
-
case 1:
|
|
182
|
-
pda = (_a.sent())[0];
|
|
183
|
-
return [2, pda];
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
exports.getRoutePda = getRoutePda;
|
|
189
|
-
var getEventAuthority = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
190
|
-
var eventAuthority;
|
|
191
|
-
return tslib_1.__generator(this, function (_a) {
|
|
192
|
-
switch (_a.label) {
|
|
193
|
-
case 0: return [4, (0, kit_1.getProgramDerivedAddress)({
|
|
194
|
-
programAddress: (0, kit_1.address)(contracts_1.SvmSpokeClient.SVM_SPOKE_PROGRAM_ADDRESS),
|
|
195
|
-
seeds: ["__event_authority"],
|
|
196
|
-
})];
|
|
197
|
-
case 1:
|
|
198
|
-
eventAuthority = (_a.sent())[0];
|
|
199
|
-
return [2, eventAuthority];
|
|
200
|
-
}
|
|
201
|
-
});
|
|
202
|
-
}); };
|
|
203
|
-
exports.getEventAuthority = getEventAuthority;
|
|
204
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/arch/svm/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Address, Rpc, RpcTransport, SolanaRpcApiFromTransport } from "@solana/kit";
|
|
2
|
-
import winston from "winston";
|
|
3
|
-
import { SvmCpiEventsClient } from "../../arch/svm";
|
|
4
|
-
import { FillStatus, RelayData } from "../../interfaces";
|
|
5
|
-
import { BigNumber, DepositSearchResult, EventSearchConfig, MakeOptional } from "../../utils";
|
|
6
|
-
import { HubPoolClient } from "../HubPoolClient";
|
|
7
|
-
import { SpokePoolClient, SpokePoolUpdate } from "./SpokePoolClient";
|
|
8
|
-
export declare class SvmSpokePoolClient extends SpokePoolClient {
|
|
9
|
-
svmEventsClient: SvmCpiEventsClient;
|
|
10
|
-
protected programId: Address;
|
|
11
|
-
protected statePda: Address;
|
|
12
|
-
protected constructor(logger: winston.Logger, hubPoolClient: HubPoolClient | null, chainId: number, deploymentSlot: bigint, eventSearchConfig: MakeOptional<EventSearchConfig, "to">, svmEventsClient: SvmCpiEventsClient, programId: Address, statePda: Address);
|
|
13
|
-
static create(logger: winston.Logger, hubPoolClient: HubPoolClient | null, chainId: number, deploymentSlot: bigint, eventSearchConfig: MakeOptional<EventSearchConfig, "to"> | undefined, rpc: Rpc<SolanaRpcApiFromTransport<RpcTransport>>): Promise<SvmSpokePoolClient>;
|
|
14
|
-
static createWithExistingEventClient(logger: winston.Logger, hubPoolClient: HubPoolClient | null, chainId: number, deploymentSlot: bigint, eventSearchConfig: MakeOptional<EventSearchConfig, "to"> | undefined, eventClient: SvmCpiEventsClient): Promise<SvmSpokePoolClient>;
|
|
15
|
-
_queryableEventNames(): string[];
|
|
16
|
-
protected _update(eventsToQuery: string[]): Promise<SpokePoolUpdate>;
|
|
17
|
-
getMaxFillDeadlineInRange(_startSlot: number, _endSlot: number): Promise<number>;
|
|
18
|
-
getTimestampForBlock(slot: number): Promise<number>;
|
|
19
|
-
getTimeAt(slot: number): Promise<number>;
|
|
20
|
-
findDeposit(_depositId: BigNumber): Promise<DepositSearchResult>;
|
|
21
|
-
relayFillStatus(relayData: RelayData, atHeight?: number, destinationChainId?: number): Promise<FillStatus>;
|
|
22
|
-
fillStatusArray(relayData: RelayData[], atHeight?: number, destinationChainId?: number): Promise<(FillStatus | undefined)[]>;
|
|
23
|
-
}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SvmSpokePoolClient = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var svm_1 = require("../../arch/svm");
|
|
6
|
-
var utils_1 = require("../../utils");
|
|
7
|
-
var BaseAbstractClient_1 = require("../BaseAbstractClient");
|
|
8
|
-
var SpokePoolClient_1 = require("./SpokePoolClient");
|
|
9
|
-
var SvmSpokePoolClient = (function (_super) {
|
|
10
|
-
tslib_1.__extends(SvmSpokePoolClient, _super);
|
|
11
|
-
function SvmSpokePoolClient(logger, hubPoolClient, chainId, deploymentSlot, eventSearchConfig, svmEventsClient, programId, statePda) {
|
|
12
|
-
var _this = _super.call(this, logger, hubPoolClient, chainId, Number(deploymentSlot), eventSearchConfig) || this;
|
|
13
|
-
_this.svmEventsClient = svmEventsClient;
|
|
14
|
-
_this.programId = programId;
|
|
15
|
-
_this.statePda = statePda;
|
|
16
|
-
return _this;
|
|
17
|
-
}
|
|
18
|
-
SvmSpokePoolClient.create = function (logger, hubPoolClient, chainId, deploymentSlot, eventSearchConfig, rpc) {
|
|
19
|
-
if (eventSearchConfig === void 0) { eventSearchConfig = { from: 0, maxLookBack: 0 }; }
|
|
20
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
21
|
-
var svmEventsClient, programId, statePda;
|
|
22
|
-
return tslib_1.__generator(this, function (_a) {
|
|
23
|
-
switch (_a.label) {
|
|
24
|
-
case 0: return [4, svm_1.SvmCpiEventsClient.create(rpc)];
|
|
25
|
-
case 1:
|
|
26
|
-
svmEventsClient = _a.sent();
|
|
27
|
-
programId = svmEventsClient.getProgramAddress();
|
|
28
|
-
return [4, (0, svm_1.getStatePda)(programId)];
|
|
29
|
-
case 2:
|
|
30
|
-
statePda = _a.sent();
|
|
31
|
-
return [2, new SvmSpokePoolClient(logger, hubPoolClient, chainId, deploymentSlot, eventSearchConfig, svmEventsClient, programId, statePda)];
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
SvmSpokePoolClient.createWithExistingEventClient = function (logger, hubPoolClient, chainId, deploymentSlot, eventSearchConfig, eventClient) {
|
|
37
|
-
if (eventSearchConfig === void 0) { eventSearchConfig = { from: 0, maxLookBack: 0 }; }
|
|
38
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
39
|
-
var programId, statePda;
|
|
40
|
-
return tslib_1.__generator(this, function (_a) {
|
|
41
|
-
switch (_a.label) {
|
|
42
|
-
case 0:
|
|
43
|
-
programId = eventClient.getProgramAddress();
|
|
44
|
-
return [4, (0, svm_1.getStatePda)(programId)];
|
|
45
|
-
case 1:
|
|
46
|
-
statePda = _a.sent();
|
|
47
|
-
return [2, new SvmSpokePoolClient(logger, hubPoolClient, chainId, deploymentSlot, eventSearchConfig, eventClient, programId, statePda)];
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
SvmSpokePoolClient.prototype._queryableEventNames = function () {
|
|
53
|
-
var internalEventNames = Object.values(svm_1.SVMEventNames);
|
|
54
|
-
return internalEventNames.filter(function (e) { return SpokePoolClient_1.knownEventNames.includes(e); });
|
|
55
|
-
};
|
|
56
|
-
SvmSpokePoolClient.prototype._update = function (eventsToQuery) {
|
|
57
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
58
|
-
var searchConfig, reason, deploymentSlot, eventSearchConfigs, spokePoolAddress, timerStart, _a, currentTime, eventsQueried, errMsg;
|
|
59
|
-
var _this = this;
|
|
60
|
-
return tslib_1.__generator(this, function (_b) {
|
|
61
|
-
switch (_b.label) {
|
|
62
|
-
case 0: return [4, this.updateSearchConfig(this.svmEventsClient.getRpc())];
|
|
63
|
-
case 1:
|
|
64
|
-
searchConfig = _b.sent();
|
|
65
|
-
if ((0, BaseAbstractClient_1.isUpdateFailureReason)(searchConfig)) {
|
|
66
|
-
reason = searchConfig;
|
|
67
|
-
return [2, { success: false, reason: reason }];
|
|
68
|
-
}
|
|
69
|
-
deploymentSlot = BigInt(this.deploymentBlock);
|
|
70
|
-
eventSearchConfigs = eventsToQuery.map(function (eventName) {
|
|
71
|
-
if (!_this._queryableEventNames().includes(eventName)) {
|
|
72
|
-
throw new Error("SpokePoolClient: Cannot query unrecognised SpokePool event name: ".concat(eventName));
|
|
73
|
-
}
|
|
74
|
-
var _searchConfig = tslib_1.__assign({}, searchConfig);
|
|
75
|
-
if (eventName === "EnabledDepositRoute" && !_this.isUpdated) {
|
|
76
|
-
_searchConfig.from = Number(deploymentSlot);
|
|
77
|
-
}
|
|
78
|
-
return _searchConfig;
|
|
79
|
-
});
|
|
80
|
-
spokePoolAddress = this.svmEventsClient.getProgramAddress();
|
|
81
|
-
this.log("debug", "Updating SpokePool client for chain ".concat(this.chainId), {
|
|
82
|
-
eventsToQuery: eventsToQuery,
|
|
83
|
-
searchConfig: searchConfig,
|
|
84
|
-
spokePool: spokePoolAddress,
|
|
85
|
-
});
|
|
86
|
-
timerStart = Date.now();
|
|
87
|
-
return [4, Promise.all(tslib_1.__spreadArray([
|
|
88
|
-
this.svmEventsClient.getRpc().getBlockTime(BigInt(searchConfig.to)).send()
|
|
89
|
-
], eventsToQuery.map(function (eventName, idx) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
90
|
-
var config, events;
|
|
91
|
-
return tslib_1.__generator(this, function (_a) {
|
|
92
|
-
switch (_a.label) {
|
|
93
|
-
case 0:
|
|
94
|
-
config = eventSearchConfigs[idx];
|
|
95
|
-
return [4, this.svmEventsClient.queryEvents(eventName, BigInt(config.from), BigInt(config.to), {
|
|
96
|
-
limit: config.maxLookBack,
|
|
97
|
-
})];
|
|
98
|
-
case 1:
|
|
99
|
-
events = _a.sent();
|
|
100
|
-
return [2, events.map(function (event) { return (tslib_1.__assign({ txnRef: event.signature, blockNumber: Number(event.slot), txnIndex: 0, logIndex: 0 }, (0, svm_1.unwrapEventData)(event.data))); })];
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}); }), true))];
|
|
104
|
-
case 2:
|
|
105
|
-
_a = _b.sent(), currentTime = _a[0], eventsQueried = _a.slice(1);
|
|
106
|
-
this.log("debug", "Time to query new events from RPC for ".concat(this.chainId, ": ").concat(Date.now() - timerStart, " ms"));
|
|
107
|
-
if (currentTime < this.currentTime) {
|
|
108
|
-
errMsg = "currentTime: ".concat(currentTime, " < ").concat(this.currentTime);
|
|
109
|
-
throw new Error("SvmSpokePoolClient::update: ".concat(errMsg));
|
|
110
|
-
}
|
|
111
|
-
eventsQueried.forEach(function (events) { return (0, utils_1.sortEventsAscendingInPlace)(events); });
|
|
112
|
-
return [2, {
|
|
113
|
-
success: true,
|
|
114
|
-
currentTime: Number(currentTime),
|
|
115
|
-
searchEndBlock: searchConfig.to,
|
|
116
|
-
events: eventsQueried,
|
|
117
|
-
}];
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
SvmSpokePoolClient.prototype.getMaxFillDeadlineInRange = function (_startSlot, _endSlot) {
|
|
123
|
-
return (0, svm_1.getFillDeadline)(this.svmEventsClient.getRpc(), this.statePda);
|
|
124
|
-
};
|
|
125
|
-
SvmSpokePoolClient.prototype.getTimestampForBlock = function (slot) {
|
|
126
|
-
return (0, svm_1.getTimestampForSlot)(this.svmEventsClient.getRpc(), slot);
|
|
127
|
-
};
|
|
128
|
-
SvmSpokePoolClient.prototype.getTimeAt = function (slot) {
|
|
129
|
-
return (0, svm_1.getTimestampForSlot)(this.svmEventsClient.getRpc(), slot);
|
|
130
|
-
};
|
|
131
|
-
SvmSpokePoolClient.prototype.findDeposit = function (_depositId) {
|
|
132
|
-
throw new Error("findDeposit not implemented for SVM");
|
|
133
|
-
};
|
|
134
|
-
SvmSpokePoolClient.prototype.relayFillStatus = function (relayData, atHeight, destinationChainId) {
|
|
135
|
-
destinationChainId !== null && destinationChainId !== void 0 ? destinationChainId : (destinationChainId = this.chainId);
|
|
136
|
-
return (0, svm_1.relayFillStatus)(this.programId, relayData, destinationChainId, this.svmEventsClient, atHeight);
|
|
137
|
-
};
|
|
138
|
-
SvmSpokePoolClient.prototype.fillStatusArray = function (relayData, atHeight, destinationChainId) {
|
|
139
|
-
destinationChainId !== null && destinationChainId !== void 0 ? destinationChainId : (destinationChainId = this.chainId);
|
|
140
|
-
return (0, svm_1.fillStatusArray)(this.programId, relayData, destinationChainId, this.svmEventsClient, atHeight, this.logger);
|
|
141
|
-
};
|
|
142
|
-
return SvmSpokePoolClient;
|
|
143
|
-
}(SpokePoolClient_1.SpokePoolClient));
|
|
144
|
-
exports.SvmSpokePoolClient = SvmSpokePoolClient;
|
|
145
|
-
//# sourceMappingURL=SVMSpokePoolClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SVMSpokePoolClient.js","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SVMSpokePoolClient.ts"],"names":[],"mappings":";;;;AAEA,sCASwB;AAExB,qCAMqB;AACrB,4DAA8D;AAE9D,qDAAsF;AAMtF;IAAwC,8CAAe;IAIrD,4BACE,MAAsB,EACtB,aAAmC,EACnC,OAAe,EACf,cAAsB,EACtB,iBAAwD,EACjD,eAAmC,EAChC,SAAkB,EAClB,QAAiB;QAR7B,YAWE,kBAAM,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,iBAAiB,CAAC,SACjF;QANQ,qBAAe,GAAf,eAAe,CAAoB;QAChC,eAAS,GAAT,SAAS,CAAS;QAClB,cAAQ,GAAR,QAAQ,CAAS;;IAI7B,CAAC;IAKmB,yBAAM,GAA1B,UACE,MAAsB,EACtB,aAAmC,EACnC,OAAe,EACf,cAAsB,EACtB,iBAAsF,EACtF,GAAiD;QADjD,kCAAA,EAAA,sBAA6D,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;;;;;4BAG9D,WAAM,wBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAA;;wBAAtD,eAAe,GAAG,SAAoC;wBACtD,SAAS,GAAG,eAAe,CAAC,iBAAiB,EAAE,CAAC;wBACrC,WAAM,IAAA,iBAAW,EAAC,SAAS,CAAC,EAAA;;wBAAvC,QAAQ,GAAG,SAA4B;wBAC7C,WAAO,IAAI,kBAAkB,CAC3B,MAAM,EACN,aAAa,EACb,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,QAAQ,CACT,EAAC;;;;KACH;IAKmB,gDAA6B,GAAjD,UACE,MAAsB,EACtB,aAAmC,EACnC,OAAe,EACf,cAAsB,EACtB,iBAAsF,EACtF,WAA+B;QAD/B,kCAAA,EAAA,sBAA6D,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;;;;;;wBAGhF,SAAS,GAAG,WAAW,CAAC,iBAAiB,EAAE,CAAC;wBACjC,WAAM,IAAA,iBAAW,EAAC,SAAS,CAAC,EAAA;;wBAAvC,QAAQ,GAAG,SAA4B;wBAC7C,WAAO,IAAI,kBAAkB,CAC3B,MAAM,EACN,aAAa,EACb,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,QAAQ,CACT,EAAC;;;;KACH;IAEM,iDAAoB,GAA3B;QAIE,IAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAa,CAAC,CAAC;QACxD,OAAO,kBAAkB,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,iCAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAA3B,CAA2B,CAAC,CAAC;IACvE,CAAC;IAKe,oCAAO,GAAvB,UAAwB,aAAuB;;;;;;4BACxB,WAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAA;;wBAA3E,YAAY,GAAG,SAA4D;wBACjF,IAAI,IAAA,0CAAqB,EAAC,YAAY,CAAC,EAAE;4BACjC,MAAM,GAAG,YAAY,CAAC;4BAC5B,WAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAA,EAAE,EAAC;yBACnC;wBAEK,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;wBAE9C,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAAC,UAAC,SAAS;4BACrD,IAAI,CAAC,KAAI,CAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gCACpD,MAAM,IAAI,KAAK,CAAC,2EAAoE,SAAS,CAAE,CAAC,CAAC;6BAClG;4BAED,IAAM,aAAa,wBAAQ,YAAY,CAAE,CAAC;4BAK1C,IAAI,SAAS,KAAK,qBAAqB,IAAI,CAAC,KAAI,CAAC,SAAS,EAAE;gCAC1D,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;6BAC7C;4BAED,OAAO,aAAkC,CAAC;wBAC5C,CAAC,CAAC,CAAC;wBAEG,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;wBAElE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,8CAAuC,IAAI,CAAC,OAAO,CAAE,EAAE;4BACvE,aAAa,eAAA;4BACb,YAAY,cAAA;4BACZ,SAAS,EAAE,gBAAgB;yBAC5B,CAAC,CAAC;wBAEG,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAEU,WAAM,OAAO,CAAC,GAAG;gCACvD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;+BACvE,aAAa,CAAC,GAAG,CAAC,UAAO,SAAS,EAAE,GAAG;;;;;4CAClC,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;4CACxB,WAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CACnD,SAA0B,EAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EACnB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EACjB;oDACE,KAAK,EAAE,MAAM,CAAC,WAAW;iDAC1B,CACF,EAAA;;4CAPK,MAAM,GAAG,SAOd;4CACD,WAAO,MAAM,CAAC,GAAG,CACf,UAAC,KAAK,IAAoB,OAAA,oBACxB,MAAM,EAAE,KAAK,CAAC,SAAS,EACvB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAC/B,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,IACP,IAAA,qBAAe,EAAC,KAAK,CAAC,IAAI,CAA6B,EAC3D,EANwB,CAMxB,CACH,EAAC;;;iCACH,CAAC,QACF,EAAA;;wBAtBI,KAAkC,SAsBtC,EAtBK,WAAW,QAAA,EAAK,aAAa,cAAA;wBAuBpC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gDAAyC,IAAI,CAAC,OAAO,eAAK,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,QAAK,CAAC,CAAC;wBAC1G,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;4BAC5B,MAAM,GAAG,uBAAgB,WAAW,gBAAM,IAAI,CAAC,WAAW,CAAE,CAAC;4BACnE,MAAM,IAAI,KAAK,CAAC,sCAA+B,MAAM,CAAE,CAAC,CAAC;yBAC1D;wBAGD,aAAa,CAAC,OAAO,CAAC,UAAC,MAAM,IAAK,OAAA,IAAA,kCAA0B,EAAC,MAAM,CAAC,EAAlC,CAAkC,CAAC,CAAC;wBAEtE,WAAO;gCACL,OAAO,EAAE,IAAI;gCACb,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;gCAChC,cAAc,EAAE,YAAY,CAAC,EAAE;gCAC/B,MAAM,EAAE,aAAa;6BACtB,EAAC;;;;KACH;IAMe,sDAAyB,GAAzC,UAA0C,UAAkB,EAAE,QAAgB;QAC5E,OAAO,IAAA,qBAAe,EAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAKe,iDAAoB,GAApC,UAAqC,IAAY;QAC/C,OAAO,IAAA,yBAAmB,EAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAOM,sCAAS,GAAhB,UAAiB,IAAY;QAC3B,OAAO,IAAA,yBAAmB,EAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAMM,wCAAW,GAAlB,UAAmB,UAAqB;QACtC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAKe,4CAAe,GAA/B,UACE,SAAoB,EACpB,QAAiB,EACjB,kBAA2B;QAE3B,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,IAAlB,kBAAkB,GAAK,IAAI,CAAC,OAAO,EAAC;QACpC,OAAO,IAAA,qBAAe,EAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACxG,CAAC;IAQM,4CAAe,GAAtB,UACE,SAAsB,EACtB,QAAiB,EACjB,kBAA2B;QAG3B,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,IAAlB,kBAAkB,GAAK,IAAI,CAAC,OAAO,EAAC;QACpC,OAAO,IAAA,qBAAe,EAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrH,CAAC;IACH,yBAAC;AAAD,CAAC,AAvND,CAAwC,iCAAe,GAuNtD;AAvNY,gDAAkB"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.messageFee = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var utils_1 = require("../../utils");
|
|
6
|
-
var kit_1 = require("@solana/kit");
|
|
7
|
-
function messageFee(provider, opts) {
|
|
8
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
9
|
-
var _unsignedTx, unsignedTx, compiledTransaction, encodedTransactionMessage, baseFeeResponse, instructionAddresses, recentPriorityFees, nonzeroPrioritizationFees, totalPrioritizationFees, flooredPriorityFeePerGas, microLamportsPerComputeUnit;
|
|
10
|
-
return tslib_1.__generator(this, function (_a) {
|
|
11
|
-
switch (_a.label) {
|
|
12
|
-
case 0:
|
|
13
|
-
_unsignedTx = opts.unsignedTx;
|
|
14
|
-
unsignedTx = _unsignedTx;
|
|
15
|
-
compiledTransaction = (0, kit_1.compileTransaction)(unsignedTx);
|
|
16
|
-
encodedTransactionMessage = Buffer.from(compiledTransaction.messageBytes).toString("base64");
|
|
17
|
-
return [4, provider.getFeeForMessage(encodedTransactionMessage).send()];
|
|
18
|
-
case 1:
|
|
19
|
-
baseFeeResponse = _a.sent();
|
|
20
|
-
instructionAddresses = (0, utils_1.dedupArray)(unsignedTx.instructions.map(function (instruction) { return instruction.programAddress; }));
|
|
21
|
-
return [4, provider.getRecentPrioritizationFees(instructionAddresses).send()];
|
|
22
|
-
case 2:
|
|
23
|
-
recentPriorityFees = _a.sent();
|
|
24
|
-
nonzeroPrioritizationFees = recentPriorityFees
|
|
25
|
-
.slice(125)
|
|
26
|
-
.map(function (value) { return value.prioritizationFee; })
|
|
27
|
-
.filter(function (fee) { return fee > 0; });
|
|
28
|
-
totalPrioritizationFees = nonzeroPrioritizationFees.reduce(function (acc, fee) { return acc + fee; }, BigInt(0));
|
|
29
|
-
flooredPriorityFeePerGas = (0, utils_1.parseUnits)(process.env["MIN_PRIORITY_FEE_PER_GAS_".concat(opts.chainId)] || "0", 6);
|
|
30
|
-
microLamportsPerComputeUnit = (0, utils_1.toBN)(totalPrioritizationFees / BigInt(nonzeroPrioritizationFees.length));
|
|
31
|
-
if (microLamportsPerComputeUnit.lt(flooredPriorityFeePerGas)) {
|
|
32
|
-
microLamportsPerComputeUnit = flooredPriorityFeePerGas;
|
|
33
|
-
}
|
|
34
|
-
return [2, {
|
|
35
|
-
baseFee: (0, utils_1.toBN)(baseFeeResponse.value),
|
|
36
|
-
microLamportsPerComputeUnit: microLamportsPerComputeUnit,
|
|
37
|
-
}];
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
exports.messageFee = messageFee;
|
|
43
|
-
//# sourceMappingURL=solana.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/adapters/solana.ts"],"names":[],"mappings":";;;;AACA,qCAA2D;AAG3D,mCAA8G;AAM9G,SAAsB,UAAU,CAAC,QAAqB,EAAE,IAA6B;;;;;;oBAC/D,WAAW,GAAK,IAAI,WAAT,CAAU;oBAGnC,UAAU,GAAG,WAA2C,CAAC;oBACzD,mBAAmB,GAAG,IAAA,wBAAkB,EAAC,UAAU,CAAC,CAAC;oBAGrD,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,QAAQ,CACtF,QAAQ,CACwB,CAAC;oBACX,WAAM,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,IAAI,EAAE,EAAA;;oBAAnF,eAAe,GAAG,SAAiE;oBAGnF,oBAAoB,GAAG,IAAA,kBAAU,EAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,WAAW,IAAK,OAAA,WAAW,CAAC,cAAc,EAA1B,CAA0B,CAAC,CAAC,CAAC;oBACvF,WAAM,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,IAAA,kBAAU,EAAC,OAAO,CAAC,GAAG,CAAC,mCAA4B,IAAI,CAAC,OAAO,CAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC3G,2BAA2B,GAAG,IAAA,YAAI,EAAC,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,WAAO;4BACL,OAAO,EAAE,IAAA,YAAI,EAAC,eAAgB,CAAC,KAAM,CAAC;4BACtC,2BAA2B,6BAAA;yBAC5B,EAAC;;;;CACH;AAlCD,gCAkCC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { SymbolMappingType } from "./";
|
|
2
|
-
import { Deposit } from "../../interfaces";
|
|
3
|
-
import { BigNumberish, TransactionCostEstimate, BigNumber, SvmAddress } from "../../utils";
|
|
4
|
-
import { Logger, QueryInterface } from "../relayFeeCalculator";
|
|
5
|
-
import { SVMProvider } from "../../arch/svm";
|
|
6
|
-
export declare class SvmQuery implements QueryInterface {
|
|
7
|
-
readonly provider: SVMProvider;
|
|
8
|
-
readonly symbolMapping: SymbolMappingType;
|
|
9
|
-
readonly spokePoolAddress: SvmAddress;
|
|
10
|
-
readonly simulatedRelayerAddress: SvmAddress;
|
|
11
|
-
readonly logger: Logger;
|
|
12
|
-
readonly coingeckoProApiKey?: string | undefined;
|
|
13
|
-
readonly fixedGasPrice?: BigNumberish | undefined;
|
|
14
|
-
readonly coingeckoBaseCurrency: string;
|
|
15
|
-
protected computeUnitEstimator: (transactionMessage: import("@solana/kit").CompilableTransactionMessage | (import("@solana/kit").ITransactionMessageWithFeePayer<string> & import("@solana/kit").TransactionMessage), config?: Omit<Readonly<{
|
|
16
|
-
abortSignal?: AbortSignal | undefined;
|
|
17
|
-
commitment?: import("@solana/kit").Commitment | undefined;
|
|
18
|
-
minContextSlot?: bigint | undefined;
|
|
19
|
-
rpc: import("@solana/kit").Rpc<import("@solana/kit").SimulateTransactionApi>;
|
|
20
|
-
transactionMessage: import("@solana/kit").CompilableTransactionMessage | (import("@solana/kit").ITransactionMessageWithFeePayer<string> & import("@solana/kit").TransactionMessage);
|
|
21
|
-
}>, "rpc" | "transactionMessage"> | undefined) => Promise<number>;
|
|
22
|
-
constructor(provider: SVMProvider, symbolMapping: SymbolMappingType, spokePoolAddress: SvmAddress, simulatedRelayerAddress: SvmAddress, logger: Logger, coingeckoProApiKey?: string | undefined, fixedGasPrice?: BigNumberish | undefined, coingeckoBaseCurrency?: string);
|
|
23
|
-
getGasCosts(deposit: Omit<Deposit, "messageHash">, _relayer?: string, options?: Partial<{
|
|
24
|
-
gasPrice: BigNumberish;
|
|
25
|
-
gasUnits: BigNumberish;
|
|
26
|
-
baseFeeMultiplier: BigNumber;
|
|
27
|
-
priorityFeeMultiplier: BigNumber;
|
|
28
|
-
}>): Promise<TransactionCostEstimate>;
|
|
29
|
-
getTokenPrice(tokenSymbol: string): Promise<number>;
|
|
30
|
-
getTokenDecimals(tokenSymbol: string): number;
|
|
31
|
-
}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SvmQuery = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var functional_1 = require("@solana/functional");
|
|
6
|
-
var coingecko_1 = require("../../coingecko");
|
|
7
|
-
var constants_1 = require("../../constants");
|
|
8
|
-
var gasPriceOracle_1 = require("../../gasPriceOracle");
|
|
9
|
-
var utils_1 = require("../../utils");
|
|
10
|
-
var svm_1 = require("../../arch/svm");
|
|
11
|
-
var kit_1 = require("@solana/kit");
|
|
12
|
-
var token_1 = require("@solana-program/token");
|
|
13
|
-
var system_1 = require("@solana-program/system");
|
|
14
|
-
var SvmQuery = (function () {
|
|
15
|
-
function SvmQuery(provider, symbolMapping, spokePoolAddress, simulatedRelayerAddress, logger, coingeckoProApiKey, fixedGasPrice, coingeckoBaseCurrency) {
|
|
16
|
-
if (coingeckoBaseCurrency === void 0) { coingeckoBaseCurrency = "eth"; }
|
|
17
|
-
this.provider = provider;
|
|
18
|
-
this.symbolMapping = symbolMapping;
|
|
19
|
-
this.spokePoolAddress = spokePoolAddress;
|
|
20
|
-
this.simulatedRelayerAddress = simulatedRelayerAddress;
|
|
21
|
-
this.logger = logger;
|
|
22
|
-
this.coingeckoProApiKey = coingeckoProApiKey;
|
|
23
|
-
this.fixedGasPrice = fixedGasPrice;
|
|
24
|
-
this.coingeckoBaseCurrency = coingeckoBaseCurrency;
|
|
25
|
-
this.computeUnitEstimator = (0, kit_1.getComputeUnitEstimateForTransactionMessageFactory)({
|
|
26
|
-
rpc: provider,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
SvmQuery.prototype.getGasCosts = function (deposit, _relayer, options) {
|
|
30
|
-
if (_relayer === void 0) { _relayer = constants_1.DEFAULT_SIMULATED_RELAYER_ADDRESS; }
|
|
31
|
-
if (options === void 0) { options = {}; }
|
|
32
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
33
|
-
var mint, owner, associatedToken, simulatedSigner, recipientCreateTokenAccountInstructions, _a, associatedTokenAccountExists, mintInfo, _b, _c, space, rent, createAccountIx, initializeMintIx, _d, createTokenAccountsIx, approveIx, fillIx, recentBlockhash, fillRelayTx, _e, computeUnitsConsumed, _gasPriceEstimate, _f, _g, _h, gasPriceEstimate, gasPrice;
|
|
34
|
-
var _this = this;
|
|
35
|
-
return tslib_1.__generator(this, function (_j) {
|
|
36
|
-
switch (_j.label) {
|
|
37
|
-
case 0:
|
|
38
|
-
mint = (0, utils_1.toAddressType)(deposit.outputToken).forceSvmAddress();
|
|
39
|
-
owner = (0, utils_1.toAddressType)(deposit.recipient).forceSvmAddress();
|
|
40
|
-
return [4, (0, svm_1.getAssociatedTokenAddress)(owner, mint)];
|
|
41
|
-
case 1:
|
|
42
|
-
associatedToken = _j.sent();
|
|
43
|
-
simulatedSigner = (0, svm_1.SolanaVoidSigner)(this.simulatedRelayerAddress.toBase58());
|
|
44
|
-
recipientCreateTokenAccountInstructions = undefined;
|
|
45
|
-
_c = (_b = Promise).all;
|
|
46
|
-
return [4, (0, kit_1.fetchEncodedAccount)(this.provider, associatedToken)];
|
|
47
|
-
case 2: return [4, _c.apply(_b, [[
|
|
48
|
-
(_j.sent()).exists,
|
|
49
|
-
(0, token_1.fetchMint)(this.provider, mint.toV2Address())
|
|
50
|
-
]])];
|
|
51
|
-
case 3:
|
|
52
|
-
_a = _j.sent(), associatedTokenAccountExists = _a[0], mintInfo = _a[1];
|
|
53
|
-
if (!!associatedTokenAccountExists) return [3, 5];
|
|
54
|
-
space = BigInt((0, token_1.getMintSize)());
|
|
55
|
-
return [4, this.provider.getMinimumBalanceForRentExemption(space).send()];
|
|
56
|
-
case 4:
|
|
57
|
-
rent = _j.sent();
|
|
58
|
-
createAccountIx = (0, system_1.getCreateAccountInstruction)({
|
|
59
|
-
payer: simulatedSigner,
|
|
60
|
-
newAccount: (0, svm_1.SolanaVoidSigner)(mint.toBase58()),
|
|
61
|
-
lamports: rent,
|
|
62
|
-
space: space,
|
|
63
|
-
programAddress: token_1.TOKEN_PROGRAM_ADDRESS,
|
|
64
|
-
});
|
|
65
|
-
initializeMintIx = (0, token_1.getInitializeMintInstruction)({
|
|
66
|
-
mint: mint.toV2Address(),
|
|
67
|
-
decimals: mintInfo.data.decimals,
|
|
68
|
-
mintAuthority: owner.toV2Address(),
|
|
69
|
-
});
|
|
70
|
-
recipientCreateTokenAccountInstructions = [createAccountIx, initializeMintIx];
|
|
71
|
-
_j.label = 5;
|
|
72
|
-
case 5: return [4, Promise.all([
|
|
73
|
-
(0, svm_1.createTokenAccountsInstruction)(mint, simulatedSigner),
|
|
74
|
-
(0, svm_1.createApproveInstruction)(mint, deposit.outputAmount, this.simulatedRelayerAddress, this.spokePoolAddress, mintInfo.data.decimals),
|
|
75
|
-
(0, svm_1.fillRelayInstruction)(this.spokePoolAddress, deposit, simulatedSigner, associatedToken),
|
|
76
|
-
])];
|
|
77
|
-
case 6:
|
|
78
|
-
_d = _j.sent(), createTokenAccountsIx = _d[0], approveIx = _d[1], fillIx = _d[2];
|
|
79
|
-
return [4, this.provider.getLatestBlockhash().send()];
|
|
80
|
-
case 7:
|
|
81
|
-
recentBlockhash = _j.sent();
|
|
82
|
-
fillRelayTx = (0, functional_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), function (tx) { return (0, kit_1.setTransactionMessageFeePayer)(_this.simulatedRelayerAddress.toV2Address(), tx); }, function (tx) { return (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(recentBlockhash.value, tx); }, function (tx) {
|
|
83
|
-
return (0, utils_1.isDefined)(recipientCreateTokenAccountInstructions)
|
|
84
|
-
? (0, kit_1.appendTransactionMessageInstructions)(recipientCreateTokenAccountInstructions, tx)
|
|
85
|
-
: tx;
|
|
86
|
-
}, function (tx) { return (0, kit_1.appendTransactionMessageInstructions)([createTokenAccountsIx, approveIx, fillIx], tx); });
|
|
87
|
-
_g = (_f = Promise).all;
|
|
88
|
-
_h = utils_1.toBN;
|
|
89
|
-
return [4, this.computeUnitEstimator(fillRelayTx)];
|
|
90
|
-
case 8: return [4, _g.apply(_f, [[
|
|
91
|
-
_h.apply(void 0, [_j.sent()]),
|
|
92
|
-
(0, gasPriceOracle_1.getGasPriceEstimate)(this.provider, {
|
|
93
|
-
unsignedTx: fillRelayTx,
|
|
94
|
-
baseFeeMultiplier: options.baseFeeMultiplier,
|
|
95
|
-
priorityFeeMultiplier: options.priorityFeeMultiplier,
|
|
96
|
-
})
|
|
97
|
-
]])];
|
|
98
|
-
case 9:
|
|
99
|
-
_e = _j.sent(), computeUnitsConsumed = _e[0], _gasPriceEstimate = _e[1];
|
|
100
|
-
gasPriceEstimate = _gasPriceEstimate;
|
|
101
|
-
gasPrice = gasPriceEstimate.baseFee.add(gasPriceEstimate.microLamportsPerComputeUnit.mul(computeUnitsConsumed).div((0, utils_1.toBN)(1000000)));
|
|
102
|
-
return [2, {
|
|
103
|
-
nativeGasCost: computeUnitsConsumed,
|
|
104
|
-
tokenGasCost: gasPrice,
|
|
105
|
-
gasPrice: gasPrice,
|
|
106
|
-
}];
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
};
|
|
111
|
-
SvmQuery.prototype.getTokenPrice = function (tokenSymbol) {
|
|
112
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
113
|
-
var coingeckoInstance, _a, price;
|
|
114
|
-
return tslib_1.__generator(this, function (_b) {
|
|
115
|
-
switch (_b.label) {
|
|
116
|
-
case 0:
|
|
117
|
-
if (!this.symbolMapping[tokenSymbol])
|
|
118
|
-
throw new Error("".concat(tokenSymbol, " does not exist in mapping"));
|
|
119
|
-
coingeckoInstance = coingecko_1.Coingecko.get(this.logger, this.coingeckoProApiKey);
|
|
120
|
-
return [4, coingeckoInstance.getCurrentPriceByContract(this.symbolMapping[tokenSymbol].addresses[constants_1.CHAIN_IDs.MAINNET], this.coingeckoBaseCurrency)];
|
|
121
|
-
case 1:
|
|
122
|
-
_a = _b.sent(), price = _a[1];
|
|
123
|
-
return [2, price];
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
};
|
|
128
|
-
SvmQuery.prototype.getTokenDecimals = function (tokenSymbol) {
|
|
129
|
-
if (!this.symbolMapping[tokenSymbol])
|
|
130
|
-
throw new Error("".concat(tokenSymbol, " does not exist in mapping"));
|
|
131
|
-
return this.symbolMapping[tokenSymbol].decimals;
|
|
132
|
-
};
|
|
133
|
-
return SvmQuery;
|
|
134
|
-
}());
|
|
135
|
-
exports.SvmQuery = SvmQuery;
|
|
136
|
-
//# sourceMappingURL=svmQuery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"svmQuery.js","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"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"}
|