transaction

package
v0.0.0-...-d596c11 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoInputs         = errors.New("transaction must have at least one input")
	ErrNoOutputs        = errors.New("transaction must have at least one output")
	ErrInvalidSignature = errors.New("invalid transaction signature")
	ErrInvalidInput     = errors.New("invalid transaction input")
	ErrNegativeOutput   = errors.New("negative output value")
	ErrInsufficientFee  = errors.New("insufficient transaction fee")
	ErrDuplicateInput   = errors.New("duplicate transaction input")
	ErrZeroOutput       = errors.New("zero value output")
)

Functions

This section is empty.

Types

type FeeRule

type FeeRule struct{}

FeeRule validates transaction fees

func (*FeeRule) Validate

func (r *FeeRule) Validate(tx *core.Transaction) error

type InputRule

type InputRule struct{}

InputRule validates transaction inputs

func (*InputRule) Validate

func (r *InputRule) Validate(tx *core.Transaction) error

type OutputRule

type OutputRule struct{}

OutputRule validates transaction outputs

func (*OutputRule) Validate

func (r *OutputRule) Validate(tx *core.Transaction) error

type Rule

type Rule interface {
	Validate(*core.Transaction) error
}

Rule defines the interface for transaction validation rules

type SignatureRule

type SignatureRule struct{}

SignatureRule validates transaction signatures

func (*SignatureRule) Validate

func (r *SignatureRule) Validate(tx *core.Transaction) error

type Validator

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

Validator orchestrates the transaction validation process

func NewValidator

func NewValidator() *Validator

func (*Validator) Validate

func (v *Validator) Validate(tx *core.Transaction) error

Jump to

Keyboard shortcuts

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