UNPKG

@dzapio/sdk

Version:

A TypeScript/JavaScript SDK for interacting with the DZap protocol, providing utilities for DeFi operations including Swaps, Bridges, and Zaps.

66 lines (65 loc) 1.84 kB
import { Signer } from 'ethers'; import { WalletClient } from 'viem'; import { StatusCodes, TxnStatus } from '../enums'; import { ApprovalMode, HexString, TokenPermitData } from '../types'; type AllowanceParams = { chainId: number; sender: HexString; tokens: { address: HexString; amount: string; permit?: TokenPermitData; }[]; spender: HexString; rpcUrls?: string[]; mode?: ApprovalMode; multicallAddress?: HexString; }; export declare const approveToken: ({ chainId, signer, rpcUrls, mode, tokens, approvalTxnCallback, spender, }: { chainId: number; signer: WalletClient | Signer; mode: ApprovalMode; tokens: { address: HexString; amount: string; }[]; rpcUrls?: string[]; approvalTxnCallback?: ({ txnDetails, address, }: { txnDetails: { txnHash: string; code: StatusCodes; status: TxnStatus; }; address: HexString; }) => Promise<TxnStatus | null>; spender: HexString; }) => Promise<{ status: TxnStatus; code: StatusCodes; }>; export declare const batchGetAllowances: ({ chainId, data, owner, multicallAddress, rpcUrls, }: { chainId: number; data: { token: HexString; spender: HexString; }[]; owner: HexString; multicallAddress?: HexString; rpcUrls?: string[]; }) => Promise<{ status: TxnStatus; code: StatusCodes; data: Record<string, bigint>; }>; export declare const getAllowance: ({ chainId, sender, tokens, rpcUrls, multicallAddress, mode, spender }: AllowanceParams) => Promise<{ status: TxnStatus; code: StatusCodes; data: { [key: string]: { allowance: bigint; approvalNeeded: boolean; signatureNeeded: boolean; }; }; }>; export {};