database

package
v1.0.0-rc1-debug2 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2022 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReadSnapshot

func ReadSnapshot(file ioutil2.SectionReader) (*snapshotHeader, int64, error)

ReadSnapshot reads a snapshot file, returning the header values and a reader.

func UpdateAccount added in v1.0.0

func UpdateAccount[T protocol.Account](batch *Batch, url *url.URL, fn func(T) error) (T, error)

Types

type Account

type Account struct {
	// contains filtered or unexported fields
}

func (*Account) AddPending added in v1.0.0

func (r *Account) AddPending(txid *url.TxID) error

func (*Account) AddSyntheticForAnchor added in v0.6.0

func (r *Account) AddSyntheticForAnchor(anchor [32]byte, txid *url.TxID) error

func (*Account) AnchorChain added in v1.0.0

func (c *Account) AnchorChain(partition string) *AccountAnchorChain

func (*Account) AnchorSequenceChain added in v1.0.0

func (c *Account) AnchorSequenceChain() *Chain2

func (*Account) BptReceipt added in v1.0.0

func (a *Account) BptReceipt() (*managed.Receipt, error)

BptReceipt builds a BPT receipt for the account.

func (*Account) ChainByName added in v1.0.0

func (a *Account) ChainByName(name string) (*Chain2, error)

ChainByName returns account Chain2 for the named chain, or a not found error if there is no such chain.

func (*Account) Chains added in v1.0.0

func (c *Account) Chains() *record.Set[*protocol.ChainMetadata]

func (*Account) Commit added in v1.0.0

func (a *Account) Commit() error

func (*Account) Data

func (c *Account) Data() *AccountData

func (*Account) Directory added in v1.0.0

func (c *Account) Directory() *record.Set[*url.URL]

func (*Account) GetChainByName added in v1.0.0

func (a *Account) GetChainByName(name string) (*Chain, error)

GetChainByName calls ChainByName and Get.

func (*Account) GetIndexChainByName added in v1.0.0

func (a *Account) GetIndexChainByName(name string) (*Chain, error)

GetChainByName calls ChainByName, Index, and Get.

func (*Account) GetPending added in v1.0.0

func (r *Account) GetPending() (*protocol.TxIdSet, error)

func (*Account) GetState

func (r *Account) GetState() (protocol.Account, error)

GetState loads the record state.

func (*Account) GetStateAs

func (r *Account) GetStateAs(state interface{}) error

GetStateAs loads the record state and unmarshals into the given value. In most cases `state` should be a double pointer.

func (*Account) GetSyntheticForAnchor added in v1.0.0

func (r *Account) GetSyntheticForAnchor(anchor [32]byte) ([]*url.TxID, error)

func (*Account) IsDirty added in v1.0.0

func (c *Account) IsDirty() bool

func (*Account) Main added in v1.0.0

func (c *Account) Main() *record.Value[protocol.Account]

func (*Account) MainChain added in v1.0.0

func (c *Account) MainChain() *Chain2

func (*Account) MajorBlockChain added in v1.0.0

func (c *Account) MajorBlockChain() *Chain2

func (*Account) Pending added in v1.0.0

func (c *Account) Pending() *record.Set[*url.TxID]

func (*Account) PutState

func (r *Account) PutState(state protocol.Account) error

PutState stores the record state.

func (*Account) RemovePending added in v1.0.0

func (r *Account) RemovePending(txid *url.TxID) error

func (*Account) Resolve added in v1.0.0

func (c *Account) Resolve(key record.Key) (record.Record, record.Key, error)

func (*Account) RootChain added in v1.0.0

func (c *Account) RootChain() *Chain2

func (*Account) ScratchChain added in v1.0.0

func (c *Account) ScratchChain() *Chain2

func (*Account) SignatureChain added in v1.0.0

func (c *Account) SignatureChain() *Chain2

func (*Account) StateReceipt added in v0.5.1

