From c8416ebca060f0eb62a1e02a4a808b91ee032ef6 Mon Sep 17 00:00:00 2001 From: Sean Young Date: Fri, 27 Aug 2021 10:25:11 +0100 Subject: [PATCH] Uniswap works for Solana and Substrate Added - Added a strength reduce pass to eliminate 256/128 bit multiply, division, and modulo where possible. - Visual Studio Code extension can download the Solang binary from github releases, so the user is not required to download it themselves - The Solana target now has support for arrays and mapping in contract storage - The Solana target has support for the keccak256(), ripemd160(), and sha256() builtin hash functions. - The Solana target has support for the builtins this and block.timestamp. - Implement abi.encodePacked() for the ethereum abi encoder - The Solana target now compiles all contracts to a single `bundle.so` BPF program. - Any unused variables, events, or contract variables are now detected and warnings are given, thanks to [LucasSte](https://github.com/hyperledger-labs/solang/pull/429) - The `immutable` attribute on contract storage variables is now supported. - The `override` attribute on public contract storage variables is now supported. - The `unchecked {}` code block is now parsed and supported. Math overflow still is unsupported for types larger than 64 bit. - `assembly {}` blocks are now parsed and give a friendly error message. - Any variable use before it is given a value is now detected and results in a undefined variable diagnostic, thanks to [LucasSte](https://github.com/hyperledger-labs/solang/pull/468) Changed - Solang now uses LLVM 12.0, based on the [Solana LLVM tree](https://github.com/solana-labs/llvm-project/) Fixed - Fix a number of issues with parsing the uniswap v2 contracts - ewasm: staticcall() and delegatecall() cannot take value argument - Fixed array support in the ethereum abi encoder and decoder - Fixed issues in arithmetic on non-power-of-2 types (e.g. uint112) Signed-off-by: Sean Young --- CHANGELOG.md | 2 +- Cargo.toml | 2 +- docs/conf.py | 2 +- docs/installing.rst | 13 +++++++------ 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5110b8175..e457bf491 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to [Solang](https://github.com/hyperledger-labs/solang/) will be documented here. -## [Unreleased] +## [0.1.8] ### Added - Added a strength reduce pass to eliminate 256/128 bit multiply, division, diff --git a/Cargo.toml b/Cargo.toml index 46270d8ab..496a8a69d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "solang" -version = "0.1.7" +version = "0.1.8" authors = ["Sean Young "] homepage = "https://github.com/hyperledger-labs/solang" documentation = "https://solang.readthedocs.io/" diff --git a/docs/conf.py b/docs/conf.py index b3d906b0f..8adbd9781 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -22,7 +22,7 @@ author = 'Sean Young ' # The full version, including alpha/beta/rc tags -release = '0.1.7' +release = '0.1.8' # -- General configuration --------------------------------------------------- diff --git a/docs/installing.rst b/docs/installing.rst index 682f5dd38..7cebb65ba 100644 --- a/docs/installing.rst +++ b/docs/installing.rst @@ -8,24 +8,25 @@ Download release binaries For Linux x86-64, there is a binary available in the github releases: -``_ +``_ For Windows x64, there is a binary available: -``_ +``_ -For MacOS, there is an intel binary available. -Remember to remove the quarantine attribute using ``xattr -d com.apple.quarantine solang-mac`` in the terminal. +For MacOS, there is an arm and intel binary available. +Remember to remove the quarantine attribute using ``xattr -d com.apple.quarantine solang-mac-arm`` in the terminal. -``_ +``_ +``_ Using hyperledgerlabs/solang docker hub images ---------------------------------------------- New images are automatically made available on `docker hub `_. -There is a release `v0.1.7` tag and a `latest` tag: +There is a release `v0.1.8` tag and a `latest` tag: .. code-block:: bash