Skip to content

Create Blockchain tests for PUSH, DUP and SWAP opcodes that consume the whole block #1687

Closed
@kevaundray

Description

@kevaundray

General context

Generally the structure of these tests are split into two:

  • Setup phase
  • Benchmarking block

Setup phase

The setup phase encompasses the pre-state and blocks that are needed in order to setup the block full of a specific block.
An example of this would be a "block full of EXTCODESIZE" where the setup phase would consist of N different contracts being deployed, where N is the number of EXTCODESIZE opcdes we want to put in the final block.

Benchmarking block

For benchmarking, we assume that the final block is the one with the block full of the particular opcode we want to benchmark

Opcodes

Stack & Memory

  • PUSH1-PUSH32

Stack Duplication

  • DUP1-DUP16

Stack Swapping

  • SWAP1-SWAP16

Note

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions