Documentation
¶
Index ¶
- Variables
- type AnonymousOwnerWallet
- func (w *AnonymousOwnerWallet) Contains(identity driver.Identity) bool
- func (w *AnonymousOwnerWallet) ContainsToken(token *token.UnspentToken) bool
- func (w *AnonymousOwnerWallet) GetRecipientData(ctx context.Context) (*driver.RecipientData, error)
- func (w *AnonymousOwnerWallet) GetRecipientIdentity(ctx context.Context) (driver.Identity, error)
- func (w *AnonymousOwnerWallet) GetSigner(ctx context.Context, identity driver.Identity) (driver.Signer, error)
- func (w *AnonymousOwnerWallet) RegisterRecipient(ctx context.Context, data *driver.RecipientData) error
- type AuditorWallet
- func (w *AuditorWallet) Contains(identity driver.Identity) bool
- func (w *AuditorWallet) ContainsToken(token *token.UnspentToken) bool
- func (w *AuditorWallet) GetAuditorIdentity() (driver.Identity, error)
- func (w *AuditorWallet) GetSigner(ctx context.Context, identity driver.Identity) (driver.Signer, error)
- func (w *AuditorWallet) ID() string
- type CertifierWallet
- func (w *CertifierWallet) Contains(identity driver.Identity) bool
- func (w *CertifierWallet) ContainsToken(token *token.UnspentToken) bool
- func (w *CertifierWallet) GetCertifierIdentity() (driver.Identity, error)
- func (w *CertifierWallet) GetSigner(ctx context.Context, identity driver.Identity) (driver.Signer, error)
- func (w *CertifierWallet) ID() string
- type Factory
- type IssuerTokenVault
- type IssuerWallet
- func (w *IssuerWallet) Contains(identity driver.Identity) bool
- func (w *IssuerWallet) ContainsToken(token *token.UnspentToken) bool
- func (w *IssuerWallet) GetIssuerIdentity(tokenType token.Type) (driver.Identity, error)
- func (w *IssuerWallet) GetSigner(ctx context.Context, identity driver.Identity) (driver.Signer, error)
- func (w *IssuerWallet) HistoryTokens(ctx context.Context, opts *driver.ListTokensOptions) (*token.IssuedTokens, error)
- func (w *IssuerWallet) ID() string
- type LongTermOwnerWallet
- func (w *LongTermOwnerWallet) Balance(ctx context.Context, opts *driver.ListTokensOptions) (uint64, error)
- func (w *LongTermOwnerWallet) Contains(identity driver.Identity) bool
- func (w *LongTermOwnerWallet) ContainsToken(token *token.UnspentToken) bool
- func (w *LongTermOwnerWallet) EnrollmentID() string
- func (w *LongTermOwnerWallet) GetAuditInfo(ctx context.Context, id driver.Identity) ([]byte, error)
- func (w *LongTermOwnerWallet) GetRecipientData(context.Context) (*driver.RecipientData, error)
- func (w *LongTermOwnerWallet) GetRecipientIdentity(context.Context) (driver.Identity, error)
- func (w *LongTermOwnerWallet) GetSigner(ctx context.Context, identity driver.Identity) (driver.Signer, error)
- func (w *LongTermOwnerWallet) GetTokenMetadata(id driver.Identity) ([]byte, error)
- func (w *LongTermOwnerWallet) GetTokenMetadataAuditInfo(id driver.Identity) ([]byte, error)
- func (w *LongTermOwnerWallet) ID() string
- func (w *LongTermOwnerWallet) ListTokens(opts *driver.ListTokensOptions) (*token.UnspentTokens, error)
- func (w *LongTermOwnerWallet) ListTokensIterator(opts *driver.ListTokensOptions) (driver.UnspentTokensIterator, error)
- func (w *LongTermOwnerWallet) RegisterRecipient(ctx context.Context, data *driver.RecipientData) error
- func (w *LongTermOwnerWallet) Remote() bool
- type Metrics
- type OwnerTokenVault
- type RecipientDataBackendFunc
- type RecipientDataCache
- type Registry
- type RegistryEntry
- type Roles
- type Service
- func (s *Service) AuditorWallet(ctx context.Context, id driver.WalletLookupID) (driver.AuditorWallet, error)
- func (s *Service) CertifierWallet(ctx context.Context, id driver.WalletLookupID) (driver.CertifierWallet, error)
- func (s *Service) GetAuditInfo(ctx context.Context, id driver.Identity) ([]byte, error)
- func (s *Service) GetEIDAndRH(identity driver.Identity, auditInfo []byte) (string, string, error)
- func (s *Service) GetEnrollmentID(identity driver.Identity, auditInfo []byte) (string, error)
- func (s *Service) GetRevocationHandle(identity driver.Identity, auditInfo []byte) (string, error)
- func (s *Service) IssuerWallet(ctx context.Context, id driver.WalletLookupID) (driver.IssuerWallet, error)
- func (s *Service) OwnerWallet(ctx context.Context, id driver.WalletLookupID) (driver.OwnerWallet, error)
- func (s *Service) OwnerWalletIDs(ctx context.Context) ([]string, error)
- func (s *Service) RegisterIssuerIdentity(ctx context.Context, config driver.IdentityConfiguration) error
- func (s *Service) RegisterOwnerIdentity(ctx context.Context, config driver.IdentityConfiguration) error
- func (s *Service) RegisterRecipientIdentity(ctx context.Context, data *driver.RecipientData) error
- func (s *Service) SpendIDs(ids ...*token.ID) ([]string, error)
- func (s *Service) Wallet(ctx context.Context, identity driver.Identity) driver.Wallet
- type TokenVault
- type WalletsConfiguration
Constants ¶
This section is empty.
Variables ¶
View Source
var ( CacheLevelOpts = metrics.GaugeOpts{ Namespace: "wallet", Name: "recipient_data_cache_level", Help: "Level of the wallet recipient data cache", LabelNames: []string{"network", "channel", "namespace"}, StatsdFormat: "%{#fqname}.%{network}.%{channel}.%{namespace}", } )
View Source
var (
ErrNilRecipientData = errors.New("nil recipient data")
)
Functions ¶
This section is empty.
Types ¶
type AnonymousOwnerWallet ¶
type AnonymousOwnerWallet struct {
*LongTermOwnerWallet
Logger logging.Logger
Deserializer driver.Deserializer
WalletRegistry Registry
IdentityCache *RecipientDataCache
}
func NewAnonymousOwnerWallet ¶
func NewAnonymousOwnerWallet( logger logging.Logger, IdentityProvider driver.IdentityProvider, TokenVault OwnerTokenVault, Deserializer driver.Deserializer, walletRegistry Registry, id string, identityInfo identity.Info, cacheSize int, metricsProvider metrics.Provider, ) (*AnonymousOwnerWallet, error)
func (*AnonymousOwnerWallet) Contains ¶
func (w *AnonymousOwnerWallet) Contains(identity driver.Identity) bool
func (*AnonymousOwnerWallet) ContainsToken ¶
func (w *AnonymousOwnerWallet) ContainsToken(token *token.UnspentToken) bool
ContainsToken returns true if the passed token is owned by this wallet
func (*AnonymousOwnerWallet) GetRecipientData ¶
func (w *AnonymousOwnerWallet) GetRecipientData(ctx context.Context) (*driver.RecipientData, error)
func (*AnonymousOwnerWallet) GetRecipientIdentity ¶
func (*AnonymousOwnerWallet) RegisterRecipient ¶
func (w *AnonymousOwnerWallet) RegisterRecipient(ctx context.Context, data *driver.RecipientData) error
type AuditorWallet ¶
type AuditorWallet struct {
IdentityProvider driver.IdentityProvider
WalletID string
AuditorIdentity driver.Identity
}
func NewAuditorWallet ¶
func NewAuditorWallet(IdentityProvider driver.IdentityProvider, id string, identity driver.Identity) *AuditorWallet
func (*AuditorWallet) ContainsToken ¶
func (w *AuditorWallet) ContainsToken(token *token.UnspentToken) bool
func (*AuditorWallet) GetAuditorIdentity ¶
func (w *AuditorWallet) GetAuditorIdentity() (driver.Identity, error)
func (*AuditorWallet) ID ¶
func (w *AuditorWallet) ID() string
type CertifierWallet ¶
type CertifierWallet struct {
IdentityProvider driver.IdentityProvider
WalletID string
CertifierIdentity driver.Identity
}
func NewCertifierWallet ¶
func NewCertifierWallet(IdentityProvider driver.IdentityProvider, id string, identity driver.Identity) *CertifierWallet
func (*CertifierWallet) Contains ¶
func (w *CertifierWallet) Contains(identity driver.Identity) bool
func (*CertifierWallet) ContainsToken ¶
func (w *CertifierWallet) ContainsToken(token *token.UnspentToken) bool
func (*CertifierWallet) GetCertifierIdentity ¶
func (w *CertifierWallet) GetCertifierIdentity() (driver.Identity, error)
func (*CertifierWallet) ID ¶
func (w *CertifierWallet) ID() string
type Factory ¶
type Factory struct {
Logger logging.Logger
IdentityProvider driver.IdentityProvider
TokenVault TokenVault
WalletsConfiguration WalletsConfiguration
Deserializer driver.Deserializer
MetricsProvider metrics.Provider
}
func NewFactory ¶
func NewFactory( logger logging.Logger, identityProvider driver.IdentityProvider, tokenVault TokenVault, walletsConfiguration WalletsConfiguration, deserializer driver.Deserializer, metricsProvider metrics.Provider, ) *Factory
type IssuerTokenVault ¶
type IssuerTokenVault interface {
ListHistoryIssuedTokens(context.Context) (*token.IssuedTokens, error)
}
type IssuerWallet ¶
type IssuerWallet struct {
Logger logging.Logger
IdentityProvider driver.IdentityProvider
TokenVault IssuerTokenVault
WalletID string
IssuerIdentity driver.Identity
}
func NewIssuerWallet ¶
func NewIssuerWallet(Logger logging.Logger, IdentityProvider driver.IdentityProvider, TokenVault IssuerTokenVault, id string, identity driver.Identity) *IssuerWallet
func (*IssuerWallet) ContainsToken ¶
func (w *IssuerWallet) ContainsToken(token *token.UnspentToken) bool
func (*IssuerWallet) GetIssuerIdentity ¶
func (*IssuerWallet) HistoryTokens ¶
func (w *IssuerWallet) HistoryTokens(ctx context.Context, opts *driver.ListTokensOptions) (*token.IssuedTokens, error)
func (*IssuerWallet) ID ¶
func (w *IssuerWallet) ID() string
type LongTermOwnerWallet ¶
type LongTermOwnerWallet struct {
IdentityProvider driver.IdentityProvider
TokenVault OwnerTokenVault
WalletID string
OwnerIdentityInfo identity.Info
OwnerIdentity driver.Identity
OwnerAuditInfo []byte
}
func NewLongTermOwnerWallet ¶
func NewLongTermOwnerWallet(IdentityProvider driver.IdentityProvider, TokenVault OwnerTokenVault, id string, identityInfo identity.Info) (*LongTermOwnerWallet, error)
func (*LongTermOwnerWallet) Balance ¶
func (w *LongTermOwnerWallet) Balance(ctx context.Context, opts *driver.ListTokensOptions) (uint64, error)
func (*LongTermOwnerWallet) Contains ¶
func (w *LongTermOwnerWallet) Contains(identity driver.Identity) bool
func (*LongTermOwnerWallet) ContainsToken ¶
func (w *LongTermOwnerWallet) ContainsToken(token *token.UnspentToken) bool
func (*LongTermOwnerWallet) EnrollmentID ¶
func (w *LongTermOwnerWallet) EnrollmentID() string
func (*LongTermOwnerWallet) GetAuditInfo ¶
func (*LongTermOwnerWallet) GetRecipientData ¶
func (w *LongTermOwnerWallet) GetRecipientData(context.Context) (*driver.RecipientData, error)
func (*LongTermOwnerWallet) GetRecipientIdentity ¶
func (*LongTermOwnerWallet) GetTokenMetadata ¶
func (w *LongTermOwnerWallet) GetTokenMetadata(id driver.Identity) ([]byte, error)
func (*LongTermOwnerWallet) GetTokenMetadataAuditInfo ¶
func (w *LongTermOwnerWallet) GetTokenMetadataAuditInfo(id driver.Identity) ([]byte, error)
func (*LongTermOwnerWallet) ID ¶
func (w *LongTermOwnerWallet) ID() string
func (*LongTermOwnerWallet) ListTokens ¶
func (w *LongTermOwnerWallet) ListTokens(opts *driver.ListTokensOptions) (*token.UnspentTokens, error)
func (*LongTermOwnerWallet) ListTokensIterator ¶
func (w *LongTermOwnerWallet) ListTokensIterator(opts *driver.ListTokensOptions) (driver.UnspentTokensIterator, error)
func (*LongTermOwnerWallet) RegisterRecipient ¶
func (w *LongTermOwnerWallet) RegisterRecipient(ctx context.Context, data *driver.RecipientData) error
func (*LongTermOwnerWallet) Remote ¶
func (w *LongTermOwnerWallet) Remote() bool
type Metrics ¶
Metrics contains the metrics for this package
func NewMetrics ¶
NewMetrics instantiate the metrics for this package
type OwnerTokenVault ¶
type RecipientDataBackendFunc ¶
type RecipientDataBackendFunc func(ctx context.Context) (*driver.RecipientData, error)
type RecipientDataCache ¶
func NewRecipientDataCache ¶
func NewRecipientDataCache(Logger logging.Logger, backed RecipientDataBackendFunc, size int, metrics *Metrics) *RecipientDataCache
func (*RecipientDataCache) RecipientData ¶
func (c *RecipientDataCache) RecipientData(ctx context.Context) (*driver.RecipientData, error)
type Registry ¶
type Registry interface {
WalletIDs(ctx context.Context) ([]string, error)
RegisterIdentity(ctx context.Context, config driver.IdentityConfiguration) error
Lookup(ctx context.Context, id driver.WalletLookupID) (driver.Wallet, identity.Info, string, error)
RegisterWallet(ctx context.Context, id string, wallet driver.Wallet) error
BindIdentity(ctx context.Context, identity driver.Identity, eID string, wID string, meta any) error
ContainsIdentity(ctx context.Context, i driver.Identity, id string) bool
GetIdentityMetadata(ctx context.Context, identity driver.Identity, wID string, meta any) error
}
type RegistryEntry ¶
type Roles ¶
Roles is a map of Role, one for each identity role
func (Roles) ToWalletRegistries ¶
type Service ¶
type Service struct {
Logger logging.Logger
IdentityProvider driver.IdentityProvider
Deserializer driver.Deserializer
WalletFactory walletFactory
Registries map[identity.RoleType]*RegistryEntry
}
func NewService ¶
func NewService( logger logging.Logger, identityProvider driver.IdentityProvider, deserializer driver.Deserializer, walletFactory walletFactory, walletRegistries map[identity.RoleType]Registry, ) *Service
func (*Service) AuditorWallet ¶
func (s *Service) AuditorWallet(ctx context.Context, id driver.WalletLookupID) (driver.AuditorWallet, error)
func (*Service) CertifierWallet ¶
func (s *Service) CertifierWallet(ctx context.Context, id driver.WalletLookupID) (driver.CertifierWallet, error)
func (*Service) GetAuditInfo ¶
func (*Service) GetEIDAndRH ¶
func (*Service) GetEnrollmentID ¶
func (*Service) GetRevocationHandle ¶
func (*Service) IssuerWallet ¶
func (s *Service) IssuerWallet(ctx context.Context, id driver.WalletLookupID) (driver.IssuerWallet, error)
func (*Service) OwnerWallet ¶
func (s *Service) OwnerWallet(ctx context.Context, id driver.WalletLookupID) (driver.OwnerWallet, error)
func (*Service) OwnerWalletIDs ¶
func (*Service) RegisterIssuerIdentity ¶
func (*Service) RegisterOwnerIdentity ¶
func (*Service) RegisterRecipientIdentity ¶
type TokenVault ¶
type TokenVault interface {
IsPending(ctx context.Context, id *token.ID) (bool, error)
UnspentTokensIteratorBy(ctx context.Context, id string, tokenType token.Type) (driver.UnspentTokensIterator, error)
ListHistoryIssuedTokens(ctx context.Context) (*token.IssuedTokens, error)
Balance(ctx context.Context, id string, tokenType token.Type) (uint64, error)
}
type WalletsConfiguration ¶
Click to show internal directories.
Click to hide internal directories.