@0xsplits/splits-sdk
Version:
SDK for the 0xSplits protocol
63 lines (62 loc) • 3.03 kB
TypeScript
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 {};