Skip to content

Commit

Permalink
Merge branch 'main' into feat/native-hex-strings
Browse files Browse the repository at this point in the history
Signed-off-by: sudo rm -rf --no-preserve-root / <[email protected]>
  • Loading branch information
pcaversaccio authored Oct 18, 2024
2 parents 12af1b1 + 0c16b79 commit e222150
Show file tree
Hide file tree
Showing 119 changed files with 769 additions and 769 deletions.
184 changes: 92 additions & 92 deletions .gas-snapshot

Large diffs are not rendered by default.

1,120 changes: 560 additions & 560 deletions .gas-snapshot-venom

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ cache = true # Enable cachin
cache_path = "cache" # Set the path to the cache.
force = false # Do not ignore the cache.
skip = ["src/snekmate/**/*[!c][!k].vy", "src/snekmate/**/*.vyi"] # Skip the compilation of non-mock and interface files.
solc_version = "0.8.27" # Set the Solidity compiler version.
solc_version = "0.8.28" # Set the Solidity compiler version.
evm_version = "cancun" # Set the EVM target version.
optimizer = true # Enable the Solidity compiler optimiser.
optimizer_runs = 200 # Configure the number of optimiser runs.
Expand Down
2 changes: 1 addition & 1 deletion lib/utils/VyperDeployer.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.27;
pragma solidity ^0.8.28;

import {Create} from "create-util/Create.sol";
import {console, StdStyle} from "forge-std/Test.sol";
Expand Down
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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@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.1
# pragma version ~=0.4.1b2
"""
@title `p256` Module Reference Implementation
@custom:contract-name p256_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/mocks/signature_checker_mock.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1
# pragma version ~=0.4.1b2
"""
@title `signature_checker` Module Reference Implementation
@custom:contract-name signature_checker_mock
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/multicall.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1
# pragma version ~=0.4.1b2
"""
@title Multicall Functions
@custom:contract-name multicall
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/p256.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1
# pragma version ~=0.4.1b2
"""
@title Elliptic Curve Digital Signature Algorithm (ECDSA) Secp256r1-Based Functions
@custom:contract-name p256
Expand Down
2 changes: 1 addition & 1 deletion src/snekmate/utils/signature_checker.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pragma version ~=0.4.1
# pragma version ~=0.4.1b2
"""
@title ECDSA and EIP-1271 Signature Verification Functions
@custom:contract-name signature_checker
Expand Down
2 changes: 1 addition & 1 deletion test/auth/AccessControl.t.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.27;
pragma solidity ^0.8.28;

import {Test} from "forge-std/Test.sol";
import {VyperDeployer} from "utils/VyperDeployer.sol";
Expand Down
2 changes: 1 addition & 1 deletion test/auth/Ownable.t.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.27;
pragma solidity ^0.8.28;

import {Test} from "forge-std/Test.sol";
import {VyperDeployer} from "utils/VyperDeployer.sol";
Expand Down
2 changes: 1 addition & 1 deletion test/auth/Ownable2Step.t.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.27;
pragma solidity ^0.8.28;

import {Test} from "forge-std/Test.sol";
import {VyperDeployer} from "utils/VyperDeployer.sol";
Expand Down
2 changes: 1 addition & 1 deletion test/auth/interfaces/IAccessControlExtended.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.27;
pragma solidity ^0.8.28;

import {IERC165} from "openzeppelin/utils/introspection/IERC165.sol";
import {IAccessControl} from "openzeppelin/access/IAccessControl.sol";
Expand Down
2 changes: 1 addition & 1 deletion test/auth/interfaces/IOwnable.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.27;
pragma solidity ^0.8.28;

interface IOwnable {
event OwnershipTransferred(
Expand Down
2 changes: 1 addition & 1 deletion test/auth/interfaces/IOwnable2Step.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.27;
pragma solidity ^0.8.28;

interface IOwnable2Step {
event OwnershipTransferStarted(
Expand Down
2 changes: 1 addition & 1 deletion test/extensions/ERC2981.t.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.27;
pragma solidity ^0.8.28;

import {Test} from "forge-std/Test.sol";
import {VyperDeployer} from "utils/VyperDeployer.sol";
Expand Down
Loading

0 comments on commit e222150

Please sign in to comment.