Added consume market fee handler. Test consume market fee handler.
This commit is contained in:
parent
c9b697a085
commit
6b6882af90
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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')
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue