vestigia-0.2.0: Where an execution depended on a secret.
Copyright(c) 2026 Jared Tobin
LicenseMIT
MaintainerJared Tobin <jared@ppad.tech>
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vestigia.Contract.Types

Description

What a contract's table says of an AArch64 encoding.

Synopsis

Documentation

data Operand Source #

A source register an encoding names, by the field it is read from: a general-purpose register at 64 or 32 bits (field value 31 the zero register, or the stack pointer where the encoding says so), a SIMD&FP register at a fixed width, a vector whose width is the encoding's Q bit (bit 30), or a SIMD&FP register read whole where nothing fixes its width.

Constructors

OpX 
OpXSp 
OpW 
OpWSp 
OpQ 
OpD 
OpS 
OpH 
OpB 
OpV 
OpVWhole 

Instances

Instances details
Show Operand Source # 
Instance details

Defined in Vestigia.Contract.Types

Eq Operand Source # 
Instance details

Defined in Vestigia.Contract.Types

Methods

(==) :: Operand -> Operand -> Bool #

(/=) :: Operand -> Operand -> Bool #

data Status Source #

An encoding the contract covers; one it does not that is control flow or system, which reads no data the contract speaks to; or one it does not, with its source registers, each by the low bit of its field.

Constructors

Covered 
Control 
Outside ![(Int, Operand)] 

Instances

Instances details
Show Status Source # 
Instance details

Defined in Vestigia.Contract.Types

Eq Status Source # 
Instance details

Defined in Vestigia.Contract.Types

Methods

(==) :: Status -> Status -> Bool #

(/=) :: Status -> Status -> Bool #

data Encoding Source #

An encoding, by its name in the specification, its fixed bits, and what the contract says of it.

Constructors

Encoding 

Fields

Instances

Instances details
Show Encoding Source # 
Instance details

Defined in Vestigia.Contract.Types

Eq Encoding Source # 
Instance details

Defined in Vestigia.Contract.Types