1 Commits

Author SHA1 Message Date
cachalots
5fa6944a37 culimit 2026-02-27 15:40:18 +08:00
2 changed files with 6 additions and 9 deletions

View File

@@ -45,7 +45,7 @@ type TxSignal struct {
IsToken2022 bool `json:"is_token2022"`
IsMayhemMode bool `json:"is_mayhem_mode"`
CUPrice decimal.Decimal `json:"cu_price"`
CULimit decimal.Decimal `json:"cu_limit"`
CULimit uint32 `json:"cu_limit"`
SWQoSAgent string `json:"swqos_agent"`
SWQoSTips decimal.Decimal `json:"swqos_tips"`

View File

@@ -203,22 +203,19 @@ func ParseTransactionWithHandler(ctx context.Context, versioned VersionedTransac
cuPrice := decimal.Zero
swqosAgent := ""
swqosTips := decimal.Zero
cuLimit := decimal.Zero
cuLimit := uint32(0)
for _, instruction := range versioned.Instructions {
program, err := versioned.GetAccount(int(instruction.ProgramIDIndex))
if err != nil {
continue
}
if program.Equals(ComputeBudgetProgram) &&
len(instruction.Data) == 9 {
if instruction.Data[0] == 0x03 {
if program.Equals(ComputeBudgetProgram) {
if len(instruction.Data) == 9 && instruction.Data[0] == 0x03 {
cuPriceUint64 := binary.LittleEndian.Uint64(instruction.Data[1:9])
cuPrice = formatCUPrice(cuPriceUint64)
} else if instruction.Data[0] == 0x02 {
cuLimitUint32 := binary.LittleEndian.Uint32(instruction.Data[1:4])
cuLimit = formatCUPrice(uint64(cuLimitUint32))
} else if len(instruction.Data) == 5 && instruction.Data[0] == 0x02 {
cuLimit = binary.LittleEndian.Uint32(instruction.Data[1:4])
}
}
if program.Equals(solana.SystemProgramID) &&
len(instruction.Data) == 12 &&