Просмотр исходного кода

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 <sean@mess.org>
Sean Young 4 лет назад
Родитель
Сommit
43237d2582
4 измененных файлов с 10 добавлено и 9 удалено
  1. 1 1
      CHANGELOG.md
  2. 1 1
      Cargo.toml
  3. 1 1
      docs/conf.py
  4. 7 6
      docs/installing.rst

+ 1 - 1
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,

+ 1 - 1
Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "solang"
-version = "0.1.7"
+version = "0.1.8"
 authors = ["Sean Young <sean@mess.org>"]
 homepage = "https://github.com/hyperledger-labs/solang"
 documentation = "https://solang.readthedocs.io/"

+ 1 - 1
docs/conf.py

@@ -22,7 +22,7 @@ copyright = '2019, 2020 Sean Young <sean@mess.org>'
 author = 'Sean Young <sean@mess.org>'
 
 # The full version, including alpha/beta/rc tags
-release = '0.1.7'
+release = '0.1.8'
 
 
 # -- General configuration ---------------------------------------------------

+ 7 - 6
docs/installing.rst

@@ -8,24 +8,25 @@ Download release binaries
 
 For Linux x86-64, there is a binary available in the github releases:
 
-`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.7/solang-linux>`_
+`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.8/solang-linux>`_
 
 For Windows x64, there is a binary available:
 
-`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.7/solang.exe>`_
+`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.8/solang.exe>`_
 
-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.
 
-`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.7/solang-mac>`_
+`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.8/solang-mac-arm>`_
 
+`<https://github.com/hyperledger-labs/solang/releases/download/v0.1.8/solang-mac-intel>`_
 
 Using hyperledgerlabs/solang docker hub images
 ----------------------------------------------
 
 New images are automatically made available on
 `docker hub <https://hub.docker.com/repository/docker/hyperledgerlabs/solang/>`_.
-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