parse inner Instructions out of range

This commit is contained in:
2026-01-02 10:42:44 +08:00
committed by thloyi
parent dbfaa39432
commit 91b70e23d6

View File

@@ -2,6 +2,7 @@ package pump_parser
import ( import (
"errors" "errors"
"log"
"github.com/gagliardetto/solana-go" "github.com/gagliardetto/solana-go"
"github.com/shopspring/decimal" "github.com/shopspring/decimal"
@@ -73,6 +74,10 @@ func (tx *Tx) Parser() error {
// unknown program, parser inner instructions // unknown program, parser inner instructions
innerLength := len(innersMap[i].Instructions) innerLength := len(innersMap[i].Instructions)
for j := 1; j <= innerLength; { for j := 1; j <= innerLength; {
if j <= 0 || j > innerLength {
log.Printf("inner instruction index is out if range, block: %d, tx: %s, outerIndex: %d, innerIndex: %d", tx.Block, tx.GetTxHash(), ii, j)
break
}
innerInstr := innersMap[i].Instructions[j-1] innerInstr := innersMap[i].Instructions[j-1]
innerProgramAccount := accountList[innerInstr.ProgramIDIndex] innerProgramAccount := accountList[innerInstr.ProgramIDIndex]