@@ -260,6 +260,33 @@ func TestFetchReceiptTokenTransfers(t *testing.T) {
260260 // Case 5: vault bridge USDC .. lets check the token transfer event, prob just erc20 too
261261 // https://katanascan.com/tx/0x7bcd0068a5c3352cf4e1d75c7c4f78d99f02b8b2f5f96b2c407972f43e724f52
262262 t .Run ("Case 5: Vault bridge USDC transfer" , func (t * testing.T ) {
263+ provider , err := ethrpc .NewProvider ("https://nodes.sequence.app/katana" )
264+ require .NoError (t , err )
265+
266+ txnHash := common .HexToHash ("0x7bcd0068a5c3352cf4e1d75c7c4f78d99f02b8b2f5f96b2c407972f43e724f52" )
267+ receipt , transfers , err := receipts .FetchReceiptTokenTransfers (context .Background (), provider , txnHash )
268+ require .NoError (t , err )
269+ require .NotNil (t , receipt )
270+ require .Greater (t , len (transfers ), 0 )
271+ require .Equal (t , 1 , len (receipt .Logs ))
272+
273+ // Trails intent
274+ require .Equal (t , 1 , len (transfers ))
275+ // spew.Dump(transfers)
276+
277+ // Get the balance outputs from the transfer logs
278+ balances := transfers .ComputeBalanceOutputs ()
279+ require .NotNil (t , balances )
280+ require .Equal (t , len (balances ), 2 )
281+ // spew.Dump(balances)
282+
283+ require .Equal (t , common .HexToAddress ("0x203A662b0BD271A6ed5a60EdFbd04bFce608FD36" ), balances [0 ].Token )
284+ require .Equal (t , common .HexToAddress ("0x1D17C0F90A0b3dFb5124C2FF56B33a0D2E202e1d" ), balances [0 ].Account )
285+ require .Equal (t , makeBigInt (t , "-177353" ), balances [0 ].Balance )
286+
287+ require .Equal (t , common .HexToAddress ("0x203A662b0BD271A6ed5a60EdFbd04bFce608FD36" ), balances [1 ].Token )
288+ require .Equal (t , common .HexToAddress ("0xE766bc22e31097940FFF8A73B240055EFB2424C8" ), balances [1 ].Account )
289+ require .Equal (t , makeBigInt (t , "177353" ), balances [1 ].Balance )
263290 })
264291
265292 // Case 6: polygon POL LogTransfer event
0 commit comments