okxv2 parser

This commit is contained in:
thloyi
2026-01-07 15:39:32 +08:00
parent 2504636fb0
commit 156fd9b0bf
4 changed files with 387 additions and 13 deletions

View File

@@ -948,15 +948,17 @@ func parseJupiterV6Instruction(tx *versionedTransaction, instructionIndex int) (
break
}
}
if srcIdx == 0 {
if srcIdx == 0 || srcIdx+1 >= uint8(len(instruction.Accounts)) {
return nil, nil
}
sourceMint, err = getStaticKey(tx.Message.StaticAccountKeys, int(instruction.Accounts[srcIdx]))
baseMint, err := getStaticKey(tx.Message.StaticAccountKeys, int(instruction.Accounts[srcIdx]))
if err != nil {
return nil, err
}
if !sourceMint.Equals(baseMint) {
return nil, nil
}
quoteMint, err := getStaticKey(tx.Message.StaticAccountKeys, int(instruction.Accounts[srcIdx+1]))
if err != nil {
return nil, err
@@ -989,14 +991,17 @@ func parseJupiterV6Instruction(tx *versionedTransaction, instructionIndex int) (
break
}
}
if srcIdx == 0 {
if srcIdx == 0 || srcIdx+1 >= uint8(len(instruction.Accounts)) {
return nil, nil
}
sourceMint, err = getStaticKey(tx.Message.StaticAccountKeys, int(instruction.Accounts[srcIdx]))
baseMint, err := getStaticKey(tx.Message.StaticAccountKeys, int(instruction.Accounts[srcIdx]))
if err != nil {
return nil, err
}
if !sourceMint.Equals(baseMint) {
return nil, nil
}
quoteMint, err := getStaticKey(tx.Message.StaticAccountKeys, int(instruction.Accounts[srcIdx+1]))
if err != nil {
@@ -1026,7 +1031,7 @@ func parseJupiterV6Instruction(tx *versionedTransaction, instructionIndex int) (
break
}
}
if srcIdx == 0 {
if srcIdx == 0 || srcIdx+1 >= uint8(len(instruction.Accounts)) {
return nil, nil
}
sourceMint, err = getStaticKey(tx.Message.StaticAccountKeys, int(instruction.Accounts[srcIdx]))