Documentation ¶
Index ¶
- type Config
- type TxrV2
- func (t *TxrV2) Execute(_ context.Context, _ any) (any, error)
- func (t *TxrV2) GetPreconfirmedState(msgID string) types.PreconfirmedState
- func (t *TxrV2) IntervalTime(context.Context) time.Duration
- func (t *TxrV2) OnError(_ context.Context, resp *tracker.Response) error
- func (t *TxrV2) OnRevert(resp *tracker.Response, receipt *coretypes.Receipt) error
- func (t *TxrV2) OnStale(ctx context.Context, resp *tracker.Response, isPending bool) error
- func (t *TxrV2) OnSuccess(resp *tracker.Response, receipt *coretypes.Receipt) error
- func (t *TxrV2) RegistryKey() string
- func (t *TxrV2) SendTxRequest(txReq *types.Request) (string, error)
- func (t *TxrV2) Setup(ctx context.Context) error
- func (t *TxrV2) SubscribeTxResults(ctx context.Context, subscriber tracker.Subscriber)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Hex string address of the multicall contract to be used for batched txs. Currently // configured to use the following `public`, `payable` function on this contract: // call data signature: `tryAggregate(bool,(address,bytes))` // returns: `([](bool,bytes))` Multicall3Address string // How large an individual batched tx will be (uses multicall contract if > 1). TxBatchSize int // How long to wait for a batch to be flushed (ideally 1 block time). TxBatchTimeout time.Duration // Whether we wait the full batch timeout before firing txs. False means we will fire as soon // as we reach the desired batch size. WaitFullBatchTimeout bool // How long to wait to retrieve txs from the queue if it is empty (ideally quick <= 1s). EmptyQueueDelay time.Duration // Maximum duration allowed for the tx to be signed (increase this if using a remote signer) SignTxTimeout time.Duration // How long to wait for the pending nonce (ideally 1 block time). PendingNonceInterval time.Duration // How long to wait for a tx to hit the mempool (ideally 1-2 block time). InMempoolTimeout time.Duration // How long to wait for a tx to be mined/confirmed by the chain. TxReceiptTimeout time.Duration // Whether we should resend txs that are stale (not confirmed after the receipt timeout). ResendStaleTxs bool // How often to post a snapshot of the transactor system status (ideally 1 block time). StatusUpdateInterval time.Duration // (Optional) SQS queue config. If left empty, an in-memory queue is used. SQS sqs.Config // If true, the queue (SQS generates its own) message ID will be used for tracking messages, // rather than the optional, user-provided message ID. UseQueueMessageID bool }
type TxrV2 ¶
type TxrV2 struct {
// contains filtered or unexported fields
}
TxrV2 is the main transactor object. TODO: deprecate off being a job.
func NewTransactor ¶
NewTransactor creates a new transactor with the given config and signer.
func (*TxrV2) GetPreconfirmedState ¶
func (t *TxrV2) GetPreconfirmedState(msgID string) types.PreconfirmedState
GetPreconfirmedState returns the status of the given message ID before it has been confirmed by the chain.
func (*TxrV2) IntervalTime ¶
IntervalTime implements job.Polling.
func (*TxrV2) OnStale ¶
OnStale is called when a transaction becomes stale after the configured timeout.
func (*TxrV2) OnSuccess ¶
OnSuccess is called when a transaction has been successfully included in a block.
func (*TxrV2) SendTxRequest ¶
SendTxRequest adds the given tx request to the tx queue, after validating it.
func (*TxrV2) SubscribeTxResults ¶
func (t *TxrV2) SubscribeTxResults(ctx context.Context, subscriber tracker.Subscriber)
SubscribeTxResults sends the tx results, once confirmed, to the given subscriber.
Click to show internal directories.
Click to hide internal directories.