Skip to content

v0.3.3: Atlantis

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 26 Oct 15:26
· 67 commits to main since this release
8a9ae7c

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 asthere are many
    accounts associated with a contract call. LucasSte