Documentation ¶
Index ¶
- func CalculateExcess(context *secp256k1.Context, tx *core.Transaction, fee uint64) (kernelExcess *secp256k1.Commitment, err error)
- func CommitValue(value uint64, asset string) uint64
- func KernelSignatureMessage(kernel core.TxKernel) []byte
- func Parse(bytes []byte) (tx *Transaction, issue *Issue, err error)
- func PersistIssue(issue *Issue, db Database) error
- func PersistTransaction(tx *Transaction, db Database, doublespend bool) error
- func ValidateIssue(issue *Issue) error
- func ValidateState(outputs []core.Output, kernels []core.TxKernel, assets map[string]uint64) (msg string, err error)
- func ValidateTransaction(ledgerTx *Transaction) (err error)
- type Database
- type Issue
- type Transaction
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CalculateExcess ¶
func CalculateExcess( context *secp256k1.Context, tx *core.Transaction, fee uint64, ) ( kernelExcess *secp256k1.Commitment, err error, )
func CommitValue ¶
func KernelSignatureMessage ¶
msg = hash(features) for coinbase kernels
hash(features || fee) for plain kernels hash(features || fee || lock_height) for height locked kernels
func PersistIssue ¶
func PersistTransaction ¶
func PersistTransaction(tx *Transaction, db Database, doublespend bool) error
func ValidateIssue ¶
func ValidateState ¶
func ValidateTransaction ¶
func ValidateTransaction(ledgerTx *Transaction) (err error)
Types ¶
type Database ¶
type Database interface { Begin() InputExists(input core.Input) error SpendInput(input core.Input) error PutOutput(output core.Output) error Commit() error Close() GetOutput(id []byte) (output core.Output, err error) ListOutputs() (list []core.Output, err error) PutKernel(kernel core.TxKernel) error ListKernels() (list []core.TxKernel, err error) AddAsset(asset string, value uint64) ListAssets() (list map[string]uint64, err error) ResetAssets() error }
type Issue ¶
type Issue struct { Output core.Output `json:"output"` Value uint64 `json:"value"` Asset string `json:"asset,omitempty"` AssetSig []byte `json:"asset_sig,omitempty"` IssuerCert []byte `json:"issue_cert,omitempty"` Kernel core.TxKernel `json:"kernel,omitempty"` }
func ValidateIssueBytes ¶
type Transaction ¶
type Transaction struct { core.Transaction ID uuid.UUID `json:"id,omitempty"` }
func ValidateTransactionBytes ¶
func ValidateTransactionBytes(txBytes []byte) (ledgerTx *Transaction, err error)
Click to show internal directories.
Click to hide internal directories.