Documentation

EvmYul.EVM.Semantics

Equations
Instances For
    Equations
    Instances For

      Returns the instruction from arr at pc assuming it is valid.

      The Push instruction also returns the argument as an EVM word along with the width of the instruction.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def EvmYul.EVM.byteAt (μ₀ μ₁ : UInt256) :
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def EvmYul.EVM.call (fuel gasCost : ) (blobVersionedHashes : List ByteArray) (gas source recipient t value value' inOffset inSize outOffset outSize : UInt256) (permission : Bool) (evmState : State) :
              Equations
              Instances For
                Equations
                Instances For
                  def EvmYul.EVM.X (fuel : ) (validJumps : Array UInt256) (evmState : State) :

                  Iterative progression of step

                  Equations
                  Instances For

                    The code execution function

                    Equations
                    Instances For
                      Equations
                      Instances For
                        def EvmYul.EVM.Θ (fuel : ) (blobVersionedHashes : List ByteArray) (createdAccounts : Batteries.RBSet AccountAddress compare) (genesisBlockHeader : BlockHeader) (blocks : ProcessedBlocks) (σ σ₀ : AccountMap) (A : Substate) (s o r : AccountAddress) (c : ToExecute) (g p v v' : UInt256) (d : ByteArray) (e : ) (H : BlockHeader) (w : Bool) :

                        Message cal σ - evm state A - accrued substate s - sender o - transaction originator r - recipient c - the account whose code is to be called, usually the same as r g - available gas p - effective gas price v - value v' - value in the execution context d - input data of the call e - depth of the message-call / contract-creation stack w - permissions to make modifications to the stack

                        NB - This is implemented using the 'boolean' fragment with ==, <=, ||, etc. The 'prop' version will come next once we have the comutable one.

                        Equations
                        Instances For
                          def EvmYul.EVM.Υ (fuel : ) (σ : AccountMap) (H_f : ) (H genesisBlockHeader : BlockHeader) (blocks : ProcessedBlocks) (T : Transaction) (S_T : AccountAddress) :
                          Instances For