@@ -69,22 +69,43 @@ export function toAssetTransfer(transfer: Asset): AssetTransfer {
6969 }
7070}
7171
72- export function assetsSent ( transfers : Asset [ ] , address : string ) : AssetTransfer [ ] {
72+ export function assetsSent ( transfers : Asset [ ] , fromAddress : string ) : AssetTransfer [ ] {
7373 const filtered = filterTransfers ( transfers , {
7474 excludeZero : true ,
75- excludeNull : address !== NULL_ADDRESS ,
75+ excludeNull : fromAddress !== NULL_ADDRESS ,
7676 } )
7777
78- return filtered . filter ( ( t ) => t . from . toLowerCase ( ) === address . toLowerCase ( ) ) . map ( toAssetTransfer )
78+ return filtered . filter ( ( t ) => t . from . toLowerCase ( ) === fromAddress . toLowerCase ( ) ) . map ( toAssetTransfer )
7979}
8080
81- export function assetsReceived ( transfers : Asset [ ] , address : string ) : AssetTransfer [ ] {
81+ export function assetsReceived ( transfers : Asset [ ] , toAddress : string ) : AssetTransfer [ ] {
8282 const filtered = filterTransfers ( transfers , {
8383 excludeZero : true ,
84- excludeNull : address !== NULL_ADDRESS ,
8584 } )
8685
87- return filtered . filter ( ( t ) => t . to . toLowerCase ( ) === address . toLowerCase ( ) ) . map ( toAssetTransfer )
86+ return filtered . filter ( ( t ) => t . to . toLowerCase ( ) === toAddress . toLowerCase ( ) ) . map ( toAssetTransfer )
87+ }
88+
89+ function assetsMinted ( transfers : Asset [ ] , toAddress : string ) : AssetTransfer [ ] {
90+ const filtered = filterTransfers ( transfers , {
91+ excludeZero : true ,
92+ } )
93+
94+ return filtered
95+ . filter ( ( t ) => t . from . toLowerCase ( ) === NULL_ADDRESS )
96+ . filter ( ( t ) => t . to . toLowerCase ( ) === toAddress . toLowerCase ( ) )
97+ . map ( toAssetTransfer )
98+ }
99+
100+ function assetsBurned ( transfers : Asset [ ] , fromAddress : string ) : AssetTransfer [ ] {
101+ const filtered = filterTransfers ( transfers , {
102+ excludeZero : true ,
103+ } )
104+
105+ return filtered
106+ . filter ( ( t ) => t . to . toLowerCase ( ) === NULL_ADDRESS )
107+ . filter ( ( t ) => t . from . toLowerCase ( ) === fromAddress . toLowerCase ( ) )
108+ . map ( toAssetTransfer )
88109}
89110
90111export function getNetTransfers ( {
@@ -265,8 +286,8 @@ export function displayAssets(assets: Payment[]) {
265286export function isSwap ( event : DecodedTransaction ) : boolean {
266287 if ( event . transfers . some ( ( t ) => t . type !== 'ERC20' && t . type !== 'native' ) ) return false
267288
268- const minted = assetsSent ( event . transfers , NULL_ADDRESS )
269- const burned = assetsReceived ( event . transfers , NULL_ADDRESS )
289+ const minted = assetsMinted ( event . transfers , event . fromAddress )
290+ const burned = assetsBurned ( event . transfers , event . fromAddress )
270291
271292 if ( minted . length > 0 || burned . length > 0 ) return false
272293
@@ -289,8 +310,8 @@ export function isSwap(event: DecodedTransaction): boolean {
289310}
290311
291312export function defaultEvent ( event : DecodedTransaction ) : InterpretedTransaction {
292- const burned = assetsReceived ( event . transfers , NULL_ADDRESS )
293- const minted = assetsSent ( event . transfers , NULL_ADDRESS )
313+ const burned = assetsBurned ( event . transfers , event . fromAddress )
314+ const minted = assetsMinted ( event . transfers , event . fromAddress )
294315
295316 const newEvent = {
296317 type : 'unknown' as const ,
0 commit comments