All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- TimelockController component (#996)
- HashCall implementation (#996)
- Separated package for each submodule (#1065)
openzeppelin_access
openzeppelin_account
openzeppelin_governance
openzeppelin_introspection
openzeppelin_presets
openzeppelin_security
openzeppelin_token
openzeppelin_upgrades
openzeppelin_utils
- Separated packages intended as [dev-dependencies] (#1084)
openzeppelin_testing
openzeppelin_test_common
- Bump scarb to v2.7.0-rc.1 (#1025)
- Bump scarb to v2.7.0-rc.2 (#1052)
- Bump scarb to v2.7.0-rc.4 (#1064)
- Bump scarb to v2.7.0 (#1065)
- Test utilities moved out of the utils module (#1084).
- Test utilities refactored to match the snforge test runner (#1084).
Trace
,Checkpoint
, andStorageArray
structs made public.
- Removed
num_checkpoints
andcheckpoints
fromERC20VotesABI
.
-
Migrated to the
2023_11
edition (#995):- Component implementations annotated with
#[embeddable_as()]
(e.g:AccessControlComponent::AccessControl
) are not public anymore. Note that the embeddable versions are still public (e.g:AccessControlComponent::AccessControlImpl
). - Implementations that can be compiler-derived from traits are not public anymore (e.g:
DualCaseAccessControlImpl
is not public whileDualCaseAccessControlTrait
is). Secp256k1PointPartialEq
andDebugSecp256k1Point
are not public anymore.account::utils::execute_single_call
is not public anymore.- Presets are not public anymore, since they should be copied into projects, and not directly imported.
Trace
andCheckpoint
structs are not public anymore, since they are intended to be used inERC20Votes
, and not as generic utilities.StorageArray
is not public anymore, since this implementation is specific toERC20Votes
, and is not intended as a generic utility, but as a temporary solution until Starknet native implementation arrives.
- Component implementations annotated with
-
Apply underscore pattern to modules (#993)
- AccessControlComponent
_set_role_admin
function renamed toset_role_admin
- PausableComponent
_pause
function renamed topause
_unpause
function renamed tounpause
- UpgradeableComponent
_upgrade
function renamed toupgrade
- ERC20Component:
_mint
function renamed tomint
_burn
function renamed toburn
_update
function renamed toupdate
- ERC721Component:
_safe_transfer
function renamed tosafe_transfer
_safe_mint
function renamed tosafe_mint
_mint
function renamed tomint
_transfer
function renamed totransfer
_burn
function renamed toburn
_update
function renamed toupdate
- ERC1155Component:
set_base_uri
function renamed to_set_base_uri
- AccessControlComponent
- Sending transactions section in account docs (#981)
- before_update and after_update hooks to ERC721Component (#978)
- before_update and after_update hooks to ERC1155Component (#982)
- ERC721Component internal implementation to support transfer, mint, and burn flows going through an
_update
function (#978) - ERC721Component implementations now require an ERC721HooksTrait implementation in scope (#978)
- ERC1155Component implementations now require an ERC1155HooksTrait implementation in scope (#982)
- AccountComponent, preset, and dispatcher now require a
signature
param in the public-key-setter functions (#989) - EthAccountComponent, preset, and dispatcher now require a
signature
param in the public-key-setter functions (#990)
- before_update and after_update hooks to ERC20Component (#951)
- INSUFFICIENT_BALANCE and INSUFFICIENT_ALLOWANCE errors to ERC20Component (#951)
- ERC20Votes component (#951)
- Preset interfaces (#964)
- UDC docs (#954)
- Util functions to precompute addresses (#954)
- Allow testing utilities to be importable (#963)
- Utilities documentation (#963)
- Parameter name in
tests::utils::drop_events
(count
->n_events
) (#963) - Presets to include upgradeable functionality (#964)
- ERC20, ERC721, and ERC1155 presets include Ownable functionality (#964)
- EthAccount
- Expected signature format changed from
(r, s, y)
to(r, s)
(#940)
- Expected signature format changed from
- SNIP12 utilities for on-chain typed messages hash generation (#935)
- Nonces component utility (#935)
- Presets Usage guide (#949)
- UDC preset contract (#919)
- ERC1155Component and ERC1155ReceiverComponent mixins (#941)
- ERC721ReceiverComponent documentation (#945)
- ERC721ReceiverComponent mixin embeddable implementation name (#945)
- DualCase SRC5 (#882, #952)
- ERC1155 component and preset (#896)
- Mixin implementations in components (#863)
- ERC721Component functions and Storage member
InternalTrait::_set_base_uri
andInternalTrait::_base_uri
to handle ByteArrays (#857)ERC721_base_uri
Storage member to store the base URI (#857)
- Change unwrap to unwrap_syscall (#901)
- ERC20Component
IERC20::name
andIERC20::symbol
return ByteArrays instead of felts (#857)
- ERC721Component
IERC721::name
,IERC721::symbol
, andIERC721Metadata::token_uri
return ByteArrays instead of felts (#857)InternalTrait::initializer
accepts an additionalbase_uri
ByteArray parameter (#857)- IERC721Metadata SRC5 interface ID. This is changed because of the ByteArray integration (#857)
- ERC721Component function and Storage member
InternalTrait::_set_token_uri
because individual token URIs are no longer stored (#857)ERC721_token_uri
Storage member because individual token URIs are no longer stored (#857)
- EthAccount component and preset (#853)
- Ownable two-step functionality (#809)
- Bump scarb to v2.4.4 (#853)
- Bump scarb to v2.5.3 (#898)
- OwnershipTransferred event args are indexed (#809)
- Non standard increase_allowance and decrease_allowance functions in ERC20 contract (#881)
- Documentation for SRC5 migration (#821)
- Usage docs (#823)
- Utilities documentation (#825)
- Documentation for presets (#832)
- Backwards compatibility notice (#861)
- Add automatic version bump to CI (#862)
- Use ComponentState in tests (#836)
- Docsite navbar (#838)
- Account events indexed keys (#853)
- Support higher tx versions in Account (#858)
- Bump scarb to v2.4.1 (#858)
- Add security section to Upgrades docs (#861)