From 07263e7972ccb6dfe48dc4d749cb73d3409145c1 Mon Sep 17 00:00:00 2001 From: Bogdan Fazakas Date: Wed, 19 Jan 2022 14:28:05 +0200 Subject: [PATCH] update order struct --- src/@types/Provider.ts | 3 ++- src/factories/NFTFactory.ts | 9 ++------- test/unit/NftFactory.test.ts | 33 +++++++++++++++++---------------- 3 files changed, 21 insertions(+), 24 deletions(-) diff --git a/src/@types/Provider.ts b/src/@types/Provider.ts index 274a52bc..d7ae662e 100644 --- a/src/@types/Provider.ts +++ b/src/@types/Provider.ts @@ -2,10 +2,11 @@ export interface ProviderFees { providerFeeAddress: string providerFeeToken: string providerFeeAmount: string - providerData: string v: string r: string s: string + providerData: string + validUntil: string } export interface ProviderInitialize { diff --git a/src/factories/NFTFactory.ts b/src/factories/NFTFactory.ts index 305368a3..79d036ac 100644 --- a/src/factories/NFTFactory.ts +++ b/src/factories/NFTFactory.ts @@ -17,6 +17,7 @@ import { PoolCreationParams, DispenserCreationParams } from '../interfaces' +import { ProviderFees } from '../@types/index.js' interface Template { templateAddress: string @@ -27,13 +28,7 @@ export interface TokenOrder { tokenAddress: string consumer: string serviceIndex: number - providerFeeAddress: string - providerFeeToken: string - providerFeeAmount: string - 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 NftCreateData { diff --git a/test/unit/NftFactory.test.ts b/test/unit/NftFactory.test.ts index 441b6e8c..b04dab11 100644 --- a/test/unit/NftFactory.test.ts +++ b/test/unit/NftFactory.test.ts @@ -18,6 +18,7 @@ import { PoolCreationParams } from '../../src/interfaces' import { ZERO_ADDRESS, signHash } from '../../src/utils' +import { ProviderFees } from '../../src/@types' const web3 = new Web3('http://127.0.0.1:8545') @@ -286,11 +287,10 @@ describe('Nft Factory test', () => { freParams ) - console.log('txReceipt.events', txReceipt.events) // EVENTS HAVE BEEN EMITTED expect(txReceipt.events.NFTCreated.event === 'NFTCreated') expect(txReceipt.events.TokenCreated.event === 'TokenCreated') - // expect(txReceipt.events.NewFixedRate.event === 'NewFixedRate') + expect(txReceipt.events.NewFixedRate.event === 'NewFixedRate') // stored for later use in startMultipleTokenOrder test dtAddress2 = txReceipt.events.TokenCreated.returnValues.newTokenAddress @@ -383,33 +383,34 @@ describe('Nft Factory test', () => { { t: 'address', v: consumeFeeToken }, { t: 'uint256', v: web3.utils.toWei(consumeFeeAmount) } ) + const { v, r, s } = await signHash(web3, message, consumeFeeAddress) + const providerValidUntil = '0' + const providerFees: ProviderFees = { + providerFeeAddress: consumeFeeAddress, + providerFeeToken: consumeFeeToken, + providerFeeAmount: consumeFeeAmount, + v: v, + r: r, + s: s, + providerData: web3.utils.toHex(web3.utils.asciiToHex(providerData)), + validUntil: providerValidUntil + } const orders: TokenOrder[] = [ { tokenAddress: dtAddress, consumer: consumer, serviceIndex: serviceIndex, - providerFeeAddress: consumeFeeAddress, - providerFeeToken: consumeFeeToken, - providerFeeAmount: consumeFeeAmount, - v, - r, - s, - providerData: web3.utils.toHex(web3.utils.asciiToHex(providerData)) + _providerFees: providerFees }, { tokenAddress: dtAddress2, consumer: consumer, serviceIndex: serviceIndex, - providerFeeAddress: consumeFeeAddress, - providerFeeToken: consumeFeeToken, - providerFeeAmount: consumeFeeAmount, - v, - r, - s, - providerData: web3.utils.toHex(web3.utils.asciiToHex(providerData)) + _providerFees: providerFees } ] + console.log('orders', orders) await nftFactory.startMultipleTokenOrder(user2, orders) // we check user2 has no more DTs expect(await dtContract.methods.balanceOf(user2).call()).to.equal('0')