Releases: cakevm/huff-neo
Releases · cakevm/huff-neo
v1.1.9
- Hotfix to get
huff-jswasm compiling.
v1.1.8
- Convert context to a list of contexts to allow for nested contexts in lexing.
- Make Prague the default EVM version.
- Update
revmandfoundryto the latest version. - Add
AUTHandAUTHCALLopcodes to the code table. - Remove EOF opcodes from the code table.
v1.1.7
v1.1.6
- 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
v1.1.4
- Update dependencies to the latest version.
v1.1.3
v1.1.2
- Update to the latest
revmandfoundryversions. - Remove parameters without effect from
testthat have been added by Foundry.
v1.1.1
- Update dependencies to the latest version.
v1.1.0
- 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-addressto specify the contract address during a test. - Disable base fee check for tests.
- Allow uneven bytes for code tables e.g.
0x1is valid and results in0x01bytecode. - 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
__LEFTPADto 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
__RIGHTPADor__LEFTPAD.- Example:
__RIGHTPAD([CONST])
- Example:
- 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.
- Example: