1
0
mirror of https://github.com/oceanprotocol/ocean.js.git synced 2024-11-26 20:39:05 +01:00

add estimategas optional parameter to functions

This commit is contained in:
Miquel A. Cabot 2022-06-12 11:13:02 +02:00
parent 6a193ac88d
commit 2ec7bd7f70
2 changed files with 13 additions and 5 deletions

View File

@ -16,7 +16,8 @@
"rules": {
"no-empty": ["error", { "allowEmptyCatch": true }],
"prefer-destructuring": ["warn", { "object": true, "array": false }],
"no-dupe-class-members": ["warn"],
"no-dupe-class-members": "off",
"no-redeclare": "off",
"no-useless-constructor": ["warn"],
"no-unused-vars": ["warn"],
"constructor-super": ["warn"]

View File

@ -33,7 +33,11 @@ export class NftFactory extends SmartContractWithAddress {
* @param {NFTCreateData} nftData
* @return {Promise<string>} NFT datatoken address
*/
public async createNFT(address: string, nftData: NftCreateData): Promise<string> {
public async createNFT<G extends boolean = false>(
address: string,
nftData: NftCreateData,
estimateGas?: G
): Promise<G extends false ? string : number> {
if (!nftData.templateIndex) nftData.templateIndex = 1
if (!nftData.name || !nftData.symbol) {
@ -63,6 +67,7 @@ export class NftFactory extends SmartContractWithAddress {
nftData.transferable,
nftData.owner
)
if (estimateGas) return estGas
// Invoke createToken function of the contract
const trxReceipt = await this.contract.methods
@ -180,10 +185,11 @@ export class NftFactory extends SmartContractWithAddress {
* @param {String} templateAddress template address to add
* @return {Promise<TransactionReceipt>}
*/
public async addNFTTemplate(
public async addNFTTemplate<G extends boolean = false>(
address: string,
templateAddress: string
): Promise<TransactionReceipt> {
templateAddress: string,
estimateGas?: G
): Promise<G extends false ? TransactionReceipt : number> {
if ((await this.getOwner()) !== address) {
throw new Error(`Caller is not Factory Owner`)
}
@ -196,6 +202,7 @@ export class NftFactory extends SmartContractWithAddress {
this.contract.methods.add721TokenTemplate,
templateAddress
)
if (estimateGas) return estGas
// Invoke add721TokenTemplate function of the contract
const trxReceipt = await this.contract.methods