reservoir

package
v0.4.11 Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2017 License: ISC Imports: 24 Imported by: 1

Documentation

Overview

Cache for transactions that have been verified

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteByLink(link merkle.Digest)

remove a record using a link id

func DeleteByTxId added in v0.3.5

func DeleteByTxId(txId merkle.Digest)

remove a record using a transaction id

func Disable added in v0.3.29

func Disable()

lock down to prevent proofer from getting data

func Enable added in v0.3.29

func Enable()

allow proofer to run again

func FetchVerified added in v0.3.5

func FetchVerified(count int) ([]merkle.Digest, []transactionrecord.Packed, int, error)

fetch a series of verified transactions

func Finalise

func Finalise()

stop all

func Initialise

func Initialise() error

create the cache

func ReadCounters added in v0.3.5

func ReadCounters() (int, int, []int)

read counter

func ScaledDifficulty added in v0.3.30

func ScaledDifficulty(count int) *difficulty.Difficulty

produce a scaled difficulty based on the number of items in a block to be processed and include a quantity discount

Types

type IssueInfo added in v0.3.5

type IssueInfo struct {
	Id         pay.PayId
	Nonce      PayNonce
	Difficulty *difficulty.Difficulty
	TxIds      []merkle.Digest
	Packed     []byte
}

result returned by store issues

func StoreIssues added in v0.3.5

func StoreIssues(issues []*transactionrecord.BitmarkIssue, isVerified bool) (*IssueInfo, bool, error)

store packed record(s) in the Unverified table

return payment id and a duplicate flag

for duplicate to be true all transactions must all match exactly to a previous set - this is to allow for multiple submission from client without receiving a duplicate transaction error

type PayNonce added in v0.3.30

type PayNonce [8]byte

type to represent a payment nonce Note: no reversal is required for this

func NewPayNonce added in v0.3.30

func NewPayNonce() PayNonce

create a random pay nonce

func (PayNonce) GoString added in v0.3.30

func (paynonce PayNonce) GoString() string

convert a binary pay nonce to big endian hex string for use by the fmt package (for %#v)

func (PayNonce) MarshalText added in v0.3.30

func (paynonce PayNonce) MarshalText() ([]byte, error)

convert pay nonce to big endian hex text

func (PayNonce) String added in v0.3.30

func (paynonce PayNonce) String() string

convert a binary pay nonce to big endian hex string for use by the fmt package (for %s)

func (*PayNonce) UnmarshalText added in v0.3.30

func (paynonce *PayNonce) UnmarshalText(s []byte) error

convert little endian hex text into a pay nonce

type TrackingStatus added in v0.3.30

type TrackingStatus int

result of track payment/try proof

const (
	TrackingNotFound  TrackingStatus = iota
	TrackingAccepted  TrackingStatus = iota
	TrackingProcessed TrackingStatus = iota
	TrackingInvalid   TrackingStatus = iota
)

possible status values

func TryProof added in v0.3.30

func TryProof(payId pay.PayId, clientNonce []byte) TrackingStatus

instead of paying, try a proof from the client nonce

func (TrackingStatus) MarshalText added in v0.3.30

func (ts TrackingStatus) MarshalText() ([]byte, error)

convert the tracking value for JSON

func (TrackingStatus) String added in v0.3.30

func (ts TrackingStatus) String() string

convert the tracking value for printf

func (*TrackingStatus) UnmarshalText added in v0.3.30

func (ts *TrackingStatus) UnmarshalText(s []byte) error

convert the tracking value from JSON to enumeration

type TransactionState added in v0.3.30

type TransactionState int

status

const (
	StateUnknown   TransactionState = iota
	StatePending   TransactionState = iota
	StateVerified  TransactionState = iota
	StateConfirmed TransactionState = iota
)

func TransactionStatus added in v0.3.30

func TransactionStatus(txId merkle.Digest) TransactionState

get status of a transaction

func (TransactionState) String added in v0.3.30

func (state TransactionState) String() string

type TransferInfo added in v0.3.5

type TransferInfo struct {
	Id       pay.PayId
	TxId     merkle.Digest
	Packed   []byte
	Payments []*transactionrecord.Payment
}

result returned by store transfer

func StoreTransfer added in v0.3.5

func StoreTransfer(transfer *transactionrecord.BitmarkTransfer) (*TransferInfo, bool, error)

store a single transfer

Jump to

Keyboard shortcuts

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