Skip to content
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.3: Atlantis #1573

Merged
merged 5 commits into from
Oct 24, 2023
Merged

v0.3.3: Atlantis #1573

merged 5 commits into from
Oct 24, 2023

Conversation

seanyoung
Copy link
Contributor

@seanyoung seanyoung commented Oct 22, 2023

This release improves the Solana developer experience, since now required
accounts can be specified using annotations. For Polkadot, compatibility with
Ethereum Solidity has been increased further, it is now possible to write
EIP-1967 compatible proxy contracts.
There are many fixes all over the code base.

Added

  • Solana the required accounts for instructions can now be specified using function annotations. LucasSte
    contract Foo {
        @account(oneAccount)
        @signer(mySigner)
        @mutableAccount(otherAccount)
        @mutableSigner(otherSigner)
        function bar() external returns (uint64) {}
    }
    
  • The language server can now format Solidity source code using the forge-fmt crate. chioni16
  • The langauge server can now do go references, go to implementation, and go to type
    definition. chioni16
  • Polkadot Panic errors can now be caught in try-catch statements xermicus
  • Polkadot custom errors are now supported xermicus
  • Polkadot now supporting the address.code builtin xermicus

Fixed

  • Solana the data field of AccountInfo can now be modified. LucasSte
  • The vscode extension now uses the solang binary in the path, if available. seanyoung
  • Fixed a bug in the ABI encoding of dynamic arrays. xermicus
  • Fixed a bug where loading from a storage struct member was not considered a storage read.
    xermicus seanyoung
  • Fixed a compiler crash caused by chained assignments like return a = b. xermicus
  • Variables declared in the return parameters no longer ignore the storage location. xermicus

Changed

  • BREAKING: Solana the contract Solidity type can no longer be used. This type
    used to represent a single address, but this does not make sense as there are many
    accounts associated with a contract call. LucasSte

@codecov
Copy link

codecov bot commented Oct 22, 2023

Codecov Report

Merging #1573 (cf224de) into main (fd1b874) will increase coverage by 87.41%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           main    #1573       +/-   ##
=========================================
+ Coverage      0   87.41%   +87.41%     
=========================================
  Files         0      133      +133     
  Lines         0    64133    +64133     
=========================================
+ Hits          0    56063    +56063     
- Misses        0     8070     +8070     

see 133 files with indirect coverage changes

@seanyoung seanyoung force-pushed the atlantis branch 3 times, most recently from 7b06770 to 2922678 Compare October 22, 2023 21:16
@seanyoung seanyoung changed the title Atlantis v0.3.3: Atlantis Oct 23, 2023
@seanyoung seanyoung marked this pull request as ready for review October 23, 2023 13:14
Signed-off-by: Sean Young <[email protected]>
This release improves the Solana developer experience, since now required
accounts can be specified using annotations. There are many fixes all over
the code base.

### Added
- **Solana** the required accounts for instructions can now be specified using function annotations. [LucasSte](https://github.com/LucasSte)
  ```
  contract Foo {
      @account(oneAccount)
      @signer(mySigner)
      @mutableAccount(otherAccount)
      @mutableSigner(otherSigner)
      function bar() external returns (uint64) {}
  }
  ```
- The language server can now format Solidity source code using the `forge-fmt` crate. [chioni16](https://github.com/chioni16)
- The langauge server can now do go references, go to implementation, and go to type
  definition. [chioni16](https://github.com/chioni16)

### Fixed
- **Solana** the data field of AccountInfo can now be modified. [LucasSte](https://github.com/LucasSte)
- The vscode extension now uses the solang binary in the path, if available. [seanyoung](https://github.com/seanyoung)

### Changed
- **breaking** **Solana** the contract Solidity type can no longer be used. This type
  used to represent a single address, but this does not make sense as there are many
  accounts associated with a contract call. [LucasSte](https://github.com/LucasSte)

Signed-off-by: Sean Young <[email protected]>
@LucasSte
Copy link
Contributor

will increase coverage by 87.41%.

This is an overstatement.

CHANGELOG.md Outdated Show resolved Hide resolved
Co-authored-by: Lucas Steuernagel <[email protected]>
Signed-off-by: Sean Young <[email protected]>
Copy link
Contributor

@xermicus xermicus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added my portion to the release note

CHANGELOG.md Show resolved Hide resolved
CHANGELOG.md Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
seanyoung and others added 2 commits October 24, 2023 10:07
Co-authored-by: Cyrill Leutwiler <[email protected]>
Signed-off-by: Sean Young <[email protected]>
Signed-off-by: Sean Young <[email protected]>
@seanyoung seanyoung merged commit 1ba3274 into hyperledger:main Oct 24, 2023
19 checks passed
@seanyoung seanyoung deleted the atlantis branch October 24, 2023 10:05
seanyoung added a commit that referenced this pull request Oct 26, 2023
The [v0.3.3 PR](#1573) did not
update the version of the solang crate 🙄

This is a bit embarrassing!

Signed-off-by: Sean Young <[email protected]>
stainless-app bot pushed a commit to 2lambda123/hyperledger-solang that referenced this pull request Feb 4, 2024
The [v0.3.3 PR](hyperledger/solang#1573) did not
update the version of the solang crate 🙄

This is a bit embarrassing!

Signed-off-by: Sean Young <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants