Skip to content

Commit b457ee7

Browse files
committed
buyback processing fixes/improvements
1 parent d12e67c commit b457ee7

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/mainnet/processors/ogn-buybacks.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@ function splitTokensInEvenly(gainLoss: {
138138

139139
const buybackOperators = [
140140
addresses.multisig['multichain-guardian'],
141+
'0xd7b28d06365b85933c64e11e639ea0d3bc0e3bab', // Legacy OUSD Buyback
142+
'0xfd6c58850cacf9ccf6e8aee479bfb4df14a362d2', // Legacy OETH Buyback
141143
'0xbb077e716a5f1f1b63ed5244ebff5214e50fec8c', // Current Operator
142144
]
143145

@@ -250,7 +252,7 @@ export const ognBuybacks = defineProcessor({
250252
)
251253
if (!transferFrom) {
252254
// console.log('no transferFrom', log.transactionHash)
253-
return
255+
continue
254256
}
255257

256258
const tokenOut = transferFrom.log.address
@@ -262,7 +264,7 @@ export const ognBuybacks = defineProcessor({
262264
const { from, value } = erc20Abi.events.Transfer.decode(log)
263265
if (from !== XOGN_ADDRESS) {
264266
const buyback = new OGNBuyback({
265-
id: log.id,
267+
id: `${ctx.chain.id}-${log.transactionHash}-${tokenOut}`,
266268
blockNumber: block.header.height,
267269
timestamp: new Date(block.header.timestamp),
268270
operator: transferFrom.data.from.toLowerCase(),
@@ -277,11 +279,14 @@ export const ognBuybacks = defineProcessor({
277279
),
278280
txHash: log.transactionHash,
279281
})
282+
if (buybacks.find((b) => b.id === buyback.id)) {
283+
throw new Error('duplicate buyback ' + buyback.id)
284+
}
280285
buybacks.push(buyback)
281286
}
282287
}
283288
}
284289
}
285-
await ctx.store.save(buybacks)
290+
await ctx.store.insert(buybacks)
286291
},
287292
})

0 commit comments

Comments
 (0)