This library follows semantic versioning 2.0.0:
Given a version number MAJOR.MINOR.PATCH, increment the:
1. MAJOR version when you make incompatible API changes,
2. MINOR version when you add functionality in a backwards compatible manner, and
3. PATCH version when you make backwards compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
See https://semver.org/ for more information
- Complete syntax and functionality refactor
- AVM v8 support
- Full source mapping
- YARD docstrings for defining ABI methods, internal subroutines, and TEAL methods
- Prevent blank first line in
teal_source
$
syntax for scratch variables- Newlines after void ops in
teal_source
- Save value for scratch variables
Contract#teal_source
method for generating TEAL source code that uses whitespace for increased readability- Refactor of
Txna
and app arrays (ie.Assets[0].creator?
) - Removed dot key notation support for
Scratch
- Inline
if
support
- Adding automatic ABI method routing
- Added
_exists?
and_value
methods for dealing with opcodes that return two values - Support dot notation for named
@scratch
slots
- Improved rewriter code to improve transpilation detection and reduce transpiling errors
- Removed multi-threaded support to simplify codebase
- removed parameters from Txna method calls
rb
method for skipping literal transpilation- while loop support
- Named scratch slots
- Fixed Txna.application_args call in AppArgs.[]
- Proper Txna functionality
- Fix improper if id counting
- Txna[] functionality
- Made if block id/count thread-safe
- support for automatic comment rewriting
- remove quotes from enums (ie.
int 'pay'
) - ensure all subroutine methods are defined prior to generating the TEAL
- 100% opcode coverage
- subroutine definition
- conditional support (if/elsif/else)
- ABI JSON generation