State-of-the-art, highly opinionated, hyper-optimised, and secure πVyper smart contract building blocks.
This is experimental software and is provided on an "as is" and "as available" basis. We do not give any warranties and will not be liable for any losses incurred through any use of this code base.
src
ββ auth
β ββ Ownable β "Owner-Based Access Control Functions"
β ββ Ownable2Step β "2-Step Ownership Transfer Functions"
β ββ AccessControl β "Multi-Role-Based Access Control Functions"
ββ extensions
β ββ ERC4626 β "ERC-4626 Tokenised Vault Implementation (TBD)"
ββ tokens
β ββ ERC20 β "Modern and Gas-Efficient ERC-20 + EIP-2612 Implementation"
β ββ ERC721 β "Modern and Gas-Efficient ERC-721 + EIP-4494 Implementation"
β ββ ERC1155 β "Modern and Gas-Efficient ERC-1155 Implementation"
ββ utils
ββ Base64 β "Base64 Encoding and Decoding Functions"
ββ 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"
ββ MerkleProofVerification β "Merkle Tree Proof Verification Functions"
ββ Multicall β "Multicall Functions"
This repository is inspired by or directly modified from many sources, primarily:
π snekmate only exists thanks to its contributors. There are many ways to get involved and contribute to our high-quality and secure smart contracts. Check out our Contribution Guidelines!