server

package
v0.0.0-...-95b87ed Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2019 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0

Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0

Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func UnmarshalCommand

func UnmarshalCommand(raw []byte) (*token.Command, error)

Types

type ACLProvider

type ACLProvider interface {
	CheckACL(resName string, channelID string, idinfo interface{}) error
}

type ACLResources

type ACLResources struct {
	IssueTokens    string
	TransferTokens string
	ListTokens     string
}

type CapabilityChecker

type CapabilityChecker interface {
	FabToken(channelId string) (bool, error)
}

type ChannelConfigGetter

type ChannelConfigGetter interface {
	GetChannelConfig(cid string) channelconfig.Resources
}

type Issuer

type Issuer interface {
	RequestIssue(tokensToIssue []*token.Token) (*token.TokenTransaction, error)

	RequestTokenOperation(op *token.TokenOperation) (*token.TokenTransaction, error)
}

type Manager

type Manager struct {
	LedgerManager              ledger.LedgerManager
	TokenOwnerValidatorManager identity.TokenOwnerValidatorManager
}

func (*Manager) GetIssuer

func (m *Manager) GetIssuer(channel string, privateCredential, publicCredential []byte) (Issuer, error)

func (*Manager) GetTransactor

func (m *Manager) GetTransactor(channel string, privateCredential, publicCredential []byte) (Transactor, error)

type Marshaler

type Marshaler interface {
	MarshalCommandResponse(command []byte, responsePayload interface{}) (*token.SignedCommandResponse, error)
}

type PeerLedgerManager

type PeerLedgerManager struct {
	Peer *peer.Peer
}

func (*PeerLedgerManager) GetLedgerReader

func (p *PeerLedgerManager) GetLedgerReader(channel string) (ledger.LedgerReader, error)

type PeerTokenOwnerValidatorManager

type PeerTokenOwnerValidatorManager struct {
	IdentityDeserializerManager identity.DeserializerManager
}

func (*PeerTokenOwnerValidatorManager) Get

type PolicyBasedAccessControl

type PolicyBasedAccessControl struct {
	ACLProvider  ACLProvider
	ACLResources *ACLResources
}

func (*PolicyBasedAccessControl) Check

type PolicyChecker

type PolicyChecker interface {
	Check(sc *token.SignedCommand, c *token.Command) error
}

type Prover

type Prover struct {
	CapabilityChecker CapabilityChecker
	Marshaler         Marshaler
	PolicyChecker     PolicyChecker
	TMSManager        TMSManager
}

func (*Prover) ListUnspentTokens

func (s *Prover) ListUnspentTokens(ctxt context.Context, header *token.Header, listRequest *token.ListRequest) (*token.CommandResponse_UnspentTokens, error)

func (*Prover) MarshalErrorResponse

func (s *Prover) MarshalErrorResponse(command []byte, e error) (*token.SignedCommandResponse, error)

func (*Prover) ProcessCommand

func (s *Prover) ProcessCommand(ctx context.Context, sc *token.SignedCommand) (cr *token.SignedCommandResponse, err error)

func (*Prover) RequestIssue

func (s *Prover) RequestIssue(ctx context.Context, header *token.Header, requestImport *token.IssueRequest) (*token.CommandResponse_TokenTransaction, error)

func (*Prover) RequestRedeem

func (s *Prover) RequestRedeem(ctx context.Context, header *token.Header, request *token.RedeemRequest) (*token.CommandResponse_TokenTransaction, error)

func (*Prover) RequestTokenOperations

func (s *Prover) RequestTokenOperations(ctx context.Context, header *token.Header, request *token.TokenOperationRequest) (*token.CommandResponse_TokenTransactions, error)

func (*Prover) RequestTransfer

func (s *Prover) RequestTransfer(ctx context.Context, header *token.Header, request *token.TransferRequest) (*token.CommandResponse_TokenTransaction, error)

func (*Prover) ValidateHeader

func (s *Prover) ValidateHeader(header *token.Header) error

type ResponseMarshaler

type ResponseMarshaler struct {
	Signer  Signer
	Creator []byte
	Time    TimeFunc
}

func NewResponseMarshaler

func NewResponseMarshaler(signerID SignerIdentity) (*ResponseMarshaler, error)

func (*ResponseMarshaler) MarshalCommandResponse

func (s *ResponseMarshaler) MarshalCommandResponse(command []byte, responsePayload interface{}) (*token.SignedCommandResponse, error)

type Signer

type Signer interface {
	Sign([]byte) ([]byte, error)
}

type SignerIdentity

type SignerIdentity interface {
	Signer

	Serialize() ([]byte, error)
}

type TMSManager

type TMSManager interface {
	GetIssuer(channel string, privateCredential, publicCredential []byte) (Issuer, error)

	GetTransactor(channel string, privateCredential, publicCredential []byte) (Transactor, error)
}

type TimeFunc

type TimeFunc func() time.Time

type TokenCapabilityChecker

type TokenCapabilityChecker struct {
	ChannelConfigGetter ChannelConfigGetter
}

func (*TokenCapabilityChecker) FabToken

func (c *TokenCapabilityChecker) FabToken(channelId string) (bool, error)

type Transactor

type Transactor interface {
	RequestTransfer(request *token.TransferRequest) (*token.TokenTransaction, error)

	RequestRedeem(request *token.RedeemRequest) (*token.TokenTransaction, error)

	ListTokens() (*token.UnspentTokens, error)

	RequestTokenOperation(tokenIDs []*token.TokenId, op *token.TokenOperation) (*token.TokenTransaction, int, error)

	Done()
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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