package
0.14.1
Repository: https://github.com/hyperledger/firefly.git
Documentation: pkg.go.dev

# Functions

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewOperation creates a new operation in a transaction.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ParseDurationString is a standard handling of any duration string, in config or API options.
No description provided by the author
ParseToByteSize is a standard handling of a number of bytes, in config or API options.
ParseToDuration is a standard handling of any duration string, in config or API options.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
UUIDBytes returns the bytes of a UUID as a compressed hex string.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
note bulk updates might not results in change events.
ChartHistogramMaxBuckets max buckets that can be requested.
ChartHistogramMinBuckets min buckets that can be requested.
DefaultTopic will be set as the topic of any messages set without a topic.
DeprecatedSystemTagDefineNode is the tag for messages that broadcast node definitions.
DeprecatedSystemTagDefineOrganization is the tag for messages that broadcast organization definitions.
No description provided by the author
FFStringArrayStandardMax is the standard length we set as a VARCHAR max in tables for a string array.
Because each FFName has a max length of 64, 15 names (plus comma delimeters) is a safe max to pack into a string column of length 1024.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
OpStatusFailed happens when an error is reported by the infrastructure runtime.
OpStatusPending indicates the operation has been submitted, but is not yet confirmed as successful or failed.
OpStatusSucceeded the infrastructure runtime has returned success for the operation.
ShortIDlphabet is designed for easy double-click select.
SubOptsFirstEventNewest indicates only newly received events should be dispatched to the subscription.
SubOptsFirstEventOldest indicates all events should be dispatched to the subscription.
SystemBatchPinTopic is the FireFly event topic for events from the FireFly batch pin listener.
SystemNamespace is the system reserved namespace name.
SystemTagDefineContractAPI is the tag for messages that broadcast contract APIs.
SystemTagDefineDatatype is the tag for messages that broadcast data definitions.
SystemTagDefineFFI is the tag for messages that broadcast contract FFIs.
SystemTagDefineGroup is the tag for messages that send the definition of a group, to all parties in that group.
SystemTagDefineNamespace is the tag for messages that broadcast namespace definitions.
SystemTagDefinePool is the tag for messages that broadcast data definitions.
SystemTagIdentityClaim is the tag for messages that broadcast an identity claim.
SystemTagIdentityUpdate is the tag for messages that broadcast an identity update.
SystemTagIdentityVerification is the tag for messages that broadcast an identity verification.
SystemTopicDefinitions is the FireFly event topic for events that are confirmations of definition of pre-defined datatypes.

# Variables

