Releases: OpenZeppelin/rust-contracts-stylus
Releases · OpenZeppelin/rust-contracts-stylus
v0.2.0-alpha.4
Summary
Added
Erc2981
contract. #508- Implement
Deref<Target = Erc1155>
forErc1155Supply
andDeref<Target = Erc721>
forErc721Consecutive
. #569 - Implement
Deref<Target = Ownable>
forOwnable2Step
. #552
Changed (Breaking)
- Refactor
Erc20Permit
extension to be a composition ofErc20
andNonces
contracts. #574 - Replace
VestingWallet::receive_ether
with dedicatedreceive
function. #529 - Extract
IAccessControl
trait fromAccessControl
contract. #527 - Bump Stylus SDK to v0.8.1 #587
Fixed
IErc165
implementations forErc721Metadata
andErc721Enumerable
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>
forErc1155Supply
andDeref<Target = Erc721>
forErc721Consecutive
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
Summary
Added
- Optimised implementation of bigintegers
Uint<_>
for finite fields. #495 Erc4626
"Tokenized Vault Standard". #465- Implement
mul_div
forU256
. #465 - Implement
AddAssignChecked
forStorageUint
. #474 Erc20FlashMint
extension. #407
Changed
- Keccak constants
PERMIT_TYPEHASH
inErc20Permit
, andTYPE_HASH
inErc712
are now statically computed. #478 - Use
AddAssignChecked
inVestingWallet
,Erc1155Supply
,Erc1155
,Erc20
,Nonces
. #474 - Use
AddAssignUnchecked
andSubAssignUnchecked
inerc20::_update
. #467
Changed (Breaking)
- Bump cargo-stylus to v0.5.8. #493
- Constants
TYPE_HASH
,FIELDS
,SALT
andTYPED_DATA_PREFIX
, and typeDomainSeparatorTuple
are no longer exported fromutils::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 exceedingU256::MAX
. #467
Full Changes List
- Remove motsu from the repo and just import from crates.io by @ggonzalez94 in #456
- build(deps): bump crate-ci/typos from 1.28.2 to 1.28.4 by @dependabot in #460
- ref: Add/Sub Assignment Operations + e2e-tests.sh by @0xNeshi in #467
- feat: add ERC20FlashMint extension by @Ifechukwudaniel in #407
- build(deps): bump crate-ci/typos from 1.28.4 to 1.29.4 by @dependabot in #475
- feat: implement trait AddAssignChecked for StorageUint by @bidzyyys in #474
- docs: add README for openzeppelin-stylus-proc by @0xNeshi in #471
- build: bump Stylus SDK to v0.7.0 and alloy to v0.8.14 by @bidzyyys in #433
- feat: stylus poseidon hash benchmark against solidity by @qalisander in #463
- ref: Revamp e2e's error-checking mechanism by @0xNeshi in #479
- ref: Use Static Keccak Calculation Instead of Magic Values by @0xNeshi in #478
- test: change Panic error's arg name to 'code' by @0xNeshi in #485
- build: bump cargo-stylus to v0.5.7 by @bidzyyys in #484
- docs: use fixed versions in solidity docs URLs by @0xNeshi in #486
- test: add missing E2E tests for Erc721 by @DarkLord017 in #489
- ref: Remove
rand
Dev Dependency from ./contracts/* by @0xNeshi in #490 - build: cargo stylus v0.5.8 by @bidzyyys in #493
- Update LICENSE by @ericglau in #496
- ref: improve Erc1155Receiver and Erc721Receiver by @Ifechukwudaniel in #509
- feat: ERC-4626 extension by @Ifechukwudaniel in #465
- feat: Big Integer Implementation for Cryptographic Applications by @qalisander in #495
- build: bump to v0.2.0 alpha.3 by @0xNeshi in #512
Full Changelog: v0.2.0-alpha.2...v0.2.0-alpha.3
v0.2.0-alpha.2
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
andErc721::_check_on_erc721_received
. #442 - Implement
AddAssignUnchecked
andSubAssignUnchecked
forStorageUint
. #418 - Implement
MethodError
forsafe_erc20::Error
. #402 - Use
function_selector!
to calculate transfer type selector inErc1155
. #417
Changed (Breaking)
- Update internal functions of
Erc721
andErc721Consecutive
to accept a reference toBytes
. #437
Full Changes List
- feat: add ERC1155Supply extension by @0xNeshi and @bidzyyys in #418
- feat: add ERC1155 Pausable Extension by @0xNeshi and @bidzyyys in #432
- feat: ERC1155 URIStorage Extension by @0xNeshi in #431
- feat: Add VestingWallet by @0xNeshi, @bidzyyys and @qalisander in #402
- feat: ERC1155Burnable extension by @0xNeshi, @bidzyyys and @qalisander in #417
- feat:
Erc1155MetadataUri
extension @0xNeshi and @qalisander in #416 - feat: Poseidon2 sponge hash function by @qalisander and @bidzyyys in #388
Full Changelog: v0.2.0-alpha.1...v0.2.0-alpha.2
v0.2.0-alpha.1
Summary
Added
- ERC-1155 Multi Token Standard. #275
SafeErc20
Utility. #289- Finite Fields arithmetics. #376
Ownable2Step
contract. #352IOwnable
trait. #352
Changed(breaking)
- Removed
only_owner
from the public interface of Ownable. #352
Full Changes List
- feat: Ownable2Step by @ggonzalez94, and @bidzyyys in #352
- feat: ERC1155 by @programskillforverification, @bidzyyys, @qalisander, and @0xNeshi in #275
- feat: SafeErc20 utility by @0xNeshi, @bidzyyys and @qalisander in #289
- feat: finite fields by @qalisander in #376
- fix: contract caching for benchmarks by @qalisander in #387
Full Changelog: v0.1.1...v0.2.0-alpha.1
v0.1.1
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
andno_std
projects to use the library. #373
Full Changes List
- fix: reference-types error on nightly version by @qalisander in #375
- fix: use mini-alloc by default and remove panic handler by @qalisander and @ggonzalez94 in #373
- build: bump v0.1.1 by @bidzyyys in #382
Full Changelog: v0.1.0...v0.1.1