|
1 | 1 | import * as otoken from '@abi/otoken' |
2 | 2 | import { createERC20Tracker } from '@templates/erc20' |
3 | 3 | import { createERC20SimpleTracker } from '@templates/erc20-simple' |
| 4 | +import { createRebasingERC20Tracker } from '@templates/erc20/erc20-rebasing' |
4 | 5 | import { |
5 | 6 | OETH_ADDRESS, |
6 | 7 | OETH_DRIPPER_ADDRESS, |
@@ -40,19 +41,27 @@ const simpleTracks: Record<string, Parameters<typeof createERC20SimpleTracker>[0 |
40 | 41 | address: tokens.primeETH, |
41 | 42 | }, |
42 | 43 | } |
43 | | -const tracks: Record<string, Parameters<typeof createERC20Tracker>[0]> = { |
| 44 | +const tracks: Record<string, Parameters<typeof createERC20Tracker | typeof createRebasingERC20Tracker>[0]> = { |
44 | 45 | // Origin Specific |
45 | 46 | OETH: { |
46 | 47 | from: 16935276, |
47 | 48 | address: tokens.OETH, |
48 | | - rebaseFilters: [ |
49 | | - logFilter({ |
| 49 | + rebasing: { |
| 50 | + rebaseEventFilter: logFilter({ |
50 | 51 | address: [OETH_ADDRESS], |
51 | 52 | topic0: [otoken.events.TotalSupplyUpdatedHighres.topic], |
52 | 53 | transaction: true, |
53 | 54 | range: { from: 16935276 }, |
54 | 55 | }), |
55 | | - ], |
| 56 | + getCredits: async (ctx, block, address) => { |
| 57 | + const oToken = new otoken.Contract(ctx, block.header, tokens.OETH) |
| 58 | + return oToken.creditsBalanceOfHighres(address).then((credits) => credits._1) |
| 59 | + }, |
| 60 | + getCreditsPerToken: async (ctx, block) => { |
| 61 | + const oToken = new otoken.Contract(ctx, block.header, tokens.OETH) |
| 62 | + return oToken.rebasingCreditsPerTokenHighres() |
| 63 | + }, |
| 64 | + }, |
56 | 65 | }, |
57 | 66 | wOETH: { |
58 | 67 | from: 16933090, |
@@ -120,10 +129,10 @@ export const addERC20Processing = (symbol: TokenSymbol, account: string) => { |
120 | 129 | throw new Error('erc20s already initialized, check load order') |
121 | 130 | } |
122 | 131 | const track = tracks[symbol] |
123 | | - if (track) { |
| 132 | + if ('accountFilter' in track) { |
124 | 133 | // If there is no `accountFilter` then it is OK to have this as a noop. (we already want everything) |
125 | 134 | track.accountFilter?.push(account) |
126 | | - } else { |
| 135 | + } else if (!track) { |
127 | 136 | throw new Error(`Symbol ${symbol} not added to \`tracks\``) |
128 | 137 | } |
129 | 138 | } |
0 commit comments