func (a *Account) StateReceipt() (*managed.Receipt, error)

StateReceipt returns a Merkle receipt for the account state in the BPT.

func (*Account) SyntheticAnchors added in v1.0.0

func (c *Account) SyntheticAnchors() *record.Set[[32]byte]

func (*Account) SyntheticForAnchor added in v0.6.0

func (c *Account) SyntheticForAnchor(anchor [32]byte) *record.Set[*url.TxID]

func (*Account) SyntheticSequenceChain added in v1.0.0

func (c *Account) SyntheticSequenceChain(partition string) *Chain2

type AccountAnchorChain added in v1.0.0

type AccountAnchorChain struct {
	// contains filtered or unexported fields
}

func (*AccountAnchorChain) BPT added in v1.0.0

func (c *AccountAnchorChain) BPT() *Chain2

func (*AccountAnchorChain) Commit added in v1.0.0

func (c *AccountAnchorChain) Commit() error

func (*AccountAnchorChain) IsDirty added in v1.0.0

func (c *AccountAnchorChain) IsDirty() bool

func (*AccountAnchorChain) Resolve added in v1.0.0

func (c *AccountAnchorChain) Resolve(key record.Key) (record.Record, record.Key, error)

func (*AccountAnchorChain) Root added in v1.0.0

func (c *AccountAnchorChain) Root() *Chain2

type AccountData added in v1.0.0

type AccountData struct {
	// contains filtered or unexported fields
}

func (*AccountData) Commit added in v1.0.0

func (c *AccountData) Commit() error

func (*AccountData) Entry added in v1.0.0

func (c *AccountData) Entry() *record.Counted[[32]byte]

func (*AccountData) IsDirty added in v1.0.0

func (c *AccountData) IsDirty() bool

func (*AccountData) Resolve added in v1.0.0

func (c *AccountData) Resolve(key record.Key) (record.Record, record.Key, error)

func (*AccountData) Transaction added in v1.0.0

func (c *AccountData) Transaction(entryHash [32]byte) *record.Value[[32]byte]

type Batch

type Batch struct {
	// contains filtered or unexported fields
}

func (*Batch) Account

func (c *Batch) Account(url *url.URL) *Account

func (*Batch) AccountByID deprecated

func (b *Batch) AccountByID(id []byte) (*Account, error)

AccountByID returns an Account for the given ID.

This is still needed in one place, so the deprecation warning is disabled in order to pass static analysis.

Deprecated: Use Account.

func (*Batch) Begin added in v0.5.1

func (b *Batch) Begin(writable bool) *Batch

func (*Batch) BlockChainUpdates

func (c *Batch) BlockChainUpdates(partition *url.URL, index uint64) *record.List[*ChainUpdate]

func (*Batch) BlockState

func (c *Batch) BlockState(partition *url.URL) *record.Set[*BlockStateSynthTxnEntry]

func (*Batch) BptReceipt added in v0.5.1

func (b *Batch) BptReceipt(key storage.Key, value [32]byte) (*managed.Receipt, error)

BptReceipt builds a BPT receipt for the given key.

func (*Batch) BptRoot added in v1.0.0

func (b *Batch) BptRoot() []byte

BptRoot returns the root of the BPT. BptRoot panics if there are any uncommitted BPT changes.

func (*Batch) Commit

func (b *Batch) Commit() error

Commit commits pending writes to the key-value store or the parent batch. Attempting to use the Batch after calling Commit or Discard will result in a panic.

func (*Batch) DeleteAccountState_TESTONLY added in v1.0.0

func (b *Batch) DeleteAccountState_TESTONLY(url *url.URL) error

DeleteAccountState_TESTONLY is intended for testing purposes only. It deletes an account from the database.

func (*Batch) Discard

func (b *Batch) Discard()

Discard discards pending writes. Attempting to use the Batch after calling Discard will result in a panic.

func (*Batch) GetMinorRootChainAnchor added in v0.5.1

