Skip to content

Tags: janus/solang

Tags

v0.1.7

Toggle v0.1.7's commit message
Constant folding pass and fixes all over

Added
- Added a constant folding optimization pass to improve codegen. When variables fold
  to constant values, they are visible in the hover in the extension
- For Substrate and Solana, address literals can specified with their base58 notation, e.g.
  `address foo = address"5GBWmgdFAMqm8ZgAHGobqDqX6tjLxJhv53ygjNtaaAn3sjeZ";`
- Solana account storage implemented for ``bytes``, ``string``, and structs
- Implemented ``delete`` for Solana

Changed
- The Substrate target produces a single .contract file
- The Substrate target now uses the salt argument for seal\_instantiate()

Fixed
- Libraries are allowed to have constant variables
- Fixed ethereum abi encoding/decoding of structs and enums
- Solana now returns an error if account data is not large enough
- Fixed storage bytes push() and pop()
- Ewasm uses precompiles for keccak hashing
- Various ewasm fixes for Hyperledger Burrow

Signed-off-by: Sean Young <sean@mess.org>

v0.1.6

Toggle v0.1.6's commit message
Visual Studio Code extension and string formatting

- New Visual Studio Code extension developed under Hyperledger Mentorship
  programme
- Added language server for use in vscode extension
- Implemented primitive types and operations for Solana
- Functions can be declared outside of contracts
- Constants can be declared outside of contracts
- String formatting using python style "..{}..".format(n)

Signed-off-by: Sean Young <sean@mess.org>

v0.1.5

Toggle v0.1.5's commit message
Substrate 2.0 and Solidity Function Types

- Function types are implemented
- An experimental [Solana](https://solana.com/) target has been added
- Binaries are generated for Mac

- The Substrate target requires Substrate 2.0
- Various bug fixes (see git log)

Signed-off-by: Sean Young <sean@mess.org>

v0.1.4

Toggle v0.1.4's commit message
All major Solidity language features implemented

Added
- `event` can be declared and emitted with `emit`
- Function modifiers have been implemented
- Tags in doc comments are parsed and resolved
- All major Solidity language features implemented, see our language status page:
  https://solang.readthedocs.io/en/latest/status.html

Signed-off-by: Sean Young <sean@mess.org>

v0.1.3

Toggle v0.1.3's commit message
Imports, base contracts, abstract, interface, and libraries

Added
- `import` directives are supported
- New `--importpath` command line argument to specify directories to search for imports
- Contracts can have base contracts
- Contracts can be abstract
- Interfaces are supported
- Libraries are supported
- The `using` library `for` type syntax is supported

Changed
- Solang now uses llvm 10.0 rather than llvm 8.0
- In line with Solidity 0.7.0, constructors no longer need a visibility argument

Signed-off-by: Sean Young <sean@mess.org>

v0.1.2

Toggle v0.1.2's commit message
The matches! macro requires rust 1.42

This was caught by docker hub builder. So, add test for this in CI.

Update images as well.

Signed-off-by: Sean Young <sean@mess.org>

v0.1.1

Toggle v0.1.1's commit message
cargo publish is not happy with our keywords

$ cargo publish
...
error: api errors (status 200 OK): invalid upload request: invalid length 6, expected at most 5 keywords per crate at line 1 column 3201

Signed-off-by: Sean Young <sean@mess.org>