❗Supported but not verified.
✖️️Implemented in a static analyzer, but not available at runtime.
- Supported all sized types. (U256, bool, address, etc.)
- Events.
- Storage operations.
- Memory operations.
- Branching (if, else)
- Hash (keccak256 replaced with sha3)
- Math
- Add
- Sub
- Mul
- Div
- Mod
- SDiv
- SMod
- SLt
- SGt
- Exp
- SignExtend
- BitOr
- BitAnd
- BitXor
- Shl
- Sar (shift right with sign)
- Shr
- Lt
- Gt
- Eq
- Neq
- BitNot
- IsZero
- Byte
- AddMod (a + b) % N
- MulMod (a * b) % N
- Looping
- For
- While
- Do-While
- Dynamic types (string, bytes, etc.)
- Consts
- Dynamic input
- Dynamic output
- Dependency
- Message signer
- Balance
- Origin
- Caller
- CallValue
- CallDataLoad
- CallDataSize
- Blockhash
- Timestamp
- GasLimit
- Difficulty
- Number
- GasPrice
- Coinbase
- Gas
- Call between contracts
- Call
- CallCode
- DelegateCall
- StaticCall
- Other opcodes
- CodeSize ✖️️
- CallDataCopy ✖️️
- CodeCopy ✖️️
- ExtCodeSize
- ExtCodeCopy
- ReturnDataSize
- ReturnDataCopy
- ExtCodeHash
- PC ✖️️
- Create
- Create2
- Solidity interface mapping to move interface.
- Primitive types (u128, bool, address)
- U256
- Structs
- Dynamic types (string, bytes, etc.)
- Move interface maker. (Creates a move project with interfaces from abi)
- E2m
- Local call of a remote function