diff --git a/pkg/shreder/tx.go b/pkg/shreder/tx.go index 08fc560..42577cd 100644 --- a/pkg/shreder/tx.go +++ b/pkg/shreder/tx.go @@ -48,6 +48,7 @@ type TxSignal struct { CULimit uint32 `json:"cu_limit"` SWQoSAgent string `json:"swqos_agent"` SWQoSTips decimal.Decimal `json:"swqos_tips"` + TableCnt int `json:"table_cnt"` ExactSOL bool `json:"exact_in"` diff --git a/pkg/shreder/txparser.go b/pkg/shreder/txparser.go index fb50b5e..bfa392b 100644 --- a/pkg/shreder/txparser.go +++ b/pkg/shreder/txparser.go @@ -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) { - if loader != nil && len(versioned.AddressTableLookups) > 0 { + tableCnt := len(versioned.AddressTableLookups) + if loader != nil && tableCnt > 0 { lookupTableOk := true for _, lookups := range versioned.AddressTableLookups { lookupTableOk = loader.FillToTx(&versioned, lookups.AccountKey, lookups.WritableIndexes) @@ -266,6 +267,7 @@ func ParseTransactionWithHandler(ctx context.Context, versioned VersionedTransac one.CULimit = cuLimit one.SWQoSAgent = swqosAgent one.SWQoSTips = swqosTips + one.TableCnt = tableCnt select { case <-ctx.Done(): return