UNPKG

@0xsplits/splits-sdk

Version:

SDK for the 0xSplits protocol

63 lines (62 loc) 3.03 kB
import { WalletClient, Address, Abi, Hash, Log, Hex } from 'viem'; import { TransactionType } from '../constants'; import type { ApiConfig, BaseClientConfig, CallData, MulticallConfig, SplitsPublicClient, TransactionConfig, TransactionFormat, TransactionOverrides } from '../types'; import { DataClient } from './data'; declare class BaseClient { readonly _chainId: number | undefined; readonly _ensPublicClient: SplitsPublicClient | undefined; readonly _walletClient: WalletClient | undefined; readonly _publicClient: SplitsPublicClient | undefined; readonly _publicClients: { [chainId: number]: SplitsPublicClient; } | undefined; readonly _apiConfig: ApiConfig | undefined; readonly _includeEnsNames: boolean; readonly _dataClient: DataClient | undefined; readonly _supportedChainIds: number[]; constructor({ chainId, publicClient, publicClients, ensPublicClient, walletClient, apiConfig, supportedChainIds, includeEnsNames, }: BaseClientConfig); protected _requireDataClient(): void; protected _requirePublicClient(chainId: number): void; protected _requireWalletClient(): void; _getPublicClient(chainId: number): SplitsPublicClient; } export declare class BaseTransactions extends BaseClient { protected readonly _transactionType: TransactionType; protected readonly _shouldRequireWalletClient: boolean; constructor({ transactionType, ...baseClientArgs }: BaseClientConfig & TransactionConfig); protected _executeContractFunction({ contractAddress, contractAbi, functionName, functionArgs, transactionOverrides, value, }: { contractAddress: Address; contractAbi: Abi; functionName: string; functionArgs?: unknown[]; transactionOverrides: TransactionOverrides; value?: bigint; }): Promise<bigint | `0x${string}` | { address: `0x${string}`; data: `0x${string}`; value: bigint | undefined; }>; protected _isContractTransaction(txHash: TransactionFormat): txHash is Hash; protected _isBigInt(gasEstimate: TransactionFormat): gasEstimate is bigint; protected _isCallData(callData: TransactionFormat): callData is CallData; protected _getFunctionChainId(argumentChainId?: number): number; protected _getReadOnlyFunctionChainId(argumentChainId?: number): number; _multicallTransaction({ calls, transactionOverrides, }: MulticallConfig): Promise<TransactionFormat>; } export declare class BaseClientMixin extends BaseTransactions { getTransactionEvents({ txHash, eventTopics, includeAll, }: { txHash: Hash; eventTopics: Hex[]; includeAll?: boolean; }): Promise<Log[]>; _submitMulticallTransaction(multicallArgs: MulticallConfig): Promise<{ txHash: Hash; }>; multicall(multicallArgs: MulticallConfig): Promise<{ events: Log[]; }>; } export declare class BaseGasEstimatesMixin extends BaseTransactions { multicall(multicallArgs: MulticallConfig): Promise<bigint>; } export {};