func (b *Batch) GetMinorRootChainAnchor(describe *config.Describe) ([]byte, error)

func (*Batch) GetValue added in v1.0.0

func (b *Batch) GetValue(key record.Key, value record.ValueWriter) error

GetValue implements record.Store.

func (*Batch) Import

func (b *Batch) Import(db interface{ Export() map[storage.Key][]byte }) error

Import imports values from another database.

func (*Batch) IsDirty added in v1.0.0

func (c *Batch) IsDirty() bool

func (*Batch) PutValue added in v1.0.0

func (b *Batch) PutValue(key record.Key, value record.ValueReader) error

PutValue implements record.Store.

func (*Batch) Resolve added in v1.0.0

func (c *Batch) Resolve(key record.Key) (record.Record, record.Key, error)

func (*Batch) RestoreSnapshot

func (b *Batch) RestoreSnapshot(file ioutil2.SectionReader) error

RestoreSnapshot loads the full state of the partition from a file.

func (*Batch) SaveSnapshot

func (b *Batch) SaveSnapshot(file io.WriteSeeker, network *config.Describe) error

SaveSnapshot writes the full state of the partition out to a file.

func (*Batch) Transaction

func (b *Batch) Transaction(id []byte) *Transaction

Transaction returns an Transaction for the given hash.

func (*Batch) Update added in v0.5.1

func (b *Batch) Update(fn func(batch *Batch) error) error

Update runs the function with a writable transaction and commits if the function succeeds.

func (*Batch) View added in v0.5.1

func (b *Batch) View(fn func(batch *Batch) error) error

View runs the function with a read-only transaction.

type BlockStateSynthTxnEntry added in v1.0.0

type BlockStateSynthTxnEntry struct {
	Transaction []byte `json:"transaction,omitempty" form:"transaction" query:"transaction" validate:"required"`
	ChainEntry  uint64 `json:"chainEntry,omitempty" form:"chainEntry" query:"chainEntry" validate:"required"`
	// contains filtered or unexported fields
}

func (*BlockStateSynthTxnEntry) Compare added in v1.0.0

func (*BlockStateSynthTxnEntry) Copy added in v1.0.0

func (*BlockStateSynthTxnEntry) CopyAsInterface added in v1.0.0

func (v *BlockStateSynthTxnEntry) CopyAsInterface() interface{}

func (*BlockStateSynthTxnEntry) Equal added in v1.0.0

func (*BlockStateSynthTxnEntry) IsValid added in v1.0.0

func (v *BlockStateSynthTxnEntry) IsValid() error

func (*BlockStateSynthTxnEntry) MarshalBinary added in v1.0.0

func (v *BlockStateSynthTxnEntry) MarshalBinary() ([]byte, error)

func (*BlockStateSynthTxnEntry) MarshalJSON added in v1.0.0

func (v *BlockStateSynthTxnEntry) MarshalJSON() ([]byte, error)

func (*BlockStateSynthTxnEntry) UnmarshalBinary added in v1.0.0

func (v *BlockStateSynthTxnEntry) UnmarshalBinary(data []byte) error

func (*BlockStateSynthTxnEntry) UnmarshalBinaryFrom added in v1.0.0

func (v *BlockStateSynthTxnEntry) UnmarshalBinaryFrom(rd io.Reader) error

func (*BlockStateSynthTxnEntry) UnmarshalJSON added in v1.0.0

func (v *BlockStateSynthTxnEntry) UnmarshalJSON(data []byte) error

type Chain

type Chain struct {
	// contains filtered or unexported fields
}

Chain manages a Merkle tree (chain).

func (*Chain) AddEntry

func (c *Chain) AddEntry(entry []byte, unique bool) error

AddEntry adds an entry to the chain

func (*Chain) Anchor

func (c *Chain) Anchor() []byte

Anchor calculates the anchor of the current Merkle state.

func (*Chain) AnchorAt added in v0.5.1

func (c *Chain) AnchorAt(height uint64) ([]byte, error)

AnchorAt calculates the anchor of the chain at the given height.

func (*Chain) CurrentState added in v0.5.1

func (c *Chain) CurrentState() *managed.MerkleState

CurrentState returns the current state of the chain.

func (*Chain) Entries

func (c *Chain) Entries(start int64, end int64) ([][]byte, error)

Entries returns entries in the given range.

func (*Chain) Entry

func (c *Chain) Entry(height int64) ([]byte, error)

Entry loads the entry in the chain at the given height.

func (*Chain) EntryAs added in v0.5.1

func (c *Chain) EntryAs(height int64, value encoding.BinaryUnmarshaler) error

EntryAs loads and unmarshals the entry in the chain at the given height.

func (*Chain) Height

func (c *Chain) Height() int64

Height returns the height of the chain.

func (*Chain) HeightOf

func (c *Chain) HeightOf(hash []byte) (int64, error)

HeightOf returns the height of the given entry in the chain.

func (*Chain) Pending

func (c *Chain) Pending() []managed.Hash

Pending returns the pending roots of the current Merkle state.

func (*Chain) Receipt

func (c *Chain) Receipt(from, to int64) (*managed.Receipt, error)

Receipt builds a receipt from one index to another

func (*Chain) State

func (c *Chain) State(height int64) (*managed.MerkleState, error)

State returns the state of the chain at the given height.

type Chain2 added in v1.0.0

type Chain2 struct {
	// contains filtered or unexported fields
}

Chain2 is a wrapper for managed.Chain.

func (*Chain2) Account added in v1.0.0

func (c *Chain2) Account() *url.URL

Account returns the URL of the account.

func (*Chain2) Commit added in v1.0.0

func (c *Chain2) Commit() error

func (*Chain2) Get added in v1.0.0

func (c *Chain2) Get() (*Chain, error)

Get converts the Chain2 to a Chain, updating the account's chains index and loading the chain head.

func (*Chain2) Index added in v1.0.0

func (c *Chain2) Index() *Chain2

Index returns the index chain of this chain. Index will panic if called on an index chain.

func (*Chain2) IsDirty added in v1.0.0

func (c *Chain2) IsDirty() bool

func (*Chain2) Key added in v1.0.0

func (c *Chain2) Key(i int) interface{}

Key returns the Ith key of the chain record.

func (*Chain2) Name added in v1.0.0

func (c *Chain2) Name() string

Name returns the name of the chain.

func (*Chain2) Resolve added in v1.0.0

func (c *Chain2) Resolve(key record.Key) (record.Record, record.Key, error)

func (*Chain2) Type added in v1.0.0

func (c *Chain2) Type() managed.ChainType

Type returns the type of the chain.

func (*Chain2) Url added in v1.0.0

func (c *Chain2) Url() *url.URL

Url returns the URL of the chain: {account}#chain/{name}.

type ChainUpdate

type ChainUpdate struct {
	Account     *url.URL           `json:"account,omitempty" form:"account" query:"account" validate:"required"`
	Name        string             `json:"name,omitempty" form:"name" query:"name" validate:"required"`
	Type        protocol.ChainType `json:"type,omitempty" form:"type" query:"type" validate:"required"`
	Index       uint64             `json:"index,omitempty" form:"index" query:"index" validate:"required"`
	SourceIndex uint64             `json:"sourceIndex,omitempty" form:"sourceIndex" query:"sourceIndex" validate:"required"`
	SourceBlock uint64             `json:"sourceBlock,omitempty" form:"sourceBlock" query:"sourceBlock" validate:"required"`
	Entry       []byte             `json:"entry,omitempty" form:"entry" query:"entry" validate:"required"`
	// contains filtered or unexported fields
}

func (*ChainUpdate) Compare

func (u *ChainUpdate) Compare(v *ChainUpdate) int

