@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
TypeScript
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;