Skip to content

Commit 0da3761

Browse files
committed
receipts: token transfers, additional case
1 parent be4e227 commit 0da3761

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

receipts/token_transfers_test.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,37 @@ func TestFetchReceiptTokenTransfers(t *testing.T) {
257257
require.Equal(t, 2, len(uniswapBalances))
258258
})
259259

260+
// This is a similar as case 4 with the fix applied to Trails sweep
261+
// https://arbiscan.io/tx/0x6e06f9053b3ecad8372716f1a1f0b3c1dcd773542ac9d37ea371dac014782e1c
262+
t.Run("Case 4b: Trails swap intent call", func(t *testing.T) {
263+
provider, err := ethrpc.NewProvider("https://nodes.sequence.app/arbitrum")
264+
require.NoError(t, err)
265+
266+
txnHash := common.HexToHash("0x6e06f9053b3ecad8372716f1a1f0b3c1dcd773542ac9d37ea371dac014782e1c")
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, 36, len(receipt.Logs))
272+
273+
// Trails intent
274+
require.Equal(t, 13, len(transfers))
275+
// spew.Dump(transfers)
276+
277+
// Get the balance outputs from the transfer logs
278+
balances := transfers.ComputeBalanceOutputs() //.OmitZeroBalances()
279+
require.NotNil(t, balances)
280+
// require.Equal(t, 15, len(balances))
281+
// spew.Dump(balances)
282+
283+
trailsRouter := common.HexToAddress("0xF8A739B9F24E297a98b7aba7A9cdFDBD457F6fF8")
284+
usdc := common.HexToAddress("0xaf88d065e77c8cC2239327C5EDb3A432268e5831")
285+
286+
require.Equal(t, usdc, balances[6].Token)
287+
require.Equal(t, trailsRouter, balances[6].Account)
288+
require.Equal(t, makeBigInt(t, "0"), balances[6].Balance)
289+
})
290+
260291
// Case 5: vault bridge USDC .. lets check the token transfer event, prob just erc20 too
261292
// https://katanascan.com/tx/0x7bcd0068a5c3352cf4e1d75c7c4f78d99f02b8b2f5f96b2c407972f43e724f52
262293
t.Run("Case 5: Vault bridge USDC transfer", func(t *testing.T) {

0 commit comments

Comments
 (0)