Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SubmitterEngine ¶
type SubmitterEngine struct { HorizonClient horizonclient.ClientInterface preconditions.LedgerNumberTracker signing.SignatureService MaxBaseFee int }
SubmitterEngine aggregates the dependencies that are shared between all Submitter instances, such as the Ledger number tracker.
func (*SubmitterEngine) Validate ¶
func (se *SubmitterEngine) Validate() error
type TransactionProcessingLimiter ¶
type TransactionProcessingLimiter struct { CurrNumChannelAccounts int IndeterminateResponsesCounter int CounterLastUpdated time.Time // contains filtered or unexported fields }
TransactionProcessingLimiter is utilized by the manager and transaction worker to share metadata about and adjust the rate at which tss processes transactions based on responses from Horizon.
func NewTransactionProcessingLimiter ¶
func NewTransactionProcessingLimiter(limit int) *TransactionProcessingLimiter
func (*TransactionProcessingLimiter) AdjustLimitIfNeeded ¶
func (tpl *TransactionProcessingLimiter) AdjustLimitIfNeeded(hErr *utils.HorizonErrorWrapper)
AdjustLimitIfNeeded re-establishes the transaction processing limit based on how many transactions result in - `504`, 429`, `400` - tx_insufficient_fee` which are indicators for network congestion causing a cascade of further transaction failures and need for retries.
func (*TransactionProcessingLimiter) LimitValue ¶
func (tpl *TransactionProcessingLimiter) LimitValue() int
LimitValue resets the necessary counter-related values when the current time is well outside the fixed window of the last refresh, and serves as a getter for the `limitValue` field.