Documentation
¶
Index ¶
- Constants
- func ConsistencyCheckAfterAddTransaction(tx *transaction.Transaction, r *multistate.Readable) (err error)
- func ConsistencyCheckBeforeAddTransaction(tx *transaction.Transaction, r *multistate.Readable) (err error)
- type UTXODB
- func (u *UTXODB) AddTransaction(txBytes []byte, ...) error
- func (u *UTXODB) Balance(addr ledger.Accountable) uint64
- func (u *UTXODB) BalanceOnChain(chainID ledger.ChainID) (uint64, uint64, error)
- func (u *UTXODB) CreateChainOrigin(controllerPrivateKey ed25519.PrivateKey, ts ledger.Time) (*ledger.OutputWithChainID, error)
- func (u *UTXODB) DoTransfer(par *txbuilder.TransferData) error
- func (u *UTXODB) DoTransferOutputs(par *txbuilder.TransferData) ([]*ledger.OutputWithID, error)
- func (u *UTXODB) DoTransferTx(par *txbuilder.TransferData) ([]byte, error)
- func (u *UTXODB) FaucetAddress() ledger.AddressED25519
- func (u *UTXODB) FaucetBalance() uint64
- func (u *UTXODB) GenerateAddress(n int) (ed25519.PrivateKey, ed25519.PublicKey, ledger.AddressED25519)
- func (u *UTXODB) GenerateAddresses(startIndex int, n int) ([]ed25519.PrivateKey, []ed25519.PublicKey, []ledger.AddressED25519)
- func (u *UTXODB) GenerateAddressesWithFaucetAmount(startIndex int, n int, amount uint64) ([]ed25519.PrivateKey, []ed25519.PublicKey, []ledger.AddressED25519)
- func (u *UTXODB) GenesisChainID() *ledger.ChainID
- func (u *UTXODB) GenesisControllerAddress() ledger.AddressED25519
- func (u *UTXODB) GenesisKeys() (ed25519.PrivateKey, ed25519.PublicKey)
- func (u *UTXODB) MakeNewChain(amount uint64, privateKey ed25519.PrivateKey, chainController ledger.Lock, ...) (*ledger.OutputWithChainID, error)
- func (u *UTXODB) MakeParallelTransferSequences(nSeq, howLong int, amount uint64) ([][][]byte, error)
- func (u *UTXODB) MakeTransactionFromFaucet(addr ledger.AddressED25519, amountPar ...uint64) ([]byte, error)
- func (u *UTXODB) MakeTransferInputData(privKey ed25519.PrivateKey, sourceAccount ledger.Accountable, ts ledger.Time, ...) (*txbuilder.TransferData, error)
- func (u *UTXODB) NumUTXOs(addr ledger.Accountable) int
- func (u *UTXODB) OriginDistributionTransactionString() string
- func (u *UTXODB) Root() common.VCommitment
- func (u *UTXODB) StateIdentityData() *ledger.IdentityData
- func (u *UTXODB) StateReader() *multistate.Readable
- func (u *UTXODB) Supply() uint64
- func (u *UTXODB) TokensFromFaucet(addr ledger.AddressED25519, amount ...uint64) error
- func (u *UTXODB) TokensFromFaucetMulti(addrs []ledger.AddressED25519, amount ...uint64) error
- func (u *UTXODB) TransferTokens(privKey ed25519.PrivateKey, targetLock ledger.Lock, amount uint64) error
- func (u *UTXODB) TransferTokensReturnTx(privKey ed25519.PrivateKey, targetLock ledger.Lock, amount uint64) (*transaction.Transaction, error)
- func (u *UTXODB) TxToLines(txBytes []byte, prefix ...string) *lines.Lines
- func (u *UTXODB) TxToString(txBytes []byte) string
- func (u *UTXODB) ValidationContextFromTransaction(txBytes []byte) (*transaction.TxContext, error)
Constants ¶
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 (*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 ¶
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 (*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 (*UTXODB) GenesisControllerAddress ¶
func (u *UTXODB) GenesisControllerAddress() ledger.AddressED25519
func (*UTXODB) GenesisKeys ¶
func (u *UTXODB) GenesisKeys() (ed25519.PrivateKey, ed25519.PublicKey)
func (*UTXODB) MakeNewChain ¶
func (*UTXODB) MakeParallelTransferSequences ¶
func (*UTXODB) MakeTransactionFromFaucet ¶
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 (*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) 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 (*UTXODB) TransferTokensReturnTx ¶
func (u *UTXODB) TransferTokensReturnTx(privKey ed25519.PrivateKey, targetLock ledger.Lock, amount uint64) (*transaction.Transaction, error)
func (*UTXODB) TxToString ¶
func (*UTXODB) ValidationContextFromTransaction ¶
func (u *UTXODB) ValidationContextFromTransaction(txBytes []byte) (*transaction.TxContext, error)