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.