interactive

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2025 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConfigurationKey = "certification.interactive"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Backend added in v0.4.0

type Backend interface {
	Load(context view.Context, cr *CertificationRequest) ([][]byte, error)
}

type BackendFactory added in v0.4.0

type BackendFactory func(tms *token.ManagementService, wallet string) (Backend, error)

type Certification added in v0.4.0

type Certification struct {
	IDs []string `yaml:"ids,omitempty"`
}

type CertificationClient

type CertificationClient struct {
	// contains filtered or unexported fields
}

CertificationClient scans the vault for tokens not yet certified and asks the certification.

func NewCertificationClient

func NewCertificationClient(
	ctx context.Context,
	channel string,
	namespace string,
	qe QueryEngine,
	cm CertificationStorage,
	fm ViewManager,
	certifiers []view2.Identity,
	notifier events.Subscriber,
	maxAttempts int,
	waitTime time.Duration,
) *CertificationClient

func (*CertificationClient) IsCertified

func (cc *CertificationClient) IsCertified(id *token.ID) bool

func (*CertificationClient) OnReceive added in v0.4.0

func (cc *CertificationClient) OnReceive(event events.Event)

func (*CertificationClient) RequestCertification

func (cc *CertificationClient) RequestCertification(ids ...*token.ID) error

func (*CertificationClient) Scan

func (cc *CertificationClient) Scan() error

func (*CertificationClient) Start

func (cc *CertificationClient) Start()

type CertificationRequest

type CertificationRequest struct {
	Network, Channel, Namespace string
	IDs                         []*token.ID
	Request                     []byte
}

func (*CertificationRequest) String

func (cr *CertificationRequest) String() string

type CertificationRequestView

type CertificationRequestView struct {
	// contains filtered or unexported fields
}

func NewCertificationRequestView

func NewCertificationRequestView(channel, ns string, certifier view.Identity, ids ...*token.ID) *CertificationRequestView

func (*CertificationRequestView) Call

func (i *CertificationRequestView) Call(context view.Context) (interface{}, error)

type CertificationService

type CertificationService struct {
	ResponderRegistry ResponderRegistry
	// contains filtered or unexported fields
}

func NewCertificationService

func NewCertificationService(responderRegistry ResponderRegistry, mp metrics.Provider, backend Backend) *CertificationService

func (*CertificationService) Call

func (c *CertificationService) Call(context view.Context) (interface{}, error)

func (*CertificationService) SetWallet

func (c *CertificationService) SetWallet(tms *token2.ManagementService, wallet string)

func (*CertificationService) Start

func (c *CertificationService) Start() (err error)

type CertificationStorage

type CertificationStorage interface {
	Exists(id *token.ID) bool
	Store(certifications map[*token.ID][]byte) error
}

type ChaincodeBackend added in v0.4.0

type ChaincodeBackend struct{}

func (*ChaincodeBackend) Load added in v0.4.0

func (c *ChaincodeBackend) Load(context view.Context, cr *CertificationRequest) ([][]byte, error)

type Driver

type Driver struct {
	BackendFactory    BackendFactory
	Resolver          Resolver
	Subscriber        Subscriber
	ViewManager       ViewManager
	ResponderRegistry ResponderRegistry
	MetricsProvider   metrics.Provider

	Sync                 sync.Mutex
	CertificationClients map[string]*CertificationClient
	CertificationService *CertificationService
}

func NewDriver

func NewDriver(backendFactory BackendFactory, resolver Resolver, subscriber Subscriber, viewManager ViewManager, responderRegistry ResponderRegistry, metricsProvider metrics.Provider) *Driver

func (*Driver) NewCertificationClient

func (d *Driver) NewCertificationClient(tms *token.ManagementService) (driver.CertificationClient, error)

func (*Driver) NewCertificationService

func (d *Driver) NewCertificationService(tms *token.ManagementService, wallet string) (driver.CertificationService, error)

type Metrics added in v0.4.0

type Metrics struct {
	CertifiedTokens metrics.Counter
}

func NewMetrics added in v0.4.0

func NewMetrics(p metrics.Provider) *Metrics

type Op added in v0.4.0

type Op uint8
const (
	Add Op = iota
)

type QueryEngine

type QueryEngine interface {
	UnspentTokensIterator() (*token2.UnspentTokensIterator, error)
}

type Resolver

type Resolver interface {
	ResolveIdentities(endpoints ...string) ([]view.Identity, error)
}

type ResponderRegistry added in v0.4.0

type ResponderRegistry interface {
	RegisterResponder(responder view.View, initiatedBy interface{}) error
}

type Subscriber added in v0.4.0

type Subscriber = events.Subscriber

type ViewManager

type ViewManager interface {
	InitiateView(view view.View) (interface{}, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL