Skip to content

Commit

Permalink
📖 Amend CHANGELOG
Browse files Browse the repository at this point in the history
Signed-off-by: Pascal Marco Caversaccio <[email protected]>
  • Loading branch information
pcaversaccio committed Oct 5, 2023
1 parent 32d9b94 commit 9d9b235
Show file tree
Hide file tree
Showing 32 changed files with 47 additions and 34 deletions.
19 changes: 16 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,27 @@

### ❗️ Breaking Change

- All 🐍 snekmate contracts now target the Vyper version [`0.3.10`](https://github.com/vyperlang/vyper/releases/tag/v0.3.10). It is strongly recommended to upgrade accordingly your local Vyper version prior to using the 🐍 snekmate contracts. **Important:** The default EVM version since Vyper version `0.3.8` is set to `shanghai` (i.e. the EVM includes the [`PUSH0`](https://eips.ethereum.org/EIPS/eip-3855) instruction). If you intend to deploy on an EVM chain with no `PUSH0` support, you must compile the 🐍 snekmate contracts with the `--evm-version paris` option; e.g. `vyper --evm-version paris utils/Math.vy`, or add the `evm-version` pragma to the 🐍 snekmate contracts ([#164](https://github.com/pcaversaccio/snekmate/pull/164)):
- All 🐍 snekmate contracts now target the Vyper version [`0.3.10`](https://github.com/vyperlang/vyper/releases/tag/v0.3.10). It is strongly recommended to upgrade accordingly your local Vyper version prior to using the 🐍 snekmate contracts. **Important:** The default EVM version since Vyper version [`0.3.8`](https://github.com/vyperlang/vyper/releases/tag/v0.3.8) is set to `shanghai` (i.e. the EVM includes the [`PUSH0`](https://eips.ethereum.org/EIPS/eip-3855) instruction). If you intend to deploy on an EVM chain with no `PUSH0` support, you must compile the 🐍 snekmate contracts with the `--evm-version paris` option; e.g. `vyper --evm-version paris utils/Math.vy`, or add the `# pragma evm-version` directive to the 🐍 snekmate contracts ([#164](https://github.com/pcaversaccio/snekmate/pull/164)):

```vyper
# @version ^0.3.10
# pragma version ^0.3.10
# pragma evm-version paris
# pragma optimize gas
"""
@title Modern and Gas-Efficient ERC-20 + EIP-2612 Implementation
...
"""
# @dev We import and implement the `ERC20` interface,
# which is a built-in interface of the Vyper compiler.
from vyper.interfaces import ERC20
implements: ERC20
...
```

> The `# pragma optimize` directive has also been added in Vyper version [`0.3.10`](https://github.com/vyperlang/vyper/releases/tag/v0.3.10) (see PR [#3493](https://github.com/vyperlang/vyper/pull/3493)). Please refer to [here](https://docs.vyperlang.org/en/stable/compiling-a-contract.html#compiler-optimization-modes) to learn more about the different options `none`, `codesize`, and `gas` (default).
### 👀 Full Changelog

- [`v0.0.2...v0.0.3`](https://github.com/pcaversaccio/snekmate/compare/v0.0.2...v0.0.3)
Expand Down Expand Up @@ -80,7 +93,7 @@

### ❗️ Breaking Change

- All 🐍 snekmate contracts now target the Vyper version [`0.3.9`](https://github.com/vyperlang/vyper/releases/tag/v0.3.9). It is strongly recommended to upgrade accordingly your local Vyper version prior to using the 🐍 snekmate contracts. **Important:** The default EVM version since Vyper version `0.3.8` is set to `shanghai` (i.e. the EVM includes the [`PUSH0`](https://eips.ethereum.org/EIPS/eip-3855) instruction). If you intend to deploy on an EVM chain with no `PUSH0` support, you must compile the 🐍 snekmate contracts with the `--evm-version paris` option; e.g. `vyper --evm-version paris utils/Math.vy`. ([#122](https://github.com/pcaversaccio/snekmate/pull/122))
- All 🐍 snekmate contracts now target the Vyper version [`0.3.9`](https://github.com/vyperlang/vyper/releases/tag/v0.3.9). It is strongly recommended to upgrade accordingly your local Vyper version prior to using the 🐍 snekmate contracts. **Important:** The default EVM version since Vyper version [`0.3.8`](https://github.com/vyperlang/vyper/releases/tag/v0.3.8) is set to `shanghai` (i.e. the EVM includes the [`PUSH0`](https://eips.ethereum.org/EIPS/eip-3855) instruction). If you intend to deploy on an EVM chain with no `PUSH0` support, you must compile the 🐍 snekmate contracts with the `--evm-version paris` option; e.g. `vyper --evm-version paris utils/Math.vy`. ([#122](https://github.com/pcaversaccio/snekmate/pull/122))

### 👀 Full Changelog

Expand Down
2 changes: 1 addition & 1 deletion lib/openzeppelin-contracts
Submodule openzeppelin-contracts updated 32 files
+2 −2 certora/Makefile
+98 −0 certora/diff/access_manager_AccessManager.sol.patch
+36 −0 certora/harnesses/AccessManagedHarness.sol
+116 −0 certora/harnesses/AccessManagerHarness.sol
+19 −0 certora/specs.json
+34 −0 certora/specs/AccessManaged.spec
+826 −0 certora/specs/AccessManager.spec
+5 −0 certora/specs/helpers/helpers.spec
+5 −0 certora/specs/methods/IAccessManaged.spec
+33 −0 certora/specs/methods/IAccessManager.spec
+82 −52 contracts/access/manager/AccessManager.sol
+7 −0 contracts/access/manager/IAccessManager.sol
+1 −1 contracts/governance/utils/Votes.sol
+11 −0 contracts/mocks/AccessManagedTarget.sol
+69 −0 contracts/mocks/AuthorityMock.sol
+22 −0 contracts/mocks/docs/ERC20WithAutoMinerReward.sol
+17 −0 contracts/mocks/docs/MyContractOwnable.sol
+10 −6 contracts/utils/types/Time.sol
+3 −18 docs/modules/ROOT/pages/access-control.adoc
+5 −19 docs/modules/ROOT/pages/erc20-supply.adoc
+0 −54 docs/modules/ROOT/pages/extending-contracts.adoc
+19 −4 hardhat/env-contract.js
+1 −1 requirements.txt
+1 −1 scripts/upgradeable/transpile.sh
+142 −0 test/access/manager/AccessManaged.test.js
+711 −0 test/access/manager/AccessManager.behavior.js
+2,395 −875 test/access/manager/AccessManager.test.js
+91 −0 test/access/manager/AuthorityUtils.test.js
+365 −8 test/governance/extensions/GovernorTimelockAccess.test.js
+69 −0 test/helpers/access-manager.js
+0 −1 test/metatx/ERC2771Forwarder.test.js
+2 −2 test/token/ERC20/extensions/ERC4626.test.js
2 changes: 1 addition & 1 deletion src/auth/AccessControl.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Multi-Role-Based Access Control Functions
@custom:contract-name AccessControl
Expand Down
2 changes: 1 addition & 1 deletion src/auth/Ownable.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Owner-Based Access Control Functions
@custom:contract-name Ownable
Expand Down
2 changes: 1 addition & 1 deletion src/auth/Ownable2Step.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title 2-Step Ownership Transfer Functions
@custom:contract-name Ownable2Step
Expand Down
2 changes: 1 addition & 1 deletion src/auth/interfaces/IAccessControl.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title AccessControl Interface Definition
@custom:contract-name IAccessControl
Expand Down
2 changes: 1 addition & 1 deletion src/extensions/ERC2981.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title ERC-721 and ERC-1155 Compatible ERC-2981 Reference Implementation
@custom:contract-name ERC2981
Expand Down
2 changes: 1 addition & 1 deletion src/extensions/ERC4626.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Modern and Gas-Efficient ERC-4626 Tokenised Vault Implementation
@custom:contract-name ERC4626
Expand Down
2 changes: 1 addition & 1 deletion src/extensions/interfaces/IERC2981.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-2981 Interface Definition
@custom:contract-name IERC2981
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/ERC1155.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Modern and Gas-Efficient ERC-1155 Implementation
@custom:contract-name ERC1155
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/ERC20.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Modern and Gas-Efficient ERC-20 + EIP-2612 Implementation
@custom:contract-name ERC20
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/ERC721.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Modern and Gas-Efficient ERC-721 + EIP-4494 Implementation
@custom:contract-name ERC721
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/interfaces/IERC1155.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-1155 Interface Definition
@custom:contract-name IERC1155
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/interfaces/IERC1155MetadataURI.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-1155 Optional Metadata Interface Definition
@custom:contract-name IERC1155MetadataURI
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/interfaces/IERC1155Receiver.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-1155 Token Receiver Interface Definition
@custom:contract-name IERC1155Receiver
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/interfaces/IERC20Permit.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-2612 Interface Definition
@custom:contract-name IERC20Permit
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/interfaces/IERC4906.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-4906 Interface Definition
@custom:contract-name IERC4906
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/interfaces/IERC721Enumerable.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-721 Optional Enumeration Interface Definition
@custom:contract-name IERC721Enumerable
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/interfaces/IERC721Metadata.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-721 Optional Metadata Interface Definition
@custom:contract-name IERC721Metadata
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/interfaces/IERC721Permit.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-4494 Interface Definition
@custom:contract-name IERC721Permit
Expand Down
2 changes: 1 addition & 1 deletion src/tokens/interfaces/IERC721Receiver.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-721 Token Receiver Interface Definition
@custom:contract-name IERC721Receiver
Expand Down
2 changes: 1 addition & 1 deletion src/utils/Base64.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Base64 Encoding and Decoding Functions
@custom:contract-name Base64
Expand Down
2 changes: 1 addition & 1 deletion src/utils/BatchDistributor.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Batch Sending Both Native and ERC-20 Tokens
@custom:contract-name BatchDistributor
Expand Down
2 changes: 1 addition & 1 deletion src/utils/Create2Address.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title `CREATE2` EVM Opcode Utility Functions for Address Calculations
@custom:contract-name Create2Address
Expand Down
2 changes: 1 addition & 1 deletion src/utils/CreateAddress.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title `CREATE` EVM Opcode Utility Functions for Address Calculations
@custom:contract-name CreateAddress
Expand Down
2 changes: 1 addition & 1 deletion src/utils/ECDSA.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Elliptic Curve Digital Signature Algorithm (ECDSA) Functions
@custom:contract-name ECDSA
Expand Down
2 changes: 1 addition & 1 deletion src/utils/EIP712DomainSeparator.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-712 Domain Separator
@custom:contract-name EIP712DomainSeparator
Expand Down
2 changes: 1 addition & 1 deletion src/utils/Math.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Standard Mathematical Utility Functions
@custom:contract-name Math
Expand Down
2 changes: 1 addition & 1 deletion src/utils/MerkleProofVerification.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Merkle Tree Proof Verification Functions
@custom:contract-name MerkleProofVerification
Expand Down
2 changes: 1 addition & 1 deletion src/utils/Multicall.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title Multicall Functions
@custom:contract-name Multicall
Expand Down
2 changes: 1 addition & 1 deletion src/utils/SignatureChecker.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title ECDSA and EIP-1271 Signature Verification Functions
@custom:contract-name SignatureChecker
Expand Down
2 changes: 1 addition & 1 deletion src/utils/interfaces/IERC5267.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version ^0.3.10
# pragma version ^0.3.10
"""
@title EIP-5267 Interface Definition
@custom:contract-name IERC5267
Expand Down

0 comments on commit 9d9b235

Please sign in to comment.