Skip to content

Commit

Permalink
Uniswap works for Solana and Substrate
Browse files Browse the repository at this point in the history
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](#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](#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 <[email protected]>
  • Loading branch information
seanyoung committed Aug 27, 2021
1 parent 8594cfa commit 43237d2
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 9 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "solang"
version = "0.1.7"
version = "0.1.8"
authors = ["Sean Young <[email protected]>"]
homepage = "https://github.com/hyperledger-labs/solang"
documentation = "https://solang.readthedocs.io/"
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
author = 'Sean Young <[email protected]>'

# The full version, including alpha/beta/rc tags
release = '0.1.7'
release = '0.1.8'


# -- General configuration ---------------------------------------------------
Expand Down
13 changes: 7 additions & 6 deletions docs/installing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 43237d2

Please sign in to comment.