Documentation
¶
Index ¶
- Constants
- type AccountEvents
- type AccountStatusesResponse
- type Arguments
- type BaseDataProvidersResponse
- type BaseMessageRequest
- type BaseMessageResponse
- type BlockDigest
- type BlockDigestMessageResponse
- type BlockHeaderMessageResponse
- type BlockMessageResponse
- type ErrorMessage
- type EventResponse
- type ListSubscriptionsMessageRequest
- type ListSubscriptionsMessageResponse
- type SubscribeMessageRequest
- type SubscribeMessageResponse
- type SubscriptionEntry
- type TransactionStatusesResponse
- type UnsubscribeMessageRequest
- type UnsubscribeMessageResponse
Constants ¶
const ( SubscribeAction = "subscribe" UnsubscribeAction = "unsubscribe" ListSubscriptionsAction = "list_subscription" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccountEvents ¶
AccountEvents represents a mapping of account addresses to their associated events.
func (*AccountEvents) Build ¶
func (a *AccountEvents) Build(accountEvents map[string]flow.EventsList)
Build creates AccountEvents instance by converting each flow.EventsList to the corresponding models.Events.
type AccountStatusesResponse ¶
type AccountStatusesResponse struct {
BlockID string `json:"block_id"`
Height string `json:"height"`
AccountEvents AccountEvents `json:"account_events"`
MessageIndex uint64 `json:"message_index"`
}
AccountStatusesResponse is the response message for 'events' topic.
func (*AccountStatusesResponse) Build ¶
func (e *AccountStatusesResponse) Build(accountStatusesResponse *backend.AccountStatusesResponse, index uint64)
Build creates AccountStatusesResponse instance.
type BaseDataProvidersResponse ¶
type BaseDataProvidersResponse struct {
SubscriptionID string `json:"subscription_id"` // Unique subscriptionID
Topic string `json:"topic"` // Topic of the subscription
Payload interface{} `json:"payload"` // Payload that's being returned within a subscription.
}
BaseDataProvidersResponse represents a base structure for responses from subscriptions.
func (*BaseDataProvidersResponse) Build ¶
func (b *BaseDataProvidersResponse) Build(subscriptionID string, topic string, payload interface{})
Build creates BaseDataProvidersResponse instance for consistent responses of the data providers.
type BaseMessageRequest ¶
type BaseMessageRequest struct {
// SubscriptionID is UUID generated by either client or server to uniquely identify subscription.
// It is empty for 'list_subscription' action
SubscriptionID string `json:"subscription_id,omitempty"`
Action string `json:"action"` // Action is an action to perform (e.g. 'subscribe' to some data)
}
BaseMessageRequest represents a base structure for incoming messages.
type BaseMessageResponse ¶
type BaseMessageResponse struct {
SubscriptionID string `json:"subscription_id"` // SubscriptionID might be empty in case of error response
Error ErrorMessage `json:"error,omitempty"` // Error might be empty in case of OK response
Action string `json:"action"`
}
BaseMessageResponse represents a base structure for outgoing messages.
type BlockDigest ¶
type BlockDigest struct {
BlockId string `json:"block_id"`
Height string `json:"height"`
Timestamp time.Time `json:"timestamp"`
}
BlockDigest is a lightweight block information model.
func (*BlockDigest) Build ¶
func (b *BlockDigest) Build(block *flow.BlockDigest)
Build creates a BlockDigest instance with data from the provided flow.BlockDigest.
type BlockDigestMessageResponse ¶
type BlockDigestMessageResponse struct {
// The sealed or finalized block digest according to the block status
// in the request.
Block *BlockDigest `json:"block_digest"`
}
BlockDigestMessageResponse is the response message for 'block_digests' topic.
type BlockHeaderMessageResponse ¶
type BlockHeaderMessageResponse struct {
// The sealed or finalized block headers according to the block status
// in the request.
Header *models.BlockHeader `json:"header"`
}
BlockHeaderMessageResponse is the response message for 'block_headers' topic.
type BlockMessageResponse ¶
type BlockMessageResponse struct {
// The sealed or finalized blocks according to the block status
// in the request.
Block *models.Block `json:"block"`
}
BlockMessageResponse is the response message for 'blocks' topic.
type ErrorMessage ¶
type EventResponse ¶
type EventResponse struct {
models.BlockEvents // Embed BlockEvents struct to reuse its fields
MessageIndex uint64 `json:"message_index"`
}
EventResponse is the response message for 'events' topic.
func (*EventResponse) Build ¶
func (e *EventResponse) Build(eventsResponse *backend.EventsResponse, index uint64)
Build creates EventResponse instance.
type ListSubscriptionsMessageRequest ¶
type ListSubscriptionsMessageRequest struct {
BaseMessageRequest
}
ListSubscriptionsMessageRequest represents a request to list active subscriptions.
type ListSubscriptionsMessageResponse ¶
type ListSubscriptionsMessageResponse struct {
// Subscription list might be empty in case of no active subscriptions
Subscriptions []*SubscriptionEntry `json:"subscriptions"`
Action string `json:"action"`
}
ListSubscriptionsMessageResponse is the structure used to respond to list_subscriptions requests. It contains a list of active subscriptions for the current WebSocket connection.
type SubscribeMessageRequest ¶
type SubscribeMessageRequest struct {
BaseMessageRequest
Topic string `json:"topic"` // Topic to subscribe to
Arguments Arguments `json:"arguments"` // Additional arguments for subscription
}
SubscribeMessageRequest represents a request to subscribe to a topic.
type SubscribeMessageResponse ¶
type SubscribeMessageResponse struct {
BaseMessageResponse
}
SubscribeMessageResponse represents the response to a subscription request.
type SubscriptionEntry ¶
type SubscriptionEntry struct {
SubscriptionID string `json:"subscription_id"` // ID is a client generated UUID for subscription
Topic string `json:"topic"` // Topic of the subscription
Arguments Arguments `json:"arguments"`
}
SubscriptionEntry represents an active subscription entry.
type TransactionStatusesResponse ¶
type TransactionStatusesResponse struct {
TransactionResult *commonmodels.TransactionResult `json:"transaction_result"`
MessageIndex uint64 `json:"message_index"`
}
TransactionStatusesResponse is the response message for 'events' topic.
func (*TransactionStatusesResponse) Build ¶
func (t *TransactionStatusesResponse) Build( linkGenerator commonmodels.LinkGenerator, txResult *access.TransactionResult, index uint64, )
Build creates TransactionStatusesResponse instance.
type UnsubscribeMessageRequest ¶
type UnsubscribeMessageRequest struct {
// Note: subscription_id is mandatory for this request
BaseMessageRequest
}
UnsubscribeMessageRequest represents a request to unsubscribe from a topic.
type UnsubscribeMessageResponse ¶
type UnsubscribeMessageResponse struct {
BaseMessageResponse
}
UnsubscribeMessageResponse represents the response to an unsubscription request.