UNPKG

@volare.finance/utils.js

Version:
49 lines (48 loc) 2.52 kB
/** * @file erc721.ts * @author astra <astra@volare.finance> * @date 2022 */ import { TransactionResponse } from '@ethersproject/providers'; import { ContractInterface, Wallet } from 'ethers'; import { Provider } from '../provider'; import { Address, BigNumber, Sym } from '../type'; export interface IERC721 { address: Address; name: string; symbol: Sym; } export interface IERC721Transfer { from: Address; to: Address; tokenId: number; } export declare class ERC721 extends Provider { static Transfer_t0: string; static Approval_t0: string; static ApprovalForAll_t0: string; static ABI(): ContractInterface; static BalanceOf(contract: Address, owner: string): Promise<BigNumber>; static OwnerOf(contract: Address, tokenId: number): Promise<string>; static SafeTransferFrom(contract: Address, owner: Wallet, from: Address, to: Address, tokenId: number, data?: string): Promise<TransactionResponse>; static TransferFrom(contract: Address, owner: Wallet, from: Address, to: Address, tokenId: number): Promise<TransactionResponse>; static Approve(contract: Address, owner: Wallet, approved: Address, tokenId: number): Promise<TransactionResponse>; static SetApprovalForAll(contract: Address, owner: Wallet, operator: Address, approved: boolean): Promise<TransactionResponse>; static GetApproved(contract: Address, tokenId: number): Promise<Address>; static IsApprovedForAll(contract: Address, owner: Address, operator: Address): Promise<boolean>; static Name(contract: Address): Promise<string>; static Symbol(contract: Address): Promise<Sym>; static TokenURI(contract: Address, tokenId: number): Promise<string>; constructor(contract: Address, endpoint: string); balanceOf(owner: Address): Promise<BigNumber>; ownerOf(tokenId: number): Promise<Address>; safeTransferFrom(owner: Wallet, from: Address, to: Address, tokenId: number, data?: string): Promise<TransactionResponse>; transferFrom(owner: Wallet, from: Address, to: Address, tokenId: number): Promise<TransactionResponse>; approve(owner: Wallet, approved: Address, tokenId: number): Promise<TransactionResponse>; setApprovalForAll(owner: Wallet, operator: Address, approved: boolean): Promise<TransactionResponse>; getApproved(tokenId: number): Promise<Address>; isApprovedForAll(owner: Address, operator: Address): Promise<boolean>; name(): Promise<string>; symbol(): Promise<Sym>; tokenURI(tokenId: number): Promise<string>; }