All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
BlockNode
is extended with propertieshash
,offset
andlength
- Added a new node type
MethodReferenceNode
- Replace
CALL
byCALLDICT
- Replace
s0 POP
byDROP
- Handling division opcodes
- Function
decompileAll(...)
accepts onlyCell
and returns an AST (instead ofstring
). - Function
decompileCell(...)
completely refactored to build AST instead of printing code.
- Added
AssemblerWriter
to generate Fift Assembler from AST.
- Support func-debug-symbols
- Improved alias recognition (
s1 PUSH
->OVER
,s0 s1 XCHG
->SWAP
, etc.)
- Argument
extraKnownMethods
- Migrated to @ton org libraries and upgraded tvm-disassembler version
- Migrated to @scaleton org
- Argument
extraKnownMethods
both todecompileAll
anddecompileCell
- Fix
PUSHREFCONT
opcode handling
- Deterministic function name ordering
lazy_deployment_completed
andget_abi_ipfs
to known methods
- Fixed implicit jump handling
- Fix opcode offsets and source cell hash in
PUSHCONT
opcode that could lead to broken code coverage
- Upgrade to
ton-core@0.49.0
- Fix oppcode length in shifted cells
- Fix hashes in shifted cells
- Fix opcode offsets in shifted cells
- Fix invalid cell hash and offset in dict-based parser
- Change printer interface and include more lines in opcode related printer
- Added support for custom printer in decompiler
- Handling debug opcodes
- Change unknown function name prefix
- Missigng IFJMPREF processing in decompileAll
- Fix missing typescript typings
⚡️ Initial release