utxodb

package
v0.0.0-...-1c999d7 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TokensFromFaucetDefault = uint64(1_000_000)
)

Variables

This section is empty.

Functions

This section is empty.

Types

type UTXODB

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

UTXODB is a centralized ledger.Updatable with indexer and genesis faucet It is always final, does not have finality gadget nor the milestone chain It is mainly used for testing of constraints

func NewUTXODB

func NewUTXODB(trace ...bool) *UTXODB

func (*UTXODB) AddTransaction

func (u *UTXODB) AddTransaction(txBytes []byte, traceOption ...int) error

AddTransaction validates transaction and updates ledger state and indexer Ledger state and indexer are on different DB transactions, so ledger state can succeed while indexer fails. In that case indexer can be updated from ledger state

func (*UTXODB) Balance

func (u *UTXODB) Balance(addr constraints.Accountable, ts ...uint32) uint64

Balance returns balance of address unlockable at timestamp ts, if provided. Otherwise, all outputs taken For chains, this does not include te chain-output itself

func (*UTXODB) BalanceOnChain

func (u *UTXODB) BalanceOnChain(chainID []byte) (uint64, uint64, error)

BalanceOnChain returns balance locked in chain and separately balance on chain output

func (*UTXODB) DoTransfer

func (u *UTXODB) DoTransfer(par *txbuilder.TransferData) error

func (*UTXODB) DoTransferOutputs

func (u *UTXODB) DoTransferOutputs(par *txbuilder.TransferData) ([]*ledger.OutputDataWithID, error)

func (*UTXODB) DoTransferTx

func (u *UTXODB) DoTransferTx(par *txbuilder.TransferData) ([]byte, error)

func (*UTXODB) GenerateAddress

func (*UTXODB) GenesisAddress

func (u *UTXODB) GenesisAddress() constraints.AddressED25519

func (*UTXODB) GenesisKeys

func (u *UTXODB) GenesisKeys() (ed25519.PrivateKey, ed25519.PublicKey)

func (*UTXODB) IndexerAccess

func (u *UTXODB) IndexerAccess() ledger.IndexerReader

func (*UTXODB) MakeTransactionTokensFromFaucet

func (u *UTXODB) MakeTransactionTokensFromFaucet(addr constraints.AddressED25519, howMany ...uint64) ([]byte, error)

func (*UTXODB) MakeTransferData

func (u *UTXODB) MakeTransferData(privKey ed25519.PrivateKey, sourceAccount constraints.Accountable, ts uint32, desc ...bool) (*txbuilder.TransferData, error)

func (*UTXODB) NumUTXOs

func (u *UTXODB) NumUTXOs(addr constraints.Accountable, ts ...uint32) int

NumUTXOs returns number of outputs of address unlockable at timestamp ts, if provided. Otherwise, all outputs taken

func (*UTXODB) Root

func (u *UTXODB) Root() common.VCommitment

func (*UTXODB) StateReader

func (u *UTXODB) StateReader() *state.Readable

func (*UTXODB) Supply

func (u *UTXODB) Supply() uint64

func (*UTXODB) TokensFromFaucet

func (u *UTXODB) TokensFromFaucet(addr constraints.AddressED25519, howMany ...uint64) error

func (*UTXODB) TransferTokens

func (u *UTXODB) TransferTokens(privKey ed25519.PrivateKey, targetLock constraints.Lock, amount uint64) error

func (*UTXODB) TxToString

func (u *UTXODB) TxToString(txbytes []byte) string

func (*UTXODB) ValidationContextFromTransaction

func (u *UTXODB) ValidationContextFromTransaction(txBytes []byte) (*state.TransactionContext, error)

Jump to

Keyboard shortcuts

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