@across-protocol/sdk 4.3.136 → 4.3.137-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 +43 -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/arch/tvm/utils/wait.js +5 -0
- package/dist/cjs/src/arch/tvm/utils/wait.js.map +1 -0
- 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/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/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/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 +55 -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/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/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/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/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/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/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/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/package.json +4 -3
- 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 +62 -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/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/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/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
|
@@ -2,7 +2,7 @@ import { type Chain, type Transport, PublicClient, FeeValuesEIP1559 } from "viem
|
|
|
2
2
|
import { BigNumber, bnZero, isDefined } from "../utils";
|
|
3
3
|
|
|
4
4
|
export type InternalGasPriceEstimate = FeeValuesEIP1559;
|
|
5
|
-
export type GasPriceEstimate = EvmGasPriceEstimate | SvmGasPriceEstimate;
|
|
5
|
+
export type GasPriceEstimate = EvmGasPriceEstimate | SvmGasPriceEstimate | TvmGasPriceEstimate;
|
|
6
6
|
|
|
7
7
|
export type EvmGasPriceEstimate = {
|
|
8
8
|
maxFeePerGas: BigNumber;
|
|
@@ -14,6 +14,11 @@ export type SvmGasPriceEstimate = {
|
|
|
14
14
|
microLamportsPerComputeUnit: BigNumber;
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
+
export type TvmGasPriceEstimate = {
|
|
18
|
+
energyPrice: BigNumber;
|
|
19
|
+
bandwidthPrice: BigNumber;
|
|
20
|
+
};
|
|
21
|
+
|
|
17
22
|
export interface GasPriceFeed {
|
|
18
23
|
(provider: PublicClient<Transport, Chain>, chainId: number): Promise<InternalGasPriceEstimate>;
|
|
19
24
|
}
|
|
@@ -35,3 +40,8 @@ export function isSVMGasPrice(gasPrice: GasPriceEstimate): gasPrice is SvmGasPri
|
|
|
35
40
|
const { baseFee, microLamportsPerComputeUnit } = gasPrice as SvmGasPriceEstimate;
|
|
36
41
|
return isDefined(baseFee) && isDefined(microLamportsPerComputeUnit);
|
|
37
42
|
}
|
|
43
|
+
|
|
44
|
+
export function isTVMGasPrice(gasPrice: GasPriceEstimate): gasPrice is TvmGasPriceEstimate {
|
|
45
|
+
const { energyPrice, bandwidthPrice } = gasPrice as TvmGasPriceEstimate;
|
|
46
|
+
return isDefined(energyPrice) && isDefined(bandwidthPrice);
|
|
47
|
+
}
|
|
@@ -3,13 +3,15 @@ import { CHAIN_IDs, TOKEN_SYMBOLS_MAP } from "@across-protocol/constants";
|
|
|
3
3
|
import { getDeployedAddress } from "@across-protocol/contracts";
|
|
4
4
|
import { asL2Provider } from "@eth-optimism/sdk";
|
|
5
5
|
import { providers } from "ethers";
|
|
6
|
+
import { TronWeb } from "tronweb";
|
|
6
7
|
import { CUSTOM_GAS_TOKENS } from "../../constants";
|
|
7
|
-
import { chainIsEvm, chainIsOPStack, isDefined, chainIsSvm, SvmAddress } from "../../utils";
|
|
8
|
+
import { chainIsEvm, chainIsOPStack, isDefined, chainIsSvm, chainIsTvm, SvmAddress } from "../../utils";
|
|
8
9
|
import { QueryBase } from "./baseQuery";
|
|
9
10
|
import { SVMProvider as svmProvider } from "../../arch/svm";
|
|
10
11
|
import { DEFAULT_LOGGER, getDefaultRelayer, Logger } from "../relayFeeCalculator";
|
|
11
12
|
import { CustomGasTokenQueries } from "./customGasToken";
|
|
12
13
|
import { SvmQuery } from "./svmQuery";
|
|
14
|
+
import { TvmQuery } from "./tvmQuery";
|
|
13
15
|
|
|
14
16
|
/**
|
|
15
17
|
* Some chains have a fixed gas price that is applied to the gas estimates. We should override
|
|
@@ -22,14 +24,14 @@ const fixedGasPrice = {
|
|
|
22
24
|
export class QueryBase__factory {
|
|
23
25
|
static create(
|
|
24
26
|
chainId: number,
|
|
25
|
-
provider: providers.Provider | svmProvider,
|
|
27
|
+
provider: providers.Provider | svmProvider | TronWeb,
|
|
26
28
|
symbolMapping = TOKEN_SYMBOLS_MAP,
|
|
27
29
|
spokePoolAddress = getDeployedAddress("SpokePool", chainId),
|
|
28
30
|
relayerAddress = getDefaultRelayer(chainId),
|
|
29
31
|
coingeckoProApiKey?: string,
|
|
30
32
|
logger: Logger = DEFAULT_LOGGER,
|
|
31
33
|
coingeckoBaseCurrency = "eth"
|
|
32
|
-
): QueryBase | SvmQuery {
|
|
34
|
+
): QueryBase | SvmQuery | TvmQuery {
|
|
33
35
|
assert(isDefined(spokePoolAddress));
|
|
34
36
|
|
|
35
37
|
const customGasTokenSymbol = CUSTOM_GAS_TOKENS[chainId];
|
|
@@ -62,6 +64,19 @@ export class QueryBase__factory {
|
|
|
62
64
|
coingeckoBaseCurrency
|
|
63
65
|
);
|
|
64
66
|
}
|
|
67
|
+
if (chainIsTvm(chainId)) {
|
|
68
|
+
assert(relayerAddress.isEVM());
|
|
69
|
+
return new TvmQuery(
|
|
70
|
+
provider as TronWeb,
|
|
71
|
+
symbolMapping,
|
|
72
|
+
spokePoolAddress,
|
|
73
|
+
relayerAddress,
|
|
74
|
+
logger,
|
|
75
|
+
coingeckoProApiKey,
|
|
76
|
+
fixedGasPrice[chainId],
|
|
77
|
+
coingeckoBaseCurrency
|
|
78
|
+
);
|
|
79
|
+
}
|
|
65
80
|
|
|
66
81
|
// For OPStack chains, we need to wrap the provider in an L2Provider
|
|
67
82
|
provider = chainIsOPStack(chainId)
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import assert from "assert";
|
|
2
|
+
import { PopulatedTransaction, providers, VoidSigner } from "ethers";
|
|
3
|
+
import { TronWeb } from "tronweb";
|
|
4
|
+
import { getGasPriceEstimate, GasPriceEstimateOptions } from "../../gasPriceOracle";
|
|
5
|
+
import { TvmGasPriceEstimate } from "../../gasPriceOracle/types";
|
|
6
|
+
import { RelayData } from "../../interfaces";
|
|
7
|
+
import { Address, BigNumber, BigNumberish, bnZero, EvmAddress, TransactionCostEstimate } from "../../utils";
|
|
8
|
+
import { arch } from "../..";
|
|
9
|
+
import { Logger } from "../relayFeeCalculator";
|
|
10
|
+
import { QueryBase, SymbolMappingType } from "./baseQuery";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A TVM-specific query implementation for TRON.
|
|
14
|
+
*
|
|
15
|
+
* TRON's JSON-RPC is EVM-compatible for reads and gas estimation, so this
|
|
16
|
+
* class extends QueryBase and overrides only the gas price oracle dispatch
|
|
17
|
+
* to use TronWeb (energy/bandwidth pricing) instead of the EVM oracle.
|
|
18
|
+
*
|
|
19
|
+
* The ethers provider is derived from the TronWeb instance's fullNode URL.
|
|
20
|
+
*/
|
|
21
|
+
export class TvmQuery extends QueryBase {
|
|
22
|
+
readonly tronWeb: TronWeb;
|
|
23
|
+
|
|
24
|
+
constructor(
|
|
25
|
+
tronWeb: TronWeb,
|
|
26
|
+
symbolMapping: SymbolMappingType,
|
|
27
|
+
spokePoolAddress: string,
|
|
28
|
+
simulatedRelayerAddress: EvmAddress,
|
|
29
|
+
logger: Logger,
|
|
30
|
+
coingeckoProApiKey?: string,
|
|
31
|
+
fixedGasPrice?: BigNumberish,
|
|
32
|
+
coingeckoBaseCurrency: string = "eth"
|
|
33
|
+
) {
|
|
34
|
+
const provider = new providers.StaticJsonRpcProvider(tronWeb.fullNode.host);
|
|
35
|
+
super(
|
|
36
|
+
provider,
|
|
37
|
+
symbolMapping,
|
|
38
|
+
spokePoolAddress,
|
|
39
|
+
simulatedRelayerAddress,
|
|
40
|
+
logger,
|
|
41
|
+
coingeckoProApiKey,
|
|
42
|
+
fixedGasPrice,
|
|
43
|
+
coingeckoBaseCurrency
|
|
44
|
+
);
|
|
45
|
+
this.tronWeb = tronWeb;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Estimate the gas cost of a transaction using TVM energy pricing.
|
|
50
|
+
*
|
|
51
|
+
* Gas units (energy) are estimated via the ethers provider (TRON's JSON-RPC
|
|
52
|
+
* returns energy units for eth_estimateGas). The energy price is queried
|
|
53
|
+
* from TronWeb's gas price oracle.
|
|
54
|
+
*/
|
|
55
|
+
override async estimateGas(
|
|
56
|
+
unsignedTx: PopulatedTransaction,
|
|
57
|
+
senderAddress: Address,
|
|
58
|
+
provider: providers.Provider,
|
|
59
|
+
options: Partial<
|
|
60
|
+
GasPriceEstimateOptions & {
|
|
61
|
+
gasPrice: BigNumberish;
|
|
62
|
+
gasUnits: BigNumberish;
|
|
63
|
+
}
|
|
64
|
+
> = {}
|
|
65
|
+
): Promise<TransactionCostEstimate> {
|
|
66
|
+
const { gasPrice: _gasPrice, gasUnits } = options;
|
|
67
|
+
|
|
68
|
+
const voidSigner = new VoidSigner(senderAddress.toEvmAddress(), provider);
|
|
69
|
+
|
|
70
|
+
const [nativeGasCost, gasPriceEstimate] = await Promise.all([
|
|
71
|
+
gasUnits ? Promise.resolve(BigNumber.from(gasUnits)) : voidSigner.estimateGas(unsignedTx),
|
|
72
|
+
_gasPrice
|
|
73
|
+
? Promise.resolve({ energyPrice: BigNumber.from(_gasPrice.toString()), bandwidthPrice: bnZero })
|
|
74
|
+
: getGasPriceEstimate(this.tronWeb),
|
|
75
|
+
]);
|
|
76
|
+
|
|
77
|
+
assert(nativeGasCost.gt(bnZero), "Gas cost should not be 0");
|
|
78
|
+
|
|
79
|
+
const gasPrice = (gasPriceEstimate as TvmGasPriceEstimate).energyPrice;
|
|
80
|
+
const tokenGasCost = nativeGasCost.mul(gasPrice);
|
|
81
|
+
|
|
82
|
+
return { nativeGasCost, tokenGasCost, gasPrice };
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
override getAuxiliaryNativeTokenCost(deposit: RelayData): BigNumber {
|
|
86
|
+
return arch.tvm.getAuxiliaryNativeTokenCost(deposit);
|
|
87
|
+
}
|
|
88
|
+
}
|
package/src/utils/Multicall.ts
CHANGED
|
@@ -21,6 +21,7 @@ const MULTICALL_DEPLOYER = "0x05f32B3cC3888453ff71B01135B34FF8e41263F2";
|
|
|
21
21
|
|
|
22
22
|
const NON_DETERMINISTIC_MULTICALL_ADDRESSES = {
|
|
23
23
|
[CHAIN_IDs.LENS]: "0x6b6dEa4D80e3077D076733A04c48F63c3BA49320",
|
|
24
|
+
[CHAIN_IDs.TRON]: "0x32a4f47a74a6810bd0bf861cabab99656a75de9e", // @todo: Base58?
|
|
24
25
|
[CHAIN_IDs.ZK_SYNC]: "0xF9cda624FBC7e059355ce98a31693d299FACd963",
|
|
25
26
|
[CHAIN_IDs.LENS_SEPOLIA]: "0x8A44EDE8a6843a997bC0Cc4659e4dB1Da8f91116",
|
|
26
27
|
};
|
|
@@ -134,6 +134,15 @@ export function chainIsSvm(chainId: number): boolean {
|
|
|
134
134
|
return PUBLIC_NETWORKS[chainId]?.family === ChainFamily.SVM;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
+
/**
|
|
138
|
+
* Determines whether a chain ID runs on a TVM-like execution layer (e.g. TRON).
|
|
139
|
+
* @param chainId Chain ID to evaluate.
|
|
140
|
+
* @returns True if chain corresponding to chainId has a TVM-like execution layer.
|
|
141
|
+
*/
|
|
142
|
+
export function chainIsTvm(chainId: number): boolean {
|
|
143
|
+
return PUBLIC_NETWORKS[chainId]?.family === ChainFamily.TVM;
|
|
144
|
+
}
|
|
145
|
+
|
|
137
146
|
/**
|
|
138
147
|
* Determines whether a chain ID has a native gas token.
|
|
139
148
|
* @param chainId Chain ID to evaluate.
|
|
@@ -166,13 +175,14 @@ export function chainIsOFTEnabled(chainId: number): boolean {
|
|
|
166
175
|
// This is backwards vs. CCTP logic because Across support for OFTs is limited vs. OFT deployments.
|
|
167
176
|
const oftEnabled = [
|
|
168
177
|
CHAIN_IDs.ARBITRUM,
|
|
169
|
-
CHAIN_IDs.POLYGON,
|
|
170
178
|
CHAIN_IDs.HYPEREVM,
|
|
179
|
+
CHAIN_IDs.INK,
|
|
180
|
+
CHAIN_IDs.MEGAETH,
|
|
171
181
|
CHAIN_IDs.MONAD,
|
|
172
182
|
CHAIN_IDs.PLASMA,
|
|
173
|
-
CHAIN_IDs.
|
|
183
|
+
CHAIN_IDs.POLYGON,
|
|
184
|
+
CHAIN_IDs.TRON, // tbd!!!
|
|
174
185
|
CHAIN_IDs.UNICHAIN,
|
|
175
|
-
CHAIN_IDs.INK,
|
|
176
186
|
];
|
|
177
187
|
return oftEnabled.includes(chainId) && PRODUCTION_NETWORKS[chainId]?.oftEid !== OFT_NO_EID;
|
|
178
188
|
}
|
package/src/utils/TypeGuards.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SVMProvider } from "../arch/svm/types";
|
|
2
2
|
import { EvmProvider } from "../arch/evm/types";
|
|
3
3
|
import { providers } from "ethers";
|
|
4
|
+
import { TronWeb } from "tronweb";
|
|
4
5
|
|
|
5
6
|
export function isPromiseFulfilled<T>(
|
|
6
7
|
promiseSettledResult: PromiseSettledResult<T>
|
|
@@ -18,6 +19,10 @@ export function isDefined<T>(input: T | null | undefined): input is T {
|
|
|
18
19
|
return input !== null && input !== undefined;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
export function
|
|
22
|
+
export function isTvmProvider(provider: EvmProvider | SVMProvider | TronWeb): provider is TronWeb {
|
|
23
|
+
return typeof (provider as TronWeb)?.trx?.getEnergyPrices === "function";
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function isEvmProvider(provider: EvmProvider | SVMProvider | TronWeb): provider is EvmProvider {
|
|
22
27
|
return provider instanceof providers.Provider;
|
|
23
28
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"type": "function",
|
|
4
|
+
"name": "verifyProof",
|
|
5
|
+
"inputs": [
|
|
6
|
+
{
|
|
7
|
+
"name": "",
|
|
8
|
+
"type": "bytes32",
|
|
9
|
+
"internalType": "bytes32"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "",
|
|
13
|
+
"type": "bytes",
|
|
14
|
+
"internalType": "bytes"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "",
|
|
18
|
+
"type": "bytes",
|
|
19
|
+
"internalType": "bytes"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"outputs": [],
|
|
23
|
+
"stateMutability": "pure"
|
|
24
|
+
}
|
|
25
|
+
]
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import type {
|
|
5
|
+
BaseContract,
|
|
6
|
+
BigNumber,
|
|
7
|
+
BytesLike,
|
|
8
|
+
CallOverrides,
|
|
9
|
+
PopulatedTransaction,
|
|
10
|
+
Signer,
|
|
11
|
+
utils,
|
|
12
|
+
} from "ethers";
|
|
13
|
+
import type { FunctionFragment, Result } from "@ethersproject/abi";
|
|
14
|
+
import type { Listener, Provider } from "@ethersproject/providers";
|
|
15
|
+
import type {
|
|
16
|
+
TypedEventFilter,
|
|
17
|
+
TypedEvent,
|
|
18
|
+
TypedListener,
|
|
19
|
+
OnEvent,
|
|
20
|
+
} from "./common";
|
|
21
|
+
|
|
22
|
+
export interface SP1AutoVerifierInterface extends utils.Interface {
|
|
23
|
+
functions: {
|
|
24
|
+
"verifyProof(bytes32,bytes,bytes)": FunctionFragment;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
getFunction(nameOrSignatureOrTopic: "verifyProof"): FunctionFragment;
|
|
28
|
+
|
|
29
|
+
encodeFunctionData(
|
|
30
|
+
functionFragment: "verifyProof",
|
|
31
|
+
values: [BytesLike, BytesLike, BytesLike]
|
|
32
|
+
): string;
|
|
33
|
+
|
|
34
|
+
decodeFunctionResult(
|
|
35
|
+
functionFragment: "verifyProof",
|
|
36
|
+
data: BytesLike
|
|
37
|
+
): Result;
|
|
38
|
+
|
|
39
|
+
events: {};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface SP1AutoVerifier extends BaseContract {
|
|
43
|
+
connect(signerOrProvider: Signer | Provider | string): this;
|
|
44
|
+
attach(addressOrName: string): this;
|
|
45
|
+
deployed(): Promise<this>;
|
|
46
|
+
|
|
47
|
+
interface: SP1AutoVerifierInterface;
|
|
48
|
+
|
|
49
|
+
queryFilter<TEvent extends TypedEvent>(
|
|
50
|
+
event: TypedEventFilter<TEvent>,
|
|
51
|
+
fromBlockOrBlockhash?: string | number | undefined,
|
|
52
|
+
toBlock?: string | number | undefined
|
|
53
|
+
): Promise<Array<TEvent>>;
|
|
54
|
+
|
|
55
|
+
listeners<TEvent extends TypedEvent>(
|
|
56
|
+
eventFilter?: TypedEventFilter<TEvent>
|
|
57
|
+
): Array<TypedListener<TEvent>>;
|
|
58
|
+
listeners(eventName?: string): Array<Listener>;
|
|
59
|
+
removeAllListeners<TEvent extends TypedEvent>(
|
|
60
|
+
eventFilter: TypedEventFilter<TEvent>
|
|
61
|
+
): this;
|
|
62
|
+
removeAllListeners(eventName?: string): this;
|
|
63
|
+
off: OnEvent<this>;
|
|
64
|
+
on: OnEvent<this>;
|
|
65
|
+
once: OnEvent<this>;
|
|
66
|
+
removeListener: OnEvent<this>;
|
|
67
|
+
|
|
68
|
+
functions: {
|
|
69
|
+
verifyProof(
|
|
70
|
+
arg0: BytesLike,
|
|
71
|
+
arg1: BytesLike,
|
|
72
|
+
arg2: BytesLike,
|
|
73
|
+
overrides?: CallOverrides
|
|
74
|
+
): Promise<[void]>;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
verifyProof(
|
|
78
|
+
arg0: BytesLike,
|
|
79
|
+
arg1: BytesLike,
|
|
80
|
+
arg2: BytesLike,
|
|
81
|
+
overrides?: CallOverrides
|
|
82
|
+
): Promise<void>;
|
|
83
|
+
|
|
84
|
+
callStatic: {
|
|
85
|
+
verifyProof(
|
|
86
|
+
arg0: BytesLike,
|
|
87
|
+
arg1: BytesLike,
|
|
88
|
+
arg2: BytesLike,
|
|
89
|
+
overrides?: CallOverrides
|
|
90
|
+
): Promise<void>;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
filters: {};
|
|
94
|
+
|
|
95
|
+
estimateGas: {
|
|
96
|
+
verifyProof(
|
|
97
|
+
arg0: BytesLike,
|
|
98
|
+
arg1: BytesLike,
|
|
99
|
+
arg2: BytesLike,
|
|
100
|
+
overrides?: CallOverrides
|
|
101
|
+
): Promise<BigNumber>;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
populateTransaction: {
|
|
105
|
+
verifyProof(
|
|
106
|
+
arg0: BytesLike,
|
|
107
|
+
arg1: BytesLike,
|
|
108
|
+
arg2: BytesLike,
|
|
109
|
+
overrides?: CallOverrides
|
|
110
|
+
): Promise<PopulatedTransaction>;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { Contract, Signer, utils } from "ethers";
|
|
6
|
+
import type { Provider } from "@ethersproject/providers";
|
|
7
|
+
import type {
|
|
8
|
+
SP1AutoVerifier,
|
|
9
|
+
SP1AutoVerifierInterface,
|
|
10
|
+
} from "../SP1AutoVerifier";
|
|
11
|
+
|
|
12
|
+
const _abi = [
|
|
13
|
+
{
|
|
14
|
+
type: "function",
|
|
15
|
+
name: "verifyProof",
|
|
16
|
+
inputs: [
|
|
17
|
+
{
|
|
18
|
+
name: "",
|
|
19
|
+
type: "bytes32",
|
|
20
|
+
internalType: "bytes32",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "",
|
|
24
|
+
type: "bytes",
|
|
25
|
+
internalType: "bytes",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: "",
|
|
29
|
+
type: "bytes",
|
|
30
|
+
internalType: "bytes",
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
outputs: [],
|
|
34
|
+
stateMutability: "pure",
|
|
35
|
+
},
|
|
36
|
+
] as const;
|
|
37
|
+
|
|
38
|
+
export class SP1AutoVerifier__factory {
|
|
39
|
+
static readonly abi = _abi;
|
|
40
|
+
static createInterface(): SP1AutoVerifierInterface {
|
|
41
|
+
return new utils.Interface(_abi) as SP1AutoVerifierInterface;
|
|
42
|
+
}
|
|
43
|
+
static connect(
|
|
44
|
+
address: string,
|
|
45
|
+
signerOrProvider: Signer | Provider
|
|
46
|
+
): SP1AutoVerifier {
|
|
47
|
+
return new Contract(address, _abi, signerOrProvider) as SP1AutoVerifier;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -254,6 +254,7 @@ export { ProxyAdmin__factory } from "./ProxyAdmin__factory";
|
|
|
254
254
|
export { ReentrancyGuard__factory } from "./ReentrancyGuard__factory";
|
|
255
255
|
export { ReentrancyGuardUpgradeable__factory } from "./ReentrancyGuardUpgradeable__factory";
|
|
256
256
|
export { Router_Adapter__factory } from "./Router_Adapter__factory";
|
|
257
|
+
export { SP1AutoVerifier__factory } from "./SP1AutoVerifier__factory";
|
|
257
258
|
export { SP1Helios__factory } from "./SP1Helios__factory";
|
|
258
259
|
export { SafeCast__factory } from "./SafeCast__factory";
|
|
259
260
|
export { SafeERC20__factory } from "./SafeERC20__factory";
|
|
@@ -254,6 +254,7 @@ export type { ProxyAdmin } from "./ProxyAdmin";
|
|
|
254
254
|
export type { ReentrancyGuard } from "./ReentrancyGuard";
|
|
255
255
|
export type { ReentrancyGuardUpgradeable } from "./ReentrancyGuardUpgradeable";
|
|
256
256
|
export type { Router_Adapter } from "./Router_Adapter";
|
|
257
|
+
export type { SP1AutoVerifier } from "./SP1AutoVerifier";
|
|
257
258
|
export type { SP1Helios } from "./SP1Helios";
|
|
258
259
|
export type { SafeCast } from "./SafeCast";
|
|
259
260
|
export type { SafeERC20 } from "./SafeERC20";
|
|
@@ -572,6 +573,7 @@ export { ShortStrings__factory } from "./factories/ShortStrings__factory";
|
|
|
572
573
|
export { SimpleContract__factory } from "./factories/SimpleContract__factory";
|
|
573
574
|
export { SkinnyOptimisticOracleInterface__factory } from "./factories/SkinnyOptimisticOracleInterface__factory";
|
|
574
575
|
export { Solana_Adapter__factory } from "./factories/Solana_Adapter__factory";
|
|
576
|
+
export { SP1AutoVerifier__factory } from "./factories/SP1AutoVerifier__factory";
|
|
575
577
|
export { SP1Helios__factory } from "./factories/SP1Helios__factory";
|
|
576
578
|
export { SpokePool__factory } from "./factories/SpokePool__factory";
|
|
577
579
|
export { SpokePoolEIP7702Test__factory } from "./factories/SpokePoolEIP7702Test__factory";
|