pub enum Sym {
Show 60 variants
Const(Box<[u8; 32]>),
Var(Var),
Add,
Mul,
Sub,
Div,
SDiv,
Mod,
SMod,
AddMod,
MulMod,
Exp,
Lt,
Gt,
SLt,
SGt,
Eq,
And,
Or,
Xor,
Byte,
Shl,
Shr,
Sar,
Keccak256,
SignExtend,
IsZero,
Not,
CallDataLoad,
ExtCodeSize,
ExtCodeHash,
MLoad,
SLoad,
Balance,
BlockHash,
Address,
Origin,
Caller,
CallValue,
CallDataSize,
CodeSize,
GasPrice,
ReturnDataSize,
Coinbase,
Timestamp,
Number,
Difficulty,
GasLimit,
ChainId,
SelfBalance,
BaseFee,
GetPc(u16),
MSize,
Gas,
Create,
Create2,
CallCode,
Call,
StaticCall,
DelegateCall,
}Expand description
A node in the tree representation of an Expr.
For example, the expression 2 + 3 would be represented as something like
[Sym::Add, Sym::Const(2), Sym::Const(3)].
Variants§
Const(Box<[u8; 32]>)
A constant value.
Var(Var)
A variable value.
Add
An add (0x01) operation.
Mul
A mul (0x02) operation.
Sub
A sub (0x03) operation.
Div
A div (0x04) operation.
SDiv
A sdiv (0x05) operation.
Mod
A mod (0x06) operation.
SMod
A smod (0x07) operation.
AddMod
A addmod (0x08) operation.
MulMod
A mulmod (0x09) operation.
Exp
An exp (0x0a) operation.
Lt
An lt (0x10) operation.
Gt
A gt (0x11) operation.
SLt
An slt (0x12) operation.
SGt
An sgt (0x13) operation.
Eq
An eq (0x14) operation.
And
An and (0x16) operation.
Or
An or (0x17) operation.
Xor
A xor (0x18) operation.
Byte
A byte (0x1a) operation.
Shl
A shl (0x1b) operation.
Shr
A shr (0x1c) operation.
Sar
A sar (0x1d) operation.
Keccak256
A keccak256 (0x20) operation.
SignExtend
A signextend (0x0b) operation.
IsZero
An iszero (0x15) operation.
Not
A not (0x18) operation.
CallDataLoad
A calldataload (0x35) operation.
ExtCodeSize
An extcodesize (0x3b) operation.
ExtCodeHash
An extcodehash (0x3f) operation.
MLoad
An mload (0x51) operation.
SLoad
An sload (0x54) operation.
Balance
A balance (0x31) operation.
BlockHash
A blockhash (0x40) operation.
Address
An address (0x30) operation.
Origin
An origin (0x32) operation.
Caller
A caller (0x33) operation.
CallValue
A callvalue (0x34) operation.
CallDataSize
A calldatasize (0x36) operation.
CodeSize
A codesize (0x38) operation.
GasPrice
A gasprice (0x3a) operation.
ReturnDataSize
A returndatasize (0x3d) operation.
Coinbase
A coinbase (0x41) operation.
Timestamp
A timestamp (0x42) operation.
Number
A number (0x43) operation.
Difficulty
A difficulty (0x44) operation.
GasLimit
A gaslimit (0x45) operation.
ChainId
A chainid (0x46) operation.
SelfBalance
A selfbalance (0x47) operation.
BaseFee
A basefee (0x48) operation.
GetPc(u16)
A pc (0x58) operation.
MSize
An msize (0x59) operation.
Gas
A gas (0x5a) operation.
Create
A create (0xf0) operation.
Create2
A create2 (0xf5) operation.
CallCode
A callcode (0xf2) operation.
Call
A call (0xf1) operation.
StaticCall
A staticcall (0xfa) operation.
DelegateCall
A delegatecall (0xf4) operation.