1
0
mirror of https://github.com/oceanprotocol/ocean.js.git synced 2024-11-26 20:39:05 +01:00
ocean.js/docs/classes/NftFactory.md
Alex Coseru 9bf71ba4f0
Features/ethers (#1696)
* add ethers

* global updates

* ve updates

* ve tests

* contract updates

* first test passing

* downgrade to ethers 5.7.2

* add log

* add tx wait

* full NftFactory.test

* add wait

* add Router tests

* fix dispenser

* Nft test

* add dispenser tests

* add fre tests part 1

* WIP datatoken unit tests

* add DFRewards test

* increase gas estimate

* increase gas estimate

* Work datatoken unit tests

* datatoken test more tests

* finished datatoken tests

* fix nft get data

* fix nft transfer tests

* Provider int tests

* Updating CodeExamples.md

* update provider & fix publish flow int test

* wip publish edit consume integration test

* more work on  publish edit consume integration test

* fix edit  publish edit consume integration test

* add 3 int tests

* Updating ComputeExamples.md

* fix signature and download

* fix compute flow integration test

* udapte handleComputeOrder helper

* update datatoken instance

* update datatoken global variable

* mint ocean tokens to consumer as well and added logs

* update compute exammples

* Updating ComputeExamples.md

* wip code examples readme

* update code examples readme

* Updating CodeExamples.md

* run all tests

* update dep in readme

* update readme

* code examples update metadata flags

* update dt instance in code examples md

* set metadata updates

* Updating CodeExamples.md

* update code examples readme structure

* Updating CodeExamples.md

* update readmes table links

* Updating CodeExamples.md

* Updating ComputeExamples.md

* clean-up

* Updating CodeExamples.md

* added missing unit tests for usdc fixed rate exchange tests

* more cleanup and jsdoc updates

* more  jsdoc updates

* donw with jsdoc updates

* handle provider errors

* add missing error handling file

* adds most of the provider errors

* update get compute env return type

* Release 3.0.0-next.0

* adding Typedoc to ethers branch

* update provider signature message

* fix lint

* Release 3.0.0-next.1

* fix lint

* adding Typedoc to ethers branch

* Updating CI to build and commit the documentation

* Updating documentation

* Updating script permissions

* fix todos add missing logic to send tx

* npm package cleanups

* Release 3.0.0-next.2

* update log messages for errors

* Release 3.0.0-next.3

* fix gasFee issue on sendTx

* Release 3.0.0-next.4

* add consume params typings (#1731)

* fix gas fee estimate

* remove comments

* add some delays before resolving datasets

* adds delay to Publish flow tests

* Release 3.0.0-next.5

---------

Co-authored-by: Bogdan Fazakas <bogdan.fazakas@gmail.com>
Co-authored-by: GitHub Actions Bot <>
Co-authored-by: Jamie Hewitt <jamie.hewitt15@gmail.com>
Co-authored-by: Jamie Hewitt <jamie@oceanprotocol.com>
2023-05-29 11:20:38 +03:00

22 KiB

@oceanprotocol/lib / Exports / NftFactory

Class: NftFactory

Provides an interface for NFT Factory contract

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new NftFactory(address, signer, network?, config?, abi?)

Instantiate the smart contract.

Parameters

Name Type Description
address string The address of the contract.
signer Signer The signer object.
network? string | number Network id or name
config? Config The configuration object.
abi? AbiItem[] ABI array of the smart contract

Inherited from

SmartContractWithAddress.constructor

Defined in

contracts/SmartContractWithAddress.ts:17

Properties

abi

abi: AbiItem[]

Inherited from

SmartContractWithAddress.abi

Defined in

contracts/SmartContract.ts:14


address

address: string

Inherited from

SmartContractWithAddress.address

Defined in

contracts/SmartContractWithAddress.ts:6


config

config: Config

Inherited from

SmartContractWithAddress.config

Defined in

contracts/SmartContract.ts:13


contract

contract: Contract

Inherited from

SmartContractWithAddress.contract

Defined in

contracts/SmartContractWithAddress.ts:7


signer

signer: Signer

Inherited from

SmartContractWithAddress.signer

Defined in

contracts/SmartContract.ts:12

Methods

addNFTTemplate

addNFTTemplate<G>(address, templateAddress, estimateGas?): Promise<ReceiptOrEstimate<G>>

Add a new NFT token template - only factory Owner

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
address string caller address
templateAddress string template address to add
estimateGas? G if True, return gas estimate

Returns

Promise<ReceiptOrEstimate<G>>

Defined in

contracts/NFTFactory.ts:181


addTokenTemplate

addTokenTemplate<G>(address, templateAddress, estimateGas?): Promise<ReceiptOrEstimate<G>>

Add a new NFT token template - only factory Owner

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
address string caller address
templateAddress string template address to add
estimateGas? G if True, return gas estimate

Returns

Promise<ReceiptOrEstimate<G>>

Defined in

contracts/NFTFactory.ts:288


amountToUnits

Protected amountToUnits(token, amount, tokenDecimals?): Promise<string>

Converts an amount of tokens to units

Parameters

Name Type Description
token string The token to convert
amount string The amount of tokens to convert
tokenDecimals? number The number of decimals of the token

Returns

Promise<string>

  • The converted amount in units

Inherited from

SmartContractWithAddress.amountToUnits

Defined in

contracts/SmartContract.ts:43


checkDatatoken

checkDatatoken(datatoken): Promise<Boolean>

Check if Datatoken is deployed from the factory

Parameters

Name Type Description
datatoken string Datatoken address to check

Returns

Promise<Boolean>

return true if deployed from this factory

Defined in

contracts/NFTFactory.ts:159


checkNFT

checkNFT(nftAddress): Promise<String>

Check if NFT is deployed from the factory

Parameters

Name Type Description
nftAddress string nftAddress address to check

Returns

Promise<String>

return address(0) if it's not, or the nftAddress if true

Defined in

contracts/NFTFactory.ts:169


createNFT

createNFT<G>(nftData, estimateGas?): Promise<G extends false ? string : BigNumber>

Create new data NFT

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
nftData NftCreateData The data needed to create an NFT.
estimateGas? G if True, return gas estimate

Returns

Promise<G extends false ? string : BigNumber>

The transaction hash or the gas estimate.

Defined in

contracts/NFTFactory.ts:30


createNftWithDatatoken

createNftWithDatatoken<G>(nftCreateData, dtParams, estimateGas?): Promise<ReceiptOrEstimate<G>>

Creates a new NFT, then a datatoken,all in one call

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
nftCreateData NftCreateData The data required to create an NFT.
dtParams DatatokenCreateParams The parameters required to create a datatoken.
estimateGas? G Whether to return only estimate gas or not.

Returns

Promise<ReceiptOrEstimate<G>>

transaction receipt

Defined in

contracts/NFTFactory.ts:434


createNftWithDatatokenWithDispenser

createNftWithDatatokenWithDispenser<G>(nftCreateData, dtParams, dispenserParams, estimateGas?): Promise<ReceiptOrEstimate<G>>

Creates an NFT with a datatoken with a dispenser in one call. Be aware if Fixed Rate creation fails, you are still going to pay a lot of gas

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
nftCreateData NftCreateData The data required to create an NFT.
dtParams DatatokenCreateParams The parameters required to create a datatoken.
dispenserParams DispenserCreationParams The parameters required to create a dispenser contract.
estimateGas? G Whether to estimate gas or not.

Returns

Promise<ReceiptOrEstimate<G>>

Defined in

contracts/NFTFactory.ts:505


createNftWithDatatokenWithFixedRate

createNftWithDatatokenWithFixedRate<G>(nftCreateData, dtParams, freParams, estimateGas?): Promise<ReceiptOrEstimate<G>>

Creates an NFT with a datatoken with a fixed rate all in one call. be aware if Fixed Rate creation fails, you are still going to pay a lot of gas

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
nftCreateData NftCreateData The data required to create an NFT.
dtParams DatatokenCreateParams The parameters required to create a datatoken.
freParams FreCreationParams The parameters required to create a fixed-rate exchange contract.
estimateGas? G Whether to return only estimate gas or not.

Returns

Promise<ReceiptOrEstimate<G>>

Defined in

contracts/NFTFactory.ts:467


disableNFTTemplate

disableNFTTemplate<G>(address, templateIndex, estimateGas?): Promise<ReceiptOrEstimate<G>>

Disable token template - only factory Owner

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
address string
templateIndex number index of the template we want to disable
estimateGas? G if True, return gas estimate

Returns

Promise<ReceiptOrEstimate<G>>

current token template count

Defined in

contracts/NFTFactory.ts:213


disableTokenTemplate

disableTokenTemplate<G>(address, templateIndex, estimateGas?): Promise<ReceiptOrEstimate<G>>

Disable token template - only factory Owner

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
address string caller address
templateIndex number index of the template we want to disable
estimateGas? G if True, return gas estimate

Returns

Promise<ReceiptOrEstimate<G>>

current token template count

Defined in

contracts/NFTFactory.ts:321


getContract

Protected getContract(address, abi?): Contract

Returns a contract instance for the given address

Parameters

Name Type Description
address string The address of the contract
abi? AbiItem[] The ABI of the contract

Returns

Contract

  • The contract instance

Inherited from

SmartContractWithAddress.getContract

Defined in

contracts/SmartContract.ts:80


getCurrentNFTCount

getCurrentNFTCount(): Promise<number>

Get Current NFT Count (NFT created)

Returns

Promise<number>

Number of NFT created from this factory

Defined in

contracts/NFTFactory.ts:86


getCurrentNFTTemplateCount

getCurrentNFTTemplateCount(): Promise<number>

Get Current NFT Template Count

Returns

Promise<number>

Number of NFT Template added to this factory

Defined in

contracts/NFTFactory.ts:113


getCurrentTokenCount

getCurrentTokenCount(): Promise<number>

Get Current Datatoken Count

Returns

Promise<number>

Number of DTs created from this factory

Defined in

contracts/NFTFactory.ts:95


getCurrentTokenTemplateCount

getCurrentTokenTemplateCount(): Promise<number>

Get Current Template Datatoken (ERC20) Count

Returns

Promise<number>

Number of Datatoken Template added to this factory

Defined in

contracts/NFTFactory.ts:122


getDefaultAbi

getDefaultAbi(): AbiItem[]

Returns

AbiItem[]

Overrides

SmartContractWithAddress.getDefaultAbi

Defined in

contracts/NFTFactory.ts:20


getErcCreationParams

Private getErcCreationParams(dtParams): Promise<any>

Gets the parameters required to create an ERC20 token.

Parameters

Name Type Description
dtParams DatatokenCreateParams The parameters required to create a datatoken.

Returns

Promise<any>

Defined in

contracts/NFTFactory.ts:550


getFairGasPrice

Protected getFairGasPrice(): Promise<string>

Retruns the gas price

Returns

Promise<string>

  • The fair gas price

Inherited from

SmartContractWithAddress.getFairGasPrice

Defined in

contracts/SmartContract.ts:70


getFreCreationParams

Private getFreCreationParams(freParams): Promise<any>

Gets the parameters required to create a fixed-rate exchange contract.

Parameters

Name Type Description
freParams FreCreationParams The parameters required to create a fixed-rate exchange contract.

Returns

Promise<any>

Defined in

contracts/NFTFactory.ts:578


getNFTTemplate

getNFTTemplate(index): Promise<Template>

Get NFT Template

Parameters

Name Type Description
index number Template index

Returns

Promise<Template>

Number of Template added to this factory

Defined in

contracts/NFTFactory.ts:132


getOwner

getOwner(): Promise<string>

Get Factory Owner

Returns

Promise<string>

Factory Owner address

Defined in

contracts/NFTFactory.ts:104


getTokenTemplate

getTokenTemplate(index): Promise<Template>

Get Datatoken (ERC20) Template

Parameters

Name Type Description
index number Template index

Returns

Promise<Template>

DT Template info

Defined in

contracts/NFTFactory.ts:149


reactivateNFTTemplate

reactivateNFTTemplate<G>(address, templateIndex, estimateGas?): Promise<ReceiptOrEstimate<G>>

Reactivate a previously disabled token template - only factory Owner

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
address string
templateIndex number index of the template we want to reactivate
estimateGas? G if True, return gas estimate

Returns

Promise<ReceiptOrEstimate<G>>

current token template count

Defined in

contracts/NFTFactory.ts:249


reactivateTokenTemplate

reactivateTokenTemplate<G>(address, templateIndex, estimateGas?): Promise<ReceiptOrEstimate<G>>

Reactivate a previously disabled token template - only factory Owner

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
address string caller address
templateIndex number index of the template we want to reactivate
estimateGas? G if True, return gas estimate

Returns

Promise<ReceiptOrEstimate<G>>

current token template count

Defined in

contracts/NFTFactory.ts:360


startMultipleTokenOrder

startMultipleTokenOrder<G>(orders, estimateGas?): Promise<ReceiptOrEstimate<G>>

Used as a proxy to order multiple services Users can have inifinite approvals for fees for factory instead of having one approval/ Datatoken contract Requires previous approval of all : - consumeFeeTokens - publishMarketFeeTokens - ERC20 Datatokens

Type parameters

Name Type
G extends boolean = false

Parameters

Name Type Description
orders TokenOrder[] array of of orders
estimateGas? G if True, return gas estimate

Returns

Promise<ReceiptOrEstimate<G>>

transaction receipt

Defined in

contracts/NFTFactory.ts:404


unitsToAmount

Protected unitsToAmount(token, amount, tokenDecimals?): Promise<string>

Converts an amount of units to tokens

Parameters

Name Type Description
token string The token to convert
amount string The amount of units to convert
tokenDecimals? number The number of decimals in the token

Returns

Promise<string>

  • The converted amount in tokens

Inherited from

SmartContractWithAddress.unitsToAmount

Defined in

contracts/SmartContract.ts:58