Skip to content

Commit eede51e

Browse files
Add rb interpreter (#220)
1 parent e2746df commit eede51e

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

.changeset/odd-crews-breathe.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@3loop/transaction-interpreter': patch
3+
---
4+
5+
Add rb interpreter
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { displayAsset, getNetTransfers, defaultEvent } from './std.js'
2+
import type { InterpretedTransaction } from '@/types.js'
3+
import type { DecodedTransaction } from '@3loop/transaction-decoder'
4+
5+
export function transformEvent(event: DecodedTransaction): InterpretedTransaction {
6+
const newEvent = defaultEvent(event)
7+
8+
const netSent = getNetTransfers({
9+
transfers: event.transfers,
10+
fromAddresses: [event.fromAddress],
11+
})
12+
13+
const netReceived = getNetTransfers({
14+
transfers: event.transfers,
15+
toAddresses: [event.fromAddress],
16+
})
17+
18+
if (netSent.length === 1 && netReceived.length === 1) {
19+
return {
20+
...newEvent,
21+
type: 'swap',
22+
action: 'Swapped ' + displayAsset(netSent[0]) + ' for ' + displayAsset(netReceived[0]),
23+
}
24+
}
25+
return newEvent
26+
}
27+
28+
export const contracts = ['8453:0x00000000009726632680FB29d3F7A9734E3010E2']

0 commit comments

Comments
 (0)