Added debug logs.

This commit is contained in:
Maria Carmina 2023-04-06 20:00:54 +03:00
parent 4493d208fc
commit 3f73362589
3 changed files with 52 additions and 35 deletions

View File

@ -1,5 +1,5 @@
import { Order, Nft, OrderReuse } from '../@types/schema'
import { BigInt, BigDecimal, Address } from '@graphprotocol/graph-ts'
import { BigInt, BigDecimal, Address, log } from '@graphprotocol/graph-ts'
import {
NewPaymentCollector,
@ -20,7 +20,11 @@ import { weiToDecimal } from './utils/generic'
import { addOrder } from './utils/globalUtils'
import { getToken, getUSDValue } from './utils/tokenUtils'
import { getUser } from './utils/userUtils'
import { getOrderId, searchOrderForEvent } from './utils/orderUtils'
import {
getOrderId,
searchOrderForEvent,
searchOrderResusedForEvent
} from './utils/orderUtils'
export function handleOrderStarted(event: OrderStarted): void {
const order = new Order(
@ -247,37 +251,13 @@ export function handleProviderFee(event: ProviderFee): void {
if (order) {
order.providerFee = providerFee
order.providerFeeValidUntil = event.params.validUntil
order.eventIndex = event.logIndex.toI32()
order.save()
return
}
let orderReuse = OrderReuse.load(
`${event.transaction.hash.toHex()}-${event.logIndex.toI32().toString()}`
)
if (orderReuse) {
orderReuse.providerFee = providerFee
orderReuse.providerFeeValidUntil = event.params.validUntil
orderReuse.eventIndex = event.logIndex.toI32()
orderReuse.save()
} else {
orderReuse = new OrderReuse(
`${event.transaction.hash.toHex()}-${event.logIndex.toI32().toString()}`
)
orderReuse.providerFee = providerFee
orderReuse.providerFeeValidUntil = event.params.validUntil
orderReuse.order = order.id
orderReuse.createdTimestamp = event.block.timestamp.toI32()
orderReuse.tx = event.transaction.hash.toHex()
orderReuse.eventIndex = event.logIndex.toI32()
orderReuse.block = event.block.number.toI32()
orderReuse.caller = event.transaction.from.toHex()
if (event.transaction.gasPrice)
orderReuse.gasPrice = event.transaction.gasPrice
else orderReuse.gasPrice = BigInt.zero()
if (event.receipt !== null && event.receipt!.gasUsed) {
orderReuse.gasUsed = event.receipt!.gasUsed.toBigDecimal()
} else orderReuse.gasUsed = BigDecimal.zero()
orderReuse.save()
const orderReuse = searchOrderResusedForEvent(event)
if (orderReuse) {
orderReuse.providerFee = providerFee
orderReuse.providerFeeValidUntil = event.params.validUntil
orderReuse.save()
}
}
}

View File

@ -1,5 +1,5 @@
import { Order } from '../../@types/schema'
import { ethereum } from '@graphprotocol/graph-ts'
import { Order, OrderReuse } from '../../@types/schema'
import { ethereum, log } from '@graphprotocol/graph-ts'
export function getOrderId(
tx: string,
@ -36,6 +36,7 @@ export function getOrder(
export function searchOrderForEvent(event: ethereum.Event): Order {
let firstEventIndex = event.logIndex.toI32() - 1
log.info('firstEventIndex on simple order: ', [firstEventIndex.toString()])
while (true) {
const orderId = getOrderId(
event.transaction.hash.toHex(),
@ -43,10 +44,44 @@ export function searchOrderForEvent(event: ethereum.Event): Order {
event.transaction.from.toHex(),
firstEventIndex.toString()
)
log.info('orderId as trial: ', [orderId])
const order = Order.load(orderId)
if (order !== null) {
log.info('order datatoken: ', [order.datatoken])
}
log.info('event address: ', [event.address.toString()])
if (order !== null && order.datatoken === event.address.toString()) {
return order
}
firstEventIndex--
}
}
export function searchOrderResusedForEvent(event: ethereum.Event): OrderReuse {
let firstEventIndex = event.logIndex.toI32() - 1
log.info('firstEventIndex on simple order: ', [firstEventIndex.toString()])
while (true) {
const orderReused = OrderReuse.load(
`${event.transaction.hash.toHex()}-${firstEventIndex}`
)
if (orderReused !== null) {
log.info('order reused order: ', [orderReused.order])
const order = Order.load(orderReused.order)
if (order !== null) {
log.info('order datatoken: ', [order.datatoken])
}
log.info('event address: ', [event.address.toString()])
if (
orderReused !== null &&
order !== null &&
order.datatoken === event.address.toString()
) {
return orderReused
}
}
firstEventIndex--
}
}

View File

@ -307,6 +307,8 @@ describe('Simple Publish & consume test', async () => {
setProviderFee
)
console.log('orderTx: ', orderTx)
console.log('order tx id: ', orderTx.events.OrderStarted.returnValues)
console.log('provider fee: ', orderTx.events.ProviderFee.returnValues)
const orderId = `${orderTx.transactionHash.toLowerCase()}-${datatokenAddress.toLowerCase()}-${user1.toLowerCase()}-${orderTx.events.OrderStarted.logIndex.toString()}`
console.log('orderId: ', orderId)
const query = {
@ -318,7 +320,7 @@ describe('Simple Publish & consume test', async () => {
method: 'POST',
body: JSON.stringify(query)
})
await sleep(3000)
await sleep(6000)
const queryResult = await response.json()
console.log('queryResult: ', queryResult)