diff --git a/src/tokens/Datatoken.ts b/src/tokens/Datatoken.ts index 8b662685..aba1d967 100644 --- a/src/tokens/Datatoken.ts +++ b/src/tokens/Datatoken.ts @@ -8,6 +8,7 @@ import defaultDatatokensEnterpriseAbi from '../artifacts/templates/ERC20Template import { LoggerInstance, getFairGasPrice } from '../utils' import { FreOrderParams, FreCreationParams } from '../interfaces' import { Nft } from './NFT' +import { ProviderFees } from '../@types/Provider.js' /** * ERC20 ROLES */ @@ -19,13 +20,7 @@ interface Roles { export interface OrderParams { consumer: string serviceIndex: number - providerFeeAddress: string - providerFeeToken: string - providerFeeAmount: string // this is in WEI - v: string // v of provider signed message - r: string // r of provider signed message - s: string // s of provider signed message - providerData: string // data encoded by provider + _providerFees: ProviderFees } export interface DispenserParams { diff --git a/test/unit/tokens/Datatoken.test.ts b/test/unit/tokens/Datatoken.test.ts index a8a77176..a80608a5 100644 --- a/test/unit/tokens/Datatoken.test.ts +++ b/test/unit/tokens/Datatoken.test.ts @@ -17,6 +17,7 @@ import { Datatoken, Nft, OrderParams, DispenserParams } from '../../../src/token import { AbiItem } from 'web3-utils' import { FreCreationParams, FreOrderParams } from '../../../src/interfaces' import { ZERO_ADDRESS, signHash } from '../../../src/utils' +import { ProviderFees } from '../../../src/@types/Provider.js' const web3 = new Web3('http://127.0.0.1:8545') @@ -390,16 +391,21 @@ describe('Datatoken', () => { { t: 'uint256', v: providerFeeAmount } ) const { v, r, s } = await signHash(web3, message, user3) + const providerValidUntil = '0' + const providerFees: ProviderFees = { + providerFeeAddress: user3, + providerFeeToken: providerFeeToken, + providerFeeAmount: providerFeeAmount, + v: v, + r: r, + s: s, + providerData: web3.utils.toHex(web3.utils.asciiToHex(providerData)), + validUntil: providerValidUntil + } const order: OrderParams = { consumer: user1, serviceIndex: 1, - providerFeeAddress: user3, - providerFeeToken, - providerFeeAmount, - v, - r, - s, - providerData: web3.utils.toHex(web3.utils.asciiToHex(providerData)) + _providerFees: providerFees } console.log('order', order) const buyFromDispenseTx = await datatoken.buyFromDispenserAndOrder( @@ -422,16 +428,21 @@ describe('Datatoken', () => { { t: 'uint256', v: providerFeeAmount } ) const { v, r, s } = await signHash(web3, message, user3) + const providerValidUntil = '0' + const providerFees: ProviderFees = { + providerFeeAddress: user1, + providerFeeToken: providerFeeToken, + providerFeeAmount: providerFeeAmount, + v: v, + r: r, + s: s, + providerData: web3.utils.toHex(web3.utils.asciiToHex(providerData)), + validUntil: providerValidUntil + } const order: OrderParams = { consumer: user1, serviceIndex: 1, - providerFeeAddress: user1, - providerFeeToken, - providerFeeAmount, - v, - r, - s, - providerData: web3.utils.toHex(web3.utils.asciiToHex(providerData)) + _providerFees: providerFees } const fre: FreOrderParams = {