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

2
tx.go
View File

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