0.0.3
(Unreleased)
- Extensions
- Tokens
- Utility Functions
- Utility Functions
MerkleProofVerificationTest
: Add an additional test for a possiblemulti_proof_verify
invariant violation. (#137)
0.0.2
(07-06-2023)
- General
- All 🐍 snekmate contracts now contain an Ethereum Natural Language Specification Format (NatSpec)
custom
field@custom:contract-name
. The underlying rationale is that the block explorers plan to use@custom:contract-name
as contract name and@title
as fallback. (#124)
- All 🐍 snekmate contracts now contain an Ethereum Natural Language Specification Format (NatSpec)
- Extensions
- Tokens
- Utility Functions
EIP712DomainSeparator
: Implement additionally the interfaceIERC5267
. (#129)Math
: Addwad_ln
andwad_exp
to the standard mathematical utility functions. (#91)
- General
- All 🐍 snekmate contracts are now guaranteed to compile with the Vyper CLI flags
userdoc
anddevdoc
, and, if using the Ape framework, withape compile
. (#126)
- All 🐍 snekmate contracts are now guaranteed to compile with the Vyper CLI flags
- Extensions
- Tokens
- Utility Functions
Base64
: Use the shift operators>>
and<<
introduced in Vyper0.3.8
instead of theshift
instruction. (#127)ECDSA
: Use the shift operators>>
and<<
introduced in Vyper0.3.8
instead of theshift
instruction. (#127)SignatureChecker
: Use the shift operators>>
and<<
introduced in Vyper0.3.8
instead of theshift
instruction. (#127)Math
:- Use directly 🐍 snekmate's
log_2
function in the internal calculation ofwad_cbrt
. (#91) - Use the shift operators
>>
and<<
introduced in Vyper0.3.8
instead of theshift
instruction. (#127) - Use of the ternary operator introduced in Vyper
0.3.8
in the functionceil_div
instead of anif-else
statement. (#128)
- Use directly 🐍 snekmate's
- All 🐍 snekmate contracts now target the Vyper version
0.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 version0.3.8
is set toshanghai
(i.e. the EVM includes thePUSH0
instruction). If you intend to deploy on an EVM chain with noPUSH0
support, you must compile the 🐍 snekmate contracts with the--evm-version paris
option; e.g.vyper --evm-version paris utils/Math.vy
. (#122)
0.0.1
(06-03-2023)
- Authentication
Ownable
: Owner-based access control functions.Ownable2Step
: 2-step ownership transfer functions.AccessControl
: Multi-role-based access control functions.
- Extensions
- Tokens
- Utility Functions
Base64
: Base64 encoding and decoding functions. (#47)BatchDistributor
: Batch sending both native and ERC-20 tokens.CreateAddress
:CREATE
EVM opcode utility function for address calculation.Create2Address
:CREATE2
EVM opcode utility functions for address calculations.ECDSA
: Elliptic curve digital signature algorithm (ECDSA) functions.SignatureChecker
: ECDSA and EIP-1271 signature verification functions.EIP712DomainSeparator
: EIP-712 domain separator.Math
: Standard mathematical utility functions. (#74, #77, #86)MerkleProofVerification
: Merkle tree proof verification functions. (#30)Multicall
: Multicall functions.