@volare.finance/utils.js
Version:
The Blockchain Utils
49 lines (48 loc) • 2.52 kB
TypeScript
/**
* @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>;
}