UNPKG

@dzapio/sdk

Version:

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

59 lines (58 loc) 2.04 kB
import { StatusCodes, TxnStatus } from 'src/enums'; import { AvailableDZapServices, HexString, PermitMode } from 'src/types'; import { WalletClient } from 'viem'; import { Wallet } from 'ethers'; declare class PermitTxnHandler { static generatePermitDataForToken: ({ token, isFirstToken, oneToMany, totalSrcAmount, chainId, rpcUrls, sender, spender, permitType, signer, service, permitEIP2612DisabledTokens, }: { token: { address: HexString; amount: string; }; isFirstToken: boolean; oneToMany: boolean; totalSrcAmount: bigint; chainId: number; rpcUrls?: string[]; sender: HexString; spender: HexString; permitType: PermitMode; signer: WalletClient | Wallet; service: AvailableDZapServices; permitEIP2612DisabledTokens?: string[]; }) => Promise<{ status: TxnStatus; code: StatusCodes; permitData: HexString; permitType: PermitMode; }>; static signPermit: ({ chainId, tokens, rpcUrls, sender, signer, service, signatureCallback, spender, permitType, permitEIP2612DisabledTokens, }: { chainId: number; sender: HexString; tokens: { address: HexString; permitData?: HexString; amount: string; }[]; service: AvailableDZapServices; rpcUrls?: string[]; signer: WalletClient | Wallet; signatureCallback?: ({ permitData, srcToken, amount, permitType, }: { permitData: HexString; srcToken: HexString; amount: bigint; permitType: PermitMode; }) => Promise<void>; spender: HexString; permitType: PermitMode; permitEIP2612DisabledTokens?: string[]; }) => Promise<{ status: TxnStatus; tokens: { address: HexString; permitData?: HexString; amount: string; }[]; code: StatusCodes; }>; } export default PermitTxnHandler;