Versions in this module Expand all Collapse all v0 v0.5.0 Jul 17, 2025 Changes in this version + var CacheLevelOpts = metrics.GaugeOpts + var ErrNilRecipientData = errors.New("nil recipient data") + type AnonymousOwnerWallet struct + Deserializer driver.Deserializer + IdentityCache *RecipientDataCache + Logger logging.Logger + WalletRegistry Registry + func NewAnonymousOwnerWallet(logger logging.Logger, IdentityProvider driver.IdentityProvider, ...) (*AnonymousOwnerWallet, error) + 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 struct + AuditorIdentity driver.Identity + IdentityProvider driver.IdentityProvider + WalletID string + func NewAuditorWallet(IdentityProvider driver.IdentityProvider, id string, identity driver.Identity) *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 struct + CertifierIdentity driver.Identity + IdentityProvider driver.IdentityProvider + WalletID string + func NewCertifierWallet(IdentityProvider driver.IdentityProvider, id string, identity driver.Identity) *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 struct + Deserializer driver.Deserializer + IdentityProvider driver.IdentityProvider + Logger logging.Logger + MetricsProvider metrics.Provider + TokenVault TokenVault + WalletsConfiguration WalletsConfiguration + func NewFactory(logger logging.Logger, identityProvider driver.IdentityProvider, ...) *Factory + func (w *Factory) NewWallet(ctx context.Context, id string, role identity.RoleType, wr Registry, ...) (driver.Wallet, error) + type IssuerTokenVault interface + ListHistoryIssuedTokens func(context.Context) (*token.IssuedTokens, error) + type IssuerWallet struct + IdentityProvider driver.IdentityProvider + IssuerIdentity driver.Identity + Logger logging.Logger + TokenVault IssuerTokenVault + WalletID string + func NewIssuerWallet(Logger logging.Logger, IdentityProvider driver.IdentityProvider, ...) *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 struct + IdentityProvider driver.IdentityProvider + OwnerAuditInfo []byte + OwnerIdentity driver.Identity + OwnerIdentityInfo identity.Info + TokenVault OwnerTokenVault + WalletID string + func NewLongTermOwnerWallet(IdentityProvider driver.IdentityProvider, TokenVault OwnerTokenVault, ...) (*LongTermOwnerWallet, error) + 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 struct + CacheLevelGauge metrics.Gauge + func NewMetrics(p metrics.Provider) *Metrics + type OwnerTokenVault interface + Balance func(ctx context.Context, id string, tokenType token.Type) (uint64, error) + UnspentTokensIteratorBy func(ctx context.Context, id string, tokenType token.Type) (driver.UnspentTokensIterator, error) + type RecipientDataBackendFunc func(ctx context.Context) (*driver.RecipientData, error) + type RecipientDataCache struct + Logger logging.Logger + func NewRecipientDataCache(Logger logging.Logger, backed RecipientDataBackendFunc, size int, ...) *RecipientDataCache + func (c *RecipientDataCache) RecipientData(ctx context.Context) (*driver.RecipientData, error) + type Registry interface + BindIdentity func(ctx context.Context, identity driver.Identity, eID string, wID string, ...) error + ContainsIdentity func(ctx context.Context, i driver.Identity, id string) bool + GetIdentityMetadata func(ctx context.Context, identity driver.Identity, wID string, meta any) error + Lookup func(ctx context.Context, id driver.WalletLookupID) (driver.Wallet, identity.Info, string, error) + RegisterIdentity func(ctx context.Context, config driver.IdentityConfiguration) error + RegisterWallet func(ctx context.Context, id string, wallet driver.Wallet) error + WalletIDs func(ctx context.Context) ([]string, error) + type RegistryEntry struct + Mutex *sync.RWMutex + Registry Registry + type Roles map[identity.RoleType]identity.Role + func NewRoles() Roles + func (m Roles) Register(usage identity.RoleType, role identity.Role) + func (m Roles) ToWalletRegistries(logger logging.Logger, db driver.WalletStoreService) map[identity.RoleType]Registry + type Service struct + Deserializer driver.Deserializer + IdentityProvider driver.IdentityProvider + Logger logging.Logger + Registries map[identity.RoleType]*RegistryEntry + WalletFactory walletFactory + func NewService(logger logging.Logger, identityProvider driver.IdentityProvider, ...) *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 interface + Balance func(ctx context.Context, id string, tokenType token.Type) (uint64, error) + IsPending func(ctx context.Context, id *token.ID) (bool, error) + ListHistoryIssuedTokens func(ctx context.Context) (*token.IssuedTokens, error) + UnspentTokensIteratorBy func(ctx context.Context, id string, tokenType token.Type) (driver.UnspentTokensIterator, error) + type WalletsConfiguration interface + CacheSizeForOwnerID func(id string) int