Documentation ¶
Index ¶
- Constants
- func SortSignaturesAndResults(sigs []solana.Signature, res []*rpc.SignatureStatusesResult) ([]solana.Signature, []*rpc.SignatureStatusesResult, error)
- type PendingTxContext
- type Txm
- func (txm *Txm) Close() error
- func (txm *Txm) Enqueue(accountID string, tx *solanaGo.Transaction) error
- func (txm *Txm) HealthReport() map[string]error
- func (txm *Txm) Healthy() error
- func (txm *Txm) InflightTxs() int
- func (txm *Txm) Name() string
- func (txm *Txm) Ready() error
- func (txm *Txm) Start(ctx context.Context) error
Constants ¶
View Source
const ( TxFailRevert = iota TxFailReject TxFailDrop TxFailSimRevert TxFailSimOther )
View Source
const ( MaxQueueLen = 1000 MaxRetryTimeMs = 250 // max tx retry time (exponential retry will taper to retry every 0.25s) MaxSigsToConfirm = 256 // max number of signatures in GetSignatureStatus call )
View Source
const ( NotFound = iota Processed ConfirmedRevert ConfirmedSuccess )
tx not found < tx processed < tx confirmed/finalized + revert < tx confirmed/finalized + success
Variables ¶
This section is empty.
Functions ¶
func SortSignaturesAndResults ¶ added in v1.13.0
func SortSignaturesAndResults(sigs []solana.Signature, res []*rpc.SignatureStatusesResult) ([]solana.Signature, []*rpc.SignatureStatusesResult, error)
Types ¶
type PendingTxContext ¶ added in v1.5.0
type PendingTxContext interface { New(sig solana.Signature, cancel context.CancelFunc) (uuid.UUID, error) Add(id uuid.UUID, sig solana.Signature) error Remove(sig solana.Signature) uuid.UUID ListAll() []solana.Signature Expired(sig solana.Signature, lifespan time.Duration) bool // state change hooks OnSuccess(sig solana.Signature) uuid.UUID OnError(sig solana.Signature, errType int) uuid.UUID // match err type using enum }
type Txm ¶
type Txm struct {
// contains filtered or unexported fields
}
Txm manages transactions for the solana blockchain. simple implementation with no persistently stored txs
func NewTxm ¶
func NewTxm(chainID string, tc func() (solanaClient.ReaderWriter, error), cfg config.Config, ks keystore.Solana, lggr logger.Logger) *Txm
NewTxm creates a txm. Uses simulation so should only be used to send txes to trusted contracts i.e. OCR.
func (*Txm) Enqueue ¶
func (txm *Txm) Enqueue(accountID string, tx *solanaGo.Transaction) error
Enqueue enqueue a msg destined for the solana chain.
func (*Txm) HealthReport ¶ added in v1.13.0
func (*Txm) InflightTxs ¶ added in v1.5.0
Click to show internal directories.
Click to hide internal directories.