UNPKG

@ethsub/sol

Version:
768 lines (684 loc) 31.7 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils, } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface IERC721EnumerableInterface extends utils.Interface { functions: { "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "getApproved(uint256)": FunctionFragment; "isApprovedForAll(address,address)": FunctionFragment; "ownerOf(uint256)": FunctionFragment; "safeTransferFrom(address,address,uint256)": FunctionFragment; "setApprovalForAll(address,bool)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "totalSupply()": FunctionFragment; "tokenOfOwnerByIndex(address,uint256)": FunctionFragment; "tokenByIndex(uint256)": FunctionFragment; }; encodeFunctionData( functionFragment: "approve", values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; encodeFunctionData( functionFragment: "getApproved", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "isApprovedForAll", values: [string, string] ): string; encodeFunctionData( functionFragment: "ownerOf", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "safeTransferFrom", values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "setApprovalForAll", values: [string, boolean] ): string; encodeFunctionData( functionFragment: "supportsInterface", values: [BytesLike] ): string; encodeFunctionData( functionFragment: "transferFrom", values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "totalSupply", values?: undefined ): string; encodeFunctionData( functionFragment: "tokenOfOwnerByIndex", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "tokenByIndex", values: [BigNumberish] ): string; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getApproved", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "isApprovedForAll", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "ownerOf", data: BytesLike): Result; decodeFunctionResult( functionFragment: "safeTransferFrom", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setApprovalForAll", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "supportsInterface", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferFrom", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "totalSupply", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "tokenOfOwnerByIndex", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "tokenByIndex", data: BytesLike ): Result; events: { "Approval(address,address,uint256)": EventFragment; "ApprovalForAll(address,address,bool)": EventFragment; "Transfer(address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; } export type ApprovalEvent = TypedEvent< [string, string, BigNumber], { owner: string; approved: string; tokenId: BigNumber } >; export type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>; export type ApprovalForAllEvent = TypedEvent< [string, string, boolean], { owner: string; operator: string; approved: boolean } >; export type ApprovalForAllEventFilter = TypedEventFilter<ApprovalForAllEvent>; export type TransferEvent = TypedEvent< [string, string, BigNumber], { from: string; to: string; tokenId: BigNumber } >; export type TransferEventFilter = TypedEventFilter<TransferEvent>; export interface IERC721Enumerable extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: IERC721EnumerableInterface; queryFilter<TEvent extends TypedEvent>( event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise<Array<TEvent>>; listeners<TEvent extends TypedEvent>( eventFilter?: TypedEventFilter<TEvent> ): Array<TypedListener<TEvent>>; listeners(eventName?: string): Array<Listener>; removeAllListeners<TEvent extends TypedEvent>( eventFilter: TypedEventFilter<TEvent> ): this; removeAllListeners(eventName?: string): this; off: OnEvent<this>; on: OnEvent<this>; once: OnEvent<this>; removeListener: OnEvent<this>; functions: { /** * Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event. */ approve( to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; /** * Returns the number of tokens in ``owner``'s account. */ balanceOf( owner: string, overrides?: CallOverrides ): Promise<[BigNumber] & { balance: BigNumber }>; /** * Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist. */ getApproved( tokenId: BigNumberish, overrides?: CallOverrides ): Promise<[string] & { operator: string }>; /** * Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll} */ isApprovedForAll( owner: string, operator: string, overrides?: CallOverrides ): Promise<[boolean]>; /** * Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist. */ ownerOf( tokenId: BigNumberish, overrides?: CallOverrides ): Promise<[string] & { owner: string }>; /** * Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event. */ "safeTransferFrom(address,address,uint256)"( from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; /** * Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event. */ "safeTransferFrom(address,address,uint256,bytes)"( from: string, to: string, tokenId: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; /** * Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event. */ setApprovalForAll( operator: string, _approved: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; /** * Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas. */ supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides ): Promise<[boolean]>; /** * Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event. */ transferFrom( from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; /** * Returns the total amount of tokens stored by the contract. */ totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; /** * Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens. */ tokenOfOwnerByIndex( owner: string, index: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { tokenId: BigNumber }>; /** * Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens. */ tokenByIndex( index: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; }; /** * Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event. */ approve( to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; /** * Returns the number of tokens in ``owner``'s account. */ balanceOf(owner: string, overrides?: CallOverrides): Promise<BigNumber>; /** * Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist. */ getApproved( tokenId: BigNumberish, overrides?: CallOverrides ): Promise<string>; /** * Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll} */ isApprovedForAll( owner: string, operator: string, overrides?: CallOverrides ): Promise<boolean>; /** * Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist. */ ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise<string>; /** * Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event. */ "safeTransferFrom(address,address,uint256)"( from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; /** * Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event. */ "safeTransferFrom(address,address,uint256,bytes)"( from: string, to: string, tokenId: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; /** * Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event. */ setApprovalForAll( operator: string, _approved: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; /** * Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas. */ supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides ): Promise<boolean>; /** * Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event. */ transferFrom( from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<ContractTransaction>; /** * Returns the total amount of tokens stored by the contract. */ totalSupply(overrides?: CallOverrides): Promise<BigNumber>; /** * Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens. */ tokenOfOwnerByIndex( owner: string, index: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; /** * Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens. */ tokenByIndex( index: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; callStatic: { /** * Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event. */ approve( to: string, tokenId: BigNumberish, overrides?: CallOverrides ): Promise<void>; /** * Returns the number of tokens in ``owner``'s account. */ balanceOf(owner: string, overrides?: CallOverrides): Promise<BigNumber>; /** * Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist. */ getApproved( tokenId: BigNumberish, overrides?: CallOverrides ): Promise<string>; /** * Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll} */ isApprovedForAll( owner: string, operator: string, overrides?: CallOverrides ): Promise<boolean>; /** * Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist. */ ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise<string>; /** * Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event. */ "safeTransferFrom(address,address,uint256)"( from: string, to: string, tokenId: BigNumberish, overrides?: CallOverrides ): Promise<void>; /** * Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event. */ "safeTransferFrom(address,address,uint256,bytes)"( from: string, to: string, tokenId: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise<void>; /** * Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event. */ setApprovalForAll( operator: string, _approved: boolean, overrides?: CallOverrides ): Promise<void>; /** * Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas. */ supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides ): Promise<boolean>; /** * Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event. */ transferFrom( from: string, to: string, tokenId: BigNumberish, overrides?: CallOverrides ): Promise<void>; /** * Returns the total amount of tokens stored by the contract. */ totalSupply(overrides?: CallOverrides): Promise<BigNumber>; /** * Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens. */ tokenOfOwnerByIndex( owner: string, index: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; /** * Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens. */ tokenByIndex( index: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; }; filters: { "Approval(address,address,uint256)"( owner?: string | null, approved?: string | null, tokenId?: BigNumberish | null ): ApprovalEventFilter; Approval( owner?: string | null, approved?: string | null, tokenId?: BigNumberish | null ): ApprovalEventFilter; "ApprovalForAll(address,address,bool)"( owner?: string | null, operator?: string | null, approved?: null ): ApprovalForAllEventFilter; ApprovalForAll( owner?: string | null, operator?: string | null, approved?: null ): ApprovalForAllEventFilter; "Transfer(address,address,uint256)"( from?: string | null, to?: string | null, tokenId?: BigNumberish | null ): TransferEventFilter; Transfer( from?: string | null, to?: string | null, tokenId?: BigNumberish | null ): TransferEventFilter; }; estimateGas: { /** * Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event. */ approve( to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; /** * Returns the number of tokens in ``owner``'s account. */ balanceOf(owner: string, overrides?: CallOverrides): Promise<BigNumber>; /** * Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist. */ getApproved( tokenId: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; /** * Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll} */ isApprovedForAll( owner: string, operator: string, overrides?: CallOverrides ): Promise<BigNumber>; /** * Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist. */ ownerOf( tokenId: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; /** * Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event. */ "safeTransferFrom(address,address,uint256)"( from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; /** * Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event. */ "safeTransferFrom(address,address,uint256,bytes)"( from: string, to: string, tokenId: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; /** * Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event. */ setApprovalForAll( operator: string, _approved: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; /** * Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas. */ supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides ): Promise<BigNumber>; /** * Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event. */ transferFrom( from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<BigNumber>; /** * Returns the total amount of tokens stored by the contract. */ totalSupply(overrides?: CallOverrides): Promise<BigNumber>; /** * Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens. */ tokenOfOwnerByIndex( owner: string, index: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; /** * Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens. */ tokenByIndex( index: BigNumberish, overrides?: CallOverrides ): Promise<BigNumber>; }; populateTransaction: { /** * Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event. */ approve( to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<PopulatedTransaction>; /** * Returns the number of tokens in ``owner``'s account. */ balanceOf( owner: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; /** * Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist. */ getApproved( tokenId: BigNumberish, overrides?: CallOverrides ): Promise<PopulatedTransaction>; /** * Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll} */ isApprovedForAll( owner: string, operator: string, overrides?: CallOverrides ): Promise<PopulatedTransaction>; /** * Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist. */ ownerOf( tokenId: BigNumberish, overrides?: CallOverrides ): Promise<PopulatedTransaction>; /** * Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event. */ "safeTransferFrom(address,address,uint256)"( from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<PopulatedTransaction>; /** * Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event. */ "safeTransferFrom(address,address,uint256,bytes)"( from: string, to: string, tokenId: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<PopulatedTransaction>; /** * Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event. */ setApprovalForAll( operator: string, _approved: boolean, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<PopulatedTransaction>; /** * Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas. */ supportsInterface( interfaceId: BytesLike, overrides?: CallOverrides ): Promise<PopulatedTransaction>; /** * Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event. */ transferFrom( from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise<string> } ): Promise<PopulatedTransaction>; /** * Returns the total amount of tokens stored by the contract. */ totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>; /** * Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens. */ tokenOfOwnerByIndex( owner: string, index: BigNumberish, overrides?: CallOverrides ): Promise<PopulatedTransaction>; /** * Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens. */ tokenByIndex( index: BigNumberish, overrides?: CallOverrides ): Promise<PopulatedTransaction>; }; }