Skip to content

Commit 2d17903

Browse files
Update 0x interpreter (#168)
1 parent 5fdb9b6 commit 2d17903

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

.changeset/lemon-worms-jam.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+
Update 0x interpretator

packages/transaction-interpreter/interpreters/zeroEx.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
import { categorizedDefaultEvent, displayAsset, getNetTransfers } from './std.js'
1+
import { assetsReceived, categorizedDefaultEvent, displayAsset, getNetTransfers } from './std.js'
22
import type { InterpretedTransaction } from '@/types.js'
33
import type { DecodedTransaction } from '@3loop/transaction-decoder'
44

55
export function transformEvent(event: DecodedTransaction): InterpretedTransaction {
66
const newEvent = categorizedDefaultEvent(event)
7+
const swapEvent = event.interactions.find((i) => i.event?.eventName?.toLowerCase() === 'swap')
78

8-
if (newEvent.type !== 'unknown') return newEvent
9+
if (!swapEvent || newEvent.type !== 'unknown') return newEvent
10+
11+
const { recipient } = swapEvent.event?.params as { recipient: string }
912

1013
const netSent = getNetTransfers({
1114
transfers: event.transfers,
@@ -15,7 +18,7 @@ export function transformEvent(event: DecodedTransaction): InterpretedTransactio
1518

1619
const netReceived = getNetTransfers({
1720
transfers: event.transfers,
18-
toAddresses: [event.fromAddress],
21+
toAddresses: [recipient],
1922
type: ['ERC20', 'native'],
2023
})
2124

@@ -24,6 +27,7 @@ export function transformEvent(event: DecodedTransaction): InterpretedTransactio
2427
...newEvent,
2528
type: 'swap',
2629
action: 'Swapped ' + displayAsset(netSent[0]) + ' for ' + displayAsset(netReceived[0]),
30+
assetsReceived: assetsReceived(event.transfers, recipient),
2731
}
2832
}
2933

0 commit comments

Comments
 (0)