This release brings out the Soroban target support, updates llvm to version 16, and fixes many smaller bugs.
Added
- Soroban Support for Stellar Asset Contract(SAC)
- Soroban Support for Cross Contract Calls
- Soroban Support for Soroban Authorization Framework
- Soroban Support for different Soroban Storage types
- Soroban Work on adding support for Stellar's Soroban contracts platforms started, by adding a skeleton that supports the Soroban runtime. Salaheldin Soliman
- The
string.concat()andbytes.concat()builtin functions are supported. seanyoung - Experimental: Three address code format IR for the CFG has been implemented (disabled by default).
fanyi-zhao. - Polkadot: Compatibility with ink! v5.0 metadata and substrate-contracts-node v0.39.0
- Implement event selectors seanyoung
- Add a feature flag for compiling language server xermicus
- Parsing the pragma solidity version numbers, making this information available in the downstream
compilation pipeline seanyoung
Changed
- Polkadot/BREAKING: Event encoding and topics follow ink! v5.0
- BREAKING The non-standard extension of concatenating strings using the
+operator
has been removed, usestring.concat()instead. seanyoung - Removed the
--no-log-api-return-codescompile flag as this is now done by the runtime xermicus - Solana/BREAKING: Remove balance, transfer, and send builtins from Solana LucasSte
- No longer support numbers in octal notation seanyoung
- Moved to LLVM version 16 seanyoung
- Improve overloaded function call diagnostics: From Solidity 0.6 onwards, overloaded functions or events
resolving to multiple candidates are an error. In earlier versions, the first result is used.
seanyoung - Polkadot: Implement the caller_is_root runtime API as a builtin xermicus
Fixed
- Two Infinite loops in codegen, thanks to @smoelius.
- Handle abi.encode() with infinite empty arguments, thanks to @smoelius.
- Unreachable code, function types with parameter/return names and unknown assembly flags are warnings
instead of errors, matching with solc. xermicus - Fixed a bunch of typos in the documentation divdeploy
- Clean up the LLD linker context after linking each contract, preventing potential issues when compiling
multiple contracts at once. xermicus - Expression statement should be followed by a semicolon, fixing a bug where "_;" was incorrectly parsed
as a variable. seanyoung - Represent type(T) correctly in the AST, fixing various related issues seanyoung
- Fix a bug in abi.encodeCall() argument parsing when there is only a single argument seanyoung
- Fixed a codegen bug when the RHS of a shift expression is a struct member PaddyClark0
Full Changelog: v0.3.3...v0.3.4