Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrInvalidScriptVersion represents an error case where an asset input // commits to an invalid script version. ErrInvalidScriptVersion = tapscript.ErrInvalidScriptVersion // ErrInputMismatch represents an error case where an asset's set of // inputs mismatch the set provided to the virtual machine. ErrInputMismatch = tapscript.ErrInputMismatch // ErrNoInputs represents an error case where an asset undergoing a // state transition does not have any or a specific input required. ErrNoInputs = tapscript.ErrNoInputs )
Wrap select errors related to virtual TX handling to provide more context to callers.
Functions ¶
This section is empty.
Types ¶
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine is a virtual machine capable of executing and verifying Taproot asset state transitions.
func New ¶
func New(newAsset *asset.Asset, splitAssets []*commitment.SplitAsset, prevAssets commitment.InputSet) (*Engine, error)
New returns a new virtual machine capable of executing and verifying Taproot Asset state transitions.
type Error ¶
Error represents an error returned by the Taproot Asset VM.
func (Error) Error ¶
Error returns a human readable version of the error. This implements the main error interface.
type ErrorKind ¶
type ErrorKind uint8
ErrorKind uniquely identifies the kind of Error returned by the Taproot Asset VM.
const ( // ErrNoSplitCommitment represents an error case where a split // commitment root is not present when required. ErrNoSplitCommitment ErrorKind = iota // ErrIDMismatch represents an error case where an asset, or asset // split, do not match the asset genesis of their inputs. ErrIDMismatch // ErrTypeMismatch represents an error case where an asset, or asset // split, do not match the asset type of their inputs. ErrTypeMismatch // ErrScriptKeyMismatch represents an error case where an the script key // of an asset input does not match the one of the input provided to the // virtual machine. ErrScriptKeyMismatch // ErrAmountMismatch represents an error case where an asset, along with // its splits, do not match the total asset amount of their inputs. ErrAmountMismatch // ErrInvalidSigHashFlag represents an error case where an asset witness // contains signatures created with any sighash flag other than // SIGHASH_DEFAULT. ErrInvalidSigHashFlag // ErrInvalidGenesisStateTransition represents an error case where an // asset has a valid genesis witness but the virtual machine was // provided asset inputs. ErrInvalidGenesisStateTransition // ErrInvalidTransferWitness represents an error case where an asset // input has a malformed or invalid transfer witness as deemed by the // virtual machine. ErrInvalidTransferWitness // ErrInvalidSplitAssetType represents an error case where an asset // split type does not match the root asset. ErrInvalidSplitAssetType // ErrInvalidSplitCommitmentWitness represents an error case where an // asset input has a malformed split commitment witness. ErrInvalidSplitCommitmentWitness // ErrInvalidSplitCommitmentProof represents an error case where an // asset split has an invalid split commitment proof. ErrInvalidSplitCommitmentProof // ErrInvalidRootAsset represents an error case where the root asset // of an asset split has zero value but a spendable script key. ErrInvalidRootAsset )
Click to show internal directories.
Click to hide internal directories.