Documentation
¶
Index ¶
- Constants
- func NewChaincodePublicParamsFetcher(viewManager *view.Manager) *chaincodePublicParamsFetcher
- func NewGenericDriver(fnsProvider *fabric.NetworkServiceProvider, ...) driver.Driver
- func NewLedger(ch *fabric.Channel, network string, keyTranslator translator.KeyTranslator) *ledger
- func NewSetupListenerProvider(tmsProvider *token2.ManagementServiceProvider, ...) *setupListenerProvider
- func NewSpentTokenExecutorProvider(fnsProvider *fabric.NetworkServiceProvider, ...) *spentTokenFetcherProvider
- func NewTokenExecutorProvider(fnsProvider *fabric.NetworkServiceProvider) *tokenFetcherProvider
- type Driver
- type EndorsementService
- type EndorsementServiceProvider
- type GetTMSProviderFunc
- type GetTokensFunc
- type Network
- func (n *Network) AddFinalityListener(namespace string, txID string, listener driver.FinalityListener) error
- func (n *Network) AreTokensSpent(ctx context.Context, namespace string, tokenIDs []*token.ID, meta []string) ([]bool, error)
- func (n *Network) Broadcast(ctx context.Context, blob any) error
- func (n *Network) Channel() string
- func (n *Network) ComputeTxID(id *driver.TxID) string
- func (n *Network) Connect(ns string) (opts []token2.ServiceOption, err error)
- func (n *Network) FetchPublicParameters(namespace string) ([]byte, error)
- func (n *Network) GetTransactionStatus(ctx context.Context, namespace, txID string) (status int, tokenRequestHash []byte, message string, err error)
- func (n *Network) Ledger() (driver.Ledger, error)
- func (n *Network) LocalMembership() driver.LocalMembership
- func (n *Network) LookupTransferMetadataKey(namespace string, key string, timeout time.Duration) ([]byte, error)
- func (n *Network) Name() string
- func (n *Network) NewEnvelope() driver.Envelope
- func (n *Network) Normalize(opt *token2.ServiceOptions) (*token2.ServiceOptions, error)
- func (n *Network) QueryTokens(ctx context.Context, namespace string, IDs []*token.ID) ([][]byte, error)
- func (n *Network) RequestApproval(context view.Context, tms *token2.ManagementService, requestRaw []byte, ...) (driver.Envelope, error)
- type NetworkPublicParamsFetcher
- type RWSWrapper
- func (rwset *RWSWrapper) Bytes() ([]byte, error)
- func (rwset *RWSWrapper) DeleteState(namespace string, key string) error
- func (rwset *RWSWrapper) Done()
- func (rwset *RWSWrapper) Equals(r any, namespace string) error
- func (rwset *RWSWrapper) GetState(namespace string, key string) ([]byte, error)
- func (rwset *RWSWrapper) SetState(namespace string, key string, value []byte) error
- type SetupListenerProvider
- type ViewManager
- type ViewRegistry
Constants ¶
const ( // QueryPublicParamsFunction is the chaincode function name for querying public parameters. QueryPublicParamsFunction = "queryPublicParams" // QueryTokensFunctions is the chaincode function name for querying token data. QueryTokensFunctions = "queryTokens" // AreTokensSpent is the chaincode function name for checking if tokens are spent. AreTokensSpent = "areTokensSpent" )
Variables ¶
This section is empty.
Functions ¶
func NewGenericDriver ¶
func NewGenericDriver( fnsProvider *fabric.NetworkServiceProvider, tokensManager *tokens.ServiceManager, configProvider *config.Service, viewManager *view.Manager, viewRegistry *view.Registry, filterProvider *common.AcceptTxInDBFilterProvider, tmsProvider *token.ManagementServiceProvider, tracerProvider trace.TracerProvider, identityProvider view.IdentityProvider, configService cdriver.ConfigService, ttxStoreServiceManager ttxdb.StoreServiceManager, auditStoreServiceManager auditdb.StoreServiceManager, cleanupServiceManager cleanup.ServiceManager, endorserStoreServiceManager endorserdb.StoreServiceManager, metricsProvider metrics.Provider, ) driver.Driver
func NewLedger ¶
func NewLedger(ch *fabric.Channel, network string, keyTranslator translator.KeyTranslator) *ledger
func NewSetupListenerProvider ¶
func NewSetupListenerProvider(tmsProvider *token2.ManagementServiceProvider, tokensProvider *tokens.ServiceManager) *setupListenerProvider
NewSetupListenerProvider returns a provider for listeners that monitor public parameter updates.
func NewSpentTokenExecutorProvider ¶
func NewSpentTokenExecutorProvider(fnsProvider *fabric.NetworkServiceProvider, keyTranslator translator.KeyTranslator) *spentTokenFetcherProvider
func NewTokenExecutorProvider ¶
func NewTokenExecutorProvider(fnsProvider *fabric.NetworkServiceProvider) *tokenFetcherProvider
Types ¶
type Driver ¶
type Driver struct {
EndorsementServiceProvider EndorsementServiceProvider
// contains filtered or unexported fields
}
func NewDriver ¶
func NewDriver( fnsProvider *fabric.NetworkServiceProvider, tokensManager *tokens.ServiceManager, configService *config.Service, viewManager *view.Manager, filterProvider *common.AcceptTxInDBFilterProvider, tmsProvider *token.ManagementServiceProvider, tracerProvider trace.TracerProvider, identityProvider view.IdentityProvider, defaultPublicParamsFetcher NetworkPublicParamsFetcher, tokenQueryExecutorProvider driver.TokenQueryExecutorProvider, spentTokenQueryExecutorProvider driver.SpentTokenQueryExecutorProvider, keyTranslator translator.KeyTranslator, flmProvider finality.ListenerManagerProvider, llmProvider lookup.ListenerManagerProvider, endorsementServiceProvider EndorsementServiceProvider, setupListenerProvider SetupListenerProvider, ttxStoreServiceManager ttxdb.StoreServiceManager, auditStoreServiceManager auditdb.StoreServiceManager, cleanupServiceManager cleanup.ServiceManager, metricsProvider metrics.Provider, supportedDrivers ...string, ) *Driver
type EndorsementService ¶
type EndorsementService = endorsement.Service
EndorsementService models the interface for transaction endorsement.
type EndorsementServiceProvider ¶
type EndorsementServiceProvider = lazy.Provider[token2.TMSID, EndorsementService]
EndorsementServiceProvider provides endorsement services for different TMS IDs.
type GetTMSProviderFunc ¶
type GetTMSProviderFunc = func() *token2.ManagementServiceProvider
GetTMSProviderFunc is a function type that returns a ManagementServiceProvider.
type GetTokensFunc ¶
GetTokensFunc is a function type that returns a token Service instance.
type Network ¶
type Network struct {
// contains filtered or unexported fields
}
Network implements the driver.Network interface for Hyperledger Fabric. It orchestrates finality listeners, state queries, and endorsement requests.
func NewNetwork ¶
func NewNetwork( n *fabric.NetworkService, ch *fabric.Channel, configuration ncommon.Configuration, filterProvider ncommon.TransactionFilterProvider[*ncommon.AcceptTxInDBsFilter], tokensProvider *tokens.ServiceManager, viewManager ViewManager, tmsProvider *token2.ManagementServiceProvider, endorsementServiceProvider EndorsementServiceProvider, tokenQueryExecutor driver.TokenQueryExecutor, tracerProvider trace.TracerProvider, defaultPublicParamsFetcher NetworkPublicParamsFetcher, spentTokenQueryExecutor driver.SpentTokenQueryExecutor, keyTranslator translator.KeyTranslator, flm finality.ListenerManager, llm lookup.ListenerManager, setupListenerProvider SetupListenerProvider, ttxStoreServiceManager ttxdb.StoreServiceManager, auditStoreServiceManager auditdb.StoreServiceManager, cleanupServiceManager cleanup.ServiceManager, metricsProvider metrics.Provider, ledger driver.Ledger, ) *Network
NewNetwork creates a new Fabric Network instance.
func (*Network) AddFinalityListener ¶
func (n *Network) AddFinalityListener(namespace string, txID string, listener driver.FinalityListener) error
AddFinalityListener registers a callback for transaction status updates.
func (*Network) AreTokensSpent ¶
func (n *Network) AreTokensSpent(ctx context.Context, namespace string, tokenIDs []*token.ID, meta []string) ([]bool, error)
AreTokensSpent checks if tokens have been consumed by verifying their existence in the ledger.
func (*Network) ComputeTxID ¶
ComputeTxID calculates the Fabric transaction ID based on creator and nonce.
func (*Network) Connect ¶
func (n *Network) Connect(ns string) (opts []token2.ServiceOption, err error)
Connect initializes listeners for public parameters and initializes the endorsement service for the namespace.
func (*Network) FetchPublicParameters ¶
FetchPublicParameters queries the chaincode for the current public parameters.
func (*Network) GetTransactionStatus ¶
func (n *Network) GetTransactionStatus(ctx context.Context, namespace, txID string) (status int, tokenRequestHash []byte, message string, err error)
GetTransactionStatus retrieves the current status and token request hash for a transaction. It delegates to the ledger implementation.
func (*Network) LocalMembership ¶
func (n *Network) LocalMembership() driver.LocalMembership
LocalMembership returns the membership service for the local FSC node.
func (*Network) LookupTransferMetadataKey ¶
func (n *Network) LookupTransferMetadataKey(namespace string, key string, timeout time.Duration) ([]byte, error)
LookupTransferMetadataKey performs a scan to find transfer metadata matching a sub-key.
func (*Network) NewEnvelope ¶
NewEnvelope returns a new transaction envelope for the Fabric network.
func (*Network) Normalize ¶
func (n *Network) Normalize(opt *token2.ServiceOptions) (*token2.ServiceOptions, error)
Normalize ensures that network, channel, and namespace are correctly set in the options.
type NetworkPublicParamsFetcher ¶
type NetworkPublicParamsFetcher interface {
// Fetch fetches the public parameters for the given network, channel, and namespace
Fetch(network cdriver.Network, channel cdriver.Channel, namespace cdriver.Namespace) ([]byte, error)
}
NetworkPublicParamsFetcher models a public parameters fetcher per network.
type RWSWrapper ¶
type RWSWrapper struct {
// contains filtered or unexported fields
}
func NewRWSWrapper ¶
func NewRWSWrapper(r *fabric.RWSet) *RWSWrapper
func (*RWSWrapper) Bytes ¶
func (rwset *RWSWrapper) Bytes() ([]byte, error)
func (*RWSWrapper) DeleteState ¶
func (rwset *RWSWrapper) DeleteState(namespace string, key string) error
func (*RWSWrapper) Done ¶
func (rwset *RWSWrapper) Done()
type SetupListenerProvider ¶
SetupListenerProvider defines the interface for obtaining lookup listeners for public parameters setup.
type ViewManager ¶
ViewManager models the interface for initiating FSC views.