Documentation ¶
Index ¶
- Constants
- Variables
- func DbEthTxAttemptStateToTxAttemptState(state string) txmgrtypes.TxAttemptState
- func DbReceiptFromEvmReceipt(evmReceipt *evmtypes.Receipt) dbReceipt
- func DbReceiptToEvmReceipt(receipt *dbReceipt) *evmtypes.Receipt
- func GetGethSignedTx(signedRawTx []byte) (*types.Transaction, error)
- func MakeTestConfigs(t *testing.T) (*MockConfig, *TestDatabaseConfig, *TestEvmConfig)
- func NewEvmTxAttemptBuilder(chainID big.Int, feeConfig evmTxAttemptBuilderFeeConfig, ...) *evmTxAttemptBuilder
- func NewEvmTxmClient(c client.Client) *evmTxmClient
- func NewEvmTxmConfig(c ChainConfig) *evmTxmConfig
- func NewEvmTxmFeeConfig(c FeeConfig) *evmTxmFeeConfig
- func NewTxStore(db *sqlx.DB, lggr logger.Logger, cfg pg.QConfig) *evmTxStore
- type Broadcaster
- type ChainConfig
- type ChainReceipt
- type CheckerFactory
- type Confirmer
- type DatabaseConfig
- type DbEthTx
- type DbEthTxAttempt
- type EvmBroadcasterConfig
- type EvmConfirmerConfig
- type EvmReaperConfig
- type EvmResenderConfig
- type EvmTxStore
- type EvmTxmConfig
- type EvmTxmFeeConfig
- type FeeConfig
- type FwdMgr
- type KeyStore
- type ListenerConfig
- type MockConfig
- func (c *MockConfig) ChainType() commonconfig.ChainType
- func (c *MockConfig) EVM() evmconfig.EVM
- func (c *MockConfig) FinalityDepth() uint32
- func (c *MockConfig) FinalityTagEnabled() bool
- func (c *MockConfig) NonceAutoSync() bool
- func (c *MockConfig) RPCDefaultBatchSize() uint32
- func (c *MockConfig) SetFinalityDepth(fd uint32)
- type NonceSyncer
- type NullTxManager
- type Reaper
- type Receipt
- type ReceiptPlus
- type Resender
- type SimulateChecker
- type TestBlockHistoryConfig
- type TestDatabaseConfig
- type TestEvmConfig
- type TestEvmTxStore
- type TestGasEstimatorConfig
- func (g *TestGasEstimatorConfig) BlockHistory() evmconfig.BlockHistory
- func (g *TestGasEstimatorConfig) BumpMin() *assets.Wei
- func (g *TestGasEstimatorConfig) BumpPercent() uint16
- func (g *TestGasEstimatorConfig) BumpThreshold() uint64
- func (g *TestGasEstimatorConfig) BumpTxDepth() uint32
- func (g *TestGasEstimatorConfig) EIP1559DynamicFees() bool
- func (g *TestGasEstimatorConfig) FeeCapDefault() *assets.Wei
- func (g *TestGasEstimatorConfig) LimitDefault() uint32
- func (g *TestGasEstimatorConfig) LimitJobType() evmconfig.LimitJobType
- func (g *TestGasEstimatorConfig) LimitMax() uint32
- func (g *TestGasEstimatorConfig) LimitMultiplier() float32
- func (g *TestGasEstimatorConfig) LimitTransfer() uint32
- func (g *TestGasEstimatorConfig) Mode() string
- func (g *TestGasEstimatorConfig) PriceDefault() *assets.Wei
- func (g *TestGasEstimatorConfig) PriceMax() *assets.Wei
- func (g *TestGasEstimatorConfig) PriceMaxKey(addr common.Address) *assets.Wei
- func (g *TestGasEstimatorConfig) PriceMin() *assets.Wei
- func (g *TestGasEstimatorConfig) TipCapDefault() *assets.Wei
- func (g *TestGasEstimatorConfig) TipCapMin() *assets.Wei
- type TestLimitJobTypeConfig
- type TestListenerConfig
- type Tracker
- type TransactionClient
- type TransactionStore
- type TransmitChecker
- type TransmitCheckerFactory
- type TransmitCheckerSpec
- type Tx
- type TxAttempt
- type TxAttemptBuilder
- type TxAttemptSigner
- type TxManager
- type TxMeta
- type TxRequest
- type TxStore
- type TxStoreWebApi
- type Txm
- type TxmClient
- type VRFV1Checker
- type VRFV2Checker
Constants ¶
const ( // TransmitCheckerTypeSimulate is a checker that simulates the transaction before executing on // chain. TransmitCheckerTypeSimulate = txmgrtypes.TransmitCheckerType("simulate") // TransmitCheckerTypeVRFV1 is a checker that will not submit VRF V1 fulfillment requests that // have already been fulfilled. This could happen if the request was fulfilled by another node. TransmitCheckerTypeVRFV1 = txmgrtypes.TransmitCheckerType("vrf_v1") // TransmitCheckerTypeVRFV2 is a checker that will not submit VRF V2 fulfillment requests that // have already been fulfilled. This could happen if the request was fulfilled by another node. TransmitCheckerTypeVRFV2 = txmgrtypes.TransmitCheckerType("vrf_v2") // TransmitCheckerTypeVRFV2Plus is a checker that will not submit VRF V2 plus fulfillment requests that // have already been fulfilled. This could happen if the request was fulfilled by another node. TransmitCheckerTypeVRFV2Plus = txmgrtypes.TransmitCheckerType("vrf_v2plus") )
Variables ¶
var ( ErrKeyNotUpdated = errors.New("evmTxStore: Key not updated") ErrInvalidQOpt = errors.New("evmTxStore: Invalid QOpt") // ErrCouldNotGetReceipt is the error string we save if we reach our finality depth for a confirmed transaction without ever getting a receipt // This most likely happened because an external wallet used the account for this nonce ErrCouldNotGetReceipt = "could not get receipt" )
Functions ¶
func DbEthTxAttemptStateToTxAttemptState ¶ added in v2.4.0
func DbEthTxAttemptStateToTxAttemptState(state string) txmgrtypes.TxAttemptState
func DbReceiptFromEvmReceipt ¶ added in v2.1.0
func DbReceiptToEvmReceipt ¶ added in v2.1.0
func GetGethSignedTx ¶ added in v2.2.0
func GetGethSignedTx(signedRawTx []byte) (*types.Transaction, error)
GetGethSignedTx decodes the SignedRawTx into a types.Transaction struct
func MakeTestConfigs ¶ added in v2.8.0
func MakeTestConfigs(t *testing.T) (*MockConfig, *TestDatabaseConfig, *TestEvmConfig)
func NewEvmTxAttemptBuilder ¶
func NewEvmTxAttemptBuilder(chainID big.Int, feeConfig evmTxAttemptBuilderFeeConfig, keystore TxAttemptSigner[common.Address], estimator gas.EvmFeeEstimator) *evmTxAttemptBuilder
func NewEvmTxmClient ¶ added in v2.2.0
func NewEvmTxmConfig ¶ added in v2.1.0
func NewEvmTxmConfig(c ChainConfig) *evmTxmConfig
func NewEvmTxmFeeConfig ¶ added in v2.3.0
func NewEvmTxmFeeConfig(c FeeConfig) *evmTxmFeeConfig
Types ¶
type Broadcaster ¶ added in v2.2.0
type Broadcaster = txmgr.Broadcaster[*big.Int, *evmtypes.Head, common.Address, common.Hash, common.Hash, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
func NewEvmBroadcaster ¶ added in v2.2.0
func NewEvmBroadcaster( txStore TransactionStore, client TransactionClient, chainConfig txmgrtypes.BroadcasterChainConfig, feeConfig txmgrtypes.BroadcasterFeeConfig, txConfig txmgrtypes.BroadcasterTransactionsConfig, listenerConfig txmgrtypes.BroadcasterListenerConfig, keystore KeyStore, txAttemptBuilder TxAttemptBuilder, nonceSyncer NonceSyncer, logger logger.Logger, checkerFactory TransmitCheckerFactory, autoSyncNonce bool, ) *Broadcaster
NewEvmBroadcaster returns a new concrete EvmBroadcaster
type ChainConfig ¶ added in v2.3.0
type ChainConfig interface { ChainType() config.ChainType FinalityDepth() uint32 FinalityTagEnabled() bool NonceAutoSync() bool RPCDefaultBatchSize() uint32 }
ChainConfig encompasses config used by txmgr package Unless otherwise specified, these should support changing at runtime
type ChainReceipt ¶ added in v2.3.0
type ChainReceipt = txmgrtypes.ChainReceipt[common.Hash, common.Hash]
Type aliases for EVM
type CheckerFactory ¶
CheckerFactory is a real implementation of TransmitCheckerFactory.
func (*CheckerFactory) BuildChecker ¶
func (c *CheckerFactory) BuildChecker(spec TransmitCheckerSpec) (TransmitChecker, error)
BuildChecker satisfies the TransmitCheckerFactory interface.
type Confirmer ¶ added in v2.2.0
type Confirmer = txmgr.Confirmer[*big.Int, *evmtypes.Head, common.Address, common.Hash, common.Hash, *evmtypes.Receipt, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
func NewEvmConfirmer ¶ added in v2.2.0
func NewEvmConfirmer( txStore TxStore, client TxmClient, chainConfig txmgrtypes.ConfirmerChainConfig, feeConfig txmgrtypes.ConfirmerFeeConfig, txConfig txmgrtypes.ConfirmerTransactionsConfig, dbConfig txmgrtypes.ConfirmerDatabaseConfig, keystore KeyStore, txAttemptBuilder TxAttemptBuilder, lggr logger.Logger, ) *Confirmer
NewEvmConfirmer instantiates a new EVM confirmer
type DatabaseConfig ¶ added in v2.3.0
type DbEthTx ¶ added in v2.1.0
type DbEthTx struct { ID int64 IdempotencyKey *string Nonce *int64 FromAddress common.Address ToAddress common.Address EncodedPayload []byte Value assets.Eth // GasLimit on the EthTx is always the conceptual gas limit, which is not // necessarily the same as the on-chain encoded value (i.e. Optimism) GasLimit uint32 Error nullv4.String // BroadcastAt is updated every time an attempt for this eth_tx is re-sent // In almost all cases it will be within a second or so of the actual send time. BroadcastAt *time.Time // InitialBroadcastAt is recorded once, the first ever time this eth_tx is sent CreatedAt time.Time State txmgrtypes.TxState // Marshalled EvmTxMeta // Used for additional context around transactions which you want to log // at send time. Meta *sqlutil.JSON Subject uuid.NullUUID PipelineTaskRunID uuid.NullUUID MinConfirmations null.Uint32 EVMChainID utils.Big // TransmitChecker defines the check that should be performed before a transaction is submitted on // chain. TransmitChecker *sqlutil.JSON InitialBroadcastAt *time.Time // Marks tx requiring callback SignalCallback bool // Marks tx callback as signaled CallbackCompleted bool }
Directly maps to columns of database table "evm.txes". This is exported, as tests and other external code still directly reads DB using this schema.
type DbEthTxAttempt ¶ added in v2.1.0
type DbEthTxAttempt struct { ID int64 EthTxID int64 GasPrice *assets.Wei SignedRawTx []byte Hash common.Hash BroadcastBeforeBlockNum *int64 State string CreatedAt time.Time ChainSpecificGasLimit uint32 TxType int GasTipCap *assets.Wei GasFeeCap *assets.Wei }
Directly maps to columns of database table "evm.tx_attempts". This is exported, as tests and other external code still directly reads DB using this schema.
func (*DbEthTxAttempt) FromTxAttempt ¶ added in v2.6.0
func (db *DbEthTxAttempt) FromTxAttempt(attempt *TxAttempt)
func (DbEthTxAttempt) ToTxAttempt ¶ added in v2.6.0
func (db DbEthTxAttempt) ToTxAttempt(attempt *TxAttempt)
type EvmBroadcasterConfig ¶ added in v2.1.0
type EvmBroadcasterConfig txmgrtypes.BroadcasterChainConfig
type EvmConfirmerConfig ¶ added in v2.1.0
type EvmConfirmerConfig txmgrtypes.ConfirmerChainConfig
type EvmReaperConfig ¶ added in v2.1.0
type EvmReaperConfig txmgrtypes.ReaperChainConfig
type EvmResenderConfig ¶ added in v2.1.0
type EvmResenderConfig txmgrtypes.ResenderChainConfig
type EvmTxStore ¶ added in v2.1.0
type EvmTxStore interface { // redeclare TxStore for mockery txmgrtypes.TxStore[common.Address, *big.Int, common.Hash, common.Hash, *evmtypes.Receipt, evmtypes.Nonce, gas.EvmFee] TxStoreWebApi }
EvmTxStore combines the txmgr tx store interface and the interface needed for the the API to read from the tx DB
type EvmTxmConfig ¶ added in v2.1.0
type EvmTxmConfig txmgrtypes.TransactionManagerChainConfig
type EvmTxmFeeConfig ¶ added in v2.3.0
type EvmTxmFeeConfig txmgrtypes.TransactionManagerFeeConfig
type FwdMgr ¶ added in v2.3.0
type FwdMgr = txmgrtypes.ForwarderManager[common.Address]
Type aliases for EVM
type ListenerConfig ¶ added in v2.3.0
type MockConfig ¶ added in v2.8.0
type MockConfig struct { EvmConfig *TestEvmConfig RpcDefaultBatchSize uint32 // contains filtered or unexported fields }
func (*MockConfig) ChainType ¶ added in v2.8.0
func (c *MockConfig) ChainType() commonconfig.ChainType
func (*MockConfig) EVM ¶ added in v2.8.0
func (c *MockConfig) EVM() evmconfig.EVM
func (*MockConfig) FinalityDepth ¶ added in v2.8.0
func (c *MockConfig) FinalityDepth() uint32
func (*MockConfig) FinalityTagEnabled ¶ added in v2.8.0
func (c *MockConfig) FinalityTagEnabled() bool
func (*MockConfig) NonceAutoSync ¶ added in v2.8.0
func (c *MockConfig) NonceAutoSync() bool
func (*MockConfig) RPCDefaultBatchSize ¶ added in v2.8.0
func (c *MockConfig) RPCDefaultBatchSize() uint32
func (*MockConfig) SetFinalityDepth ¶ added in v2.8.0
func (c *MockConfig) SetFinalityDepth(fd uint32)
type NonceSyncer ¶
Type aliases for EVM
func NewNonceSyncer ¶
func NewNonceSyncer( txStore EvmTxStore, lggr logger.Logger, ethClient evmclient.Client, ) NonceSyncer
NewNonceSyncer returns a new syncer
type NullTxManager ¶
type NullTxManager = txmgr.NullTxManager[*big.Int, *evmtypes.Head, common.Address, common.Hash, common.Hash, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
type Reaper ¶
Type aliases for EVM
func NewEvmReaper ¶ added in v2.2.0
func NewEvmReaper(lggr logger.Logger, store txmgrtypes.TxHistoryReaper[*big.Int], config EvmReaperConfig, txConfig txmgrtypes.ReaperTransactionsConfig, chainID *big.Int) *Reaper
NewEvmReaper instantiates a new EVM-specific reaper object
type Receipt ¶ added in v2.3.0
type Receipt = dbReceipt // EvmReceipt is the exported DB table model for receipts
Type aliases for EVM
type ReceiptPlus ¶ added in v2.3.0
type ReceiptPlus = txmgrtypes.ReceiptPlus[*evmtypes.Receipt]
Type aliases for EVM
type Resender ¶ added in v2.2.0
type Resender = txmgr.Resender[*big.Int, common.Address, common.Hash, common.Hash, *evmtypes.Receipt, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
func NewEvmResender ¶ added in v2.2.0
func NewEvmResender( lggr logger.Logger, txStore TransactionStore, client TransactionClient, tracker *Tracker, ks KeyStore, pollInterval time.Duration, config EvmResenderConfig, txConfig txmgrtypes.ResenderTransactionsConfig, ) *Resender
NewEvmResender creates a new concrete EvmResender
type SimulateChecker ¶
SimulateChecker simulates transactions, producing an error if they revert on chain.
type TestBlockHistoryConfig ¶ added in v2.8.0
type TestBlockHistoryConfig struct {
evmconfig.BlockHistory
}
func (*TestBlockHistoryConfig) BatchSize ¶ added in v2.8.0
func (b *TestBlockHistoryConfig) BatchSize() uint32
func (*TestBlockHistoryConfig) BlockDelay ¶ added in v2.8.0
func (b *TestBlockHistoryConfig) BlockDelay() uint16
func (*TestBlockHistoryConfig) BlockHistorySize ¶ added in v2.8.0
func (b *TestBlockHistoryConfig) BlockHistorySize() uint16
func (*TestBlockHistoryConfig) EIP1559FeeCapBufferBlocks ¶ added in v2.8.0
func (b *TestBlockHistoryConfig) EIP1559FeeCapBufferBlocks() uint16
func (*TestBlockHistoryConfig) TransactionPercentile ¶ added in v2.8.0
func (b *TestBlockHistoryConfig) TransactionPercentile() uint16
type TestDatabaseConfig ¶ added in v2.8.0
func (*TestDatabaseConfig) DefaultQueryTimeout ¶ added in v2.8.0
func (d *TestDatabaseConfig) DefaultQueryTimeout() time.Duration
func (*TestDatabaseConfig) Listener ¶ added in v2.8.0
func (d *TestDatabaseConfig) Listener() config.Listener
func (*TestDatabaseConfig) LogSQL ¶ added in v2.8.0
func (d *TestDatabaseConfig) LogSQL() bool
type TestEvmConfig ¶ added in v2.8.0
type TestEvmConfig struct { evmconfig.EVM MaxInFlight uint32 ReaperInterval time.Duration ReaperThreshold time.Duration ResendAfterThreshold time.Duration BumpThreshold uint64 MaxQueued uint64 }
func (*TestEvmConfig) FinalityDepth ¶ added in v2.8.0
func (e *TestEvmConfig) FinalityDepth() uint32
func (*TestEvmConfig) GasEstimator ¶ added in v2.8.0
func (e *TestEvmConfig) GasEstimator() evmconfig.GasEstimator
func (*TestEvmConfig) NonceAutoSync ¶ added in v2.8.0
func (e *TestEvmConfig) NonceAutoSync() bool
func (*TestEvmConfig) Transactions ¶ added in v2.8.0
func (e *TestEvmConfig) Transactions() evmconfig.Transactions
type TestEvmTxStore ¶ added in v2.3.0
type TestEvmTxStore interface { EvmTxStore // methods only used for testing purposes InsertReceipt(receipt *evmtypes.Receipt) (int64, error) InsertTx(etx *Tx) error FindTxAttemptsByTxIDs(ids []int64) ([]TxAttempt, error) InsertTxAttempt(attempt *TxAttempt) error LoadTxesAttempts(etxs []*Tx, qopts ...pg.QOpt) error GetFatalTransactions(ctx context.Context) (txes []*Tx, err error) }
type TestGasEstimatorConfig ¶ added in v2.8.0
type TestGasEstimatorConfig struct {
// contains filtered or unexported fields
}
func (*TestGasEstimatorConfig) BlockHistory ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) BlockHistory() evmconfig.BlockHistory
func (*TestGasEstimatorConfig) BumpMin ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) BumpMin() *assets.Wei
func (*TestGasEstimatorConfig) BumpPercent ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) BumpPercent() uint16
func (*TestGasEstimatorConfig) BumpThreshold ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) BumpThreshold() uint64
func (*TestGasEstimatorConfig) BumpTxDepth ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) BumpTxDepth() uint32
func (*TestGasEstimatorConfig) EIP1559DynamicFees ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) EIP1559DynamicFees() bool
func (*TestGasEstimatorConfig) FeeCapDefault ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) FeeCapDefault() *assets.Wei
func (*TestGasEstimatorConfig) LimitDefault ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) LimitDefault() uint32
func (*TestGasEstimatorConfig) LimitJobType ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) LimitJobType() evmconfig.LimitJobType
func (*TestGasEstimatorConfig) LimitMax ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) LimitMax() uint32
func (*TestGasEstimatorConfig) LimitMultiplier ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) LimitMultiplier() float32
func (*TestGasEstimatorConfig) LimitTransfer ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) LimitTransfer() uint32
func (*TestGasEstimatorConfig) Mode ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) Mode() string
func (*TestGasEstimatorConfig) PriceDefault ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) PriceDefault() *assets.Wei
func (*TestGasEstimatorConfig) PriceMax ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) PriceMax() *assets.Wei
func (*TestGasEstimatorConfig) PriceMaxKey ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) PriceMaxKey(addr common.Address) *assets.Wei
func (*TestGasEstimatorConfig) PriceMin ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) PriceMin() *assets.Wei
func (*TestGasEstimatorConfig) TipCapDefault ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) TipCapDefault() *assets.Wei
func (*TestGasEstimatorConfig) TipCapMin ¶ added in v2.8.0
func (g *TestGasEstimatorConfig) TipCapMin() *assets.Wei
type TestLimitJobTypeConfig ¶ added in v2.8.0
type TestLimitJobTypeConfig struct { }
func (*TestLimitJobTypeConfig) DR ¶ added in v2.8.0
func (l *TestLimitJobTypeConfig) DR() *uint32
func (*TestLimitJobTypeConfig) FM ¶ added in v2.8.0
func (l *TestLimitJobTypeConfig) FM() *uint32
func (*TestLimitJobTypeConfig) Keeper ¶ added in v2.8.0
func (l *TestLimitJobTypeConfig) Keeper() *uint32
func (*TestLimitJobTypeConfig) OCR ¶ added in v2.8.0
func (l *TestLimitJobTypeConfig) OCR() *uint32
func (*TestLimitJobTypeConfig) OCR2 ¶ added in v2.8.0
func (l *TestLimitJobTypeConfig) OCR2() *uint32
func (*TestLimitJobTypeConfig) VRF ¶ added in v2.8.0
func (l *TestLimitJobTypeConfig) VRF() *uint32
type TestListenerConfig ¶ added in v2.8.0
func (*TestListenerConfig) FallbackPollInterval ¶ added in v2.8.0
func (l *TestListenerConfig) FallbackPollInterval() time.Duration
type Tracker ¶ added in v2.8.0
type Tracker = txmgr.Tracker[*big.Int, common.Address, common.Hash, common.Hash, *evmtypes.Receipt, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
type TransactionClient ¶ added in v2.3.0
type TransactionClient = txmgrtypes.TransactionClient[*big.Int, common.Address, common.Hash, common.Hash, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
type TransactionStore ¶ added in v2.3.0
type TransactionStore = txmgrtypes.TransactionStore[common.Address, *big.Int, common.Hash, common.Hash, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
type TransmitChecker ¶
type TransmitChecker = txmgr.TransmitChecker[*big.Int, common.Address, common.Hash, common.Hash, evmtypes.Nonce, gas.EvmFee]
var ( // NoChecker is a TransmitChecker that always determines a transaction should be submitted. NoChecker TransmitChecker = noChecker{} )
type TransmitCheckerFactory ¶
type TransmitCheckerFactory = txmgr.TransmitCheckerFactory[*big.Int, common.Address, common.Hash, common.Hash, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
type TransmitCheckerSpec ¶
type TransmitCheckerSpec = txmgrtypes.TransmitCheckerSpec[common.Address]
type Tx ¶ added in v2.3.0
type Tx = txmgrtypes.Tx[*big.Int, common.Address, common.Hash, common.Hash, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
type TxAttempt ¶ added in v2.3.0
type TxAttempt = txmgrtypes.TxAttempt[*big.Int, common.Address, common.Hash, common.Hash, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
type TxAttemptBuilder ¶ added in v2.3.0
type TxAttemptBuilder = txmgrtypes.TxAttemptBuilder[*big.Int, *evmtypes.Head, common.Address, common.Hash, common.Hash, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
type TxAttemptSigner ¶
type TxAttemptSigner[ADDR commontypes.Hashable] interface { SignTx(fromAddress ADDR, tx *types.Transaction, chainID *big.Int) (*types.Transaction, error) }
type TxManager ¶
type TxManager = txmgr.TxManager[*big.Int, *evmtypes.Head, common.Address, common.Hash, common.Hash, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
func NewTxm ¶
func NewTxm( db *sqlx.DB, chainConfig ChainConfig, fCfg FeeConfig, txConfig config.Transactions, dbConfig DatabaseConfig, listenerConfig ListenerConfig, client evmclient.Client, lggr logger.Logger, logPoller logpoller.LogPoller, keyStore keystore.Eth, estimator gas.EvmFeeEstimator, ) (txm TxManager, err error, )
NewTxm constructs the necessary dependencies for the EvmTxm (broadcaster, confirmer, etc) and returns a new EvmTxManager
type TxStore ¶ added in v2.3.0
type TxStore = txmgrtypes.TxStore[common.Address, *big.Int, common.Hash, common.Hash, *evmtypes.Receipt, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
type TxStoreWebApi ¶ added in v2.3.0
type TxStoreWebApi interface { FindTxAttemptConfirmedByTxIDs(ids []int64) ([]TxAttempt, error) FindTxByHash(hash common.Hash) (*Tx, error) Transactions(offset, limit int) ([]Tx, int, error) TxAttempts(offset, limit int) ([]TxAttempt, int, error) TransactionsWithAttempts(offset, limit int) ([]Tx, int, error) FindTxAttempt(hash common.Hash) (*TxAttempt, error) FindTxWithAttempts(etxID int64) (etx Tx, err error) }
TxStoreWebApi encapsulates the methods that are not used by the txmgr and only used by the various web controllers and readers
type Txm ¶
type Txm = txmgr.Txm[*big.Int, *evmtypes.Head, common.Address, common.Hash, common.Hash, *evmtypes.Receipt, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
func NewEvmTxm ¶ added in v2.3.0
func NewEvmTxm( chainId *big.Int, cfg txmgrtypes.TransactionManagerChainConfig, txCfg txmgrtypes.TransactionManagerTransactionsConfig, keyStore KeyStore, lggr logger.Logger, checkerFactory TransmitCheckerFactory, fwdMgr FwdMgr, txAttemptBuilder TxAttemptBuilder, txStore TxStore, nonceSyncer NonceSyncer, broadcaster *Broadcaster, confirmer *Confirmer, resender *Resender, tracker *Tracker, ) *Txm
NewEvmTxm creates a new concrete EvmTxm
type TxmClient ¶ added in v2.3.0
type TxmClient = txmgrtypes.TxmClient[*big.Int, common.Address, common.Hash, common.Hash, *evmtypes.Receipt, evmtypes.Nonce, gas.EvmFee]
Type aliases for EVM
type VRFV1Checker ¶
type VRFV1Checker struct { // Callbacks checks whether a VRF V1 request has already been fulfilled on the VRFCoordinator // Solidity contract Callbacks func(opts *bind.CallOpts, reqID [32]byte) (v1.Callbacks, error) Client evmclient.Client }
VRFV1Checker is an implementation of TransmitChecker that checks whether a VRF V1 fulfillment has already been fulfilled.
type VRFV2Checker ¶
type VRFV2Checker struct { // GetCommitment checks whether a VRF V2 request has been fulfilled on the VRFCoordinatorV2 // Solidity contract. GetCommitment func(opts *bind.CallOpts, requestID *big.Int) ([32]byte, error) // HeadByNumber fetches the head given the number. If nil is provided, // the latest header is fetched. HeadByNumber func(ctx context.Context, n *big.Int) (*types.Head, error) // RequestBlockNumber is the block number of the VRFV2 request. RequestBlockNumber *big.Int }
VRFV2Checker is an implementation of TransmitChecker that checks whether a VRF V2 fulfillment has already been fulfilled.