# Functions
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
# Constants
ActionConfirm the message was valid and should be confirmed.
ActionReject the message was successfully processed, but was malformed/invalid and should be marked as rejected.
ActionRetry a recoverable error was encountered - batch should be halted and then re-processed from the start.
ActionWait the message is still awaiting further pieces for aggregation and should be held in pending state.
No description provided by the author
No description provided by the author
See ChangeEventDropped structure, sent to client instead of ChangeEvent when dropping notifications.
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.
DeployContract is the header for DeployContract request.
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
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
LegacySystemNamespace is the system reserved namespace name (deprecated).
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.
OpStatusInitialized indicates the operation has been initialized, but successful confirmation of submission to the relevant plugin has not yet been received.
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.
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.
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.
SystemTagDefinePool is the tag for messages that broadcast data definitions.
SystemTagGapFill is the tag for messages that provide a nonce gap fill for a message that failed to send.
SystemTagIdentityClaim is the tag for messages that broadcast an identity claim.
SystemTagIdentityUpdate is the tag for messages that broadcast an identity update.
nolint:gosec 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.
contract is within tolerance of the latest block.
contract is in catch-up mode.
status couldn't be determined.
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).
EventTypeBlockchainContractDeployOpFailed occurs when a contract deployment request has failed.
EventTypeBlockchainContractDeployOpSucceeded occurs when a contract deployment request has succeeded.
EventTypeBlockchainEventReceived occurs when a new event has been received from the blockchain.
EventTypeBlockchainInvokeOpFailed occurs when a blockchain "invoke" request has failed.
EventTypeBlockchainInvokeOpSucceeded occurs when a blockchain "invoke" request has succeeded.
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).
EventTypePoolConfirmed occurs when a new token pool is ready for use.
EventTypePoolOpFailed occurs when a token pool creation initiated by this node has failed (based on feedback from connector).
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.
MessageStateCancelled is a message that was cancelled without being sent.
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.).
MessageTypeDeprecatedApprovalBroadcast is deprecated - use MessageTypeBroadcast (and refer to TxParent.Type).
MessageTypeDeprecatedApprovalPrivate is a deprecated - use MessageTypePrivate (and refer to TxParent.Type).
MessageTypeDeprecatedTransferBroadcast is deprecated - use MessageTypeBroadcast (and refer to TxParent.Type).
MessageTypeDeprecatedTransferPrivate is deprecated - use MessageTypePrivate (and refer to TxParent.Type).
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.
entity is registered.
entity is not yet registered but a registration is in progress.
entity registration status couldn't be determined.
entity is not yet registered.
NetworkActionTerminate request all network members to stop using the current contract and move to the next one configured.
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.
OpTypeBlockchainContractDeploy is a smart contract deploy.
OpTypeBlockchainInvoke is a smart contract invoke.
OpTypeBlockchainNetworkAction is an administrative action on a multiparty blockchain network.
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.
OpTypeSharedStorageUploadValue is a shared storage operation to upload the value JSON from a data record directly.
OpTypeTokenActivatePool is a token pool activation.
OpTypeTokenApproval is a token approval.
OpTypeTokenCreatePool is a token pool creation.
OpTypeTokenTransfer is a token transfer.
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
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.
TransactionTypeContractDeploy is a smart contract deployment.
TransactionTypeContractInvoke is a smart contract invoke.
TransactionTypeContractInvokePin is a smart contract invoke with an accompanying pin.
TransactionTypeDataPublish represents a publish to shared storage.
TransactionTypeNetworkAction represents an administrative action on a multiparty network.
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.
VerifierTypeTezosAddress is a Tezos (ed25519) address string.
WSChangeEventCommandTypeStart is the command to start listening.
WSClientActionAck acknowledges an event that was delivered, allowing further messages to be sent.
WSClientActionStart is a request to the server to start delivering messages to the client.
WSEventBatchType is the type set when the message contains an array of events.
WSProtocolErrorEventType is a special event "type" field for server to send the client, if it performs a ProtocolError.
# Structs
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.
BatchState tracks the state between definition handlers that run in-line on the pin processing route in the aggregator as part of a batch of pins.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
BlockchainTransactionRef refers to a transaction and a transaction blockchain ID, in other types.
ChangeEvent is a change to the local FireFly core node.
No description provided by the author
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
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
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.
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
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.
IdentityWithVerifiers has an embedded array of verifiers.
InputGroup declares a group in-line for automatic resolution, without having to define a group up-front.
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
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.
MultipartyContract represents identifying details about a FireFly multiparty contract, as read from the config file.
MultipartyContractInfo stores additional info about the FireFly multiparty contract that is computed during node operation.
MultipartyContracts represent the currently active and any terminated FireFly multiparty contract(s).
No description provided by the author
No description provided by the author
Namespace is an isolated 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
No description provided by the author
No description provided by the author
NamespaceStatus is a set of information that represents the configuration and status of a given namespace.
NamespaceStatusMultiparty is information about multiparty mode and any associated multiparty contracts.
NamespaceStatusNode is the information about the local node, returned in the namespace status.
NamespaceStatusOrg is the information about the node owning org, returned in the namespace status.
NamespaceStatusPlugin is information about a plugin.
NamespaceStatusPlugins is a map of plugins configured in the namespace.
No description provided by the author
No description provided by the author
No description provided by the author
Nonce is this local node's state record for the context of a group+topic+author 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.
No description provided by the author
OperationUpdate notifies FireFly of an update to an operation.
OperationUpdateDTO is the subset of fields on an operation that are mutable, via the SPI.
No description provided by the author
Pin represents a ledger-pinning event that has been detected from the blockchain, in the sequence that it was detected.
No description provided by the author
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 REMEMBER TO ADD OPTIONS HERE TO MarshalJSON().
SubscriptionFilter contains regular expressions to match against events.
SubscriptionOptions customize the behavior of subscriptions.
SubscriptionRef are the fields that can be used to refer to a subscription.
No description provided by the author
No description provided by the author
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
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
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.
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
WSAck acknowledges a received event (not applicable in AutoAck mode).
WSActionBase is the base fields of all client actions sent on the websocket.
WSChangeEventCommand is the WebSocket command to send to start listening for change events.
No description provided by the author
WSError is sent to the client by the server in the case of a protocol error.
WSEventBatch is used when batched delivery is enabled over the websocket, allowing an array of events to be ack'd as a whole (rather than ack'ing individually).
WSStart starts a subscription on this socket - either an existing one, or creating an ephemeral one.
No description provided by the author
# Interfaces
No description provided by the author
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.
ChangeEventType.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
EmptyInput represents an API with no input fields, but requiring a JSON content type on the request.
EventType indicates what the event means, as well as what the Reference in the event refers to.
IdempotencyKey is accessed in Go as a string, but when persisted to storage it will be stored as a null to allow multiple entries in a unique index to exist with the same un-set idempotency key.
IdentityType is the type of an identity.
InlineData is an array of data references or values.
No description provided by the author
No description provided by the author
No description provided by the author
MessageAction is an action to be taken on a message during processing.
MessageState is the current transmission/confirmation state of a message.
MessageType is the fundamental type of a message.
No description provided by the author
NetworkActionType is a type of action to perform.
No description provided by the author
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.
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
VerifierType is the type of an identity verifier.
No description provided by the author
WSClientPayloadType actions go from client->server.