BatchTypeBroadcast is a batch that is broadcast via the shared data interface.
BatchTypePrivate is a batch that is sent privately to a group.
CallTypeInvoke is an invocation that submits a transaction for inclusion in the chain.
CallTypeQuery is a query that returns data from the chain.
EventTypeApprovalConfirmed occurs when a token approval has been confirmed.
EventTypeApprovalOpFailed occurs when a token approval submitted by this node has failed (based on feedback from connector).
EventTypeBlockchainEventReceived occurs when a new event has been received from the blockchain.
EventTypeContractAPIConfirmed occurs when a new contract API has been confirmed.
EventTypeContractInterfaceConfirmed occurs when a new contract interface has been confirmed.
EventTypeDatatypeConfirmed occurs when a new datatype is ready for use (on the namespace of the datatype).
EventTypeIdentityConfirmed occurs when a new identity has been confirmed, as as result of a signed claim broadcast, and any associated claim verification.
EventTypeIdentityUpdated occurs when an existing identity is update by the owner of that identity.
EventTypeMessageConfirmed is the most important event type in the system.
EventTypeMessageRejected occurs if a message is received and confirmed from a sequencing perspective, but is rejected as invalid (mismatch to schema, or duplicate system broadcast).
EventTypeNamespaceConfirmed occurs when a new namespace is ready for use (on the namespace itself).
EventTypePoolConfirmed occurs when a new token pool is ready for use.
EventTypeTransactionSubmitted occurs only on the node that initiates a tranaction, when the transaction is submitted.
EventTypeTransferConfirmed occurs when a token transfer has been confirmed.
EventTypeTransferOpFailed occurs when a token transfer submitted by this node has failed (based on feedback from connector).
IdentityTypeCustom is a user defined identity within a namespace.
IdentityTypeNode is a node.
IdentityTypeOrg is an organization.
MessageStateConfirmed is a message that has completed all required confirmations (blockchain if pinned, token transfer if transfer coupled, etc).
MessageStatePending is a message that has been received but is awaiting aggregation/confirmation.
MessageStateReady is a message created locally which is ready to send.
MessageStateRejected is a message that has completed confirmation, but has been rejected by FireFly.
MessageStateSent is a message created locally which has been sent in a batch.
MessageStateStaged is a message created locally which is not ready to send.
MessageTypeBroadcast is a broadcast message, meaning it is intended to be visible by all parties in the network.
MessageTypeDefinition is a message broadcasting a definition of a system type, pre-defined by firefly (namespaces, identities, data definitions, etc.).
MessageTypeGroupInit is a special private message that contains the definition of the group.
MessageTypePrivate is a private message, meaning it is only sent explicitly to individual parties in the network.
MessageTypeTransferBroadcast is a broadcast message to accompany/annotate a token transfer.
MessageTypeTransferPrivate is a private message to accompany/annotate a token transfer.
NamespaceTypeBroadcast is a namespace that was broadcast through the network.
NamespaceTypeLocal is a namespace that only exists because it was defined in the local configuration of the node.
NamespaceTypeSystem is a reserved namespace used by FireFly itself.
OffsetTypeAggregator is an offset stored by the aggregator on the events table.
OffsetTypeBatch is an offset stored by the batch manager on the messages table.
OffsetTypeSubscription is an offeset stored by a dispatcher on the events table.
OpTypeBlockchainInvoke is a smart contract invoke.
OpTypeBlockchainPinBatch is a blockchain transaction to pin a batch.
OpTypeDataExchangeSendBatch is a private send of a batch.
OpTypeDataExchangeSendBlob is a private send of a blob.
OpTypeSharedStorageDownloadBatch is a shared storage operation to download broadcast data.
OpTypeSharedStorageDownloadBlob is a shared storage operation to download broadcast data.
OpTypeSharedStorageUploadBatch is a shared storage operation to upload broadcast data.
OpTypeSharedStorageUploadBlob is a shared storage operation to upload blob data.
OpTypeTokenActivatePool is a token pool activation.
OpTypeTokenApproval is a token approval.
OpTypeTokenCreatePool is a token pool creation.
OpTypeTokenTransfer is a token transfer.
TokenPoolStateConfirmed is a token pool that has been confirmed on chain.
TokenPoolStatePending is a token pool that has been announced but not yet confirmed.
TokenPoolStateUnknown is a token pool that may not yet be activated (should not be used in the code - only set via database migration for previously-created pools).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TransactionTypeBatchPin represents a pinning transaction, that verifies the originator of the data, and sequences the event deterministically between parties.
TransactionTypeContractInvoke is a smart contract invoke.
TransactionTypeNone deprecated - replaced by TransactionTypeUnpinned.
TransactionTypeTokenTransfer represents a token approval.
TransactionTypeTokenPool represents a token pool creation.
TransactionTypeTokenTransfer represents a token transfer.
TransactionTypeUnpinned indicates the message will be sent without pinning any evidence to the blockchain.
No description provided by the author
No description provided by the author
ValidatorTypeJSON is the validator type for JSON Schema validation.
ValidatorTypeNone explicitly disables validation, even when a datatype is set.
ValidatorTypeSystemDefinition is the validator type for system definitions.
VerifierTypeEthAddress is an Ethereum (secp256k1) address string.
VerifierTypeFFDXPeerID is the peer identifier that FireFly Data Exchange verifies (using plugin specific tech) when receiving data.
VerifierTypeMSPIdentity is the MSP id (X509 distinguished name) of an issued signing certificate / keypair.
WSClientActionAck acknowledges an event that was delivered, allowing further messages to be sent.
WSClientActionChangeNotifcation a special event type that is a local database change event, and never requires an ack.
WSClientActionStart is a request to the server to start delivering messages to the client.
WSProtocolErrorEventType is a special event "type" field for server to send the client, if it performs a ProtocolError.

# Structs