func (*ChainUpdate) Copy

func (v *ChainUpdate) Copy() *ChainUpdate

func (*ChainUpdate) CopyAsInterface

func (v *ChainUpdate) CopyAsInterface() interface{}

func (*ChainUpdate) Equal

func (v *ChainUpdate) Equal(u *ChainUpdate) bool

func (*ChainUpdate) IsValid

func (v *ChainUpdate) IsValid() error

func (*ChainUpdate) MarshalBinary

func (v *ChainUpdate) MarshalBinary() ([]byte, error)

func (*ChainUpdate) MarshalJSON

func (v *ChainUpdate) MarshalJSON() ([]byte, error)

func (*ChainUpdate) UnmarshalBinary

func (v *ChainUpdate) UnmarshalBinary(data []byte) error

func (*ChainUpdate) UnmarshalBinaryFrom

func (v *ChainUpdate) UnmarshalBinaryFrom(rd io.Reader) error

func (*ChainUpdate) UnmarshalJSON

func (v *ChainUpdate) UnmarshalJSON(data []byte) error

type Database

type Database struct {
	// contains filtered or unexported fields
}

Database is an Accumulate database.

func New

func New(store storage.KeyValueStore, logger log.Logger) *Database

New creates a new database using the given key-value store.

func Open

func Open(cfg *config.Config, logger log.Logger) (*Database, error)

Open opens a key-value store and creates a new database with it.

func OpenBadger added in v0.5.1

func OpenBadger(filepath string, logger log.Logger) (*Database, error)

func OpenEtcd added in v0.5.1

func OpenEtcd(prefix string, config *clientv3.Config, logger log.Logger) (*Database, error)

func OpenInMemory added in v0.5.1

func OpenInMemory(logger log.Logger) *Database

func (*Database) Begin

func (d *Database) Begin(writable bool) *Batch

Begin starts a new batch.

func (*Database) Close

func (d *Database) Close() error

Close closes the database and the key-value store.

func (*Database) Update added in v0.5.1

func (d *Database) Update(fn func(batch *Batch) error) error

Update runs the function with a writable transaction and commits if the function succeeds.

func (*Database) View added in v0.5.1

func (d *Database) View(fn func(batch *Batch) error) error

View runs the function with a read-only transaction.

type SigOrTxn added in v0.6.0

type SigOrTxn struct {
	Transaction *protocol.Transaction `json:"transaction,omitempty" form:"transaction" query:"transaction" validate:"required"`
	Signature   protocol.Signature    `json:"signature,omitempty" form:"signature" query:"signature" validate:"required"`
	Txid        *url.TxID             `json:"txid,omitempty" form:"txid" query:"txid" validate:"required"`
	// contains filtered or unexported fields
}

func (*SigOrTxn) Copy added in v0.6.0

func (v *SigOrTxn) Copy() *SigOrTxn

func (*SigOrTxn) CopyAsInterface added in v0.6.0

func (v *SigOrTxn) CopyAsInterface() interface{}

func (*SigOrTxn) Equal added in v0.6.0

func (v *SigOrTxn) Equal(u *SigOrTxn) bool

func (*SigOrTxn) IsValid added in v0.6.0

func (v *SigOrTxn) IsValid() error

func (*SigOrTxn) MarshalBinary added in v0.6.0

func (v *SigOrTxn) MarshalBinary() ([]byte, error)

func (*SigOrTxn) MarshalJSON added in v0.6.0

func (v *SigOrTxn) MarshalJSON() ([]byte, error)

func (*SigOrTxn) UnmarshalBinary added in v0.6.0

func (v *SigOrTxn) UnmarshalBinary(data []byte) error

func (*SigOrTxn) UnmarshalBinaryFrom added in v0.6.0

func (v *SigOrTxn) UnmarshalBinaryFrom(rd io.Reader) error

func (*SigOrTxn) UnmarshalJSON added in v0.6.0

