@@ -138,6 +138,8 @@ function splitTokensInEvenly(gainLoss: {
138
138
139
139
const buybackOperators = [
140
140
addresses . multisig [ 'multichain-guardian' ] ,
141
+ '0xd7b28d06365b85933c64e11e639ea0d3bc0e3bab' , // Legacy OUSD Buyback
142
+ '0xfd6c58850cacf9ccf6e8aee479bfb4df14a362d2' , // Legacy OETH Buyback
141
143
'0xbb077e716a5f1f1b63ed5244ebff5214e50fec8c' , // Current Operator
142
144
]
143
145
@@ -250,7 +252,7 @@ export const ognBuybacks = defineProcessor({
250
252
)
251
253
if ( ! transferFrom ) {
252
254
// console.log('no transferFrom', log.transactionHash)
253
- return
255
+ continue
254
256
}
255
257
256
258
const tokenOut = transferFrom . log . address
@@ -262,7 +264,7 @@ export const ognBuybacks = defineProcessor({
262
264
const { from, value } = erc20Abi . events . Transfer . decode ( log )
263
265
if ( from !== XOGN_ADDRESS ) {
264
266
const buyback = new OGNBuyback ( {
265
- id : log . id ,
267
+ id : ` ${ ctx . chain . id } - ${ log . transactionHash } - ${ tokenOut } ` ,
266
268
blockNumber : block . header . height ,
267
269
timestamp : new Date ( block . header . timestamp ) ,
268
270
operator : transferFrom . data . from . toLowerCase ( ) ,
@@ -277,11 +279,14 @@ export const ognBuybacks = defineProcessor({
277
279
) ,
278
280
txHash : log . transactionHash ,
279
281
} )
282
+ if ( buybacks . find ( ( b ) => b . id === buyback . id ) ) {
283
+ throw new Error ( 'duplicate buyback ' + buyback . id )
284
+ }
280
285
buybacks . push ( buyback )
281
286
}
282
287
}
283
288
}
284
289
}
285
- await ctx . store . save ( buybacks )
290
+ await ctx . store . insert ( buybacks )
286
291
} ,
287
292
} )
0 commit comments