-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v0.3.1: Göttingen release (aka June release) #1404
Merged
Merged
+64
−11
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3d80654
to
2c03217
Compare
810f257
to
20b7f24
Compare
xermicus
reviewed
Jun 29, 2023
seanyoung
requested changes
Jun 30, 2023
109d104
to
dd2f283
Compare
xermicus
approved these changes
Jun 30, 2023
seanyoung
approved these changes
Jun 30, 2023
### Added - Write environment configured into Substrate metadata. [xermicus](https://github.com/xermicus) - Tornado cash example for Substrate. [xermicus](https://github.com/xermicus) - `is_contract` is available as a builtin for Substrate. [xermicus](https://github.com/xermicus) - The `wasm-opt` optimizer now optimizes Substrate binaries. [xermicus](https://github.com/xermicus) - Call flags are now available for Substrate. [xermicus](https://github.com/xermicus) - Read compiler configurations from toml file. [salaheldinsoliman](https://github.com/salaheldinsoliman) - Accounts declared with `@payer(my_account)` can be accessed with the syntax `tx.accounts.my_account`. [LucasSte](https://github.com/LucasSte) - `delegatecall()` builtin has been added for Substrate. [xermicus](https://github.com/xermicus) - `get_contents_of_file_no` for Solang parser. [BenTheKush](https://github.com/BenTheKush) - `set_code_hash()` builtin has been aded for Substrate. [xermicus](https://github.com/xermicus) ### Fixed - Diagnostics do not include large numbers anymore. [seanyoung](https://github.com/seanyoung) - Correctly parse and resolve `require(i < 2**255)`. [seanyoung](https://github.com/seanyoung) - Virtual function are available for call. [xermicus](https://github.com/xermicus) - Allow `.wrap()` and `.unwrap()` user defined type methods in constants. [xermicus](https://github.com/xermicus) - `@inheritdoc` now works with bases of bases. [seanyoung](https://github.com/seanyoung) - Allow destructures to assign to storage variables. [seanyoung](https://github.com/seanyoung) - Do not allow push and pop in fixed length arrays. [LucasSte](https://github.com/LucasSte) - Improve unused variable elimination to remove unused arrays. [LucasSte](https://github.com/LucasSte) - Salt argument should be of type `bytes32`. [seanyoung](https://github.com/seanyoung) - Allow return vallues to be ignored in try-catch statements. [seanyoung](https://github.com/seanyoung) - Optimize modifiers' CFGs. [xermicus](https://github.com/xermicus) - Fix an error whereby building large contracts would cause an LLVM error. [LucasSte](https://github.com/LucasSte) - A constructor cannot run twice on the same data account. [seanyoung](https://github.com/seanyoung) - Split the `call` and `deploy` dispatches on Substrate. [xermicus](https://github.com/xermicus) ### Changed - `@payer` annotation declares an account in a constructor. [LucasSte](https://github.com/LucasSte) - Do not allow `.call()` functions in functions declared as view. [seanyoung](https://github.com/seanyoung) - Constructor annotations above a constructor either declare an account or receive a literal parameter. Those before constructor arguments refer to them. [LucasSte](https://github.com/LucasSte) - Implicit accessor function now returns struct members. [seanyoung](https://github.com/seanyoung) Signed-off-by: Lucas Steuernagel <lucas.tnagel@gmail.com>
### Added - Write environment configuration into Substrate metadata. [xermicus](https://github.com/xermicus) - Tornado cash as an exemplary integration test for Substrate chain extensions. [xermicus](https://github.com/xermicus) - `is_contract` runtime API is available as a builtin for Substrate. [xermicus](https://github.com/xermicus) - The `wasm-opt` optimizer now optimizes the Wasm bytecode on the Substrate target. [xermicus](https://github.com/xermicus) - Call flags are now available for Substrate. [xermicus](https://github.com/xermicus) - Read compiler configurations from toml file. [salaheldinsoliman](https://github.com/salaheldinsoliman) - Accounts declared with `@payer(my_account)` can be accessed with the syntax `tx.accounts.my_account`. [LucasSte](https://github.com/LucasSte) - `delegatecall()` builtin has been added for Substrate. [xermicus](https://github.com/xermicus) - `get_contents_of_file_no` for Solang parser. [BenTheKush](https://github.com/BenTheKush) - `set_code_hash()` builtin has been aded for Substrate. [xermicus](https://github.com/xermicus) ### Fixed - Diagnostics do not include large numbers anymore. [seanyoung](https://github.com/seanyoung) - Correctly parse and resolve `require(i < 2**255)`. [seanyoung](https://github.com/seanyoung) - Virtual function are available for call. [xermicus](https://github.com/xermicus) - Allow `.wrap()` and `.unwrap()` user defined type methods in constants. [xermicus](https://github.com/xermicus) - `@inheritdoc` now works with bases of bases. [seanyoung](https://github.com/seanyoung) - Allow destructures to assign to storage variables. [seanyoung](https://github.com/seanyoung) - Do not allow push and pop in fixed length arrays. [LucasSte](https://github.com/LucasSte) - Improve unused variable elimination to remove unused arrays. [LucasSte](https://github.com/LucasSte) - Salt argument should be of type `bytes32`. [seanyoung](https://github.com/seanyoung) - Allow return vallues to be ignored in try-catch statements. [seanyoung](https://github.com/seanyoung) - Optimize modifiers' CFGs. [xermicus](https://github.com/xermicus) - Fix an error whereby building large contracts would cause an LLVM error. [LucasSte](https://github.com/LucasSte) - A constructor for a Solana contract cannot run twice on the same data account. [seanyoung](https://github.com/seanyoung) - Split the `call` and `deploy` dispatches on Substrate. [xermicus](https://github.com/xermicus) ### Changed - Minimum Supported Rust Version (MSRV) is Rust `1.68`. - `@payer` annotation declares an account in a constructor. [LucasSte](https://github.com/LucasSte) - Do not allow `.call()` functions in functions declared as view. [seanyoung](https://github.com/seanyoung) - Storage accessor function matches solc, and returns struct members if the sole return value is a single struct [seanyoung](https://github.com/seanyoung) - **breaking** Constructor annotations above a constructor can either declare an account or receive a literal parameter. [LucasSte](https://github.com/LucasSte) ``` contract MyContract { @payer(acc) // Declares account acc @space(2+3) // Only literals or constant expressions allowed @seed(myseed) // NOT ALLOWED constructor(bytes myseed) {} } ``` - Annotations placed before constructor arguments refer to the latter. [LucasSte](https://github.com/LucasSte) ``` contract MyContract { @payer(acc) // Declares account acc @space(2+3) // Only literals or constant expressions allowed constructor(@seed bytes myseed) {} // When an annotations refers to a parameter, the former must appear right before the latter. } ``` Signed-off-by: Lucas Steuernagel <lucas.tnagel@gmail.com>
I'm waiting for the release test build to finish before merging: https://github.com/LucasSte/solang/actions/runs/5424128921 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Release tests are running here.