@across-protocol/sdk 4.3.138 → 4.3.139-alpha.1
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/src/arch/evm/UpgradeUtils.d.ts +2 -0
- package/dist/cjs/src/arch/evm/UpgradeUtils.js +33 -0
- package/dist/cjs/src/arch/evm/UpgradeUtils.js.map +1 -0
- package/dist/cjs/src/arch/evm/index.d.ts +1 -0
- package/dist/cjs/src/arch/evm/index.js +1 -0
- package/dist/cjs/src/arch/evm/index.js.map +1 -1
- package/dist/cjs/src/arch/index.d.ts +1 -0
- package/dist/cjs/src/arch/index.js +2 -1
- package/dist/cjs/src/arch/index.js.map +1 -1
- package/dist/cjs/src/arch/tvm/BlockUtils.d.ts +1 -0
- package/dist/cjs/src/arch/tvm/BlockUtils.js +7 -0
- package/dist/cjs/src/arch/tvm/BlockUtils.js.map +1 -0
- package/dist/cjs/src/arch/tvm/MessageUtils.d.ts +1 -0
- package/dist/cjs/src/arch/tvm/MessageUtils.js +5 -0
- package/dist/cjs/src/arch/tvm/MessageUtils.js.map +1 -0
- package/dist/cjs/src/arch/tvm/ResourceUtils.d.ts +14 -0
- package/dist/cjs/src/arch/tvm/ResourceUtils.js +69 -0
- package/dist/cjs/src/arch/tvm/ResourceUtils.js.map +1 -0
- package/dist/cjs/src/arch/tvm/SpokeUtils.d.ts +12 -0
- package/dist/cjs/src/arch/tvm/SpokeUtils.js +207 -0
- package/dist/cjs/src/arch/tvm/SpokeUtils.js.map +1 -0
- package/dist/cjs/src/arch/tvm/TransactionUtils.d.ts +7 -0
- package/dist/cjs/src/arch/tvm/TransactionUtils.js +45 -0
- package/dist/cjs/src/arch/tvm/TransactionUtils.js.map +1 -0
- package/dist/cjs/src/arch/tvm/index.d.ts +6 -0
- package/dist/cjs/src/arch/tvm/index.js +10 -0
- package/dist/cjs/src/arch/tvm/index.js.map +1 -0
- package/dist/cjs/src/arch/tvm/types.d.ts +2 -0
- package/dist/cjs/src/arch/tvm/types.js +3 -0
- package/dist/cjs/src/arch/tvm/types.js.map +1 -0
- package/dist/cjs/src/arch/tvm/utils/address.d.ts +3 -0
- package/dist/cjs/src/arch/tvm/utils/address.js +17 -0
- package/dist/cjs/src/arch/tvm/utils/address.js.map +1 -0
- package/dist/cjs/src/arch/tvm/utils/index.d.ts +2 -0
- package/dist/cjs/src/arch/tvm/utils/index.js +6 -0
- package/dist/cjs/src/arch/tvm/utils/index.js.map +1 -0
- package/dist/cjs/src/arch/tvm/utils/wait.d.ts +1 -0
- package/dist/cjs/src/{caching/IPFS/index.js → arch/tvm/utils/wait.js} +2 -2
- package/dist/cjs/src/arch/tvm/utils/wait.js.map +1 -0
- package/dist/cjs/src/caching/index.d.ts +0 -1
- package/dist/cjs/src/caching/index.js +0 -1
- package/dist/cjs/src/caching/index.js.map +1 -1
- package/dist/cjs/src/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +9 -2
- package/dist/cjs/src/clients/SpokePoolClient/EVMSpokePoolClient.js +33 -12
- package/dist/cjs/src/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/src/clients/SpokePoolClient/TVMSpokePoolClient.d.ts +11 -0
- package/dist/cjs/src/clients/SpokePoolClient/TVMSpokePoolClient.js +47 -0
- package/dist/cjs/src/clients/SpokePoolClient/TVMSpokePoolClient.js.map +1 -0
- package/dist/cjs/src/clients/SpokePoolClient/index.d.ts +3 -0
- package/dist/cjs/src/clients/SpokePoolClient/index.js +7 -1
- package/dist/cjs/src/clients/SpokePoolClient/index.js.map +1 -1
- package/dist/cjs/src/clients/SpokePoolClient/types.d.ts +1 -0
- package/dist/cjs/src/clients/SpokePoolClient/types.js +2 -1
- package/dist/cjs/src/clients/SpokePoolClient/types.js.map +1 -1
- package/dist/cjs/src/clients/index.d.ts +1 -1
- package/dist/cjs/src/clients/index.js +3 -1
- package/dist/cjs/src/clients/index.js.map +1 -1
- package/dist/cjs/src/gasPriceOracle/adapters/tron.d.ts +4 -0
- package/dist/cjs/src/gasPriceOracle/adapters/tron.js +58 -0
- package/dist/cjs/src/gasPriceOracle/adapters/tron.js.map +1 -0
- package/dist/cjs/src/gasPriceOracle/index.d.ts +1 -1
- package/dist/cjs/src/gasPriceOracle/oracle.d.ts +3 -1
- package/dist/cjs/src/gasPriceOracle/oracle.js +15 -10
- package/dist/cjs/src/gasPriceOracle/oracle.js.map +1 -1
- package/dist/cjs/src/gasPriceOracle/types.d.ts +6 -1
- package/dist/cjs/src/gasPriceOracle/types.js +5 -0
- package/dist/cjs/src/gasPriceOracle/types.js.map +1 -1
- package/dist/cjs/src/relayFeeCalculator/chain-queries/factory.d.ts +81 -152
- package/dist/cjs/src/relayFeeCalculator/chain-queries/factory.js +5 -0
- package/dist/cjs/src/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/cjs/src/relayFeeCalculator/chain-queries/index.d.ts +1 -0
- package/dist/cjs/src/relayFeeCalculator/chain-queries/index.js +1 -0
- package/dist/cjs/src/relayFeeCalculator/chain-queries/index.js.map +1 -1
- package/dist/cjs/src/relayFeeCalculator/chain-queries/tvmQuery.d.ts +16 -0
- package/dist/cjs/src/relayFeeCalculator/chain-queries/tvmQuery.js +52 -0
- package/dist/cjs/src/relayFeeCalculator/chain-queries/tvmQuery.js.map +1 -0
- package/dist/cjs/src/relayFeeCalculator/relayFeeCalculator.d.ts +77 -150
- package/dist/cjs/src/utils/AddressUtils.d.ts +11 -0
- package/dist/cjs/src/utils/AddressUtils.js +52 -1
- package/dist/cjs/src/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/src/utils/Multicall.js +1 -0
- package/dist/cjs/src/utils/Multicall.js.map +1 -1
- package/dist/cjs/src/utils/NetworkUtils.d.ts +1 -0
- package/dist/cjs/src/utils/NetworkUtils.js +9 -3
- package/dist/cjs/src/utils/NetworkUtils.js.map +1 -1
- package/dist/cjs/src/utils/TokenUtils.d.ts +154 -300
- package/dist/cjs/src/utils/TypeGuards.d.ts +3 -1
- package/dist/cjs/src/utils/TypeGuards.js +5 -0
- package/dist/cjs/src/utils/TypeGuards.js.map +1 -1
- package/dist/cjs/src/utils/abi/typechain/SP1AutoVerifier.d.ts +42 -0
- package/dist/cjs/src/utils/abi/typechain/SP1AutoVerifier.js +3 -0
- package/dist/cjs/src/utils/abi/typechain/SP1AutoVerifier.js.map +1 -0
- package/dist/cjs/src/utils/abi/typechain/factories/SP1AutoVerifier__factory.d.ts +26 -0
- package/dist/cjs/src/utils/abi/typechain/factories/SP1AutoVerifier__factory.js +43 -0
- package/dist/cjs/src/utils/abi/typechain/factories/SP1AutoVerifier__factory.js.map +1 -0
- package/dist/cjs/src/utils/abi/typechain/factories/index.d.ts +1 -0
- package/dist/cjs/src/utils/abi/typechain/factories/index.js +4 -2
- package/dist/cjs/src/utils/abi/typechain/factories/index.js.map +1 -1
- package/dist/cjs/src/utils/abi/typechain/index.d.ts +2 -0
- package/dist/cjs/src/utils/abi/typechain/index.js +4 -2
- package/dist/cjs/src/utils/abi/typechain/index.js.map +1 -1
- package/dist/cjs/src/utils/index.d.ts +0 -1
- package/dist/cjs/src/utils/index.js +0 -1
- package/dist/cjs/src/utils/index.js.map +1 -1
- package/dist/esm/src/arch/evm/UpgradeUtils.d.ts +9 -0
- package/dist/esm/src/arch/evm/UpgradeUtils.js +37 -0
- package/dist/esm/src/arch/evm/UpgradeUtils.js.map +1 -0
- package/dist/esm/src/arch/evm/index.d.ts +1 -0
- package/dist/esm/src/arch/evm/index.js +1 -0
- package/dist/esm/src/arch/evm/index.js.map +1 -1
- package/dist/esm/src/arch/index.d.ts +1 -0
- package/dist/esm/src/arch/index.js +2 -0
- package/dist/esm/src/arch/index.js.map +1 -1
- package/dist/esm/src/arch/tvm/BlockUtils.d.ts +1 -0
- package/dist/esm/src/arch/tvm/BlockUtils.js +2 -0
- package/dist/esm/src/arch/tvm/BlockUtils.js.map +1 -0
- package/dist/esm/src/arch/tvm/MessageUtils.d.ts +1 -0
- package/dist/esm/src/arch/tvm/MessageUtils.js +2 -0
- package/dist/esm/src/arch/tvm/MessageUtils.js.map +1 -0
- package/dist/esm/src/arch/tvm/ResourceUtils.d.ts +32 -0
- package/dist/esm/src/arch/tvm/ResourceUtils.js +88 -0
- package/dist/esm/src/arch/tvm/ResourceUtils.js.map +1 -0
- package/dist/esm/src/arch/tvm/SpokeUtils.d.ts +48 -0
- package/dist/esm/src/arch/tvm/SpokeUtils.js +237 -0
- package/dist/esm/src/arch/tvm/SpokeUtils.js.map +1 -0
- package/dist/esm/src/arch/tvm/TransactionUtils.d.ts +20 -0
- package/dist/esm/src/arch/tvm/TransactionUtils.js +57 -0
- package/dist/esm/src/arch/tvm/TransactionUtils.js.map +1 -0
- package/dist/esm/src/arch/tvm/index.d.ts +6 -0
- package/dist/esm/src/arch/tvm/index.js +7 -0
- package/dist/esm/src/arch/tvm/index.js.map +1 -0
- package/dist/esm/src/arch/tvm/types.d.ts +2 -0
- package/dist/esm/src/arch/tvm/types.js +2 -0
- package/dist/esm/src/arch/tvm/types.js.map +1 -0
- package/dist/esm/src/arch/tvm/utils/address.d.ts +18 -0
- package/dist/esm/src/arch/tvm/utils/address.js +31 -0
- package/dist/esm/src/arch/tvm/utils/address.js.map +1 -0
- package/dist/esm/src/arch/tvm/utils/index.d.ts +2 -0
- package/dist/esm/src/arch/tvm/utils/index.js +3 -0
- package/dist/esm/src/arch/tvm/utils/index.js.map +1 -0
- package/dist/esm/src/arch/tvm/utils/wait.d.ts +1 -0
- package/dist/esm/src/arch/tvm/utils/wait.js +2 -0
- package/dist/esm/src/arch/tvm/utils/wait.js.map +1 -0
- package/dist/esm/src/caching/index.d.ts +0 -1
- package/dist/esm/src/caching/index.js +0 -1
- package/dist/esm/src/caching/index.js.map +1 -1
- package/dist/esm/src/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +20 -2
- package/dist/esm/src/clients/SpokePoolClient/EVMSpokePoolClient.js +44 -12
- package/dist/esm/src/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/src/clients/SpokePoolClient/TVMSpokePoolClient.d.ts +32 -0
- package/dist/esm/src/clients/SpokePoolClient/TVMSpokePoolClient.js +66 -0
- package/dist/esm/src/clients/SpokePoolClient/TVMSpokePoolClient.js.map +1 -0
- package/dist/esm/src/clients/SpokePoolClient/index.d.ts +8 -0
- package/dist/esm/src/clients/SpokePoolClient/index.js +10 -1
- package/dist/esm/src/clients/SpokePoolClient/index.js.map +1 -1
- package/dist/esm/src/clients/SpokePoolClient/types.d.ts +1 -0
- package/dist/esm/src/clients/SpokePoolClient/types.js +1 -0
- package/dist/esm/src/clients/SpokePoolClient/types.js.map +1 -1
- package/dist/esm/src/clients/index.d.ts +1 -1
- package/dist/esm/src/clients/index.js +1 -1
- package/dist/esm/src/clients/index.js.map +1 -1
- package/dist/esm/src/gasPriceOracle/adapters/tron.d.ts +10 -0
- package/dist/esm/src/gasPriceOracle/adapters/tron.js +68 -0
- package/dist/esm/src/gasPriceOracle/adapters/tron.js.map +1 -0
- package/dist/esm/src/gasPriceOracle/index.d.ts +1 -1
- package/dist/esm/src/gasPriceOracle/oracle.d.ts +3 -1
- package/dist/esm/src/gasPriceOracle/oracle.js +17 -11
- package/dist/esm/src/gasPriceOracle/oracle.js.map +1 -1
- package/dist/esm/src/gasPriceOracle/types.d.ts +6 -1
- package/dist/esm/src/gasPriceOracle/types.js +4 -0
- package/dist/esm/src/gasPriceOracle/types.js.map +1 -1
- package/dist/esm/src/relayFeeCalculator/chain-queries/factory.d.ts +81 -152
- package/dist/esm/src/relayFeeCalculator/chain-queries/factory.js +6 -1
- package/dist/esm/src/relayFeeCalculator/chain-queries/factory.js.map +1 -1
- package/dist/esm/src/relayFeeCalculator/chain-queries/index.d.ts +1 -0
- package/dist/esm/src/relayFeeCalculator/chain-queries/index.js +1 -0
- package/dist/esm/src/relayFeeCalculator/chain-queries/index.js.map +1 -1
- package/dist/esm/src/relayFeeCalculator/chain-queries/tvmQuery.d.ts +32 -0
- package/dist/esm/src/relayFeeCalculator/chain-queries/tvmQuery.js +65 -0
- package/dist/esm/src/relayFeeCalculator/chain-queries/tvmQuery.js.map +1 -0
- package/dist/esm/src/relayFeeCalculator/relayFeeCalculator.d.ts +77 -150
- package/dist/esm/src/utils/AddressUtils.d.ts +11 -0
- package/dist/esm/src/utils/AddressUtils.js +59 -1
- package/dist/esm/src/utils/AddressUtils.js.map +1 -1
- package/dist/esm/src/utils/Multicall.js +1 -0
- package/dist/esm/src/utils/Multicall.js.map +1 -1
- package/dist/esm/src/utils/NetworkUtils.d.ts +6 -0
- package/dist/esm/src/utils/NetworkUtils.js +13 -3
- package/dist/esm/src/utils/NetworkUtils.js.map +1 -1
- package/dist/esm/src/utils/TokenUtils.d.ts +154 -300
- package/dist/esm/src/utils/TypeGuards.d.ts +3 -1
- package/dist/esm/src/utils/TypeGuards.js +4 -0
- package/dist/esm/src/utils/TypeGuards.js.map +1 -1
- package/dist/esm/src/utils/abi/typechain/SP1AutoVerifier.d.ts +42 -0
- package/dist/esm/src/utils/abi/typechain/SP1AutoVerifier.js +2 -0
- package/dist/esm/src/utils/abi/typechain/SP1AutoVerifier.js.map +1 -0
- package/dist/esm/src/utils/abi/typechain/factories/SP1AutoVerifier__factory.d.ts +26 -0
- package/dist/esm/src/utils/abi/typechain/factories/SP1AutoVerifier__factory.js +43 -0
- package/dist/esm/src/utils/abi/typechain/factories/SP1AutoVerifier__factory.js.map +1 -0
- package/dist/esm/src/utils/abi/typechain/factories/index.d.ts +1 -0
- package/dist/esm/src/utils/abi/typechain/factories/index.js +1 -0
- package/dist/esm/src/utils/abi/typechain/factories/index.js.map +1 -1
- package/dist/esm/src/utils/abi/typechain/index.d.ts +2 -0
- package/dist/esm/src/utils/abi/typechain/index.js +1 -0
- package/dist/esm/src/utils/abi/typechain/index.js.map +1 -1
- package/dist/esm/src/utils/index.d.ts +0 -1
- package/dist/esm/src/utils/index.js +0 -1
- package/dist/esm/src/utils/index.js.map +1 -1
- package/dist/types/src/arch/evm/UpgradeUtils.d.ts +10 -0
- package/dist/types/src/arch/evm/UpgradeUtils.d.ts.map +1 -0
- package/dist/types/src/arch/evm/index.d.ts +1 -0
- package/dist/types/src/arch/evm/index.d.ts.map +1 -1
- package/dist/types/src/arch/index.d.ts +1 -0
- package/dist/types/src/arch/index.d.ts.map +1 -1
- package/dist/types/src/arch/tvm/BlockUtils.d.ts +2 -0
- package/dist/types/src/arch/tvm/BlockUtils.d.ts.map +1 -0
- package/dist/types/src/arch/tvm/MessageUtils.d.ts +2 -0
- package/dist/types/src/arch/tvm/MessageUtils.d.ts.map +1 -0
- package/dist/types/src/arch/tvm/ResourceUtils.d.ts +33 -0
- package/dist/types/src/arch/tvm/ResourceUtils.d.ts.map +1 -0
- package/dist/types/src/arch/tvm/SpokeUtils.d.ts +49 -0
- package/dist/types/src/arch/tvm/SpokeUtils.d.ts.map +1 -0
- package/dist/types/src/arch/tvm/TransactionUtils.d.ts +21 -0
- package/dist/types/src/arch/tvm/TransactionUtils.d.ts.map +1 -0
- package/dist/types/src/arch/tvm/index.d.ts +7 -0
- package/dist/types/src/arch/tvm/index.d.ts.map +1 -0
- package/dist/types/src/arch/tvm/types.d.ts +3 -0
- package/dist/types/src/arch/tvm/types.d.ts.map +1 -0
- package/dist/types/src/arch/tvm/utils/address.d.ts +19 -0
- package/dist/types/src/arch/tvm/utils/address.d.ts.map +1 -0
- package/dist/types/src/arch/tvm/utils/index.d.ts +3 -0
- package/dist/types/src/arch/tvm/utils/index.d.ts.map +1 -0
- package/dist/types/src/arch/tvm/utils/wait.d.ts +2 -0
- package/dist/types/src/arch/tvm/utils/wait.d.ts.map +1 -0
- package/dist/types/src/caching/index.d.ts +0 -1
- package/dist/types/src/caching/index.d.ts.map +1 -1
- package/dist/types/src/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +20 -2
- package/dist/types/src/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/src/clients/SpokePoolClient/TVMSpokePoolClient.d.ts +33 -0
- package/dist/types/src/clients/SpokePoolClient/TVMSpokePoolClient.d.ts.map +1 -0
- package/dist/types/src/clients/SpokePoolClient/index.d.ts +8 -0
- package/dist/types/src/clients/SpokePoolClient/index.d.ts.map +1 -1
- package/dist/types/src/clients/SpokePoolClient/types.d.ts +1 -0
- package/dist/types/src/clients/SpokePoolClient/types.d.ts.map +1 -1
- package/dist/types/src/clients/index.d.ts +1 -1
- package/dist/types/src/clients/index.d.ts.map +1 -1
- package/dist/types/src/gasPriceOracle/adapters/tron.d.ts +11 -0
- package/dist/types/src/gasPriceOracle/adapters/tron.d.ts.map +1 -0
- package/dist/types/src/gasPriceOracle/index.d.ts +1 -1
- package/dist/types/src/gasPriceOracle/index.d.ts.map +1 -1
- package/dist/types/src/gasPriceOracle/oracle.d.ts +3 -1
- package/dist/types/src/gasPriceOracle/oracle.d.ts.map +1 -1
- package/dist/types/src/gasPriceOracle/types.d.ts +6 -1
- package/dist/types/src/gasPriceOracle/types.d.ts.map +1 -1
- package/dist/types/src/relayFeeCalculator/chain-queries/factory.d.ts +81 -152
- package/dist/types/src/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
- package/dist/types/src/relayFeeCalculator/chain-queries/index.d.ts +1 -0
- package/dist/types/src/relayFeeCalculator/chain-queries/index.d.ts.map +1 -1
- package/dist/types/src/relayFeeCalculator/chain-queries/tvmQuery.d.ts +33 -0
- package/dist/types/src/relayFeeCalculator/chain-queries/tvmQuery.d.ts.map +1 -0
- package/dist/types/src/relayFeeCalculator/relayFeeCalculator.d.ts +77 -150
- package/dist/types/src/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/src/utils/AddressUtils.d.ts +11 -0
- package/dist/types/src/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/src/utils/Multicall.d.ts.map +1 -1
- package/dist/types/src/utils/NetworkUtils.d.ts +6 -0
- package/dist/types/src/utils/NetworkUtils.d.ts.map +1 -1
- package/dist/types/src/utils/TokenUtils.d.ts +154 -300
- package/dist/types/src/utils/TokenUtils.d.ts.map +1 -1
- package/dist/types/src/utils/TypeGuards.d.ts +3 -1
- package/dist/types/src/utils/TypeGuards.d.ts.map +1 -1
- package/dist/types/src/utils/abi/typechain/SP1AutoVerifier.d.ts +43 -0
- package/dist/types/src/utils/abi/typechain/SP1AutoVerifier.d.ts.map +1 -0
- package/dist/types/src/utils/abi/typechain/factories/SP1AutoVerifier__factory.d.ts +27 -0
- package/dist/types/src/utils/abi/typechain/factories/SP1AutoVerifier__factory.d.ts.map +1 -0
- package/dist/types/src/utils/abi/typechain/factories/index.d.ts +1 -0
- package/dist/types/src/utils/abi/typechain/factories/index.d.ts.map +1 -1
- package/dist/types/src/utils/abi/typechain/index.d.ts +2 -0
- package/dist/types/src/utils/abi/typechain/index.d.ts.map +1 -1
- package/dist/types/src/utils/index.d.ts +0 -1
- package/dist/types/src/utils/index.d.ts.map +1 -1
- package/package.json +10 -35
- package/src/arch/evm/UpgradeUtils.ts +18 -0
- package/src/arch/evm/index.ts +1 -0
- package/src/arch/index.ts +1 -0
- package/src/arch/tvm/BlockUtils.ts +1 -0
- package/src/arch/tvm/MessageUtils.ts +1 -0
- package/src/arch/tvm/ResourceUtils.ts +92 -0
- package/src/arch/tvm/SpokeUtils.ts +225 -0
- package/src/arch/tvm/TransactionUtils.ts +64 -0
- package/src/arch/tvm/index.ts +6 -0
- package/src/arch/tvm/types.ts +2 -0
- package/src/arch/tvm/utils/address.ts +33 -0
- package/src/arch/tvm/utils/index.ts +2 -0
- package/src/arch/tvm/utils/wait.ts +1 -0
- package/src/caching/index.ts +0 -1
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +44 -18
- package/src/clients/SpokePoolClient/TVMSpokePoolClient.ts +65 -0
- package/src/clients/SpokePoolClient/index.ts +12 -1
- package/src/clients/SpokePoolClient/types.ts +1 -0
- package/src/clients/index.ts +2 -0
- package/src/gasPriceOracle/adapters/tron.ts +50 -0
- package/src/gasPriceOracle/index.ts +1 -1
- package/src/gasPriceOracle/oracle.ts +23 -3
- package/src/gasPriceOracle/types.ts +11 -1
- package/src/relayFeeCalculator/chain-queries/factory.ts +18 -3
- package/src/relayFeeCalculator/chain-queries/index.ts +1 -0
- package/src/relayFeeCalculator/chain-queries/tvmQuery.ts +88 -0
- package/src/utils/AddressUtils.ts +61 -1
- package/src/utils/Multicall.ts +1 -0
- package/src/utils/NetworkUtils.ts +13 -3
- package/src/utils/TypeGuards.ts +6 -1
- package/src/utils/abi/contracts/SP1AutoVerifier.json +25 -0
- package/src/utils/abi/typechain/SP1AutoVerifier.ts +112 -0
- package/src/utils/abi/typechain/factories/SP1AutoVerifier__factory.ts +49 -0
- package/src/utils/abi/typechain/factories/index.ts +1 -0
- package/src/utils/abi/typechain/index.ts +2 -0
- package/src/utils/index.ts +0 -1
- package/dist/cjs/src/caching/IPFS/PinataIPFSClient.d.ts +0 -11
- package/dist/cjs/src/caching/IPFS/PinataIPFSClient.js +0 -67
- package/dist/cjs/src/caching/IPFS/PinataIPFSClient.js.map +0 -1
- package/dist/cjs/src/caching/IPFS/index.d.ts +0 -1
- package/dist/cjs/src/caching/IPFS/index.js.map +0 -1
- package/dist/cjs/src/utils/IPFSUtils.d.ts +0 -4
- package/dist/cjs/src/utils/IPFSUtils.js +0 -32
- package/dist/cjs/src/utils/IPFSUtils.js.map +0 -1
- package/dist/esm/src/caching/IPFS/PinataIPFSClient.d.ts +0 -37
- package/dist/esm/src/caching/IPFS/PinataIPFSClient.js +0 -81
- package/dist/esm/src/caching/IPFS/PinataIPFSClient.js.map +0 -1
- package/dist/esm/src/caching/IPFS/index.d.ts +0 -1
- package/dist/esm/src/caching/IPFS/index.js +0 -2
- package/dist/esm/src/caching/IPFS/index.js.map +0 -1
- package/dist/esm/src/utils/IPFSUtils.d.ts +0 -24
- package/dist/esm/src/utils/IPFSUtils.js +0 -47
- package/dist/esm/src/utils/IPFSUtils.js.map +0 -1
- package/dist/types/src/caching/IPFS/PinataIPFSClient.d.ts +0 -38
- package/dist/types/src/caching/IPFS/PinataIPFSClient.d.ts.map +0 -1
- package/dist/types/src/caching/IPFS/index.d.ts +0 -2
- package/dist/types/src/caching/IPFS/index.d.ts.map +0 -1
- package/dist/types/src/utils/IPFSUtils.d.ts +0 -25
- package/dist/types/src/utils/IPFSUtils.d.ts.map +0 -1
- package/scripts/build-bigint-buffer.js +0 -49
- package/src/caching/IPFS/PinataIPFSClient.ts +0 -92
- package/src/caching/IPFS/index.ts +0 -1
- package/src/utils/IPFSUtils.ts +0 -45
|
@@ -43,9 +43,38 @@ var EVMSpokePoolClient = /** @class */ (function (_super) {
|
|
|
43
43
|
EVMSpokePoolClient.prototype._queryableEventNames = function () {
|
|
44
44
|
return Object.keys(this._availableEventsOnSpoke(knownEventNames));
|
|
45
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Retrieve the on-chain time at a specific block.
|
|
48
|
+
* EVM reads SpokePool.getCurrentTime() via multicall with a historical blockTag.
|
|
49
|
+
* @param blockNumber The block number to query.
|
|
50
|
+
* @returns The on-chain time as a number.
|
|
51
|
+
*/
|
|
52
|
+
EVMSpokePoolClient.prototype._getCurrentTime = function (blockNumber) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
54
|
+
var spokePool, multicallFunctions, multicallOutput, currentTime, errMsg;
|
|
55
|
+
return __generator(this, function (_a) {
|
|
56
|
+
switch (_a.label) {
|
|
57
|
+
case 0:
|
|
58
|
+
spokePool = this.spokePool;
|
|
59
|
+
multicallFunctions = ["getCurrentTime"];
|
|
60
|
+
return [4 /*yield*/, spokePool.callStatic.multicall(multicallFunctions.map(function (f) { return spokePool.interface.encodeFunctionData(f); }), { blockTag: blockNumber })];
|
|
61
|
+
case 1:
|
|
62
|
+
multicallOutput = _a.sent();
|
|
63
|
+
currentTime = multicallFunctions.map(function (fn, idx) { return spokePool.interface.decodeFunctionResult(fn, multicallOutput[idx])[0]; })[0];
|
|
64
|
+
if (!BigNumber.isBigNumber(currentTime) || currentTime.lt(this.currentTime)) {
|
|
65
|
+
errMsg = BigNumber.isBigNumber(currentTime)
|
|
66
|
+
? "currentTime: ".concat(currentTime, " < ").concat(toBN(this.currentTime))
|
|
67
|
+
: "currentTime is not a BigNumber: ".concat(JSON.stringify(currentTime));
|
|
68
|
+
throw new Error("EVMSpokePoolClient::update: ".concat(errMsg));
|
|
69
|
+
}
|
|
70
|
+
return [2 /*return*/, currentTime.toNumber()];
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
};
|
|
46
75
|
EVMSpokePoolClient.prototype._update = function (eventsToQuery) {
|
|
47
76
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
|
-
var searchConfig, reason, eventSearchConfigs, spokePool, timerStart,
|
|
77
|
+
var searchConfig, reason, eventSearchConfigs, spokePool, timerStart, _a, currentTime, events, eventsWithBlockNumber;
|
|
49
78
|
var _this = this;
|
|
50
79
|
return __generator(this, function (_b) {
|
|
51
80
|
switch (_b.label) {
|
|
@@ -79,19 +108,14 @@ var EVMSpokePoolClient = /** @class */ (function (_super) {
|
|
|
79
108
|
spokePool: spokePool.address,
|
|
80
109
|
});
|
|
81
110
|
timerStart = Date.now();
|
|
82
|
-
multicallFunctions = ["getCurrentTime"];
|
|
83
111
|
return [4 /*yield*/, Promise.all(__spreadArray([
|
|
84
|
-
|
|
112
|
+
this._getCurrentTime(searchConfig.to)
|
|
85
113
|
], eventSearchConfigs.map(function (config) { return paginatedEventQuery(_this.spokePool, config.filter, config.searchConfig); }), true))];
|
|
86
114
|
case 2:
|
|
87
|
-
_a = _b.sent(),
|
|
115
|
+
_a = _b.sent(), currentTime = _a[0], events = _a.slice(1);
|
|
88
116
|
this.log("debug", "Time to query new events from RPC for ".concat(this.chainId, ": ").concat(Date.now() - timerStart, " ms"));
|
|
89
|
-
currentTime
|
|
90
|
-
|
|
91
|
-
errMsg = BigNumber.isBigNumber(currentTime)
|
|
92
|
-
? "currentTime: ".concat(currentTime, " < ").concat(toBN(this.currentTime))
|
|
93
|
-
: "currentTime is not a BigNumber: ".concat(JSON.stringify(currentTime));
|
|
94
|
-
throw new Error("EVMSpokePoolClient::update: ".concat(errMsg));
|
|
117
|
+
if (currentTime < this.currentTime) {
|
|
118
|
+
throw new Error("EVMSpokePoolClient::update: currentTime: ".concat(currentTime, " < ").concat(this.currentTime));
|
|
95
119
|
}
|
|
96
120
|
// Sort all events to ensure they are stored in a consistent order.
|
|
97
121
|
events.forEach(function (events) { return sortEventsAscendingInPlace(events.map(logToSortableEvent)); });
|
|
@@ -100,7 +124,7 @@ var EVMSpokePoolClient = /** @class */ (function (_super) {
|
|
|
100
124
|
});
|
|
101
125
|
return [2 /*return*/, {
|
|
102
126
|
success: true,
|
|
103
|
-
currentTime: currentTime
|
|
127
|
+
currentTime: currentTime,
|
|
104
128
|
searchEndBlock: searchConfig.to,
|
|
105
129
|
events: eventsWithBlockNumber,
|
|
106
130
|
}];
|
|
@@ -150,6 +174,14 @@ var EVMSpokePoolClient = /** @class */ (function (_super) {
|
|
|
150
174
|
EVMSpokePoolClient.prototype.getTimestampForBlock = function (blockNumber) {
|
|
151
175
|
return _getTimestampForBlock(this.spokePool.provider, blockNumber);
|
|
152
176
|
};
|
|
177
|
+
/**
|
|
178
|
+
* Find the block at which a deposit was created.
|
|
179
|
+
* EVM uses a binary-search over historical numberOfDeposits().
|
|
180
|
+
* TVM overrides this with an event-based lookup.
|
|
181
|
+
*/
|
|
182
|
+
EVMSpokePoolClient.prototype._findDepositBlock = function (depositId, lowBlock, highBlock) {
|
|
183
|
+
return findDepositBlock(this.spokePool, depositId, lowBlock, highBlock);
|
|
184
|
+
};
|
|
153
185
|
EVMSpokePoolClient.prototype.queryDepositEvents = function (depositId) {
|
|
154
186
|
return __awaiter(this, void 0, void 0, function () {
|
|
155
187
|
var tStart, upperBound, from, chain, to, maxLookBack, events, tStop, event;
|
|
@@ -158,7 +190,7 @@ var EVMSpokePoolClient = /** @class */ (function (_super) {
|
|
|
158
190
|
case 0:
|
|
159
191
|
tStart = Date.now();
|
|
160
192
|
upperBound = this.latestHeightSearched || undefined;
|
|
161
|
-
return [4 /*yield*/,
|
|
193
|
+
return [4 /*yield*/, this._findDepositBlock(depositId, this.deploymentBlock, upperBound)];
|
|
162
194
|
case 1:
|
|
163
195
|
from = _a.sent();
|
|
164
196
|
chain = getNetworkName(this.chainId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EVMSpokePoolClient.js","sourceRoot":"","sources":["../../../../../src/clients/SpokePoolClient/EVMSpokePoolClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EVMSpokePoolClient.js","sourceRoot":"","sources":["../../../../../src/clients/SpokePoolClient/EVMSpokePoolClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { FillStatus, RelayData } from "../../interfaces";
|
|
2
|
+
import { BigNumber } from "../../utils";
|
|
3
|
+
import { EVMSpokePoolClient } from "./EVMSpokePoolClient";
|
|
4
|
+
/**
|
|
5
|
+
* A TVM-specific SpokePoolClient for TRON.
|
|
6
|
+
*
|
|
7
|
+
* TRON is EVM-compatible for reads and event queries, but diverges in three areas:
|
|
8
|
+
* 1. No historical `eth_call` — only "latest" blockTag is accepted.
|
|
9
|
+
* 2. No `eth_sendRawTransaction` — TRON uses Protobuf-encoded transactions via TronWeb.
|
|
10
|
+
* 3. Energy/bandwidth fee model instead of gas.
|
|
11
|
+
*
|
|
12
|
+
* This client extends EVMSpokePoolClient, overriding only the methods affected by (1).
|
|
13
|
+
* Transaction submission (2) and fee estimation (3) are handled by the arch/tvm utilities.
|
|
14
|
+
*/
|
|
15
|
+
export declare class TVMSpokePoolClient extends EVMSpokePoolClient {
|
|
16
|
+
readonly type = "TVM";
|
|
17
|
+
relayFillStatus(relayData: RelayData, atHeight?: number): Promise<FillStatus>;
|
|
18
|
+
getMaxFillDeadlineInRange(startBlock: number, endBlock: number): Promise<number>;
|
|
19
|
+
getTimeAt(blockNumber: number): Promise<number>;
|
|
20
|
+
/**
|
|
21
|
+
* Override to use TVM's event-based findDepositBlock
|
|
22
|
+
* instead of EVM's binary-search over historical numberOfDeposits().
|
|
23
|
+
*/
|
|
24
|
+
protected _findDepositBlock(depositId: BigNumber, lowBlock: number, highBlock?: number): Promise<number | undefined>;
|
|
25
|
+
/**
|
|
26
|
+
* Override to avoid historical eth_call for getCurrentTime.
|
|
27
|
+
* TRON does not support eth_call with historical blockTags, so we
|
|
28
|
+
* use the block timestamp from provider.getBlock() instead of
|
|
29
|
+
* SpokePool.getCurrentTime({ blockTag }).
|
|
30
|
+
*/
|
|
31
|
+
protected _getCurrentTime(blockNumber: number): Promise<number>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { __awaiter, __extends, __generator } from "tslib";
|
|
2
|
+
import { findDepositBlock, getMaxFillDeadlineInRange as getMaxFillDeadline, getTimeAt as _getTimeAt, relayFillStatus, } from "../../arch/tvm";
|
|
3
|
+
import { EVMSpokePoolClient } from "./EVMSpokePoolClient";
|
|
4
|
+
import { TVM_SPOKE_POOL_CLIENT_TYPE } from "./types";
|
|
5
|
+
/**
|
|
6
|
+
* A TVM-specific SpokePoolClient for TRON.
|
|
7
|
+
*
|
|
8
|
+
* TRON is EVM-compatible for reads and event queries, but diverges in three areas:
|
|
9
|
+
* 1. No historical `eth_call` — only "latest" blockTag is accepted.
|
|
10
|
+
* 2. No `eth_sendRawTransaction` — TRON uses Protobuf-encoded transactions via TronWeb.
|
|
11
|
+
* 3. Energy/bandwidth fee model instead of gas.
|
|
12
|
+
*
|
|
13
|
+
* This client extends EVMSpokePoolClient, overriding only the methods affected by (1).
|
|
14
|
+
* Transaction submission (2) and fee estimation (3) are handled by the arch/tvm utilities.
|
|
15
|
+
*/
|
|
16
|
+
var TVMSpokePoolClient = /** @class */ (function (_super) {
|
|
17
|
+
__extends(TVMSpokePoolClient, _super);
|
|
18
|
+
function TVMSpokePoolClient() {
|
|
19
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
20
|
+
// @ts-expect-error: Narrowing the base class literal type from "EVM" to "TVM".
|
|
21
|
+
_this.type = TVM_SPOKE_POOL_CLIENT_TYPE;
|
|
22
|
+
return _this;
|
|
23
|
+
}
|
|
24
|
+
TVMSpokePoolClient.prototype.relayFillStatus = function (relayData, atHeight) {
|
|
25
|
+
return relayFillStatus(this.spokePool, relayData, atHeight, this.chainId);
|
|
26
|
+
};
|
|
27
|
+
TVMSpokePoolClient.prototype.getMaxFillDeadlineInRange = function (startBlock, endBlock) {
|
|
28
|
+
return getMaxFillDeadline(this.spokePool, startBlock, endBlock);
|
|
29
|
+
};
|
|
30
|
+
TVMSpokePoolClient.prototype.getTimeAt = function (blockNumber) {
|
|
31
|
+
return _getTimeAt(this.spokePool, blockNumber);
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Override to use TVM's event-based findDepositBlock
|
|
35
|
+
* instead of EVM's binary-search over historical numberOfDeposits().
|
|
36
|
+
*/
|
|
37
|
+
TVMSpokePoolClient.prototype._findDepositBlock = function (depositId, lowBlock, highBlock) {
|
|
38
|
+
return findDepositBlock(this.spokePool, depositId, lowBlock, highBlock);
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Override to avoid historical eth_call for getCurrentTime.
|
|
42
|
+
* TRON does not support eth_call with historical blockTags, so we
|
|
43
|
+
* use the block timestamp from provider.getBlock() instead of
|
|
44
|
+
* SpokePool.getCurrentTime({ blockTag }).
|
|
45
|
+
*/
|
|
46
|
+
TVMSpokePoolClient.prototype._getCurrentTime = function (blockNumber) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
48
|
+
var block, currentTime;
|
|
49
|
+
return __generator(this, function (_a) {
|
|
50
|
+
switch (_a.label) {
|
|
51
|
+
case 0: return [4 /*yield*/, this.spokePool.provider.getBlock(blockNumber)];
|
|
52
|
+
case 1:
|
|
53
|
+
block = _a.sent();
|
|
54
|
+
currentTime = block.timestamp;
|
|
55
|
+
if (currentTime < this.currentTime) {
|
|
56
|
+
throw new Error("TVMSpokePoolClient::update: currentTime: ".concat(currentTime, " < ").concat(this.currentTime));
|
|
57
|
+
}
|
|
58
|
+
return [2 /*return*/, currentTime];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
return TVMSpokePoolClient;
|
|
64
|
+
}(EVMSpokePoolClient));
|
|
65
|
+
export { TVMSpokePoolClient };
|
|
66
|
+
//# sourceMappingURL=TVMSpokePoolClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TVMSpokePoolClient.js","sourceRoot":"","sources":["../../../../../src/clients/SpokePoolClient/TVMSpokePoolClient.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,gBAAgB,EAChB,yBAAyB,IAAI,kBAAkB,EAC/C,SAAS,IAAI,UAAU,EACvB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD;;;;;;;;;;GAUG;AACH;IAAwC,sCAAkB;IAA1D;;QACE,+EAA+E;QAC7D,UAAI,GAAG,0BAA0B,CAAC;;IAwCtD,CAAC;IAtCiB,4CAAe,GAA/B,UAAgC,SAAoB,EAAE,QAAiB;QACrE,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IAEe,sDAAyB,GAAzC,UAA0C,UAAkB,EAAE,QAAgB;QAC5E,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEe,sCAAS,GAAzB,UAA0B,WAAmB;QAC3C,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACgB,8CAAiB,GAApC,UACE,SAAoB,EACpB,QAAgB,EAChB,SAAkB;QAElB,OAAO,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACsB,4CAAe,GAAxC,UAAyC,WAAmB;;;;;4BAC5C,qBAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAA;;wBAA3D,KAAK,GAAG,SAAmD;wBAC3D,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;wBACpC,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnC,MAAM,IAAI,KAAK,CAAC,mDAA4C,WAAW,gBAAM,IAAI,CAAC,WAAW,CAAE,CAAC,CAAC;wBACnG,CAAC;wBACD,sBAAO,WAAW,EAAC;;;;KACpB;IACH,yBAAC;AAAD,CAAC,AA1CD,CAAwC,kBAAkB,GA0CzD"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { EVMSpokePoolClient } from "./EVMSpokePoolClient";
|
|
2
2
|
import { SVMSpokePoolClient } from "./SVMSpokePoolClient";
|
|
3
|
+
import { TVMSpokePoolClient } from "./TVMSpokePoolClient";
|
|
3
4
|
import { SpokePoolClient } from "./SpokePoolClient";
|
|
4
5
|
export { EVMSpokePoolClient } from "./EVMSpokePoolClient";
|
|
5
6
|
export { SpokePoolClient, SpokePoolUpdate } from "./SpokePoolClient";
|
|
6
7
|
export { SVMSpokePoolClient } from "./SVMSpokePoolClient";
|
|
8
|
+
export { TVMSpokePoolClient } from "./TVMSpokePoolClient";
|
|
7
9
|
export { SpokePoolManager } from "./SpokePoolClientManager";
|
|
8
10
|
/**
|
|
9
11
|
* Checks if a SpokePoolClient is an EVMSpokePoolClient.
|
|
@@ -17,3 +19,9 @@ export declare function isEVMSpokePoolClient(spokePoolClient: SpokePoolClient):
|
|
|
17
19
|
* @returns True if the SpokePoolClient is an SVMSpokePoolClient, false otherwise.
|
|
18
20
|
*/
|
|
19
21
|
export declare function isSVMSpokePoolClient(spokePoolClient: SpokePoolClient): spokePoolClient is SVMSpokePoolClient;
|
|
22
|
+
/**
|
|
23
|
+
* Checks if a SpokePoolClient is a TVMSpokePoolClient.
|
|
24
|
+
* @param spokePoolClient The SpokePoolClient to check.
|
|
25
|
+
* @returns True if the SpokePoolClient is a TVMSpokePoolClient, false otherwise.
|
|
26
|
+
*/
|
|
27
|
+
export declare function isTVMSpokePoolClient(spokePoolClient: SpokePoolClient): spokePoolClient is TVMSpokePoolClient;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { EVM_SPOKE_POOL_CLIENT_TYPE, SVM_SPOKE_POOL_CLIENT_TYPE } from "./types";
|
|
1
|
+
import { EVM_SPOKE_POOL_CLIENT_TYPE, SVM_SPOKE_POOL_CLIENT_TYPE, TVM_SPOKE_POOL_CLIENT_TYPE } from "./types";
|
|
2
2
|
export { EVMSpokePoolClient } from "./EVMSpokePoolClient";
|
|
3
3
|
export { SpokePoolClient } from "./SpokePoolClient";
|
|
4
4
|
export { SVMSpokePoolClient } from "./SVMSpokePoolClient";
|
|
5
|
+
export { TVMSpokePoolClient } from "./TVMSpokePoolClient";
|
|
5
6
|
export { SpokePoolManager } from "./SpokePoolClientManager";
|
|
6
7
|
/**
|
|
7
8
|
* Checks if a SpokePoolClient is an EVMSpokePoolClient.
|
|
@@ -21,4 +22,12 @@ export function isSVMSpokePoolClient(spokePoolClient) {
|
|
|
21
22
|
// @TODO: Should we handle the case where spokePoolClient is undefined?
|
|
22
23
|
return (spokePoolClient === null || spokePoolClient === void 0 ? void 0 : spokePoolClient.type) === SVM_SPOKE_POOL_CLIENT_TYPE;
|
|
23
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Checks if a SpokePoolClient is a TVMSpokePoolClient.
|
|
27
|
+
* @param spokePoolClient The SpokePoolClient to check.
|
|
28
|
+
* @returns True if the SpokePoolClient is a TVMSpokePoolClient, false otherwise.
|
|
29
|
+
*/
|
|
30
|
+
export function isTVMSpokePoolClient(spokePoolClient) {
|
|
31
|
+
return (spokePoolClient === null || spokePoolClient === void 0 ? void 0 : spokePoolClient.type) === TVM_SPOKE_POOL_CLIENT_TYPE;
|
|
32
|
+
}
|
|
24
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/clients/SpokePoolClient/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/clients/SpokePoolClient/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAE7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,eAAgC;IACnE,uEAAuE;IACvE,OAAO,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,MAAK,0BAA0B,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,eAAgC;IACnE,uEAAuE;IACvE,OAAO,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,MAAK,0BAA0B,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,eAAgC;IACnE,OAAO,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,MAAK,0BAA0B,CAAC;AAC9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/clients/SpokePoolClient/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,IAAM,0BAA0B,GAAG,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/clients/SpokePoolClient/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,IAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,IAAM,0BAA0B,GAAG,KAAK,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { DEFAULT_CONFIG_STORE_VERSION, GLOBAL_CONFIG_STORE_KEYS, AcrossConfigStoreClient, ConfigStoreUpdate, } from "./AcrossConfigStoreClient";
|
|
2
2
|
export { UpdateFailureReason } from "./BaseAbstractClient";
|
|
3
3
|
export { HubPoolClient, LpFeeRequest } from "./HubPoolClient";
|
|
4
|
-
export { SpokePoolClient, SpokePoolUpdate, EVMSpokePoolClient, SVMSpokePoolClient, isEVMSpokePoolClient, isSVMSpokePoolClient, SpokePoolManager, } from "./SpokePoolClient";
|
|
4
|
+
export { SpokePoolClient, SpokePoolUpdate, EVMSpokePoolClient, SVMSpokePoolClient, TVMSpokePoolClient, isEVMSpokePoolClient, isSVMSpokePoolClient, isTVMSpokePoolClient, SpokePoolManager, } from "./SpokePoolClient";
|
|
5
5
|
export * as BundleDataClient from "./BundleDataClient";
|
|
6
6
|
export * as mocks from "./mocks";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { DEFAULT_CONFIG_STORE_VERSION, GLOBAL_CONFIG_STORE_KEYS, AcrossConfigStoreClient, } from "./AcrossConfigStoreClient";
|
|
2
2
|
export { UpdateFailureReason } from "./BaseAbstractClient";
|
|
3
3
|
export { HubPoolClient } from "./HubPoolClient";
|
|
4
|
-
export { SpokePoolClient, EVMSpokePoolClient, SVMSpokePoolClient, isEVMSpokePoolClient, isSVMSpokePoolClient, SpokePoolManager, } from "./SpokePoolClient";
|
|
4
|
+
export { SpokePoolClient, EVMSpokePoolClient, SVMSpokePoolClient, TVMSpokePoolClient, isEVMSpokePoolClient, isSVMSpokePoolClient, isTVMSpokePoolClient, SpokePoolManager, } from "./SpokePoolClient";
|
|
5
5
|
import * as BundleDataClient_1 from "./BundleDataClient";
|
|
6
6
|
export { BundleDataClient_1 as BundleDataClient };
|
|
7
7
|
import * as mocks_1 from "./mocks";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,eAAe,EAEf,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;oCACO,oBAAoB;+BAA1C,gBAAgB;yBACL,SAAS;oBAApB,KAAK"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/clients/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,eAAe,EAEf,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;oCACO,oBAAoB;+BAA1C,gBAAgB;yBACL,SAAS;oBAApB,KAAK"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TronWeb } from "tronweb";
|
|
2
|
+
import { TvmGasPriceEstimate } from "../types";
|
|
3
|
+
import { GasPriceEstimateOptions } from "../oracle";
|
|
4
|
+
/**
|
|
5
|
+
* @notice Returns energy and bandwidth prices for the TRON network.
|
|
6
|
+
* @param provider A TronWeb instance.
|
|
7
|
+
* @param _opts Gas price estimate options (unused, kept for interface consistency).
|
|
8
|
+
* @returns TvmGasPriceEstimate with energyPrice and bandwidthPrice in SUN per unit.
|
|
9
|
+
*/
|
|
10
|
+
export declare function gasPrices(provider: TronWeb, _opts: GasPriceEstimateOptions): Promise<TvmGasPriceEstimate>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { toBN } from "../../utils";
|
|
3
|
+
/**
|
|
4
|
+
* @notice Returns energy and bandwidth prices for the TRON network.
|
|
5
|
+
* @param provider A TronWeb instance.
|
|
6
|
+
* @param _opts Gas price estimate options (unused, kept for interface consistency).
|
|
7
|
+
* @returns TvmGasPriceEstimate with energyPrice and bandwidthPrice in SUN per unit.
|
|
8
|
+
*/
|
|
9
|
+
export function gasPrices(provider, _opts) {
|
|
10
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
11
|
+
var _a, energyPrice, bandwidthPrice;
|
|
12
|
+
return __generator(this, function (_b) {
|
|
13
|
+
switch (_b.label) {
|
|
14
|
+
case 0: return [4 /*yield*/, Promise.all([getEnergyPrice(provider), getBandwidthPrice(provider)])];
|
|
15
|
+
case 1:
|
|
16
|
+
_a = _b.sent(), energyPrice = _a[0], bandwidthPrice = _a[1];
|
|
17
|
+
return [2 /*return*/, {
|
|
18
|
+
energyPrice: toBN(energyPrice),
|
|
19
|
+
bandwidthPrice: toBN(bandwidthPrice),
|
|
20
|
+
}];
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Query the current energy price in SUN per unit of energy.
|
|
27
|
+
* Parses the last entry from the comma-separated "timestamp:price" string.
|
|
28
|
+
*/
|
|
29
|
+
function getEnergyPrice(tronWeb) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
31
|
+
var pricesStr, entries, lastEntry, price;
|
|
32
|
+
return __generator(this, function (_a) {
|
|
33
|
+
switch (_a.label) {
|
|
34
|
+
case 0: return [4 /*yield*/, tronWeb.trx.getEnergyPrices()];
|
|
35
|
+
case 1:
|
|
36
|
+
pricesStr = _a.sent();
|
|
37
|
+
entries = pricesStr.split(",");
|
|
38
|
+
lastEntry = entries[entries.length - 1];
|
|
39
|
+
price = Number(lastEntry.split(":")[1]);
|
|
40
|
+
if (!Number.isFinite(price) || price <= 0) {
|
|
41
|
+
throw new Error("getEnergyPrice: unexpected energy price: ".concat(lastEntry));
|
|
42
|
+
}
|
|
43
|
+
return [2 /*return*/, price];
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Query the current bandwidth price (getTransactionFee) from chain parameters.
|
|
50
|
+
*/
|
|
51
|
+
function getBandwidthPrice(tronWeb) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
53
|
+
var params, entry;
|
|
54
|
+
return __generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0: return [4 /*yield*/, tronWeb.trx.getChainParameters()];
|
|
57
|
+
case 1:
|
|
58
|
+
params = _a.sent();
|
|
59
|
+
entry = params.find(function (p) { return p.key === "getTransactionFee"; });
|
|
60
|
+
if (!entry) {
|
|
61
|
+
throw new Error("getBandwidthPrice: getTransactionFee not found in chain parameters");
|
|
62
|
+
}
|
|
63
|
+
return [2 /*return*/, entry.value];
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=tron.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../../../src/gasPriceOracle/adapters/tron.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInC;;;;;GAKG;AACH,MAAM,UAAgB,SAAS,CAAC,QAAiB,EAAE,KAA8B;;;;;wBACzC,qBAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAA;;oBAA1G,KAAgC,SAA0E,EAAzG,WAAW,QAAA,EAAE,cAAc,QAAA;oBAElC,sBAAO;4BACL,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;4BAC9B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC;yBACrC,EAAC;;;;CACH;AAED;;;GAGG;AACH,SAAe,cAAc,CAAC,OAAgB;;;;;wBAC1B,qBAAM,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAA;;oBAA/C,SAAS,GAAG,SAAmC;oBAC/C,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC/B,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACxC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;wBAC1C,MAAM,IAAI,KAAK,CAAC,mDAA4C,SAAS,CAAE,CAAC,CAAC;oBAC3E,CAAC;oBAED,sBAAO,KAAK,EAAC;;;;CACd;AAED;;GAEG;AACH,SAAe,iBAAiB,CAAC,OAAgB;;;;;wBAChC,qBAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAA;;oBAA/C,MAAM,GAAG,SAAsC;oBAC/C,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,CAAiC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,mBAAmB,EAA7B,CAA6B,CAAC,CAAC;oBAEhG,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;oBACxF,CAAC;oBAED,sBAAO,KAAK,CAAC,KAAK,EAAC;;;;CACpB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { getGasPriceEstimate, GasPriceEstimateOptions } from "./oracle";
|
|
2
|
-
export { GasPriceEstimate, EvmGasPriceEstimate, SvmGasPriceEstimate } from "./types";
|
|
2
|
+
export { GasPriceEstimate, EvmGasPriceEstimate, SvmGasPriceEstimate, TvmGasPriceEstimate } from "./types";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Transport } from "viem";
|
|
2
2
|
import { BigNumber } from "../utils";
|
|
3
3
|
import { SVMProvider as SolanaProvider } from "../arch/svm";
|
|
4
|
-
import {
|
|
4
|
+
import { TronWeb } from "tronweb";
|
|
5
|
+
import { EvmGasPriceEstimate, SvmGasPriceEstimate, TvmGasPriceEstimate } from "./types";
|
|
5
6
|
import { EvmProvider } from "../arch/evm/types";
|
|
6
7
|
export interface GasPriceEstimateOptions {
|
|
7
8
|
baseFeeMultiplier: BigNumber;
|
|
@@ -20,3 +21,4 @@ export interface FeeHistoryOptions {
|
|
|
20
21
|
}
|
|
21
22
|
export declare function getGasPriceEstimate(provider: EvmProvider, opts?: Partial<GasPriceEstimateOptions>): Promise<EvmGasPriceEstimate>;
|
|
22
23
|
export declare function getGasPriceEstimate(provider: SolanaProvider, opts?: Partial<GasPriceEstimateOptions>): Promise<SvmGasPriceEstimate>;
|
|
24
|
+
export declare function getGasPriceEstimate(provider: TronWeb, opts?: Partial<GasPriceEstimateOptions>): Promise<TvmGasPriceEstimate>;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
2
|
import assert from "assert";
|
|
3
3
|
import { CHAIN_IDs } from "../constants";
|
|
4
|
-
import { BigNumber, fixedPointAdjustment, isEvmProvider, toBNWei, isDefined } from "../utils";
|
|
4
|
+
import { BigNumber, fixedPointAdjustment, isEvmProvider, isTvmProvider, toBNWei, isDefined } from "../utils";
|
|
5
5
|
import { getPublicClient } from "./util";
|
|
6
6
|
import * as arbitrum from "./adapters/arbitrum";
|
|
7
7
|
import * as ethereum from "./adapters/ethereum";
|
|
8
8
|
import * as polygon from "./adapters/polygon";
|
|
9
9
|
import * as lineaViem from "./adapters/linea-viem";
|
|
10
10
|
import * as solana from "./adapters/solana";
|
|
11
|
+
import * as tron from "./adapters/tron";
|
|
11
12
|
var GAS_PRICE_ESTIMATE_DEFAULTS = {
|
|
12
13
|
legacyFallback: true,
|
|
13
14
|
};
|
|
@@ -21,26 +22,31 @@ var VIEM_CHAINS = [CHAIN_IDs.LINEA];
|
|
|
21
22
|
*/
|
|
22
23
|
export function getGasPriceEstimate(provider_1) {
|
|
23
24
|
return __awaiter(this, arguments, void 0, function (provider, opts) {
|
|
24
|
-
var baseFeeMultiplier, priorityFeeMultiplier, optsWithDefaults_1, chainId, _a, optsWithDefaults, useViem;
|
|
25
|
-
var _b, _c, _d, _e;
|
|
25
|
+
var baseFeeMultiplier, priorityFeeMultiplier, optsWithDefaults_1, optsWithDefaults_2, chainId, _a, optsWithDefaults, useViem;
|
|
26
|
+
var _b, _c, _d, _e, _f;
|
|
26
27
|
if (opts === void 0) { opts = {}; }
|
|
27
|
-
return __generator(this, function (
|
|
28
|
-
switch (
|
|
28
|
+
return __generator(this, function (_g) {
|
|
29
|
+
switch (_g.label) {
|
|
29
30
|
case 0:
|
|
30
31
|
baseFeeMultiplier = (_b = opts.baseFeeMultiplier) !== null && _b !== void 0 ? _b : toBNWei("1");
|
|
31
32
|
priorityFeeMultiplier = (_c = opts.priorityFeeMultiplier) !== null && _c !== void 0 ? _c : toBNWei("1");
|
|
33
|
+
// Exit here if we need to estimate on TRON.
|
|
34
|
+
if (isTvmProvider(provider)) {
|
|
35
|
+
optsWithDefaults_1 = __assign(__assign(__assign(__assign({}, GAS_PRICE_ESTIMATE_DEFAULTS), { baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier }), opts), { chainId: (_d = opts.chainId) !== null && _d !== void 0 ? _d : CHAIN_IDs.TRON });
|
|
36
|
+
return [2 /*return*/, tron.gasPrices(provider, optsWithDefaults_1)];
|
|
37
|
+
}
|
|
32
38
|
// Exit here if we need to estimate on Solana.
|
|
33
39
|
if (!isEvmProvider(provider)) {
|
|
34
|
-
|
|
35
|
-
return [2 /*return*/, solana.messageFee(provider,
|
|
40
|
+
optsWithDefaults_2 = __assign(__assign(__assign(__assign({}, GAS_PRICE_ESTIMATE_DEFAULTS), { baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier }), opts), { chainId: (_e = opts.chainId) !== null && _e !== void 0 ? _e : CHAIN_IDs.SOLANA });
|
|
41
|
+
return [2 /*return*/, solana.messageFee(provider, optsWithDefaults_2)];
|
|
36
42
|
}
|
|
37
|
-
if (!((
|
|
38
|
-
_a =
|
|
43
|
+
if (!((_f = opts.chainId) !== null && _f !== void 0)) return [3 /*break*/, 1];
|
|
44
|
+
_a = _f;
|
|
39
45
|
return [3 /*break*/, 3];
|
|
40
46
|
case 1: return [4 /*yield*/, provider.getNetwork()];
|
|
41
47
|
case 2:
|
|
42
|
-
_a = (
|
|
43
|
-
|
|
48
|
+
_a = (_g.sent()).chainId;
|
|
49
|
+
_g.label = 3;
|
|
44
50
|
case 3:
|
|
45
51
|
chainId = _a;
|
|
46
52
|
optsWithDefaults = __assign(__assign(__assign(__assign({}, GAS_PRICE_ESTIMATE_DEFAULTS), { baseFeeMultiplier: baseFeeMultiplier, priorityFeeMultiplier: priorityFeeMultiplier }), opts), { chainId: chainId });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/oracle.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/oracle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
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 = EvmGasPriceEstimate | SvmGasPriceEstimate;
|
|
4
|
+
export type GasPriceEstimate = EvmGasPriceEstimate | SvmGasPriceEstimate | TvmGasPriceEstimate;
|
|
5
5
|
export type EvmGasPriceEstimate = {
|
|
6
6
|
maxFeePerGas: BigNumber;
|
|
7
7
|
maxPriorityFeePerGas: BigNumber;
|
|
@@ -10,6 +10,10 @@ export type SvmGasPriceEstimate = {
|
|
|
10
10
|
baseFee: BigNumber;
|
|
11
11
|
microLamportsPerComputeUnit: BigNumber;
|
|
12
12
|
};
|
|
13
|
+
export type TvmGasPriceEstimate = {
|
|
14
|
+
energyPrice: BigNumber;
|
|
15
|
+
bandwidthPrice: BigNumber;
|
|
16
|
+
};
|
|
13
17
|
export interface GasPriceFeed {
|
|
14
18
|
(provider: PublicClient<Transport, Chain>, chainId: number): Promise<InternalGasPriceEstimate>;
|
|
15
19
|
}
|
|
@@ -17,3 +21,4 @@ export declare function isEVMGasPrice(gasPrice: GasPriceEstimate): gasPrice is E
|
|
|
17
21
|
export declare function isType0Gas(gas: EvmGasPriceEstimate): boolean;
|
|
18
22
|
export declare function isType2Gas(gas: EvmGasPriceEstimate): boolean;
|
|
19
23
|
export declare function isSVMGasPrice(gasPrice: GasPriceEstimate): gasPrice is SvmGasPriceEstimate;
|
|
24
|
+
export declare function isTVMGasPrice(gasPrice: GasPriceEstimate): gasPrice is TvmGasPriceEstimate;
|
|
@@ -13,4 +13,8 @@ export function isSVMGasPrice(gasPrice) {
|
|
|
13
13
|
var _a = gasPrice, baseFee = _a.baseFee, microLamportsPerComputeUnit = _a.microLamportsPerComputeUnit;
|
|
14
14
|
return isDefined(baseFee) && isDefined(microLamportsPerComputeUnit);
|
|
15
15
|
}
|
|
16
|
+
export function isTVMGasPrice(gasPrice) {
|
|
17
|
+
var _a = gasPrice, energyPrice = _a.energyPrice, bandwidthPrice = _a.bandwidthPrice;
|
|
18
|
+
return isDefined(energyPrice) && isDefined(bandwidthPrice);
|
|
19
|
+
}
|
|
16
20
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/gasPriceOracle/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAwBxD,MAAM,UAAU,aAAa,CAAC,QAA0B;IAChD,IAAA,KAAyC,QAA+B,EAAtE,YAAY,kBAAA,EAAE,oBAAoB,0BAAoC,CAAC;IAC/E,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,oBAAoB,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAwB;IACjD,OAAO,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAwB;IACjD,OAAO,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAA0B;IAChD,IAAA,KAA2C,QAA+B,EAAxE,OAAO,aAAA,EAAE,2BAA2B,iCAAoC,CAAC;IACjF,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,2BAA2B,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAA0B;IAChD,IAAA,KAAkC,QAA+B,EAA/D,WAAW,iBAAA,EAAE,cAAc,oBAAoC,CAAC;IACxE,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;AAC7D,CAAC"}
|