From edcb01090de823cd7212979495e66afcf332e9a1 Mon Sep 17 00:00:00 2001 From: Jamie Hewitt Date: Wed, 20 Apr 2022 13:29:12 +0200 Subject: [PATCH] Adding getPublishingMarketFee function --- src/tokens/Datatoken.ts | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/src/tokens/Datatoken.ts b/src/tokens/Datatoken.ts index 7e724ea6..7a956b52 100644 --- a/src/tokens/Datatoken.ts +++ b/src/tokens/Datatoken.ts @@ -44,6 +44,12 @@ export interface DispenserParams { allowedSwapper?: string // only account that can ask tokens. set address(0) if not required } +export interface PublishingMarketFee { + publishMarketFeeAddress: string + publishMarketFeeToken: string + publishMarketFeeAmount: number +} + export class Datatoken { public GASLIMIT_DEFAULT = 1000000 public factoryAddress: string @@ -1362,10 +1368,10 @@ export class Datatoken { * @dev setPublishingMarketFee * Only publishMarketFeeAddress can call it * This function allows to set the fee required by the publisherMarket - * @param {String} datatokenAddress Datatoken adress - * @param publishMarketFeeAddress new publish Market Fee Address - * @param publishMarketFeeToken new publish Market Fee Token - * @param publishMarketFeeAmount new fee amount + * @param {string} datatokenAddress Datatoken adress + * @param {string} publishMarketFeeAddress new publish Market Fee Address + * @param {string} publishMarketFeeToken new publish Market Fee Token + * @param {number} publishMarketFeeAmount new fee amount * @param {String} address user adress */ public async setPublishingMarketFee( @@ -1386,4 +1392,24 @@ export class Datatoken { ) .call() } + + /** + * @dev getPublishingMarketFee + * Get publishingMarket Fee + * This function allows to get the current fee set by the publishing market + * @param {String} datatokenAddress Datatoken adress + * @param {String} address user adress + * @return {Promise} Current fee set by the publishing market + */ + public async getPublishingMarketFee( + datatokenAddress: string, + address: string + ): Promise { + const dtContract = new this.web3.eth.Contract(this.datatokensAbi, datatokenAddress, { + from: address + }) + + const publishingMarketFee = await dtContract.methods.getPublishingMarketFee().call() + return publishingMarketFee + } }