@0xsplits/splits-sdk
Version:
SDK for the 0xSplits protocol
987 lines (986 loc) • 37.4 kB
TypeScript
import { Address, GetContractReturnType, Hash, Hex, Log, TypedDataDomain } from 'viem';
import { warehouseAbi } from '../constants/abi/warehouse';
import { BaseClientMixin, BaseGasEstimatesMixin, BaseTransactions } from './base';
import { CallData, ReadContractArgs, SplitsClientConfig, TransactionConfig, TransactionFormat, WarehouseApproveBySig, WarehouseApproveBySigConfig, WarehouseApproveConfig, WarehouseBatchDepositConfig, WarehouseBatchTransferConfig, WarehouseBatchWithdrawConfig, WarehouseDepositConfig, WarehouseInvalidateNonceConfig, WarehouseSetOperatorConfig, WarehouseSetWithdrawConfig, WarehouseTemporaryApproveAndCallBySig, WarehouseTemporaryApproveAndCallBySigConfig, WarehouseTemporaryApproveAndCallConfig, WarehouseTransferConfig, WarehouseTransferFromConfig, WarehouseWithdrawConfig } from '../types';
import { SplitsPublicClient } from '../types';
type WarehouseAbiType = typeof warehouseAbi;
declare class WarehouseTransactions extends BaseTransactions {
protected readonly _warehouseAbi: readonly [{
readonly type: "constructor";
readonly inputs: readonly [{
readonly name: "_native_token_name";
readonly type: "string";
readonly internalType: "string";
}, {
readonly name: "_native_token_symbol";
readonly type: "string";
readonly internalType: "string";
}];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "APPROVE_AND_CALL_TYPE_HASH";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bytes32";
readonly internalType: "bytes32";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "DOMAIN_SEPARATOR";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bytes32";
readonly internalType: "bytes32";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "NATIVE_TOKEN";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "address";
readonly internalType: "address";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "NATIVE_TOKEN_ID";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "PERCENTAGE_SCALE";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "allowance";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "spender";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "tokenId";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [{
readonly name: "amount";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "approve";
readonly inputs: readonly [{
readonly name: "_spender";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_id";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_amount";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "approveBySig";
readonly inputs: readonly [{
readonly name: "_owner";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_spender";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_operator";
readonly type: "bool";
readonly internalType: "bool";
}, {
readonly name: "_id";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_amount";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_nonce";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_deadline";
readonly type: "uint48";
readonly internalType: "uint48";
}, {
readonly name: "_signature";
readonly type: "bytes";
readonly internalType: "bytes";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "balanceOf";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "id";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [{
readonly name: "amount";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "batchDeposit";
readonly inputs: readonly [{
readonly name: "_receivers";
readonly type: "address[]";
readonly internalType: "address[]";
}, {
readonly name: "_token";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_amounts";
readonly type: "uint256[]";
readonly internalType: "uint256[]";
}];
readonly outputs: readonly [];
readonly stateMutability: "payable";
}, {
readonly type: "function";
readonly name: "batchTransfer";
readonly inputs: readonly [{
readonly name: "_receivers";
readonly type: "address[]";
readonly internalType: "address[]";
}, {
readonly name: "_token";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_amounts";
readonly type: "uint256[]";
readonly internalType: "uint256[]";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "decimals";
readonly inputs: readonly [{
readonly name: "id";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "uint8";
readonly internalType: "uint8";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "deposit";
readonly inputs: readonly [{
readonly name: "_receiver";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_token";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_amount";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [];
readonly stateMutability: "payable";
}, {
readonly type: "function";
readonly name: "eip712Domain";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "fields";
readonly type: "bytes1";
readonly internalType: "bytes1";
}, {
readonly name: "name";
readonly type: "string";
readonly internalType: "string";
}, {
readonly name: "version";
readonly type: "string";
readonly internalType: "string";
}, {
readonly name: "chainId";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "verifyingContract";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "salt";
readonly type: "bytes32";
readonly internalType: "bytes32";
}, {
readonly name: "extensions";
readonly type: "uint256[]";
readonly internalType: "uint256[]";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "invalidateNonce";
readonly inputs: readonly [{
readonly name: "_nonce";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "isOperator";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "operator";
readonly type: "address";
readonly internalType: "address";
}];
readonly outputs: readonly [{
readonly name: "approved";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "isValidNonce";
readonly inputs: readonly [{
readonly name: "_from";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_nonce";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "name";
readonly inputs: readonly [{
readonly name: "id";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "string";
readonly internalType: "string";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "nonceBitMap";
readonly inputs: readonly [{
readonly name: "account";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "word";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [{
readonly name: "bitMap";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "setOperator";
readonly inputs: readonly [{
readonly name: "_operator";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_approved";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "setWithdrawConfig";
readonly inputs: readonly [{
readonly name: "_config";
readonly type: "tuple";
readonly internalType: "struct SplitsWarehouse.WithdrawConfig";
readonly components: readonly [{
readonly name: "incentive";
readonly type: "uint16";
readonly internalType: "uint16";
}, {
readonly name: "paused";
readonly type: "bool";
readonly internalType: "bool";
}];
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "supportsInterface";
readonly inputs: readonly [{
readonly name: "_interfaceId";
readonly type: "bytes4";
readonly internalType: "bytes4";
}];
readonly outputs: readonly [{
readonly name: "supported";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "symbol";
readonly inputs: readonly [{
readonly name: "id";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "string";
readonly internalType: "string";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "temporaryApproveAndCall";
readonly inputs: readonly [{
readonly name: "_spender";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_operator";
readonly type: "bool";
readonly internalType: "bool";
}, {
readonly name: "_id";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_amount";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_target";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_data";
readonly type: "bytes";
readonly internalType: "bytes";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "temporaryApproveAndCallBySig";
readonly inputs: readonly [{
readonly name: "_owner";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_spender";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_operator";
readonly type: "bool";
readonly internalType: "bool";
}, {
readonly name: "_id";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_amount";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_target";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_data";
readonly type: "bytes";
readonly internalType: "bytes";
}, {
readonly name: "_nonce";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_deadline";
readonly type: "uint48";
readonly internalType: "uint48";
}, {
readonly name: "_signature";
readonly type: "bytes";
readonly internalType: "bytes";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "transfer";
readonly inputs: readonly [{
readonly name: "_receiver";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_id";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_amount";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "transferFrom";
readonly inputs: readonly [{
readonly name: "_sender";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_receiver";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_id";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "_amount";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "withdraw";
readonly inputs: readonly [{
readonly name: "_owner";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_tokens";
readonly type: "address[]";
readonly internalType: "address[]";
}, {
readonly name: "_amounts";
readonly type: "uint256[]";
readonly internalType: "uint256[]";
}, {
readonly name: "_withdrawer";
readonly type: "address";
readonly internalType: "address";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "withdraw";
readonly inputs: readonly [{
readonly name: "_owner";
readonly type: "address";
readonly internalType: "address";
}, {
readonly name: "_token";
readonly type: "address";
readonly internalType: "address";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "withdrawConfig";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly internalType: "address";
}];
readonly outputs: readonly [{
readonly name: "incentive";
readonly type: "uint16";
readonly internalType: "uint16";
}, {
readonly name: "paused";
readonly type: "bool";
readonly internalType: "bool";
}];
readonly stateMutability: "view";
}, {
readonly type: "event";
readonly name: "Approval";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "spender";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "id";
readonly type: "uint256";
readonly indexed: true;
readonly internalType: "uint256";
}, {
readonly name: "amount";
readonly type: "uint256";
readonly indexed: false;
readonly internalType: "uint256";
}];
readonly anonymous: false;
}, {
readonly type: "event";
readonly name: "EIP712DomainChanged";
readonly inputs: readonly [];
readonly anonymous: false;
}, {
readonly type: "event";
readonly name: "NonceInvalidation";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "nonce";
readonly type: "uint256";
readonly indexed: true;
readonly internalType: "uint256";
}];
readonly anonymous: false;
}, {
readonly type: "event";
readonly name: "OperatorSet";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "spender";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "approved";
readonly type: "bool";
readonly indexed: false;
readonly internalType: "bool";
}];
readonly anonymous: false;
}, {
readonly type: "event";
readonly name: "Transfer";
readonly inputs: readonly [{
readonly name: "caller";
readonly type: "address";
readonly indexed: false;
readonly internalType: "address";
}, {
readonly name: "sender";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "receiver";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "id";
readonly type: "uint256";
readonly indexed: true;
readonly internalType: "uint256";
}, {
readonly name: "amount";
readonly type: "uint256";
readonly indexed: false;
readonly internalType: "uint256";
}];
readonly anonymous: false;
}, {
readonly type: "event";
readonly name: "Withdraw";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "token";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "withdrawer";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "amount";
readonly type: "uint256";
readonly indexed: false;
readonly internalType: "uint256";
}, {
readonly name: "reward";
readonly type: "uint256";
readonly indexed: false;
readonly internalType: "uint256";
}];
readonly anonymous: false;
}, {
readonly type: "event";
readonly name: "WithdrawConfigUpdated";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly indexed: true;
readonly internalType: "address";
}, {
readonly name: "config";
readonly type: "tuple";
readonly indexed: false;
readonly internalType: "struct SplitsWarehouse.WithdrawConfig";
readonly components: readonly [{
readonly name: "incentive";
readonly type: "uint16";
readonly internalType: "uint16";
}, {
readonly name: "paused";
readonly type: "bool";
readonly internalType: "bool";
}];
}];
readonly anonymous: false;
}, {
readonly type: "error";
readonly name: "ExpiredSignature";
readonly inputs: readonly [{
readonly name: "deadline";
readonly type: "uint48";
readonly internalType: "uint48";
}];
}, {
readonly type: "error";
readonly name: "InvalidAck";
readonly inputs: readonly [];
}, {
readonly type: "error";
readonly name: "InvalidAmount";
readonly inputs: readonly [];
}, {
readonly type: "error";
readonly name: "InvalidNonce";
readonly inputs: readonly [];
}, {
readonly type: "error";
readonly name: "InvalidPermitParams";
readonly inputs: readonly [];
}, {
readonly type: "error";
readonly name: "InvalidShortString";
readonly inputs: readonly [];
}, {
readonly type: "error";
readonly name: "InvalidSigner";
readonly inputs: readonly [];
}, {
readonly type: "error";
readonly name: "LengthMismatch";
readonly inputs: readonly [];
}, {
readonly type: "error";
readonly name: "Overflow";
readonly inputs: readonly [];
}, {
readonly type: "error";
readonly name: "StringTooLong";
readonly inputs: readonly [{
readonly name: "str";
readonly type: "string";
readonly internalType: "string";
}];
}, {
readonly type: "error";
readonly name: "WithdrawalPaused";
readonly inputs: readonly [{
readonly name: "owner";
readonly type: "address";
readonly internalType: "address";
}];
}, {
readonly type: "error";
readonly name: "ZeroOwner";
readonly inputs: readonly [];
}];
constructor(transactionClientArgs: SplitsClientConfig & TransactionConfig);
protected _getWarehouseContract(chainId: number): GetContractReturnType<WarehouseAbiType, SplitsPublicClient>;
protected _transfer({ receiverAddress: receiver, tokenAddress: token, amount, transactionOverrides, }: WarehouseTransferConfig): Promise<TransactionFormat>;
protected _transferFrom({ senderAddress: sender, receiverAddress: receiver, tokenAddress: token, amount, transactionOverrides, }: WarehouseTransferFromConfig): Promise<TransactionFormat>;
protected _approve({ spenderAddress: spender, tokenAddress: token, amount, transactionOverrides, }: WarehouseApproveConfig): Promise<TransactionFormat>;
protected _setOperator({ operatorAddress: operator, approved, transactionOverrides, }: WarehouseSetOperatorConfig): Promise<TransactionFormat>;
protected _invalidateNonce({ nonce, transactionOverrides, }: WarehouseInvalidateNonceConfig): Promise<TransactionFormat>;
protected _temporaryApproveAndCall({ spenderAddress: spender, operator: operator, tokenAddress: token, amount, targetAddress: target, data, transactionOverrides, }: WarehouseTemporaryApproveAndCallConfig): Promise<TransactionFormat>;
protected _temporaryApproveAndCallBySig({ ownerAddress: owner, spenderAddress: spender, operator, tokenAddress: token, amount, targetAddress: target, data, nonce, deadline, signature, transactionOverrides, }: WarehouseTemporaryApproveAndCallBySigConfig): Promise<TransactionFormat>;
protected _approveBySig({ ownerAddress: owner, spenderAddress: spender, operator, tokenAddress: token, amount, nonce, deadline, signature, transactionOverrides, }: WarehouseApproveBySigConfig): Promise<TransactionFormat>;
protected _deposit({ receiverAddress: receiver, tokenAddress: token, amount, transactionOverrides, }: WarehouseDepositConfig): Promise<TransactionFormat>;
protected _batchDeposit({ receiversAddresses: receivers, tokenAddress: token, amounts, transactionOverrides, }: WarehouseBatchDepositConfig): Promise<TransactionFormat>;
protected _withdraw({ ownerAddress: owner, tokenAddress: token, transactionOverrides, }: WarehouseWithdrawConfig): Promise<TransactionFormat>;
protected _batchWithdraw({ ownerAddress: owner, tokensAddresses: tokens, amounts, withdrawerAddress: withdrawer, transactionOverrides, }: WarehouseBatchWithdrawConfig): Promise<TransactionFormat>;
protected _batchTransfer({ receiversAddresses: receivers, tokenAddress: token, amounts, transactionOverrides, }: WarehouseBatchTransferConfig): Promise<TransactionFormat>;
protected _setWithdrawConfig({ incentivePercent: incentive, paused, transactionOverrides, }: WarehouseSetWithdrawConfig): Promise<TransactionFormat>;
protected _eip712Domain(chainId: number): Promise<{
domain: TypedDataDomain;
}>;
}
export declare class WarehouseClient extends WarehouseTransactions {
readonly eventTopics: {
[key: string]: Hex[];
};
readonly callData: WarehouseCallData;
readonly estimateGas: WarehouseGasEstimates;
readonly sign: WarehouseSignature;
constructor(clientArgs: SplitsClientConfig);
getName({ tokenAddress, chainId, }: ReadContractArgs & {
tokenAddress: Address;
}): Promise<{
name: string;
}>;
getSymbol({ tokenAddress, chainId, }: ReadContractArgs & {
tokenAddress: Address;
}): Promise<{
symbol: string;
}>;
getDecimals({ tokenAddress, chainId, }: ReadContractArgs & {
tokenAddress: Address;
}): Promise<{
decimals: number;
}>;
getWithdrawConfig({ userAddress, chainId, }: ReadContractArgs & {
userAddress: Address;
}): Promise<{
withdrawConfig: {
incentive: number;
paused: boolean;
};
}>;
isValidNonce({ userAddress, userNonce, chainId, }: ReadContractArgs & {
userAddress: Address;
userNonce: bigint;
}): Promise<{
isValidNonce: boolean;
}>;
eip712Domain(args?: ReadContractArgs): Promise<{
domain: TypedDataDomain;
}>;
isOperator({ ownerAddress, operatorAddress, chainId, }: ReadContractArgs & {
ownerAddress: Address;
operatorAddress: Address;
}): Promise<{
isOperator: boolean;
}>;
balanceOf({ ownerAddress, tokenAddress, chainId, }: ReadContractArgs & {
ownerAddress: Address;
tokenAddress: Address;
}): Promise<{
balance: bigint;
}>;
allowance({ ownerAddress, spenderAddress, tokenAddress, chainId, }: ReadContractArgs & {
ownerAddress: Address;
spenderAddress: Address;
tokenAddress: Address;
}): Promise<{
allowance: bigint;
}>;
transfer(transferArgs: WarehouseTransferConfig): Promise<{
event: Log;
}>;
transferFrom(transferFromArgs: WarehouseTransferFromConfig): Promise<{
event: Log;
}>;
approve(approveArgs: WarehouseApproveConfig): Promise<{
event: Log;
}>;
setOperator(setOperatorArgs: WarehouseSetOperatorConfig): Promise<{
event: Log;
}>;
invalidateNonce(invalidateNonceArgs: WarehouseInvalidateNonceConfig): Promise<{
event: Log;
}>;
temporaryApproveAndCall(temporaryApproveAndCallArgs: WarehouseTemporaryApproveAndCallConfig): Promise<{
txHash: Hex;
}>;
temporaryApproveAndCallBySig(temporaryApproveAndCallBySigArgs: WarehouseTemporaryApproveAndCallBySigConfig): Promise<{
txHash: Hex;
}>;
approveBySig(approveBySigArgs: WarehouseApproveBySigConfig): Promise<{
event: Log;
}>;
deposit(depositArgs: WarehouseDepositConfig): Promise<{
event: Log;
}>;
batchDeposit(batchDepositArgs: WarehouseBatchDepositConfig): Promise<{
events: Log[];
}>;
_submitWithdrawTransaction(withdrawArgs: WarehouseWithdrawConfig): Promise<{
txHash: Hash;
}>;
withdraw(withdrawArgs: WarehouseWithdrawConfig): Promise<{
event: Log;
}>;
_submitBatchWithdrawTransaction(batchWithdrawArgs: WarehouseBatchWithdrawConfig): Promise<{
txHash: Hash;
}>;
batchWithdraw(batchWithdrawArgs: WarehouseBatchWithdrawConfig): Promise<{
events: Log[];
}>;
batchTransfer(batchTransferArgs: WarehouseBatchTransferConfig): Promise<{
events: Log[];
}>;
setWithdrawConfig(setConfigArgs: WarehouseSetWithdrawConfig): Promise<{
event: Log;
}>;
}
export interface WarehouseClient extends BaseClientMixin {
}
declare class WarehouseGasEstimates extends WarehouseTransactions {
constructor(clientArgs: SplitsClientConfig);
transfer(transferArgs: WarehouseTransferConfig): Promise<bigint>;
transferFrom(transferFromArgs: WarehouseTransferFromConfig): Promise<bigint>;
approve(approveArgs: WarehouseApproveConfig): Promise<bigint>;
setOperator(setOperatorArgs: WarehouseSetOperatorConfig): Promise<bigint>;
invalidateNonce(invalidateNonceArgs: WarehouseInvalidateNonceConfig): Promise<bigint>;
temporaryApproveAndCall(temporaryApproveAndCallArgs: WarehouseTemporaryApproveAndCallConfig): Promise<bigint>;
temporaryApproveAndCallBySig(temporaryApproveAndCallBySigArgs: WarehouseTemporaryApproveAndCallBySigConfig): Promise<bigint>;
approveBySig(approveBySigArgs: WarehouseApproveBySigConfig): Promise<bigint>;
deposit(depositArgs: WarehouseDepositConfig): Promise<bigint>;
batchDeposit(batchDepositArgs: WarehouseBatchDepositConfig): Promise<bigint>;
withdraw(withdrawArgs: WarehouseWithdrawConfig): Promise<bigint>;
batchWithdraw(batchWithdrawArgs: WarehouseBatchWithdrawConfig): Promise<bigint>;
batchTransfer(batchTransferArgs: WarehouseBatchTransferConfig): Promise<bigint>;
setWithdrawConfig(setConfigArgs: WarehouseSetWithdrawConfig): Promise<bigint>;
}
interface WarehouseGasEstimates extends BaseGasEstimatesMixin {
}
declare class WarehouseCallData extends WarehouseTransactions {
constructor(clientArgs: SplitsClientConfig);
transfer(transferArgs: WarehouseTransferConfig): Promise<CallData>;
transferFrom(transferFromArgs: WarehouseTransferFromConfig): Promise<CallData>;
approve(approveArgs: WarehouseApproveConfig): Promise<CallData>;
setOperator(setOperatorArgs: WarehouseSetOperatorConfig): Promise<CallData>;
invalidateNonce(invalidateNonceArgs: WarehouseInvalidateNonceConfig): Promise<CallData>;
temporaryApproveAndCall(temporaryApproveAndCallArgs: WarehouseTemporaryApproveAndCallConfig): Promise<CallData>;
temporaryApproveAndCallBySig(temporaryApproveAndCallBySigArgs: WarehouseTemporaryApproveAndCallBySigConfig): Promise<CallData>;
approveBySig(approveBySigArgs: WarehouseApproveBySigConfig): Promise<CallData>;
deposit(depositArgs: WarehouseDepositConfig): Promise<CallData>;
batchDeposit(batchDepositArgs: WarehouseBatchDepositConfig): Promise<CallData>;
withdraw(withdrawArgs: WarehouseWithdrawConfig): Promise<CallData>;
batchWithdraw(withdrawArgs: WarehouseWithdrawConfig): Promise<CallData>;
batchTransfer(batchTransferArgs: WarehouseBatchTransferConfig): Promise<CallData>;
setWithdrawConfig(setConfigArgs: WarehouseSetWithdrawConfig): Promise<CallData>;
}
declare class WarehouseSignature extends WarehouseTransactions {
constructor(clientArgs: SplitsClientConfig);
approveBySig(approveBySigArgs: WarehouseApproveBySig): Promise<WarehouseApproveBySigConfig>;
temporaryApproveAndCallBySig(temporaryApproveAndCallBySigArgs: WarehouseTemporaryApproveAndCallBySig): Promise<WarehouseApproveBySigConfig>;
}
export {};