func (v *SigOrTxn) UnmarshalJSON(data []byte) error

type SigSetEntry added in v1.0.0

type SigSetEntry struct {
	System        bool                   `json:"system,omitempty" form:"system" query:"system" validate:"required"`
	Type          protocol.SignatureType `json:"type,omitempty" form:"type" query:"type" validate:"required"`
	KeyEntryIndex uint64                 `json:"keyEntryIndex,omitempty" form:"keyEntryIndex" query:"keyEntryIndex" validate:"required"`
	SignatureHash [32]byte               `json:"signatureHash,omitempty" form:"signatureHash" query:"signatureHash" validate:"required"`
	// contains filtered or unexported fields
}

func (*SigSetEntry) Compare added in v1.0.0

func (s *SigSetEntry) Compare(t *SigSetEntry) int

func (*SigSetEntry) Copy added in v1.0.0

func (v *SigSetEntry) Copy() *SigSetEntry

func (*SigSetEntry) CopyAsInterface added in v1.0.0

func (v *SigSetEntry) CopyAsInterface() interface{}

func (*SigSetEntry) Equal added in v1.0.0

func (v *SigSetEntry) Equal(u *SigSetEntry) bool

func (*SigSetEntry) IsValid added in v1.0.0

func (v *SigSetEntry) IsValid() error

func (*SigSetEntry) MarshalBinary added in v1.0.0

func (v *SigSetEntry) MarshalBinary() ([]byte, error)

func (*SigSetEntry) MarshalJSON added in v1.0.0

func (v *SigSetEntry) MarshalJSON() ([]byte, error)

func (*SigSetEntry) UnmarshalBinary added in v1.0.0

func (v *SigSetEntry) UnmarshalBinary(data []byte) error

func (*SigSetEntry) UnmarshalBinaryFrom added in v1.0.0

func (v *SigSetEntry) UnmarshalBinaryFrom(rd io.Reader) error

func (*SigSetEntry) UnmarshalJSON added in v1.0.0

func (v *SigSetEntry) UnmarshalJSON(data []byte) error

type SignatureSet added in v0.5.1

type SignatureSet struct {
	// contains filtered or unexported fields
}

func (*SignatureSet) Add added in v0.5.1

func (s *SignatureSet) Add(keyEntryIndex uint64, newSignature protocol.Signature) (int, error)

Add adds a signature to the signature set. Add does nothing if the signature set already includes the signer's public key. The entry hash must refer to a signature chain entry.

func (*SignatureSet) Count added in v0.5.1

func (s *SignatureSet) Count() int

func (*SignatureSet) Entries added in v1.0.0

func (s *SignatureSet) Entries() []SigSetEntry

type Transaction

type Transaction struct {
	// contains filtered or unexported fields
}

func (*Transaction) AddSignature added in v0.5.1

func (t *Transaction) AddSignature(keyEntryIndex uint64, newSignature protocol.Signature) (int, error)

AddSignature loads the appropriate siganture set and adds the signature to it.

func (*Transaction) AddSyntheticTxns

func (t *Transaction) AddSyntheticTxns(txids ...*url.TxID) error

AddSyntheticTxns is a convenience method that calls GetSyntheticTxns, adds the IDs, and calls PutSyntheticTxns.

func (*Transaction) AddSystemSignature added in v1.0.0

func (t *Transaction) AddSystemSignature(net *config.Describe, newSignature protocol.Signature) (int, error)

AddSystemSignature adds a system signature to the operator signature set. AddSystemSignature panics if the signature is not a system signature.

func (*Transaction) Chains added in v1.0.0

func (*Transaction) Commit added in v1.0.0

func (c *Transaction) Commit() error

func (*Transaction) GetState

func (t *Transaction) GetState() (*SigOrTxn, error)

GetState loads the transaction state.

func (*Transaction) GetStatus

func (t *Transaction) GetStatus() (*protocol.TransactionStatus, error)

