Documentation
¶
Index ¶
- Variables
- type Confirmation
- type Record
- func FromBlockTransaction(tx *solana.BlockTransaction, slot uint64, t time.Time) (*Record, error)
- func FromConfirmedTransaction(tx *solana.ConfirmedTransaction) (*Record, error)
- func FromLocalSimulation(tx *solana.Transaction, pre, post map[string]uint64) (*Record, error)
- func FromTransaction(tx *solana.Transaction) (*Record, error)
- type Store
- type TokenBalance
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNotFound = errors.New("no records could be found") ErrExists = errors.New("the transaction already exists") )
Functions ¶
This section is empty.
Types ¶
type Confirmation ¶
type Confirmation uint
const ( ConfirmationUnknown Confirmation = iota ConfirmationPending ConfirmationConfirmed ConfirmationFinalized ConfirmationFailed )
type Record ¶
type Record struct {
Id uint64
Signature string
Slot uint64
BlockTime time.Time
Data []byte
TokenBalances []*TokenBalance // The set of pre/post token balances for this transaction
HasErrors bool // Blockchain lookup required to find errors
Fee *uint64
ConfirmationState Confirmation
Confirmations uint64
CreatedAt time.Time
}
An atomic transaction that contains a set of digital signatures of a serialized [`Message`], signed by the first `signatures.len()` keys of [`account_keys`].
https://docs.solana.com/developing/clients/jsonrpc-api#token-balances-structure
func FromBlockTransaction ¶
func FromConfirmedTransaction ¶
func FromConfirmedTransaction(tx *solana.ConfirmedTransaction) (*Record, error)
func FromLocalSimulation ¶
func FromTransaction ¶
func FromTransaction(tx *solana.Transaction) (*Record, error)
func (*Record) GetTokenBalanceChanges ¶
func (r *Record) GetTokenBalanceChanges(account string) (*TokenBalance, error)
type Store ¶
type Store interface {
// Get returns a transaction record for the given signature.
//
// ErrNotFound is returned if no record is found.
Get(ctx context.Context, txId string) (*Record, error)
// Put saves transaction data to the store.
//
// ErrExists is returned if a transaction with the same signature already exists.
Put(ctx context.Context, transaction *Record) error
// GetAllByAddress returns a list of records that match a given address.
//
// ErrNotFound is returned if no records are found.
GetAllByAddress(ctx context.Context, address string, cursor uint64, limit uint, ordering query.Ordering) ([]*Record, error)
// GetLatestByState returns the latest record for a given state.
//
// ErrNotFound is returned if no records are found.
GetLatestByState(ctx context.Context, address string, state Confirmation) (*Record, error)
// GetFirstPending returns the latest record for a given state.
//
// ErrNotFound is returned if no records are found.
GetFirstPending(ctx context.Context, address string) (*Record, error)
// GetSignaturesByState returns a list of signatures that match given a confirmation state.
//
// ErrNotFound is returned if no records are found.
GetSignaturesByState(ctx context.Context, filter Confirmation, limit uint, ordering query.Ordering) ([]string, error)
}
type TokenBalance ¶
type TokenBalance struct {
// Id uint64
// TransactionId string
Account string
PreBalance uint64
PostBalance uint64
}
Token balance changes as a result of a transaction
Docs: https://docs.solana.com/developing/clients/jsonrpc-api#token-balances-structure Source: https://github.com/solana-labs/solana/blob/master/transaction-status/src/token_balances.rs
Click to show internal directories.
Click to hide internal directories.