No description provided by the author
Batch is the full payload object used in-flight.
BatchHeader is the common fields between the serialized batch, and the batch manifest.
BatchManifest is all we need to persist to be able to reconstitute an identical batch, and also all of the fields that are protected by the hash of the batch.
BatchPayload contains the full JSON of the messages and data, but importantly only the immutable parts of the messages/data.
BatchPersisted is the structure written to the database.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ChangeEvent is a change to the local FireFly core node.
ChartHistogram is a list of buckets with types.
ChartHistogramInterval specifies lower and upper timestamps for histogram bucket.
ChartHistogramType is a type and count.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DataRefOrValue allows a value to be specified in-line in the data array of an input message, avoiding the need for a multiple API calls.
Datatype is the structure defining a data definition, such as a JSON schema.
No description provided by the author
No description provided by the author
DeprecatedNode is the data structure we used to use prior to FIR-9.
DeprecatedOrganization is the data structure we used to use prior to FIR-9.
EmptyInput represents an API with no input fields, but requiring a JSON content type on the request.
EnrichedEvent adds the referred object to an event.
Event is an activity in the system, delivered reliably to applications, that indicates something has happened in the network.
EventDelivery adds the referred object to an event, as well as details of the subscription that caused the event to be dispatched to an application.
EventDeliveryResponse is the payload an application sends back, to confirm it has accepted (or rejected) the event and as such does not need to receive it again.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
IDAndSequence is a combination of a UUID and a stored sequence.
Identity is the persisted structure backing all identities, including orgs, nodes and custom identities.
IdentityBase are the immutable fields of an identity that determine what the identity itself is.
IdentityClaim is the data payload used in a message to broadcast an intent to publish a new identity.
IdentityCreateDTO is the input structure to submit to register an identity.
No description provided by the author
IdentityProfile are the field of a profile that can be updated over time.
IdentityUpdate is the data payload used in message to broadcast an update to an identity profile.
IdentityUpdateDTO is the input structure to submit to update an identityprofile.
IdentityVerification is the data payload used in message to broadcast a verification of a child identity.
InputGroup declares a group in-line for auotmatic resolution, without having to define a group up-front.
No description provided by the author
No description provided by the author
Message is the envelope by which coordinated data exchange can happen between parties in the network Data is passed by reference in these messages, and a chain of hashes covering the data and the details of the message, provides a verification against tampering.
No description provided by the author
MessageHeader contains all fields that contribute to the hash The order of the serialization mut not change, once released.
MessageInOut allows API users to submit values in-line in the payload submitted, which will be broken out and stored separately during the call.
No description provided by the author
MessageRef is a lightweight data structure that can be used to refer to a message.
Multipart represents streaming data in a multi-part upload.
Namespace is a isolate set of named resources, to allow multiple applications to co-exist in the same network, with the same named objects.
No description provided by the author
NodeStatus is a set of information that represents the health, and identity of a node.
NodeStatusDefaults is information about core configuration th.
NodeStatusNode is the information about the local node, returned in the node status.
NodeStatusOrg is the information about the node owning org, returned in the node status.
Nonce is this local node's state record for the context of a group+topic combination.
Offset is a simple stored data structure that records a sequence position within another collection.
Operation is a description of an action performed as part of a transaction submitted by this node.
Pin represents a ledger-pinning event that has been detected from the blockchain, in the sequence that it was detected.
PreparedOperation is an operation that has gathered all the raw data ready to send to a plugin It is never stored, but it should always be possible for the owning Manager to generate a PreparedOperation from an Operation.
No description provided by the author
SignerRef is the nested structure representing the identity that signed a message.
Subscription is a binding between the stream of events within a namespace, and an event interface - such as an application listening on websockets.
SubscriptionCoreOptions are the core options that apply across all transports.
SubscriptionFilter contains regular expressions to match against events.
SubscriptionOptions cutomize the behavior of subscriptions.
SubscriptionRef are the fields that can be used to refer to a subscription.
Currently these types are just filtered views of TokenBalance.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Transaction is a unit of work sent or received by this node It serves as a container for one or more Operations, BlockchainEvents, and other related objects.
No description provided by the author
TransactionRef refers to a transaction, in other types.
No description provided by the author
No description provided by the author
No description provided by the author
TransportWrapper wraps paylaods over data exchange transfers, for easy deserialization at target.
Verifier is an identity verification system that has been established for this identity, such as a blockchain signing key identifier.
VerifierRef is just the type + value (public key identifier etc.) from the verifier.
WSChangeNotification is a special notification type for a change event, that does *not* require an ack.
WSClientActionAckPayload acknowldges a received event (not applicable in AutoAck mode).
WSClientActionBase is the base fields of all client actions sent on the websocket.
WSClientActionStartPayload starts a subscription on this socket - either an existing one, or creating an ephemeral one.
WSProtocolErrorPayload is sent to the client by the server in the case of a protocol error.

# Interfaces

Definition is implemented by all objects that can be broadcast as system definitions to the network.
No description provided by the author
No description provided by the author
No description provided by the author

# Type aliases

BatchType is the type of a batch.
Bytes32 is a holder of a hash, that can be used to correlate onchain data with off-chain data.
ChangeEventType.
No description provided by the author
No description provided by the author
No description provided by the author
EventType indicates what the event means, as well as what the Reference in the event refers to.
FFBigInt is a wrapper on a Go big.Int that standardizes JSON and DB serialization.
FFDuration is serialized to JSON in the string format of time.Duration It can be unmarshalled from a number, or a string.
No description provided by the author
No description provided by the author
FFStringArray is an array of strings, each conforming to the requirements of a FireFly name.
FFTime is serialized to JSON on the API in RFC3339 nanosecond UTC time (noting that JavaScript can parse this format happily into millisecond time with Date.pase()).
HexUUID is 32 character ASCII string containing the hex representation of UUID, with the dashes of the canonical representation removed.
IdentityType is the type of an identity.
InlineData is an array of data references or values.
JSONAny uses raw encode/decode to preserve field order, and can handle any types of field.
JSONObject is a holder of a hash, that can be used to correlate onchain data with off-chain data.
JSONObjectArray is an array of JSONObject.
No description provided by the author
MessageState is the current transmission/confirmation state of a message.
MessageType is the fundamental type of a message.
NamespaceType describes when the namespace was created from local configuration, or broadcast through the network.
No description provided by the author
OpStatus is the current status of an operation.
OpType describes mechanical steps in the process that have to be performed, might be asynchronous, and have results in the back-end systems that might need to be correlated with messages by operators.
SubOptsFirstEvent picks the first event that should be dispatched on the subscription, and can be a string containing an exact sequence as well as one of the enum values.
TokenPoolState is the current confirmation state of a token pool.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
UUID is a wrapper on a UUID implementation, ensuring Value handles nil.
No description provided by the author
VerifierType is the type of an identity berifier.
WSClientPayloadType actions go from client->server.