|
|
|
@@ -182,7 +182,8 @@ func ParseTransactionForEntries(ctx context.Context, slot uint64, entriesReader
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func ParseTransactionWithHandler(ctx context.Context, versioned VersionedTransaction, loader *AddressTables, parsed chan<- TxSignal, handlers map[solana.PublicKey]Handler) {
|
|
|
|
func ParseTransactionWithHandler(ctx context.Context, versioned VersionedTransaction, loader *AddressTables, parsed chan<- TxSignal, handlers map[solana.PublicKey]Handler) {
|
|
|
|
if loader != nil && len(versioned.AddressTableLookups) > 0 {
|
|
|
|
tableCnt := len(versioned.AddressTableLookups)
|
|
|
|
|
|
|
|
if loader != nil && tableCnt > 0 {
|
|
|
|
lookupTableOk := true
|
|
|
|
lookupTableOk := true
|
|
|
|
for _, lookups := range versioned.AddressTableLookups {
|
|
|
|
for _, lookups := range versioned.AddressTableLookups {
|
|
|
|
lookupTableOk = loader.FillToTx(&versioned, lookups.AccountKey, lookups.WritableIndexes)
|
|
|
|
lookupTableOk = loader.FillToTx(&versioned, lookups.AccountKey, lookups.WritableIndexes)
|
|
|
|
@@ -214,7 +215,7 @@ func ParseTransactionWithHandler(ctx context.Context, versioned VersionedTransac
|
|
|
|
cuPriceUint64 := binary.LittleEndian.Uint64(instruction.Data[1:9])
|
|
|
|
cuPriceUint64 := binary.LittleEndian.Uint64(instruction.Data[1:9])
|
|
|
|
cuPrice = formatCUPrice(cuPriceUint64)
|
|
|
|
cuPrice = formatCUPrice(cuPriceUint64)
|
|
|
|
} else if len(instruction.Data) == 5 && instruction.Data[0] == 0x02 {
|
|
|
|
} else if len(instruction.Data) == 5 && instruction.Data[0] == 0x02 {
|
|
|
|
cuLimit = binary.LittleEndian.Uint32(instruction.Data[1:4])
|
|
|
|
cuLimit = binary.LittleEndian.Uint32(instruction.Data[1:5])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if program.Equals(solana.SystemProgramID) &&
|
|
|
|
if program.Equals(solana.SystemProgramID) &&
|
|
|
|
@@ -266,6 +267,7 @@ func ParseTransactionWithHandler(ctx context.Context, versioned VersionedTransac
|
|
|
|
one.CULimit = cuLimit
|
|
|
|
one.CULimit = cuLimit
|
|
|
|
one.SWQoSAgent = swqosAgent
|
|
|
|
one.SWQoSAgent = swqosAgent
|
|
|
|
one.SWQoSTips = swqosTips
|
|
|
|
one.SWQoSTips = swqosTips
|
|
|
|
|
|
|
|
one.TableCnt = tableCnt
|
|
|
|
select {
|
|
|
|
select {
|
|
|
|
case <-ctx.Done():
|
|
|
|
case <-ctx.Done():
|
|
|
|
return
|
|
|
|
return
|
|
|
|
|