Skip to main content Link Search Menu Expand Document (external link)

solang GitHub

v0.1.13: Genoa
v0.1.13 ### Changed - Introduce sub-commands to the CLI. Now we have dedicated sub-commands for `compile`, `doc`, `shell-completion` and the `language-server`, which makes for a cleaner CLI. [seanyoung]( - On Solana, emitted events are encoded with Borsh encoding following the Anchor format. [LucasSte]( - The ewasm target has been removed, since ewasm is not going to implemented on Ethereum. The target has been reused for an new EVM target, which is not complete yet. [seanyoung]( - Substrate: Concrete contracts must now have at least one public function. A public function is in a contract, if it has public or external functions, if it has a receive or any fallback function or if it has public storage items (those will yield public getters). This aligns solang up with `ink!`. [xermicus]( ### Added - Solana v1.11 is now supported. [seanyoung]( - On Solana, programs now use a custom heap implementation, just like on Substrate. As result, it is now possible to `.push()` and `.pop()` on dynamic arrays in memory. [seanyoung]( - Arithmetic overflow tests are implemented for all integer widths, [salaheldinsoliman]( - Add an NFT example for Solana [LucasSte]( - Add a wrapper for the Solana System Program [LucasSte]( - The selector for functions can be overriden with the `selector=hex"abcd0123"` syntax. [seanyoung]( - Shell completion is available using the `solang shell-completion` subcommand. [xermicus]( - Add support for the `create_program_address()` and `try_find_program_address()` system call on Solana [seanyoung]( - Substrate: The `print()` builtin is now supported and will write to the debug buffer. Additionally, error messages from the `require` statements will now be written to the debug buffer as well. The Substrate contracts pallet prints the contents of the debug buffer to the console for RPC ("dry-run") calls in case the `runtime::contracts=debug` log level is configured. [xermicus]( ### Fixed - DocComments `/** ... */` are now permitted anywhere. [seanyoung]( - Function calls to contract functions via contract name are no longer possible, except for functions of base contracts. [xermicus]( Signed-off-by: Sean Young <>
View on GitHub Created At 2022-09-16 20:19:02 +0000 UTC