evmdasm

A lightweight ethereum evm bytecode instruction registry, disassembler and evmcode manipulation library

Stars
50
Committers
1

Bot releases are hidden (Show)

evmdasm - Version 0.1.10 Latest Release

Published by tintinweb over 2 years ago

  • added missing opcodes: BASEFEE, SELFBALANCE, CHAINID - #4

published to pypi: https://pypi.org/project/evmdasm/0.1.10/

evmdasm - version 0.1.8

Published by tintinweb about 6 years ago

feature release

  • added EvmProgram #3 see wiki
  • performance improvements for the auto-address fixing in EvmInstructions #3
evmdasm - version 0.1.7

Published by tintinweb about 6 years ago

minor update

  • EvmInstructions.get_required_gas
  • EvmInstructions.append()
  • EvmInstructions.get_stack_balance
evmdasm - version 0.1.6

Published by tintinweb about 6 years ago

feature release

  • introducing argument types
  • introducing forkversion as Instruction.fork (e.g. constantinople)
  • introducing pushes, pops for cases where pushes/pops is not len(returns) and len(args)
  • inserting and Instruction to a disassembly (``EvmInstructions`) now automatically fixes addresses of instruction objects in the list. Handy for manipulating and generating custom code.
  • str(EvmByteCode) now returns 0x<evmcode as hexstr>
evmdasm - version 0.1.5

Published by tintinweb about 6 years ago

bugfix release

  • fix disassembler with custom instruction class
  • multiple bugfixes
  • fix attributeerror when disassembling invalid instructions
evmdasm - version 0.1.2

Published by tintinweb about 6 years ago

minor update

  • added unittests to cover the registry interface
  • Instruction.clone(_template_cls) now takes an optional _template_cls to clone the current instruction into a user provided class that at least takes the same constructor arguments as Instruction()
  • added InstructionRegistry() that allows to create a registry based on a caller provided Instruction() subclass. check out the testcase in tests/test_registry for how to use this. Allows you to quickly build a registry for your own Instruction class.
evmdasm - version 0.1.1

Published by tintinweb about 6 years ago

interface changes

  • now protecting unchangable interfaces in Instruction()
  • added len(Instruction(...)) is now returing the byte length of instruction+operand
  • added unittests
  • setting Instruction.operand now updates all necessary fields automatically
evmdasm - version 0.1.0

Published by tintinweb about 6 years ago

initial release 🎈