Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

💥 Add a pausable Contract Module #297

Merged
merged 10 commits into from
Jan 22, 2025
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

## [`0.1.1`](https://github.com/pcaversaccio/snekmate/releases/tag/v0.1.1) (Unreleased)

### 💥 New Features

- **Utility Functions**
- [`pausable`](https://github.com/pcaversaccio/snekmate/blob/v0.1.1/src/snekmate/utils/pausable.vy): Add a `pausable` contract module. ([#297](https://github.com/pcaversaccio/snekmate/pull/297))

### ♻️ Refactoring

- **Authentication**
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ This repository contains [Foundry](https://github.com/foundry-rs/foundry)-based
| `math` | ✅ | ✅ | ❌ |
| `merkle_proof_verification` | ✅ | ✅ | ❌ |
| `multicall` | ✅ | ❌ | ❌ |
| `pausable` | ✅ | ✅ | ✅ |

✅ Test Type Implemented   ❌ Test Type Not Implemented

Expand Down
2 changes: 1 addition & 1 deletion lib/create-util
Submodule create-util updated 2 files
+1 −1 package.json
+59 −59 pnpm-lock.yaml
2 changes: 1 addition & 1 deletion lib/solady
8 changes: 4 additions & 4 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/snekmate/auth/access_control.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Multi-Role-Based Access Control Functions
@custom:contract-name access_control
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/auth/interfaces/IAccessControl.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `access_control` Interface Definition
@custom:contract-name IAccessControl
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/auth/mocks/access_control_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `access_control` Module Reference Implementation
@custom:contract-name access_control_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/auth/mocks/ownable_2step_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `ownable_2step` Module Reference Implementation
@custom:contract-name ownable_2step_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/auth/mocks/ownable_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `ownable` Module Reference Implementation
@custom:contract-name ownable_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/auth/ownable.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Owner-Based Access Control Functions
@custom:contract-name ownable
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/auth/ownable_2step.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title 2-Step Ownership Transfer Functions
@custom:contract-name ownable_2step
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/extensions/erc2981.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title ERC-721 and ERC-1155 Compatible ERC-2981 Reference Implementation
@custom:contract-name erc2981
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/extensions/erc4626.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Modern and Gas-Efficient ERC-4626 Tokenised Vault Implementation
@custom:contract-name erc4626
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/extensions/interfaces/IERC2981.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-2981 Interface Definition
@custom:contract-name IERC2981
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/extensions/mocks/erc2981_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `erc2981` Module Reference Implementation
@custom:contract-name erc2981_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/extensions/mocks/erc4626_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `erc4626` Module Reference Implementation
@custom:contract-name erc4626_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/governance/mocks/timelock_controller_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `timelock_controller` Module Reference Implementation
@custom:contract-name timelock_controller_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/governance/timelock_controller.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Multi-Role-Based Timelock Controller Reference Implementation
@custom:contract-name timelock_controller
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/erc1155.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Modern and Gas-Efficient ERC-1155 Implementation
@custom:contract-name erc1155
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/erc20.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Modern and Gas-Efficient ERC-20 + EIP-2612 Implementation
@custom:contract-name erc20
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/erc721.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Modern and Gas-Efficient ERC-721 + EIP-4494 Implementation
@custom:contract-name erc721
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/interfaces/IERC1155.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-1155 Interface Definition
@custom:contract-name IERC1155
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/interfaces/IERC1155MetadataURI.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-1155 Optional Metadata Interface Definition
@custom:contract-name IERC1155MetadataURI
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/interfaces/IERC1155Receiver.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-1155 Token Receiver Interface Definition
@custom:contract-name IERC1155Receiver
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/interfaces/IERC20Permit.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-2612 Interface Definition
@custom:contract-name IERC20Permit
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/interfaces/IERC4906.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-4906 Interface Definition
@custom:contract-name IERC4906
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/interfaces/IERC721Enumerable.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-721 Optional Enumeration Interface Definition
@custom:contract-name IERC721Enumerable
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/interfaces/IERC721Metadata.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-721 Optional Metadata Interface Definition
@custom:contract-name IERC721Metadata
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/interfaces/IERC721Permit.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-4494 Interface Definition
@custom:contract-name IERC721Permit
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/interfaces/IERC721Receiver.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-721 Token Receiver Interface Definition
@custom:contract-name IERC721Receiver
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/mocks/erc1155_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `erc1155` Module Reference Implementation
@custom:contract-name erc1155_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/mocks/erc20_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `erc20` Module Reference Implementation
@custom:contract-name erc20_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/tokens/mocks/erc721_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `erc721` Module Reference Implementation
@custom:contract-name erc721_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/base64.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Base64 Encoding and Decoding Functions
@custom:contract-name base64
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/batch_distributor.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Batch Sending Both Native and ERC-20 Tokens
@custom:contract-name batch_distributor
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/create2_address.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `CREATE2` EVM Opcode Utility Functions for Address Calculations
@custom:contract-name create2_address
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/create_address.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `CREATE` EVM Opcode Utility Functions for Address Calculations
@custom:contract-name create_address
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/ecdsa.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Elliptic Curve Digital Signature Algorithm (ECDSA) Secp256k1-Based Functions
@custom:contract-name ecdsa
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/eip712_domain_separator.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-712 Domain Separator
@custom:contract-name eip712_domain_separator
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/interfaces/IERC1271.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-1271 Interface Definition
@custom:contract-name IERC1271
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/interfaces/IERC5267.vyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title EIP-5267 Interface Definition
@custom:contract-name IERC5267
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/math.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Standard Mathematical Utility Functions
@custom:contract-name math
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/merkle_proof_verification.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Merkle Tree Proof Verification Functions
@custom:contract-name merkle_proof_verification
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/message_hash_utils.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title Signature Message Hash Utility Functions
@custom:contract-name message_hash_utils
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/base64_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `base64` Module Reference Implementation
@custom:contract-name base64_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/batch_distributor_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `batch_distributor` Module Reference Implementation
@custom:contract-name batch_distributor_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/create2_address_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `create2_address` Module Reference Implementation
@custom:contract-name create2_address_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/create_address_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `create_address` Module Reference Implementation
@custom:contract-name create_address_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/ecdsa_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `ecdsa` Module Reference Implementation
@custom:contract-name ecdsa_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/eip712_domain_separator_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `eip712_domain_separator` Module Reference Implementation
@custom:contract-name eip712_domain_separator_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/math_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `math` Module Reference Implementation
@custom:contract-name math_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/merkle_proof_verification_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `merkle_proof_verification` Module Reference Implementation
@custom:contract-name merkle_proof_verification_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/message_hash_utils_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `message_hash_utils` Module Reference Implementation
@custom:contract-name message_hash_utils_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/multicall_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `multicall` Module Reference Implementation
@custom:contract-name multicall_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/p256_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1b5
# pragma version ~=0.4.1rc2
"""
@title `p256` Module Reference Implementation
@custom:contract-name p256_mock
Expand Down
Loading
Loading