Documentation
¶
Index ¶
- type AuditorService
- type IssueService
- func (s *IssueService) DeserializeIssueAction(raw []byte) (driver.IssueAction, error)
- func (s *IssueService) Issue(ctx context.Context, issuerIdentity driver.Identity, tokenType token.Type, ...) (driver.IssueAction, *driver.IssueMetadata, error)
- func (s *IssueService) VerifyIssue(ia driver.IssueAction, outputsMetadata [][]byte) error
- type LoadedToken
- type Metrics
- type Service
- type TokenCommitmentLoader
- type TokenDeserializer
- type TokenLoader
- type TokenVault
- type TokensService
- func (s *TokensService) Deobfuscate(output []byte, outputMetadata []byte) (*token.Token, driver.Identity, token.Format, error)
- func (s *TokensService) DeserializeToken(outputFormat token.Format, outputRaw []byte, metadataRaw []byte) (*token2.Token, *token2.Metadata, *token2.ConversionWitness, error)
- func (s *TokensService) SupportedTokenFormats() []token.Format
- type TransferService
- func (s *TransferService) DeserializeTransferAction(raw []byte) (driver.TransferAction, error)
- func (s *TransferService) Transfer(ctx context.Context, txID string, _ driver.OwnerWallet, tokenIDs []*token2.ID, ...) (driver.TransferAction, *driver.TransferMetadata, error)
- func (s *TransferService) VerifyTransfer(action driver.TransferAction, outputsMetadata [][]byte) error
- type WalletFactory
- type WalletsConfiguration
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuditorService ¶ added in v0.4.0
type AuditorService struct { Logger logging.Logger PublicParametersManager common.PublicParametersManager[*crypto.PublicParams] TokenCommitmentLoader TokenCommitmentLoader Deserializer driver.Deserializer Metrics *Metrics // contains filtered or unexported fields }
func NewAuditorService ¶ added in v0.4.0
func NewAuditorService( logger logging.Logger, publicParametersManager common.PublicParametersManager[*crypto.PublicParams], tokenCommitmentLoader TokenCommitmentLoader, deserializer driver.Deserializer, metrics *Metrics, tracerProvider trace.TracerProvider, ) *AuditorService
func (*AuditorService) AuditorCheck ¶ added in v0.4.0
func (s *AuditorService) AuditorCheck(ctx context.Context, request *driver.TokenRequest, metadata *driver.TokenRequestMetadata, txID string) error
AuditorCheck verifies if the passed tokenRequest matches the tokenRequestMetadata
type IssueService ¶ added in v0.4.0
type IssueService struct { PublicParametersManager common2.PublicParametersManager[*crypto.PublicParams] WalletService driver.WalletService Deserializer driver.Deserializer Metrics *Metrics }
func NewIssueService ¶ added in v0.4.0
func NewIssueService( publicParametersManager common2.PublicParametersManager[*crypto.PublicParams], walletService driver.WalletService, deserializer driver.Deserializer, metrics *Metrics, ) *IssueService
func (*IssueService) DeserializeIssueAction ¶ added in v0.4.0
func (s *IssueService) DeserializeIssueAction(raw []byte) (driver.IssueAction, error)
DeserializeIssueAction un-marshals raw bytes into a zkatdlog IssueAction
func (*IssueService) Issue ¶ added in v0.4.0
func (s *IssueService) Issue(ctx context.Context, issuerIdentity driver.Identity, tokenType token.Type, values []uint64, owners [][]byte, opts *driver.IssueOptions) (driver.IssueAction, *driver.IssueMetadata, error)
Issue returns an IssueAction as a function of the passed arguments Issue also returns a serialization TokenInformation associated with issued tokens and the identity of the issuer
func (*IssueService) VerifyIssue ¶ added in v0.4.0
func (s *IssueService) VerifyIssue(ia driver.IssueAction, outputsMetadata [][]byte) error
VerifyIssue checks if the outputs of an IssueAction match the passed metadata
type LoadedToken ¶ added in v0.4.0
type LoadedToken = common.LoadedToken[[]byte, []byte]
type Metrics ¶ added in v0.4.0
type Metrics struct {
// contains filtered or unexported fields
}
func NewMetrics ¶ added in v0.4.0
type Service ¶
type Service struct { *common.Service[*crypto.PublicParams] }
func NewTokenService ¶
func NewTokenService( logger logging.Logger, ws *common.WalletService, ppm common.PublicParametersManager[*crypto.PublicParams], identityProvider driver.IdentityProvider, serializer driver.Serializer, deserializer driver.Deserializer, configuration driver.Configuration, issueService driver.IssueService, transferService driver.TransferService, auditorService driver.AuditorService, tokensService driver.TokensService, authorization driver.Authorization, ) (*Service, error)
type TokenCommitmentLoader ¶
type TokenDeserializer ¶ added in v0.4.0
type TokenLoader ¶
type TokenVault ¶
type TokensService ¶ added in v0.4.0
type TokensService struct { *common.TokensService PublicParametersManager common.PublicParametersManager[*crypto.PublicParams] OutputTokenFormat token.Format }
func NewTokensService ¶ added in v0.4.0
func NewTokensService(publicParametersManager common.PublicParametersManager[*crypto.PublicParams]) (*TokensService, error)
func (*TokensService) Deobfuscate ¶ added in v0.4.0
func (s *TokensService) Deobfuscate(output []byte, outputMetadata []byte) (*token.Token, driver.Identity, token.Format, error)
Deobfuscate unmarshals a token and token info from raw bytes It checks if the un-marshalled token matches the token info. If not, it returns an error. Else it returns the token in cleartext and the identity of its issuer
func (*TokensService) DeserializeToken ¶ added in v0.4.0
func (*TokensService) SupportedTokenFormats ¶ added in v0.4.0
func (s *TokensService) SupportedTokenFormats() []token.Format
type TransferService ¶ added in v0.4.0
type TransferService struct { Logger logging.Logger PublicParametersManager common.PublicParametersManager[*crypto.PublicParams] WalletService driver.WalletService TokenLoader TokenLoader IdentityDeserializer driver.Deserializer TokenDeserializer TokenDeserializer Metrics *Metrics // contains filtered or unexported fields }
func NewTransferService ¶ added in v0.4.0
func NewTransferService( logger logging.Logger, publicParametersManager common.PublicParametersManager[*crypto.PublicParams], walletService driver.WalletService, tokenLoader TokenLoader, identityDeserializer driver.Deserializer, metrics *Metrics, tracerProvider trace.TracerProvider, tokenDeserializer TokenDeserializer, ) *TransferService
func (*TransferService) DeserializeTransferAction ¶ added in v0.4.0
func (s *TransferService) DeserializeTransferAction(raw []byte) (driver.TransferAction, error)
DeserializeTransferAction un-marshals a TransferActionMetadata from the passed array of bytes. DeserializeTransferAction returns an error, if the un-marshalling fails.
func (*TransferService) Transfer ¶ added in v0.4.0
func (s *TransferService) Transfer(ctx context.Context, txID string, _ driver.OwnerWallet, tokenIDs []*token2.ID, outputTokens []*token2.Token, opts *driver.TransferOptions) (driver.TransferAction, *driver.TransferMetadata, error)
Transfer returns a TransferActionMetadata as a function of the passed arguments It also returns the corresponding TransferMetadata
func (*TransferService) VerifyTransfer ¶ added in v0.4.0
func (s *TransferService) VerifyTransfer(action driver.TransferAction, outputsMetadata [][]byte) error
VerifyTransfer checks the outputs in the TransferActionMetadata against the passed metadata
type WalletFactory ¶ added in v0.4.0
type WalletFactory struct { Logger logging.Logger IdentityProvider driver.IdentityProvider TokenVault TokenVault Deserializer driver.Deserializer // contains filtered or unexported fields }
func NewWalletFactory ¶ added in v0.4.0
func NewWalletFactory( logger logging.Logger, identityProvider driver.IdentityProvider, tokenVault TokenVault, walletsConfiguration WalletsConfiguration, deserializer driver.Deserializer, ) *WalletFactory
func (*WalletFactory) NewWallet ¶ added in v0.4.0
func (w *WalletFactory) NewWallet(role driver.IdentityRole, walletRegistry common.WalletRegistry, info driver.IdentityInfo, id string) (driver.Wallet, error)