import { Address } from 'abitype'; import { Hex, PublicClient } from 'viem'; import { MethodParameters, Token } from './constants'; export declare class KuramaV3Token { static ABI: readonly [{ readonly type: "constructor"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "_name"; readonly internalType: "string"; }, { readonly type: "string"; readonly name: "_symbol"; readonly internalType: "string"; }, { readonly type: "uint8"; readonly name: "_decimals"; readonly internalType: "uint8"; }, { readonly type: "uint256"; readonly name: "_faucet_amount"; readonly internalType: "uint256"; }]; }, { readonly type: "event"; readonly name: "Approval"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "address"; readonly name: "spender"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "value"; readonly internalType: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Transfer"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "address"; readonly name: "to"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "value"; readonly internalType: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "allowance"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "spender"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "approve"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "spender"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amount"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; /** * 验证和批准代币转账 * @param owner * @param spender * @param amount * @returns */ readonly name: "balanceOf"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint8"; readonly name: ""; readonly internalType: "uint8"; }]; readonly name: "decimals"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "decreaseAllowance"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "spender"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "subtractedValue"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "faucet"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_to"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "increaseAllowance"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "spender"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "addedValue"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "mint"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_to"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "_amount"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "string"; readonly name: ""; readonly internalType: "string"; }]; readonly name: "name"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "owner"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "string"; readonly name: ""; readonly internalType: "string"; }]; readonly name: "symbol"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "totalSupply"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "transfer"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amount"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "transferFrom"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "to"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amount"; readonly internalType: "uint256"; }]; }]; readonly publicClient: PublicClient; readonly address: Address; constructor(publicClient: PublicClient, address: Address); readToken(): Promise; getTokenBalance(address: Address): Promise; getBalance(address: Address): Promise; /** * 验证和批准代币转账 * @param owner * @param spender * @param amount * @returns */ ensureSufficientAndApproveCallParameters(owner: Address, spender: Address, amount: bigint): Promise; encodeEnsureSufficientAndApprove(owner: Address, spender: Address, amount: bigint): Promise; getAllowance(owner: Address, spender: Address): Promise; static approveCallParameters(spender: Address, amount: bigint): MethodParameters; static encodeApprove(spender: Address, amount: bigint): `0x${string}`; static faucetCallParameters(to: Address): MethodParameters; }