GetStatus loads the transaction status.

func (*Transaction) GetSyntheticTxns

func (t *Transaction) GetSyntheticTxns() (*protocol.TxIdSet, error)

GetSyntheticTxns loads the IDs of synthetic transactions produced by the transaction.

func (*Transaction) IsDirty added in v1.0.0

func (c *Transaction) IsDirty() bool

func (*Transaction) Main added in v1.0.0

func (c *Transaction) Main() *record.Value[*SigOrTxn]

func (*Transaction) Produced added in v1.0.0

func (c *Transaction) Produced() *record.Set[*url.TxID]

func (*Transaction) PutState

func (t *Transaction) PutState(v *SigOrTxn) error

PutState stores the transaction state.

func (*Transaction) PutStatus

func (t *Transaction) PutStatus(v *protocol.TransactionStatus) error

PutStatus stores the transaction status.

func (*Transaction) PutSyntheticTxns added in v0.5.1

func (t *Transaction) PutSyntheticTxns(v *protocol.TxIdSet) error

PutSyntheticTxns stores the IDs of synthetic transactions produced by the transaction.

func (*Transaction) ReadSignatures added in v0.5.1

func (t *Transaction) ReadSignatures(signer *url.URL) (*SignatureSet, error)

ReadSignatures returns a read-only signature set for the given signer.

func (*Transaction) ReadSignaturesForSigner added in v0.6.0

func (t *Transaction) ReadSignaturesForSigner(signer protocol.Signer) (*SignatureSet, error)

SignaturesForSigner returns a read-only signature set for the given signer account.

func (*Transaction) Resolve added in v1.0.0

func (c *Transaction) Resolve(key record.Key) (record.Record, record.Key, error)

func (*Transaction) Signatures added in v0.5.1

func (t *Transaction) Signatures(signer *url.URL) (*SignatureSet, error)

Signatures returns a signature set for the given signer.

func (*Transaction) SignaturesForSigner added in v0.6.0

func (t *Transaction) SignaturesForSigner(signer protocol.Signer) (*SignatureSet, error)

SignaturesForSigner returns a signature set for the given signer account.

func (*Transaction) Status added in v1.0.0

type TransactionChainEntry added in v1.0.0

type TransactionChainEntry struct {
	Account *url.URL `json:"account,omitempty" form:"account" query:"account" validate:"required"`
	// Chain is the name of the chain.
	Chain string `json:"chain,omitempty" form:"chain" query:"chain" validate:"required"`
	// ChainIndex is the index of the entry in the chain's index chain.
	ChainIndex uint64 `json:"chainIndex,omitempty" form:"chainIndex" query:"chainIndex" validate:"required"`
	// AnchorIndex is the index of the entry in the anchor chain's index chain.
	AnchorIndex uint64 `json:"anchorIndex,omitempty" form:"anchorIndex" query:"anchorIndex" validate:"required"`
	// contains filtered or unexported fields
}

func (*TransactionChainEntry) Compare added in v1.0.0

func (*TransactionChainEntry) Copy added in v1.0.0

func (*TransactionChainEntry) CopyAsInterface added in v1.0.0

func (v *TransactionChainEntry) CopyAsInterface() interface{}

func (*TransactionChainEntry) Equal added in v1.0.0

func (*TransactionChainEntry) IsValid added in v1.0.0

func (v *TransactionChainEntry) IsValid() error

func (*TransactionChainEntry) MarshalBinary added in v1.0.0

func (v *TransactionChainEntry) MarshalBinary() ([]byte, error)

func (*TransactionChainEntry) UnmarshalBinary added in v1.0.0

func (v *TransactionChainEntry) UnmarshalBinary(data []byte) error

func (*TransactionChainEntry) UnmarshalBinaryFrom added in v1.0.0

func (v *TransactionChainEntry) UnmarshalBinaryFrom(rd io.Reader) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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