confirmations

package
v0.9.2 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Copyright © 2022 Kaleido, Inc.

SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BlockInfo

type BlockInfo struct {
	BlockNumber       uint64   `json:"blockNumber"`
	BlockHash         string   `json:"blockHash"`
	ParentHash        string   `json:"parentHash"`
	TransactionHashes []string `json:"transactionHashes,omitempty"`
}

type EventInfo

type EventInfo struct {
	StreamID         string
	BlockHash        string
	BlockNumber      uint64
	TransactionHash  string
	TransactionIndex uint64
	LogIndex         uint64
	Receipt          func(receipt *ffcapi.GetReceiptResponse)
	Confirmed        func(confirmations []BlockInfo)
}

type Manager

type Manager interface {
	Notify(n *Notification) error
	Start()
	Stop()
}

Manager listens to the blocks on the chain, and attributes confirmations to pending events. Once those events meet a threshold they are considered final and dispatched to the relevant listener.

func NewBlockConfirmationManager

func NewBlockConfirmationManager(ctx context.Context, connectorAPI ffcapi.API) (Manager, error)

type Notification

type Notification struct {
	NotificationType NotificationType
	Event            *EventInfo
	Transaction      *TransactionInfo
	StoppedStream    *StoppedStreamInfo
}

type NotificationType

type NotificationType int
const (
	NewEventLog NotificationType = iota
	RemovedEventLog
	NewTransaction
	RemovedTransaction
	StopStream
)

type StoppedStreamInfo

type StoppedStreamInfo struct {
	StreamID  string
	Completed chan struct{}
}

type TransactionInfo

type TransactionInfo struct {
	TransactionHash string
	Receipt         func(receipt *ffcapi.GetReceiptResponse)
	Confirmed       func(confirmations []BlockInfo)
}

Jump to

Keyboard shortcuts

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