Skip to content

Releases: OpenZeppelin/rust-contracts-stylus

v0.2.0-alpha.4

06 Mar 13:51
97fd57b
Compare
Choose a tag to compare
v0.2.0-alpha.4 Pre-release
Pre-release

Summary

Added

  • Erc2981 contract. #508
  • Implement Deref<Target = Erc1155> for Erc1155Supply and Deref<Target = Erc721> for Erc721Consecutive. #569
  • Implement Deref<Target = Ownable> for Ownable2Step. #552

Changed (Breaking)

  • Refactor Erc20Permit extension to be a composition of Erc20 and Nonces contracts. #574
  • Replace VestingWallet::receive_ether with dedicated receive function. #529
  • Extract IAccessControl trait from AccessControl contract. #527
  • Bump Stylus SDK to v0.8.1 #587

Fixed

  • IErc165 implementations for Erc721Metadata and Erc721Enumerable now support ERC-165 interface ID. #570
  • Handle missing leaves for non-trivial merkle trees. #578

Full Changes List

  • build(deps): bump crate-ci/typos from 1.29.4 to 1.29.5 by @dependabot in #521
  • docs: make Rust docs consistent by @DarkLord017 in #497
  • docs: normalize struct docs by @emrhncvsgl in #507
  • test: Investigate Fuzzing by @0xNeshi in #477
  • ref: make all proptests stand-alone + replace prop_assume calls with helper fn by @0xNeshi in #526
  • build: bump nitro-testnode by @bidzyyys in #531
  • refactor(test): migrate unit tests to the new motsu layout by @qalisander in #423
  • refactor: extract IAccessControl trait from AccessControl by @Dhanraj30 in #527
  • ref: privatize and rename state fields by @0xNeshi in #500
  • build(deps): bump crate-ci/typos from 1.29.5 to 1.29.7 by @dependabot in #551
  • feat: implement Deref for Erc20Permit and Ownable2Step by @0xNeshi in #552
  • build(deps): bump crate-ci/typos from 1.29.7 to 1.29.8 by @dependabot in #564
  • feat: Implement Deref<Target = Erc1155> for Erc1155Supply and Deref<Target = Erc721> for Erc721Consecutive by @0xNeshi in #569
  • build(deps): bump crate-ci/typos from 1.29.8 to 1.29.9 by @dependabot in #567
  • ref: use dedicated receive fn in VestingWallet by @iamjaeholee in #529
  • build(deps): bump crate-ci/typos from 1.29.9 to 1.29.10 by @dependabot in #577
  • fix: clippy warning in AccessControl by @bidzyyys in #581
  • fix: Debug proof consistency test by @0xNeshi in #578
  • feat: Implement Missing IErc165 Overrides by @0xNeshi in #570
  • ref: new design of Erc20Permit extension by @bidzyyys in #574
  • feat: ERC2981 contract by @18aaddy in #508
  • build(deps): bump crate-ci/typos from 1.29.10 to 1.30.0 by @dependabot in #583
  • build(deps): bump crate-ci/typos from 1.30.0 to 1.30.1 by @dependabot in #586
  • build: bump Stylus SDK to v0.8 (no use of vm() api) by @qalisander in #587
  • build: bump to v0.2.0-alpha.4 by @0xNeshi in #590
  • feat: reimplement erc165 for erc20 by @0xNeshi in #591

Full Changelog: v0.2.0-alpha.3...v0.2.0-alpha.4

v0.2.0-alpha.3

30 Jan 19:51
43c73ce
Compare
Choose a tag to compare
v0.2.0-alpha.3 Pre-release
Pre-release

Summary

Added

  • Optimised implementation of bigintegers Uint<_> for finite fields. #495
  • Erc4626 "Tokenized Vault Standard". #465
  • Implement mul_div for U256. #465
  • Implement AddAssignChecked for StorageUint. #474
  • Erc20FlashMint extension. #407

Changed

  • Keccak constants PERMIT_TYPEHASH in Erc20Permit, and TYPE_HASH in Erc712 are now statically computed. #478
  • Use AddAssignChecked in VestingWallet, Erc1155Supply, Erc1155, Erc20, Nonces. #474
  • Use AddAssignUnchecked and SubAssignUnchecked in erc20::_update. #467

Changed (Breaking)

  • Bump cargo-stylus to v0.5.8. #493
  • Constants TYPE_HASH, FIELDS, SALT and TYPED_DATA_PREFIX, and type DomainSeparatorTuple are no longer exported from utils::cryptography::eip712. #478
  • Bump Stylus SDK to v0.7.0. #433
  • Bump alloy dependencies to v0.8.14. #433
  • Add full support for reentrancy (changed VestingWallet signature for some functions). #407
  • Nonce::use_nonce panics on exceeding U256::MAX. #467

Full Changes List

Full Changelog: v0.2.0-alpha.2...v0.2.0-alpha.3

v0.2.0-alpha.2

19 Dec 14:06
4de08e5
Compare
Choose a tag to compare
v0.2.0-alpha.2 Pre-release
Pre-release

Summary

Added

  • Erc1155Supply extension. #418
  • Erc1155Pausable extension. #432
  • Erc1155UriStorage extension. #431
  • VestingWallet contract. #402
  • Erc1155Burnable extension. #417
  • Erc1155MetadataUri extension. #416
  • Poseidon2 sponge hash function. #388

Changed

  • Update "magic values" to explicit calculations in Erc721Metadata::supports_interface and Erc721::_check_on_erc721_received. #442
  • Implement AddAssignUnchecked and SubAssignUnchecked for StorageUint. #418
  • Implement MethodError for safe_erc20::Error. #402
  • Use function_selector! to calculate transfer type selector in Erc1155. #417

Changed (Breaking)

  • Update internal functions of Erc721 and Erc721Consecutive to accept a reference to Bytes. #437

Full Changes List

Full Changelog: v0.2.0-alpha.1...v0.2.0-alpha.2

v0.2.0-alpha.1

15 Nov 01:09
28f3178
Compare
Choose a tag to compare
v0.2.0-alpha.1 Pre-release
Pre-release

Summary

Added

  • ERC-1155 Multi Token Standard. #275
  • SafeErc20 Utility. #289
  • Finite Fields arithmetics. #376
  • Ownable2Step contract. #352
  • IOwnable trait. #352

Changed(breaking)

  • Removed only_owner from the public interface of Ownable. #352

Full Changes List

Full Changelog: v0.1.1...v0.2.0-alpha.1

v0.1.1

28 Oct 19:20
1500735
Compare
Choose a tag to compare

Summary

Changed

  • Mini alloc is now used by default via the stylus-sdk. This avoids conflicts with duplicate #[global_allocator] definitions. #373
  • Removed the panic handler from the library, making it easier for std and no_std projects to use the library. #373

Full Changes List

Full Changelog: v0.1.0...v0.1.1

v0.1.0

17 Oct 17:41
68745a7
Compare
Choose a tag to compare

First release 🎉