Added consume market fee handler. Test consume market fee handler.

This commit is contained in:
Maria Carmina 2023-04-21 19:36:31 +03:00
parent c9b697a085
commit 6b6882af90
3 changed files with 44 additions and 5 deletions

View File

@ -6,6 +6,7 @@ import {
OrderStarted,
PublishMarketFee,
PublishMarketFeeChanged,
ConsumeMarketFee,
AddedMinter,
AddedPaymentManager,
RemovedMinter,
@ -64,9 +65,6 @@ export function handleOrderStarted(event: OrderStarted): void {
const publishMarket = getUser(event.params.publishMarketAddress.toHex())
order.publishingMarket = publishMarket.id
// const consumeMarket = getUser(event.params..toHex())
// order.consumerMarket = consumeMarket.id
order.createdTimestamp = event.block.timestamp.toI32()
order.tx = event.transaction.hash.toHex()
order.eventIndex = event.logIndex.toI32()
@ -197,6 +195,37 @@ export function handlePublishMarketFeeChanged(
// TODO - shold we have a history
}
export function handleConsumeMarketFee(event: ConsumeMarketFee): void {
const order = searchOrderForEvent(
event.transaction.hash.toHex(),
event.address.toHex(),
event.transaction.from.toHex(),
event.logIndex.toI32()
)
if (!order) return
const consumeMarket = getUser(event.params.consumeMarketFeeAddress.toHex())
order.consumerMarket = consumeMarket.id
log.info('order.consumerMarket: {}', [
event.params.consumeMarketFeeAddress.toHexString()
])
const consumeMarketToken = getToken(event.params.consumeMarketFeeToken, false)
order.consumerMarketToken = consumeMarketToken.id
log.info('order.consumerMarketToken: {}', [
event.params.consumeMarketFeeToken.toHexString()
])
log.info('event.params.consumerMarketAmmount: {}', [
event.params.consumeMarketFeeAmount.toBigDecimal().toString()
])
order.consumerMarketAmmount = weiToDecimal(
event.params.consumeMarketFeeAmount.toBigDecimal(),
consumeMarketToken.decimals
)
order.save()
}
// roles
// roles
export function handleAddedMinter(event: AddedMinter): void {

View File

@ -38,6 +38,8 @@ templates:
handler: handlePublishMarketFee
- event: PublishMarketFeeChanged(address,address,address,uint256)
handler: handlePublishMarketFeeChanged
- event: ConsumeMarketFee(indexed address,indexed address,uint256)
handler: handleConsumeMarketFee
- event: AddedMinter(indexed address,indexed address,uint256,uint256)
handler: handleAddedMinter
- event: AddedPaymentManager(indexed address,indexed address,uint256,uint256)

View File

@ -471,13 +471,19 @@ describe('Datatoken tests', async () => {
providerData: web3.utils.toHex(web3.utils.asciiToHex(providerData)),
validUntil: providerValidUntil
}
const consumeMarketFees = {
consumeMarketFeeAddress: publisher,
consumeMarketFeeToken: publishingTokenAddress,
consumeMarketFeeAmount: '20000'
}
assert(setProviderFee, 'Invalid setProviderFee')
const orderTx = await datatoken.startOrder(
newDtAddress,
user1,
user2,
1,
setProviderFee
setProviderFee,
consumeMarketFees
)
assert(orderTx, 'Invalid orderTx')
const orderId = `${orderTx.transactionHash.toLowerCase()}-${newDtAddress.toLowerCase()}-${user1.toLowerCase()}-${orderTx.events.OrderStarted.logIndex.toFixed(
@ -505,9 +511,10 @@ describe('Datatoken tests', async () => {
'Invalid log indeces'
)
const orderQuery = {
query: `query {order(id:"${orderId}"){id, publishingMarketAmmount, eventIndex}}`
query: `query {order(id:"${orderId}"){id, publishingMarketAmmount, consumerMarketAmmount, eventIndex}}`
}
// publishingMarket, publishingMarketToken
// consumerMarket, consumerMarketToken,
await sleep(3000)
const orderResponse = await fetch(subgraphUrl, {
@ -518,5 +525,6 @@ describe('Datatoken tests', async () => {
const queryResult = await orderResponse.json()
const order = queryResult.data.order
assert(order.publishingMarketAmmount === erc20Params.feeAmount)
assert(order.consumerMarketAmmount === '0.00000000000002')
})
})