Documentation
¶
Index ¶
- Constants
- Variables
- type ActionType
- type HoldingsFilter
- type MovementRecord
- type PageTransactionsIterator
- type Pagination
- type PaymentsFilter
- func (f *PaymentsFilter) ByEnrollmentId(id string) *PaymentsFilter
- func (f *PaymentsFilter) ByType(tokenType token.Type) *PaymentsFilter
- func (f *PaymentsFilter) Execute(ctx context.Context) (*PaymentsFilter, error)
- func (f *PaymentsFilter) Last(num int) *PaymentsFilter
- func (f *PaymentsFilter) Sum() *big.Int
- type QueryTokenRequestsParams
- type QueryTransactionsParams
- type StoreService
- func (d *StoreService) AcquireLocks(ctx context.Context, anchor string, eIDs ...string) error
- func (d *StoreService) Append(ctx context.Context, req tokenRequest) error
- func (d *StoreService) GetStatus(ctx context.Context, txID string) (TxStatus, string, error)
- func (d *StoreService) GetTokenRequest(ctx context.Context, txID string) ([]byte, error)
- func (d *StoreService) NewHoldingsFilter() *HoldingsFilter
- func (d *StoreService) NewPaymentsFilter() *PaymentsFilter
- func (d *StoreService) ReleaseLocks(ctx context.Context, anchor string)
- func (d *StoreService) SetStatus(ctx context.Context, txID string, status driver.TxStatus, message string) error
- func (d *StoreService) TokenRequests(ctx context.Context, params QueryTokenRequestsParams) (driver.TokenRequestIterator, error)
- func (d *StoreService) Transactions(ctx context.Context, params QueryTransactionsParams, pagination Pagination) (*PageTransactionsIterator, error)
- type StoreServiceManager
- type TransactionRecord
- type TxStatus
- type Wallet
Constants ¶
const ( // Unknown is the status of a transaction that is unknown Unknown = driver.Unknown // Pending is the status of a transaction that has been submitted to the ledger Pending = driver.Pending // Confirmed is the status of a transaction that has been confirmed by the ledger Confirmed = driver.Confirmed // Deleted is the status of a transaction that has been deleted due to a failure to commit Deleted = driver.Deleted )
Variables ¶
var TxStatusMessage = driver.TxStatusMessage
TxStatusMessage maps TxStatus to string
Functions ¶
This section is empty.
Types ¶
type ActionType ¶
type ActionType = driver.ActionType
ActionType is the type of action performed by a transaction.
const ( // Issue is the action type for issuing tokens. Issue ActionType = iota // Transfer is the action type for transferring tokens. Transfer // Redeem is the action type for redeeming tokens. Redeem )
type HoldingsFilter ¶
type HoldingsFilter struct {
// contains filtered or unexported fields
}
func (*HoldingsFilter) ByEnrollmentId ¶
func (f *HoldingsFilter) ByEnrollmentId(id string) *HoldingsFilter
func (*HoldingsFilter) ByType ¶
func (f *HoldingsFilter) ByType(tokenType token.Type) *HoldingsFilter
func (*HoldingsFilter) Execute ¶
func (f *HoldingsFilter) Execute(ctx context.Context) (*HoldingsFilter, error)
func (*HoldingsFilter) Sum ¶
func (f *HoldingsFilter) Sum() *big.Int
type MovementRecord ¶
type MovementRecord = driver.MovementRecord
MovementRecord is a record of a movement of assets. Given a Token Transaction, a movement record is created for each enrollment ID that participated in the transaction and each token type that was transferred. The movement record contains the total amount of the token type that was transferred to/from the enrollment ID in a given token transaction.
type PageTransactionsIterator ¶ added in v0.5.0
type PageTransactionsIterator = cdriver.PageIterator[*TransactionRecord]
Pagination iterator defines the pagination iterator for movements query results
type Pagination ¶ added in v0.5.0
type Pagination = cdriver.Pagination
Pagination defines the pagination for querying movements
type PaymentsFilter ¶
type PaymentsFilter struct {
// contains filtered or unexported fields
}
PaymentsFilter is a filter for payments.
func (*PaymentsFilter) ByEnrollmentId ¶
func (f *PaymentsFilter) ByEnrollmentId(id string) *PaymentsFilter
ByEnrollmentId add an enrollment id to the filter.
func (*PaymentsFilter) ByType ¶
func (f *PaymentsFilter) ByType(tokenType token.Type) *PaymentsFilter
func (*PaymentsFilter) Execute ¶
func (f *PaymentsFilter) Execute(ctx context.Context) (*PaymentsFilter, error)
func (*PaymentsFilter) Last ¶
func (f *PaymentsFilter) Last(num int) *PaymentsFilter
func (*PaymentsFilter) Sum ¶
func (f *PaymentsFilter) Sum() *big.Int
type QueryTokenRequestsParams ¶
type QueryTokenRequestsParams = driver.QueryTokenRequestsParams
QueryTokenRequestsParams defines the parameters for querying token requests
type QueryTransactionsParams ¶
type QueryTransactionsParams = driver.QueryTransactionsParams
QueryTransactionsParams defines the parameters for querying movements
type StoreService ¶ added in v0.5.0
type StoreService struct { *common.StatusSupport // contains filtered or unexported fields }
StoreService is a database that stores token transactions related information
func GetByTMSId ¶
func GetByTMSId(sp token.ServiceProvider, tmsID token.TMSID) (*StoreService, error)
func (*StoreService) AcquireLocks ¶ added in v0.5.0
AcquireLocks acquires locks for the passed anchor and enrollment ids. This can be used to prevent concurrent read/write access to the audit records of the passed enrollment ids.
func (*StoreService) Append ¶ added in v0.5.0
func (d *StoreService) Append(ctx context.Context, req tokenRequest) error
Append appends send and receive movements, and transaction records corresponding to the passed token request
func (*StoreService) GetStatus ¶ added in v0.5.0
GetStatus return the status of the given transaction id. It returns an error if no transaction with that id is found
func (*StoreService) GetTokenRequest ¶ added in v0.5.0
GetTokenRequest returns the token request bound to the passed transaction id, if available.
func (*StoreService) NewHoldingsFilter ¶ added in v0.5.0
func (d *StoreService) NewHoldingsFilter() *HoldingsFilter
NewHoldingsFilter returns a programmable filter over the holdings owned by enrollment IDs.
func (*StoreService) NewPaymentsFilter ¶ added in v0.5.0
func (d *StoreService) NewPaymentsFilter() *PaymentsFilter
NewPaymentsFilter returns a programmable filter over the payments sent or received by enrollment IDs.
func (*StoreService) ReleaseLocks ¶ added in v0.5.0
func (d *StoreService) ReleaseLocks(ctx context.Context, anchor string)
ReleaseLocks releases the locks associated to the passed anchor
func (*StoreService) SetStatus ¶ added in v0.5.0
func (d *StoreService) SetStatus(ctx context.Context, txID string, status driver.TxStatus, message string) error
SetStatus sets the status of the audit records with the passed transaction id to the passed status
func (*StoreService) TokenRequests ¶ added in v0.5.0
func (d *StoreService) TokenRequests(ctx context.Context, params QueryTokenRequestsParams) (driver.TokenRequestIterator, error)
TokenRequests returns an iterator over the token requests matching the passed params
func (*StoreService) Transactions ¶ added in v0.5.0
func (d *StoreService) Transactions(ctx context.Context, params QueryTransactionsParams, pagination Pagination) (*PageTransactionsIterator, error)
Transactions returns an iterators of transaction records filtered by the given params.
type StoreServiceManager ¶ added in v0.5.0
type StoreServiceManager db.StoreServiceManager[*StoreService]
func NewStoreServiceManager ¶ added in v0.5.0
func NewStoreServiceManager(cp cdriver.ConfigService, drivers multiplexed.Driver) StoreServiceManager
type TransactionRecord ¶
type TransactionRecord = driver.TransactionRecord
TransactionRecord is a more finer-grained version of a movement record. Given a Token Transaction, for each token action in the Token Request, a transaction record is created for each unique enrollment ID found in the outputs. The transaction record contains the total amount of the token type that was transferred to/from that enrollment ID in that action.
type Wallet ¶
type Wallet interface { // ID returns the wallet ID ID() string // TMS returns the TMS of the wallet TMS() *token.ManagementService }
Wallet models a wallet