utxodb

package
v0.4.3-testnet Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

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

Variables

This section is empty.

Functions

func ConsistencyCheckAfterAddTransaction

func ConsistencyCheckAfterAddTransaction(tx *transaction.Transaction, r *multistate.Readable) (err error)

func ConsistencyCheckBeforeAddTransaction

func ConsistencyCheckBeforeAddTransaction(tx *transaction.Transaction, r *multistate.Readable) (err error)

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(genesisPrivateKey ed25519.PrivateKey, trace ...bool) *UTXODB

func (*UTXODB) AddTransaction

func (u *UTXODB) AddTransaction(txBytes []byte, onValidationError ...func(ctx *transaction.TxContext, err error) error) 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 ledger.Accountable) 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 ledger.ChainID) (uint64, uint64, error)

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

func (*UTXODB) CreateChainOrigin

func (u *UTXODB) CreateChainOrigin(controllerPrivateKey ed25519.PrivateKey, ts ledger.Time) (*ledger.OutputWithChainID, error)

CreateChainOrigin takes all tokens from controller address and puts them on the chain output

func (*UTXODB) DoTransfer

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

func (*UTXODB) DoTransferOutputs

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

func (*UTXODB) DoTransferTx

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

func (*UTXODB) FaucetAddress

func (u *UTXODB) FaucetAddress() ledger.AddressED25519

func (*UTXODB) FaucetBalance

func (u *UTXODB) FaucetBalance() uint64

func (*UTXODB) GenerateAddress

func (u *UTXODB) GenerateAddress(n int) (ed25519.PrivateKey, ed25519.PublicKey, ledger.AddressED25519)

func (*UTXODB) GenerateAddresses

func (u *UTXODB) GenerateAddresses(startIndex int, n int) ([]ed25519.PrivateKey, []ed25519.PublicKey, []ledger.AddressED25519)

func (*UTXODB) GenerateAddressesWithFaucetAmount

func (u *UTXODB) GenerateAddressesWithFaucetAmount(startIndex int, n int, amount uint64) ([]ed25519.PrivateKey, []ed25519.PublicKey, []ledger.AddressED25519)

func (*UTXODB) GenesisChainID

func (u *UTXODB) GenesisChainID() *ledger.ChainID

func (*UTXODB) GenesisControllerAddress

func (u *UTXODB) GenesisControllerAddress() ledger.AddressED25519

func (*UTXODB) GenesisKeys

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

func (*UTXODB) MakeNewChain

func (u *UTXODB) MakeNewChain(amount uint64, privateKey ed25519.PrivateKey, chainController ledger.Lock, timestamp ...ledger.Time) (*ledger.OutputWithChainID, error)

func (*UTXODB) MakeParallelTransferSequences

func (u *UTXODB) MakeParallelTransferSequences(nSeq, howLong int, amount uint64) ([][][]byte, error)

func (*UTXODB) MakeTransactionFromFaucet

func (u *UTXODB) MakeTransactionFromFaucet(addr ledger.AddressED25519, amountPar ...uint64) ([]byte, error)

func (*UTXODB) MakeTransferInputData

func (u *UTXODB) MakeTransferInputData(privKey ed25519.PrivateKey, sourceAccount ledger.Accountable, ts ledger.Time, desc ...bool) (*txbuilder.TransferData, error)

func (*UTXODB) NumUTXOs

func (u *UTXODB) NumUTXOs(addr ledger.Accountable) int

NumUTXOs returns number of outputs in the address

func (*UTXODB) OriginDistributionTransactionString

func (u *UTXODB) OriginDistributionTransactionString() string

func (*UTXODB) Root

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

func (*UTXODB) StateIdentityData

func (u *UTXODB) StateIdentityData() *ledger.IdentityData

func (*UTXODB) StateReader

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

func (*UTXODB) Supply

func (u *UTXODB) Supply() uint64

func (*UTXODB) TokensFromFaucet

func (u *UTXODB) TokensFromFaucet(addr ledger.AddressED25519, amount ...uint64) error

func (*UTXODB) TokensFromFaucetMulti

func (u *UTXODB) TokensFromFaucetMulti(addrs []ledger.AddressED25519, amount ...uint64) error

func (*UTXODB) TransferTokens

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

func (*UTXODB) TransferTokensReturnTx

func (u *UTXODB) TransferTokensReturnTx(privKey ed25519.PrivateKey, targetLock ledger.Lock, amount uint64) (*transaction.Transaction, error)

func (*UTXODB) TxToLines

func (u *UTXODB) TxToLines(txBytes []byte, prefix ...string) *lines.Lines

func (*UTXODB) TxToString

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

func (*UTXODB) ValidationContextFromTransaction

func (u *UTXODB) ValidationContextFromTransaction(txBytes []byte) (*transaction.TxContext, error)

Jump to

Keyboard shortcuts

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