Documentation
¶
Overview ¶
Package pipelinedb handles the db persistence of transactions/pipelines.
Index ¶
- type DB
- func (db *DB) Close() error
- func (db *DB) CountUnfinishedUnattachedPayoutGroup(ctx context.Context) (int64, error)
- func (db *DB) CreatePayoutGroup(ctx context.Context, payoutGroupID int64, payouts []*Payout) error
- func (db *DB) CreateTransaction(ctx context.Context, tx Transaction) (*Transaction, error)
- func (db *DB) FetchFirstUnfinishedUnattachedPayoutGroup(ctx context.Context) (*PayoutGroup, error)
- func (db *DB) FetchPayoutGroup(ctx context.Context, id int64) (*PayoutGroup, error)
- func (db *DB) FetchPayoutGroupPayoutCount(ctx context.Context, payoutGroupID int64) (int64, error)
- func (db *DB) FetchPayoutGroupPayouts(ctx context.Context, payoutGroupID int64) ([]*Payout, error)
- func (db *DB) FetchPayoutGroupTransactions(ctx context.Context, payoutGroupID int64) ([]*Transaction, error)
- func (db *DB) FetchPayoutProgress(ctx context.Context) (int64, int64, error)
- func (db *DB) FetchPayouts(ctx context.Context) ([]*Payout, error)
- func (db *DB) FetchTransaction(ctx context.Context, hash common.Hash) (*Transaction, error)
- func (db *DB) FetchTransactions(ctx context.Context) ([]*Transaction, error)
- func (db *DB) FetchUnfinishedTransactionsSortedIntoNonceGroups(ctx context.Context) ([]*NonceGroup, error)
- func (db *DB) FinalizeNonceGroup(ctx context.Context, nonceGroup *NonceGroup, statuses []*TxStatus) error
- func (db *DB) RecordStart(ctx context.Context, spender common.Address, owner *common.Address) error
- func (db *DB) Stats(ctx context.Context) (_ *DBStats, err error)
- func (db *DB) UpdateTransactionState(ctx context.Context, hash string, state TxState) error
- type DBStats
- type NonceGroup
- type Payout
- type PayoutGroup
- type Transaction
- type TxState
- type TxStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DB ¶
type DB struct {
// contains filtered or unexported fields
}
func (*DB) CountUnfinishedUnattachedPayoutGroup ¶
func (*DB) CreatePayoutGroup ¶
func (*DB) CreateTransaction ¶
func (db *DB) CreateTransaction(ctx context.Context, tx Transaction) (*Transaction, error)
func (*DB) FetchFirstUnfinishedUnattachedPayoutGroup ¶
func (db *DB) FetchFirstUnfinishedUnattachedPayoutGroup(ctx context.Context) (*PayoutGroup, error)
func (*DB) FetchPayoutGroup ¶
func (*DB) FetchPayoutGroupPayoutCount ¶
FetchPayoutGroupPayoutCount returns the count of payouts in a payout group.
func (*DB) FetchPayoutGroupPayouts ¶
FetchPayoutGroupPayouts returns all of the payouts for a given payout group.
func (*DB) FetchPayoutGroupTransactions ¶
func (db *DB) FetchPayoutGroupTransactions(ctx context.Context, payoutGroupID int64) ([]*Transaction, error)
FetchPayoutGroupTransactions returns all of the transactions for a given payout group.
func (*DB) FetchPayoutProgress ¶
func (*DB) FetchTransaction ¶
func (*DB) FetchTransactions ¶
func (db *DB) FetchTransactions(ctx context.Context) ([]*Transaction, error)
func (*DB) FetchUnfinishedTransactionsSortedIntoNonceGroups ¶
func (db *DB) FetchUnfinishedTransactionsSortedIntoNonceGroups(ctx context.Context) ([]*NonceGroup, error)
func (*DB) FinalizeNonceGroup ¶
func (db *DB) FinalizeNonceGroup(ctx context.Context, nonceGroup *NonceGroup, statuses []*TxStatus) error
FinalizeNonceGroup finalizes the transaction state for transactions in a nonce group. It also sets the final tx hash on the payout group for the confirmed transaction.
func (*DB) RecordStart ¶
type DBStats ¶
type DBStats struct { Spender *common.Address Owner *common.Address Payees int64 TotalPayouts int64 TotalUSD decimal.Decimal PendingPayouts int64 PendingUSD decimal.Decimal TotalPayoutGroups int64 PendingPayoutGroups int64 TotalTransactions int64 PendingTransactions int64 FailedTransactions int64 ConfirmedTransactions int64 DroppedTransactions int64 }
type NonceGroup ¶
type NonceGroup struct { Nonce uint64 PayoutGroupID int64 Txs []Transaction }
type PayoutGroup ¶
func PayoutGroupFromRow ¶
func PayoutGroupFromRow(row *payoutdb.PayoutGroup) (*PayoutGroup, error)
func PayoutGroupsFromRows ¶
func PayoutGroupsFromRows(rows []*payoutdb.PayoutGroup) ([]*PayoutGroup, error)
type Transaction ¶
type Transaction struct { CreatedAt time.Time Hash string Owner common.Address Spender common.Address Nonce uint64 EstimatedGasPrice *big.Int StorjPrice decimal.Decimal StorjTokens *big.Int PayoutGroupID int64 Raw []byte State TxState Receipt *types.Receipt }
func TransactionFromRow ¶
func TransactionFromRow(row *payoutdb.Transaction) (*Transaction, error)
func TransactionsFromRows ¶
func TransactionsFromRows(rows []*payoutdb.Transaction) ([]*Transaction, error)
type TxState ¶
type TxState string
const ( // TxPending represents a transactions that has not been mined but is // still in the txpool. TxPending TxState = "pending" // TxDropped represents a transaction that has not been mined and is // no longer in the txpool. Safe to retry. TxDropped TxState = "dropped" // TxFailed represents a transaction that has been either mined and failed or failed during the submit. // Not safe to retry. TxFailed TxState = "failed" // TxConfirmed represents a transaction that has been mined and confirmed. TxConfirmed TxState = "confirmed" )
func TxStateFromString ¶
Click to show internal directories.
Click to hide internal directories.