Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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](#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