Documentation
¶
Index ¶
- Constants
- Variables
- type ActionDeserializer
- type AnonymousOwnerWallet
- func (w *AnonymousOwnerWallet) Contains(identity driver.Identity) bool
- func (w *AnonymousOwnerWallet) ContainsToken(token *token.UnspentToken) bool
- func (w *AnonymousOwnerWallet) GetRecipientIdentity() (driver.Identity, error)
- func (w *AnonymousOwnerWallet) GetSigner(identity driver.Identity) (driver.Signer, error)
- func (w *AnonymousOwnerWallet) RegisterRecipient(data *driver.RecipientData) error
- type AuditMatcherProvider
- 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(id driver.Identity) (driver.Signer, error)
- func (w *AuditorWallet) ID() string
- type Authorization
- type AuthorizationMultiplexer
- func (o *AuthorizationMultiplexer) AmIAnAuditor() bool
- func (o *AuthorizationMultiplexer) IsMine(tok *token2.Token) (string, []string, bool)
- func (o *AuthorizationMultiplexer) Issued(issuer token.Identity, tok *token2.Token) bool
- func (o *AuthorizationMultiplexer) OwnerType(raw []byte) (string, []byte, error)
- type Backend
- 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(id driver.Identity) (driver.Signer, error)
- func (w *CertifierWallet) ID() string
- type Context
- type Deserializer
- func (d *Deserializer) GetAuditorVerifier(id driver.Identity) (driver.Verifier, error)
- func (d *Deserializer) GetIssuerVerifier(id driver.Identity) (driver.Verifier, error)
- func (d *Deserializer) GetOwnerAuditInfo(id driver.Identity, p driver.AuditInfoProvider) ([][]byte, error)
- func (d *Deserializer) GetOwnerMatcher(raw []byte) (driver.Matcher, error)
- func (d *Deserializer) GetOwnerVerifier(id driver.Identity) (driver.Verifier, error)
- func (d *Deserializer) MatchOwnerIdentity(id driver.Identity, ai []byte) error
- func (d *Deserializer) Recipients(id driver.Identity) ([]driver.Identity, error)
- type Hashable
- type Hasher
- func (h *Hasher) AddBool(b bool) (int, error)
- func (h *Hasher) AddBytes(b []byte) error
- func (h *Hasher) AddFloat64(f float64) error
- func (h *Hasher) AddG1s(generators []*math.G1) error
- func (h *Hasher) AddInt(i int) error
- func (h *Hasher) AddInt32(i int32) error
- func (h *Hasher) AddString(s string) error
- func (h *Hasher) AddUInt64(i uint64) error
- func (h *Hasher) Digest() []byte
- func (h *Hasher) HexDigest() string
- type IdentityTokenAndMetadataDeserializer
- 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(identity driver.Identity) (driver.Signer, error)
- func (w *IssuerWallet) HistoryTokens(opts *driver.ListTokensOptions) (*token.IssuedTokens, error)
- func (w *IssuerWallet) ID() string
- type LedgerToken
- type LoadedToken
- type LongTermOwnerWallet
- func (w *LongTermOwnerWallet) Balance(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(id driver.Identity) ([]byte, error)
- func (w *LongTermOwnerWallet) GetRecipientIdentity() (driver.Identity, error)
- func (w *LongTermOwnerWallet) GetSigner(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(data *driver.RecipientData) error
- func (w *LongTermOwnerWallet) Remote() bool
- type MetadataCounterID
- type MetadataDeserializer
- type OwnerTokenVault
- type PublicParametersManager
- type PublicParamsDeserializer
- type PublicParamsManager
- type RecipientExtractor
- type RegistryEntry
- type Serializer
- type Service
- func (s *Service[T]) AuditorService() driver.AuditorService
- func (s *Service[T]) Authorization() driver.Authorization
- func (s *Service[T]) CertificationService() driver.CertificationService
- func (s *Service[T]) Configuration() driver.Configuration
- func (s *Service[T]) Deserializer() driver.Deserializer
- func (s *Service[T]) Done() error
- func (s *Service[T]) GetTokenInfo(meta *driver.TokenRequestMetadata, target []byte) ([]byte, error)
- func (s *Service[T]) IdentityProvider() driver.IdentityProvider
- func (s *Service[T]) IssueService() driver.IssueService
- func (s *Service[T]) PublicParamsManager() driver.PublicParamsManager
- func (s *Service[T]) Serializer() driver.Serializer
- func (s *Service[T]) TokensService() driver.TokensService
- func (s *Service[T]) TransferService() driver.TransferService
- func (s *Service[T]) WalletService() driver.WalletService
- type TokenAndMetadataDeserializer
- type TokenCertificationStorage
- type TokenDeserializer
- type TokenVault
- type TokensService
- type ValidateIssueFunc
- type ValidateTransferFunc
- type Validator
- func (v *Validator[P, T, TA, IA, DS]) UnmarshalActions(raw []byte) ([]interface{}, error)
- func (v *Validator[P, T, TA, IA, DS]) VerifyTokenRequest(ledger driver.Ledger, signatureProvider driver.SignatureProvider, ...) ([]interface{}, driver.ValidationAttributes, error)
- func (v *Validator[P, T, TA, IA, DS]) VerifyTokenRequestFromRaw(ctx context.Context, getState driver.GetStateFnc, anchor string, raw []byte) ([]interface{}, driver.ValidationAttributes, error)
- type VaultLedgerTokenAndMetadataLoader
- type VaultLedgerTokenLoader
- type VaultTokenCertificationLoader
- type VaultTokenInfoLoader
- type VaultTokenLoader
- type VerifierDeserializer
- type WalletBasedAuthorization
- type WalletFactory
- type WalletIdentityCache
- type WalletIdentityCacheBackendFunc
- type WalletRegistry
- type WalletService
- func (s *WalletService) AuditorWallet(id driver.WalletLookupID) (driver.AuditorWallet, error)
- func (s *WalletService) CertifierWallet(id driver.WalletLookupID) (driver.CertifierWallet, error)
- func (s *WalletService) GetAuditInfo(id driver.Identity) ([]byte, error)
- func (s *WalletService) GetEIDAndRH(identity driver.Identity, auditInfo []byte) (string, string, error)
- func (s *WalletService) GetEnrollmentID(identity driver.Identity, auditInfo []byte) (string, error)
- func (s *WalletService) GetRevocationHandle(identity driver.Identity, auditInfo []byte) (string, error)
- func (s *WalletService) IssuerWallet(id driver.WalletLookupID) (driver.IssuerWallet, error)
- func (s *WalletService) OwnerWallet(id driver.WalletLookupID) (driver.OwnerWallet, error)
- func (s *WalletService) OwnerWalletIDs() ([]string, error)
- func (s *WalletService) RegisterIssuerIdentity(config driver.IdentityConfiguration) error
- func (s *WalletService) RegisterOwnerIdentity(config driver.IdentityConfiguration) error
- func (s *WalletService) RegisterRecipientIdentity(data *driver.RecipientData) error
- func (s *WalletService) SpentIDs(ids ...*token.ID) ([]string, error)
- func (s *WalletService) Wallet(identity driver.Identity) driver.Wallet
Constants ¶
const (
TokenRequestToSign driver.ValidationAttributeID = "trs"
)
Variables ¶
var (
ErrNilRecipientData = err.New("nil recipient data")
)
Functions ¶
This section is empty.
Types ¶
type ActionDeserializer ¶ added in v0.4.0
type ActionDeserializer[TA driver.TransferAction, IA driver.IssueAction] interface { DeserializeActions(tr *driver.TokenRequest) ([]IA, []TA, error) }
type AnonymousOwnerWallet ¶ added in v0.4.0
type AnonymousOwnerWallet struct { *LongTermOwnerWallet Logger logging.Logger Deserializer driver.Deserializer WalletRegistry WalletRegistry IdentityCache *WalletIdentityCache }
func NewAnonymousOwnerWallet ¶ added in v0.4.0
func NewAnonymousOwnerWallet( logger logging.Logger, IdentityProvider driver.IdentityProvider, TokenVault OwnerTokenVault, Deserializer driver.Deserializer, walletRegistry WalletRegistry, id string, identityInfo driver.IdentityInfo, cacheSize int, ) (*AnonymousOwnerWallet, error)
func (*AnonymousOwnerWallet) Contains ¶ added in v0.4.0
func (w *AnonymousOwnerWallet) Contains(identity driver.Identity) bool
func (*AnonymousOwnerWallet) ContainsToken ¶ added in v0.4.0
func (w *AnonymousOwnerWallet) ContainsToken(token *token.UnspentToken) bool
ContainsToken returns true if the passed token is owned by this wallet
func (*AnonymousOwnerWallet) GetRecipientIdentity ¶ added in v0.4.0
func (w *AnonymousOwnerWallet) GetRecipientIdentity() (driver.Identity, error)
func (*AnonymousOwnerWallet) RegisterRecipient ¶ added in v0.4.0
func (w *AnonymousOwnerWallet) RegisterRecipient(data *driver.RecipientData) error
type AuditMatcherProvider ¶ added in v0.4.0
type AuditMatcherProvider interface { GetOwnerMatcher(raw []byte) (driver.Matcher, error) MatchOwnerIdentity(id driver.Identity, ai []byte) error GetOwnerAuditInfo(id driver.Identity, p driver.AuditInfoProvider) ([][]byte, error) }
AuditMatcherProvider provides audit related deserialization functionalities
type AuditorWallet ¶ added in v0.4.0
type AuditorWallet struct { IdentityProvider driver.IdentityProvider WalletID string AuditorIdentity driver.Identity }
func NewAuditorWallet ¶ added in v0.4.0
func NewAuditorWallet(IdentityProvider driver.IdentityProvider, id string, identity driver.Identity) *AuditorWallet
func (*AuditorWallet) Contains ¶ added in v0.4.0
func (w *AuditorWallet) Contains(identity driver.Identity) bool
func (*AuditorWallet) ContainsToken ¶ added in v0.4.0
func (w *AuditorWallet) ContainsToken(token *token.UnspentToken) bool
func (*AuditorWallet) GetAuditorIdentity ¶ added in v0.4.0
func (w *AuditorWallet) GetAuditorIdentity() (driver.Identity, error)
func (*AuditorWallet) ID ¶ added in v0.4.0
func (w *AuditorWallet) ID() string
type Authorization ¶ added in v0.4.0
type Authorization interface { // IsMine returns true if the passed token is owned by an owner wallet. // It returns the ID of the owner wallet and any additional owner identifier, if supported. // It is possible that the wallet ID is empty and the additional owner identifier list is not. IsMine(tok *token2.Token) (string, []string, bool) // AmIAnAuditor return true if the passed TMS contains an auditor wallet for any of the auditor identities // defined in the public parameters of the passed TMS. AmIAnAuditor() bool // Issued returns true if the passed issuer issued the passed token Issued(issuer token.Identity, tok *token2.Token) bool }
type AuthorizationMultiplexer ¶ added in v0.4.0
type AuthorizationMultiplexer struct {
// contains filtered or unexported fields
}
AuthorizationMultiplexer iterates over multiple authorization checker
func NewAuthorizationMultiplexer ¶ added in v0.4.0
func NewAuthorizationMultiplexer(ownerships ...Authorization) *AuthorizationMultiplexer
NewAuthorizationMultiplexer returns a new AuthorizationMultiplexer for the passed ownership checkers
func (*AuthorizationMultiplexer) AmIAnAuditor ¶ added in v0.4.0
func (o *AuthorizationMultiplexer) AmIAnAuditor() bool
AmIAnAuditor returns true it there exists an authorization checker that returns true
func (*AuthorizationMultiplexer) IsMine ¶ added in v0.4.0
IsMine returns true it there exists an authorization checker that returns true
type Backend ¶
type Backend struct { // Ledger to access the ledger state Ledger driver.GetStateFnc // signed Message Message []byte // Cursor is used to iterate over the signatures Cursor int // signatures on Message Sigs [][]byte }
func NewBackend ¶
func NewBackend(ledger driver.GetStateFnc, message []byte, sigs [][]byte) *Backend
func (*Backend) HasBeenSignedBy ¶
HasBeenSignedBy checks if a given Message has been signed by the signing identity matching the passed verifier
func (*Backend) Signatures ¶
type CertifierWallet ¶ added in v0.4.0
type CertifierWallet struct { IdentityProvider driver.IdentityProvider WalletID string CertifierIdentity driver.Identity }
func NewCertifierWallet ¶ added in v0.4.0
func NewCertifierWallet(IdentityProvider driver.IdentityProvider, id string, identity driver.Identity) *CertifierWallet
func (*CertifierWallet) Contains ¶ added in v0.4.0
func (w *CertifierWallet) Contains(identity driver.Identity) bool
func (*CertifierWallet) ContainsToken ¶ added in v0.4.0
func (w *CertifierWallet) ContainsToken(token *token.UnspentToken) bool
func (*CertifierWallet) GetCertifierIdentity ¶ added in v0.4.0
func (w *CertifierWallet) GetCertifierIdentity() (driver.Identity, error)
func (*CertifierWallet) ID ¶ added in v0.4.0
func (w *CertifierWallet) ID() string
type Context ¶ added in v0.4.0
type Context[P driver.PublicParameters, T any, TA driver.TransferAction, IA driver.IssueAction, DS driver.Deserializer] struct { Logger logging.Logger PP P Deserializer DS SignatureProvider driver.SignatureProvider Signatures [][]byte InputTokens []T TransferAction TA IssueAction IA Ledger driver.Ledger MetadataCounter map[MetadataCounterID]int Attributes driver.ValidationAttributes }
func (*Context[P, T, TA, IA, DS]) CountMetadataKey ¶ added in v0.4.0
type Deserializer ¶ added in v0.4.0
type Deserializer struct {
// contains filtered or unexported fields
}
Deserializer deserializes verifiers associated with issuers, owners, and auditors
func NewDeserializer ¶ added in v0.4.0
func NewDeserializer( identityType string, auditorDeserializer VerifierDeserializer, ownerDeserializer VerifierDeserializer, issuerDeserializer VerifierDeserializer, auditMatcherProvider AuditMatcherProvider, recipientExtractor RecipientExtractor, ) *Deserializer
func (*Deserializer) GetAuditorVerifier ¶ added in v0.4.0
func (*Deserializer) GetIssuerVerifier ¶ added in v0.4.0
func (*Deserializer) GetOwnerAuditInfo ¶ added in v0.4.0
func (d *Deserializer) GetOwnerAuditInfo(id driver.Identity, p driver.AuditInfoProvider) ([][]byte, error)
func (*Deserializer) GetOwnerMatcher ¶ added in v0.4.0
func (d *Deserializer) GetOwnerMatcher(raw []byte) (driver.Matcher, error)
func (*Deserializer) GetOwnerVerifier ¶ added in v0.4.0
func (*Deserializer) MatchOwnerIdentity ¶ added in v0.4.0
func (d *Deserializer) MatchOwnerIdentity(id driver.Identity, ai []byte) error
func (*Deserializer) Recipients ¶ added in v0.4.0
type Hasher ¶ added in v0.4.0
type Hasher struct {
// contains filtered or unexported fields
}
func NewSHA256Hasher ¶ added in v0.4.0
func NewSHA256Hasher() *Hasher
func (*Hasher) AddFloat64 ¶ added in v0.4.0
type IdentityTokenAndMetadataDeserializer ¶ added in v0.4.0
type IdentityTokenAndMetadataDeserializer struct{}
func (IdentityTokenAndMetadataDeserializer) DeserializeMetadata ¶ added in v0.4.0
func (i IdentityTokenAndMetadataDeserializer) DeserializeMetadata(bytes []byte) ([]byte, error)
func (IdentityTokenAndMetadataDeserializer) DeserializeToken ¶ added in v0.4.0
func (i IdentityTokenAndMetadataDeserializer) DeserializeToken(bytes []byte) ([]byte, error)
type IssuerTokenVault ¶ added in v0.4.0
type IssuerTokenVault interface {
ListHistoryIssuedTokens() (*token.IssuedTokens, error)
}
type IssuerWallet ¶ added in v0.4.0
type IssuerWallet struct { Logger logging.Logger IdentityProvider driver.IdentityProvider TokenVault IssuerTokenVault WalletID string IssuerIdentity driver.Identity }
func NewIssuerWallet ¶ added in v0.4.0
func NewIssuerWallet(Logger logging.Logger, IdentityProvider driver.IdentityProvider, TokenVault IssuerTokenVault, id string, identity driver.Identity) *IssuerWallet
func (*IssuerWallet) Contains ¶ added in v0.4.0
func (w *IssuerWallet) Contains(identity driver.Identity) bool
func (*IssuerWallet) ContainsToken ¶ added in v0.4.0
func (w *IssuerWallet) ContainsToken(token *token.UnspentToken) bool
func (*IssuerWallet) GetIssuerIdentity ¶ added in v0.4.0
func (*IssuerWallet) HistoryTokens ¶ added in v0.4.0
func (w *IssuerWallet) HistoryTokens(opts *driver.ListTokensOptions) (*token.IssuedTokens, error)
func (*IssuerWallet) ID ¶ added in v0.4.0
func (w *IssuerWallet) ID() string
type LedgerToken ¶ added in v0.4.0
type LedgerToken interface {
GetOwner() []byte
}
type LoadedToken ¶ added in v0.4.0
type LongTermOwnerWallet ¶ added in v0.4.0
type LongTermOwnerWallet struct { IdentityProvider driver.IdentityProvider TokenVault OwnerTokenVault WalletID string OwnerIdentityInfo driver.IdentityInfo OwnerIdentity driver.Identity }
func NewLongTermOwnerWallet ¶ added in v0.4.0
func NewLongTermOwnerWallet(IdentityProvider driver.IdentityProvider, TokenVault OwnerTokenVault, identity driver.Identity, id string, identityInfo driver.IdentityInfo) *LongTermOwnerWallet
func (*LongTermOwnerWallet) Balance ¶ added in v0.4.0
func (w *LongTermOwnerWallet) Balance(opts *driver.ListTokensOptions) (uint64, error)
func (*LongTermOwnerWallet) Contains ¶ added in v0.4.0
func (w *LongTermOwnerWallet) Contains(identity driver.Identity) bool
func (*LongTermOwnerWallet) ContainsToken ¶ added in v0.4.0
func (w *LongTermOwnerWallet) ContainsToken(token *token.UnspentToken) bool
func (*LongTermOwnerWallet) EnrollmentID ¶ added in v0.4.0
func (w *LongTermOwnerWallet) EnrollmentID() string
func (*LongTermOwnerWallet) GetAuditInfo ¶ added in v0.4.0
func (w *LongTermOwnerWallet) GetAuditInfo(id driver.Identity) ([]byte, error)
func (*LongTermOwnerWallet) GetRecipientIdentity ¶ added in v0.4.0
func (w *LongTermOwnerWallet) GetRecipientIdentity() (driver.Identity, error)
func (*LongTermOwnerWallet) GetTokenMetadata ¶ added in v0.4.0
func (w *LongTermOwnerWallet) GetTokenMetadata(id driver.Identity) ([]byte, error)
func (*LongTermOwnerWallet) GetTokenMetadataAuditInfo ¶ added in v0.4.0
func (w *LongTermOwnerWallet) GetTokenMetadataAuditInfo(id driver.Identity) ([]byte, error)
func (*LongTermOwnerWallet) ID ¶ added in v0.4.0
func (w *LongTermOwnerWallet) ID() string
func (*LongTermOwnerWallet) ListTokens ¶ added in v0.4.0
func (w *LongTermOwnerWallet) ListTokens(opts *driver.ListTokensOptions) (*token.UnspentTokens, error)
func (*LongTermOwnerWallet) ListTokensIterator ¶ added in v0.4.0
func (w *LongTermOwnerWallet) ListTokensIterator(opts *driver.ListTokensOptions) (driver.UnspentTokensIterator, error)
func (*LongTermOwnerWallet) RegisterRecipient ¶ added in v0.4.0
func (w *LongTermOwnerWallet) RegisterRecipient(data *driver.RecipientData) error
func (*LongTermOwnerWallet) Remote ¶ added in v0.4.0
func (w *LongTermOwnerWallet) Remote() bool
type MetadataCounterID ¶ added in v0.4.0
type MetadataCounterID = string
type MetadataDeserializer ¶ added in v0.4.0
type OwnerTokenVault ¶ added in v0.4.0
type PublicParametersManager ¶ added in v0.4.0
type PublicParametersManager[T driver.PublicParameters] interface { driver.PublicParamsManager PublicParams() T }
type PublicParamsDeserializer ¶ added in v0.4.0
type PublicParamsDeserializer[T driver.PublicParameters] interface { DeserializePublicParams(raw []byte, label string) (T, error) }
type PublicParamsManager ¶ added in v0.4.0
type PublicParamsManager[T driver.PublicParameters] struct { // label of the public params PPLabel string // contains filtered or unexported fields }
func NewPublicParamsManager ¶ added in v0.4.0
func NewPublicParamsManager[T driver.PublicParameters]( PublicParamsDeserializer PublicParamsDeserializer[T], PPLabel string, ppRaw []byte, ) (*PublicParamsManager[T], error)
func NewPublicParamsManagerFromParams ¶ added in v0.4.0
func NewPublicParamsManagerFromParams[T driver.PublicParameters](pp T) (*PublicParamsManager[T], error)
func (*PublicParamsManager[T]) NewCertifierKeyPair ¶ added in v0.4.0
func (v *PublicParamsManager[T]) NewCertifierKeyPair() ([]byte, []byte, error)
func (*PublicParamsManager[T]) PublicParameters ¶ added in v0.4.0
func (v *PublicParamsManager[T]) PublicParameters() driver.PublicParameters
func (*PublicParamsManager[T]) PublicParams ¶ added in v0.4.0
func (v *PublicParamsManager[T]) PublicParams() T
func (*PublicParamsManager[T]) PublicParamsHash ¶ added in v0.4.0
func (v *PublicParamsManager[T]) PublicParamsHash() driver.PPHash
type RecipientExtractor ¶ added in v0.4.0
RecipientExtractor extracts the recipients from an identity
type RegistryEntry ¶ added in v0.4.0
type RegistryEntry struct { Registry WalletRegistry Mutex *sync.RWMutex }
type Serializer ¶ added in v0.4.0
type Serializer struct { }
func NewSerializer ¶ added in v0.4.0
func NewSerializer() *Serializer
func (Serializer) MarshalTokenRequestToSign ¶ added in v0.4.0
func (s Serializer) MarshalTokenRequestToSign(request *driver.TokenRequest, meta *driver.TokenRequestMetadata) ([]byte, error)
type Service ¶ added in v0.4.0
type Service[T driver.PublicParameters] struct { Logger logging.Logger PublicParametersManager PublicParametersManager[T] // contains filtered or unexported fields }
func NewTokenService ¶ added in v0.4.0
func NewTokenService[T driver.PublicParameters]( logger logging.Logger, ws *WalletService, publicParametersManager PublicParametersManager[T], identityProvider driver.IdentityProvider, serializer driver.Serializer, deserializer driver.Deserializer, configManager driver.Configuration, certificationService driver.CertificationService, issueService driver.IssueService, transferService driver.TransferService, auditorService driver.AuditorService, tokensService driver.TokensService, authorization driver.Authorization, ) (*Service[T], error)
func (*Service[T]) AuditorService ¶ added in v0.4.0
func (s *Service[T]) AuditorService() driver.AuditorService
func (*Service[T]) Authorization ¶ added in v0.4.0
func (s *Service[T]) Authorization() driver.Authorization
func (*Service[T]) CertificationService ¶ added in v0.4.0
func (s *Service[T]) CertificationService() driver.CertificationService
func (*Service[T]) Configuration ¶ added in v0.4.0
func (s *Service[T]) Configuration() driver.Configuration
Configuration returns the configuration manager associated with the service
func (*Service[T]) Deserializer ¶ added in v0.4.0
func (s *Service[T]) Deserializer() driver.Deserializer
func (*Service[T]) GetTokenInfo ¶ added in v0.4.0
func (*Service[T]) IdentityProvider ¶ added in v0.4.0
func (s *Service[T]) IdentityProvider() driver.IdentityProvider
IdentityProvider returns the identity provider associated with the service
func (*Service[T]) IssueService ¶ added in v0.4.0
func (s *Service[T]) IssueService() driver.IssueService
func (*Service[T]) PublicParamsManager ¶ added in v0.4.0
func (s *Service[T]) PublicParamsManager() driver.PublicParamsManager
PublicParamsManager returns the manager of the public parameters associated with the service
func (*Service[T]) Serializer ¶ added in v0.4.0
func (s *Service[T]) Serializer() driver.Serializer
func (*Service[T]) TokensService ¶ added in v0.4.0
func (s *Service[T]) TokensService() driver.TokensService
func (*Service[T]) TransferService ¶ added in v0.4.0
func (s *Service[T]) TransferService() driver.TransferService
func (*Service[T]) WalletService ¶ added in v0.4.0
func (s *Service[T]) WalletService() driver.WalletService
type TokenAndMetadataDeserializer ¶ added in v0.4.0
type TokenAndMetadataDeserializer[T any, M any] interface { TokenDeserializer[T] MetadataDeserializer[M] }
type TokenCertificationStorage ¶ added in v0.4.0
type TokenDeserializer ¶ added in v0.4.0
type TokenVault ¶ added in v0.4.0
type TokenVault interface { IsPending(id *token.ID) (bool, error) GetTokenOutputsAndMeta(ctx context.Context, ids []*token.ID) ([][]byte, [][]byte, []token.Format, error) GetTokenOutputs(ids []*token.ID, callback driver.QueryCallbackFunc) error UnspentTokensIteratorBy(ctx context.Context, id string, tokenType token.Type) (driver.UnspentTokensIterator, error) ListHistoryIssuedTokens() (*token.IssuedTokens, error) PublicParams() ([]byte, error) Balance(id string, tokenType token.Type) (uint64, error) }
type TokensService ¶ added in v0.4.0
type TokensService struct{}
func NewTokensService ¶ added in v0.4.0
func NewTokensService() *TokensService
func (*TokensService) ExtractMetadata ¶ added in v0.4.0
func (s *TokensService) ExtractMetadata(meta *driver.TokenRequestMetadata, target []byte) ([]byte, error)
type ValidateIssueFunc ¶ added in v0.4.0
type ValidateIssueFunc[P driver.PublicParameters, T any, TA driver.TransferAction, IA driver.IssueAction, DS driver.Deserializer] func(ctx *Context[P, T, TA, IA, DS]) error
type ValidateTransferFunc ¶ added in v0.4.0
type ValidateTransferFunc[P driver.PublicParameters, T any, TA driver.TransferAction, IA driver.IssueAction, DS driver.Deserializer] func(ctx *Context[P, T, TA, IA, DS]) error
type Validator ¶ added in v0.4.0
type Validator[P driver.PublicParameters, T any, TA driver.TransferAction, IA driver.IssueAction, DS driver.Deserializer] struct { Logger logging.Logger PublicParams P Deserializer DS ActionDeserializer ActionDeserializer[TA, IA] TransferValidators []ValidateTransferFunc[P, T, TA, IA, DS] IssueValidators []ValidateIssueFunc[P, T, TA, IA, DS] Serializer driver.Serializer }
func NewValidator ¶ added in v0.4.0
func NewValidator[P driver.PublicParameters, T any, TA driver.TransferAction, IA driver.IssueAction, DS driver.Deserializer]( Logger logging.Logger, publicParams P, deserializer DS, actionDeserializer ActionDeserializer[TA, IA], transferValidators []ValidateTransferFunc[P, T, TA, IA, DS], issueValidators []ValidateIssueFunc[P, T, TA, IA, DS], serializer driver.Serializer, ) *Validator[P, T, TA, IA, DS]
func (*Validator[P, T, TA, IA, DS]) UnmarshalActions ¶ added in v0.4.0
func (*Validator[P, T, TA, IA, DS]) VerifyTokenRequest ¶ added in v0.4.0
func (v *Validator[P, T, TA, IA, DS]) VerifyTokenRequest(ledger driver.Ledger, signatureProvider driver.SignatureProvider, anchor string, tr *driver.TokenRequest, attributes driver.ValidationAttributes) ([]interface{}, driver.ValidationAttributes, error)
func (*Validator[P, T, TA, IA, DS]) VerifyTokenRequestFromRaw ¶ added in v0.4.0
func (v *Validator[P, T, TA, IA, DS]) VerifyTokenRequestFromRaw(ctx context.Context, getState driver.GetStateFnc, anchor string, raw []byte) ([]interface{}, driver.ValidationAttributes, error)
type VaultLedgerTokenAndMetadataLoader ¶ added in v0.4.0
type VaultLedgerTokenAndMetadataLoader[T any, M any] struct { TokenVault TokenVault Deserializer TokenAndMetadataDeserializer[T, M] }
func NewVaultLedgerTokenAndMetadataLoader ¶ added in v0.4.0
func NewVaultLedgerTokenAndMetadataLoader[T any, M any](tokenVault TokenVault, deserializer TokenAndMetadataDeserializer[T, M]) *VaultLedgerTokenAndMetadataLoader[T, M]
func (*VaultLedgerTokenAndMetadataLoader[T, M]) LoadTokens ¶ added in v0.4.0
func (s *VaultLedgerTokenAndMetadataLoader[T, M]) LoadTokens(ctx context.Context, ids []*token.ID) ([]LoadedToken[T, M], error)
LoadTokens takes an array of token identifiers (txID, index) and returns the keys in the vault matching the token identifiers, the corresponding zkatdlog tokens, the information of the tokens in clear text and the identities of their owners LoadToken returns an error in case of failure
type VaultLedgerTokenLoader ¶ added in v0.4.0
type VaultLedgerTokenLoader[T any] struct { Logger logging.Logger TokenVault TokenVault Deserializer TokenDeserializer[T] // Variables used to control retry condition NumRetries int RetryDelay time.Duration // contains filtered or unexported fields }
func NewLedgerTokenLoader ¶ added in v0.4.0
func NewLedgerTokenLoader[T any](logger logging.Logger, tracerProvider trace.TracerProvider, tokenVault TokenVault, deserializer TokenDeserializer[T]) *VaultLedgerTokenLoader[T]
func (*VaultLedgerTokenLoader[T]) GetTokenOutputs ¶ added in v0.4.0
func (s *VaultLedgerTokenLoader[T]) GetTokenOutputs(ctx context.Context, ids []*token.ID) (map[string]T, error)
GetTokenOutputs takes an array of token identifiers (txID, index) and returns the corresponding token outputs
type VaultTokenCertificationLoader ¶ added in v0.4.0
type VaultTokenCertificationLoader struct {
TokenCertificationStorage TokenCertificationStorage
}
func (*VaultTokenCertificationLoader) GetCertifications ¶ added in v0.4.0
func (s *VaultTokenCertificationLoader) GetCertifications(ids []*token.ID) ([][]byte, error)
type VaultTokenInfoLoader ¶ added in v0.4.0
type VaultTokenInfoLoader[M any] struct { TokenVault driver.QueryEngine Deserializer MetadataDeserializer[M] }
func NewVaultTokenInfoLoader ¶ added in v0.4.0
func NewVaultTokenInfoLoader[M any](tokenVault driver.QueryEngine, deserializer MetadataDeserializer[M]) *VaultTokenInfoLoader[M]
func (*VaultTokenInfoLoader[M]) GetTokenInfos ¶ added in v0.4.0
func (s *VaultTokenInfoLoader[M]) GetTokenInfos(ids []*token.ID) ([]M, error)
type VaultTokenLoader ¶ added in v0.4.0
type VaultTokenLoader struct {
TokenVault driver.QueryEngine
}
func NewVaultTokenLoader ¶ added in v0.4.0
func NewVaultTokenLoader(tokenVault driver.QueryEngine) *VaultTokenLoader
type VerifierDeserializer ¶ added in v0.4.0
type VerifierDeserializer interface {
DeserializeVerifier(id driver.Identity) (driver.Verifier, error)
}
VerifierDeserializer is the interface for verifiers' deserializer. A verifier checks the validity of a signature against the identity associated with the verifier
type WalletBasedAuthorization ¶ added in v0.4.0
type WalletBasedAuthorization struct { Logger logging.Logger PublicParameters driver.PublicParameters WalletService driver.WalletService // contains filtered or unexported fields }
WalletBasedAuthorization is a wallet-based authorization implementation
func NewTMSAuthorization ¶ added in v0.4.0
func NewTMSAuthorization(logger logging.Logger, publicParameters driver.PublicParameters, walletService driver.WalletService) *WalletBasedAuthorization
func (*WalletBasedAuthorization) AmIAnAuditor ¶ added in v0.4.0
func (w *WalletBasedAuthorization) AmIAnAuditor() bool
AmIAnAuditor return true if the passed TMS contains an auditor wallet for any of the auditor identities defined in the public parameters of the passed TMS.
type WalletFactory ¶ added in v0.4.0
type WalletFactory interface {
NewWallet(role driver.IdentityRole, walletRegistry WalletRegistry, info driver.IdentityInfo, id string) (driver.Wallet, error)
}
type WalletIdentityCache ¶ added in v0.4.0
func NewWalletIdentityCache ¶ added in v0.4.0
func NewWalletIdentityCache(Logger logging.Logger, backed WalletIdentityCacheBackendFunc, size int) *WalletIdentityCache
type WalletIdentityCacheBackendFunc ¶ added in v0.4.0
type WalletRegistry ¶ added in v0.4.0
type WalletRegistry interface { WalletIDs() ([]string, error) RegisterIdentity(config driver.IdentityConfiguration) error Lookup(id driver.WalletLookupID) (driver.Wallet, driver.IdentityInfo, string, error) RegisterWallet(id string, wallet driver.Wallet) error BindIdentity(identity driver.Identity, eID string, wID string, meta any) error ContainsIdentity(i driver.Identity, id string) bool GetIdentityMetadata(identity driver.Identity, wID string, meta any) error }
type WalletService ¶ added in v0.4.0
type WalletService struct { Logger logging.Logger IdentityProvider driver.IdentityProvider Deserializer driver.Deserializer WalletFactory WalletFactory Registries map[driver.IdentityRole]*RegistryEntry }
func NewWalletService ¶ added in v0.4.0
func NewWalletService( logger logging.Logger, identityProvider driver.IdentityProvider, deserializer driver.Deserializer, walletFactory WalletFactory, OwnerWalletRegistry WalletRegistry, IssuerWalletRegistry WalletRegistry, AuditorWalletRegistry WalletRegistry, CertifierWalletsRegistry WalletRegistry, ) *WalletService
func (*WalletService) AuditorWallet ¶ added in v0.4.0
func (s *WalletService) AuditorWallet(id driver.WalletLookupID) (driver.AuditorWallet, error)
func (*WalletService) CertifierWallet ¶ added in v0.4.0
func (s *WalletService) CertifierWallet(id driver.WalletLookupID) (driver.CertifierWallet, error)
func (*WalletService) GetAuditInfo ¶ added in v0.4.0
func (s *WalletService) GetAuditInfo(id driver.Identity) ([]byte, error)
func (*WalletService) GetEIDAndRH ¶ added in v0.4.0
func (*WalletService) GetEnrollmentID ¶ added in v0.4.0
func (*WalletService) GetRevocationHandle ¶ added in v0.4.0
func (*WalletService) IssuerWallet ¶ added in v0.4.0
func (s *WalletService) IssuerWallet(id driver.WalletLookupID) (driver.IssuerWallet, error)
func (*WalletService) OwnerWallet ¶ added in v0.4.0
func (s *WalletService) OwnerWallet(id driver.WalletLookupID) (driver.OwnerWallet, error)
func (*WalletService) OwnerWalletIDs ¶ added in v0.4.0
func (s *WalletService) OwnerWalletIDs() ([]string, error)
func (*WalletService) RegisterIssuerIdentity ¶ added in v0.4.0
func (s *WalletService) RegisterIssuerIdentity(config driver.IdentityConfiguration) error
func (*WalletService) RegisterOwnerIdentity ¶ added in v0.4.0
func (s *WalletService) RegisterOwnerIdentity(config driver.IdentityConfiguration) error
func (*WalletService) RegisterRecipientIdentity ¶ added in v0.4.0
func (s *WalletService) RegisterRecipientIdentity(data *driver.RecipientData) error