update parsed tx: add swap at instr idx

This commit is contained in:
thloyi
2026-03-11 14:41:56 +08:00
parent 66f0d247f5
commit eb2bde98ac
2 changed files with 7 additions and 0 deletions

View File

@@ -127,6 +127,9 @@ func (tx *Tx) Parser() error {
//fmt.Printf("parser failed tx error: %s, block: %d tx: %s\n", err, tx.Block, tx.GetTxHash())
}
if len(swaps) > 0 {
for i := range swaps {
swaps[i].InstrIdx = tx.Err.Index
}
tx.Swaps = swaps
}
for i, instr := range tx.rawTx.Transaction.Message.Instructions {
@@ -172,6 +175,7 @@ func (tx *Tx) Parser() error {
swap.AfterSOLBalance = decimal.NewFromUint64(tx.rawTx.Meta.PostBalances[userIdx]).Div(decimal.NewFromInt(1e9))
}
}
swap.InstrIdx = uint8(i)
tx.Swaps = append(tx.Swaps, swap)
}
@@ -219,6 +223,7 @@ func (tx *Tx) Parser() error {
swap.AfterSOLBalance = decimal.NewFromUint64(tx.rawTx.Meta.PostBalances[userIdx]).Div(decimal.NewFromInt(1e9))
}
}
swap.InstrIdx = uint8(i)
tx.Swaps = append(tx.Swaps, swap)
}
// tx.Swaps = append(tx.Swaps, swaps...)

2
tx.go
View File

@@ -12,6 +12,8 @@ type Swap struct {
TxIndex int
InstrIdx uint8
Pool solana.PublicKey
BaseMint solana.PublicKey
QuoteMint solana.PublicKey