Skip to content

Releases: cakevm/huff-neo

v1.1.9

29 May 11:36

Choose a tag to compare

  • Hotfix to get huff-js wasm compiling.

v1.1.8

29 May 10:57

Choose a tag to compare

  • Convert context to a list of contexts to allow for nested contexts in lexing.
  • Make Prague the default EVM version.
  • Update revm and foundry to the latest version.
  • Add AUTH and AUTHCALL opcodes to the code table.
  • Remove EOF opcodes from the code table.

v1.1.7

30 Mar 15:46

Choose a tag to compare

  • Throw error if the argument count for a macro call is not equal to the macro definition (Fixes: #49).
  • Fix error where an opcode could not be handled as second argument in a macro call (Fixes: #50).
  • Release huff-neo-js to npm.

v1.1.6

29 Mar 21:26
6cdc818

Choose a tag to compare

  • Throw an error if an argument (e.g. <arg>) is used but not defined (Fixes: #46).
  • Breaking: Disallow the use of the same name for a macro, test, or fn (Fixes: #53).
  • Throw an error if an included file is not found in a nested include (Fixes: #51).
  • Fix bug where 0x00 as argument is not rendered as PUSH0 (Fixes: #52).

v1.1.5

19 Mar 08:08

Choose a tag to compare

  • Support nesting of macro calls e.g. MACRO1(MACRO2(0x1, 0x2), 0x3). (See: #40)
    • Thank you very much, @Mouradif, for the contribution!

v1.1.4

17 Mar 08:32
b481641

Choose a tag to compare

  • Update dependencies to the latest version.

v1.1.3

21 Feb 13:27

Choose a tag to compare

  • Add EOF opcodes.
  • Add EVM version entry for Prague and Osaka.
  • Fix duplicate code tables in bytecode #37.

v1.1.2

06 Feb 14:19
374edba

Choose a tag to compare

  • Update to the latest revm and foundry versions.
  • Remove parameters without effect from test that have been added by Foundry.

v1.1.1

02 Feb 11:57

Choose a tag to compare

  • Update dependencies to the latest version.

v1.1.0

02 Feb 10:06
b2a1d9d

Choose a tag to compare

  • Support for constants in code tables.
  • Use correct code line for error messages in code tables for built-ins.
  • Switch to Foundry's print function for trace logs.
  • Allow using --target-address to specify the contract address during a test.
  • Disable base fee check for tests.
  • Allow uneven bytes for code tables e.g. 0x1 is valid and results in 0x01 bytecode.
  • Introduce new lexer token type Bytes, as not all hex should be parsed to bytes32.
    • For constants in code tables, the bytes are copied as defined with e.g. leading zeros.
    • For all other cases, leading zeros are removed and the smallest push operation is used.
  • New built-in function __LEFTPAD to a pad a hex input or a function result in a code table to the left in 32 bytes.
    • The function can only be used in a code table.
    • Example: __LEFTPAD(0x123) -> 0000000000000000000000000000000000000000000000000000000000000123
  • Allow to pass a constant as a parameter to __RIGHTPAD or __LEFTPAD.
    • Example: __RIGHTPAD([CONST])
  • Allow to use built-in functions in constant assignment.
    • Example: #define constant FUNC_TEST = __FUNC_SIG("test(uint256)")
    • This solves the issue to define functions with the same name but different arguments.