Skip to content

Commit adceab8

Browse files
committed
add forge selectors
1 parent 93f2445 commit adceab8

38 files changed

+62
-48
lines changed

.githooks/pre-commit

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ if npm run lint; then
4141
cp artifacts/contracts/v2/utils/ClaimCompressor.sol/ClaimCompressor.json compiled-contracts/
4242

4343
git add compiled-contracts
44+
45+
forge build
46+
47+
forge selectors ls > docs/foundry/selectors.txt
48+
4449
exit 0
4550
else
4651
exit 1

contracts/PolygonZkEVMBridge.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44

55
import "./lib/DepositContract.sol";
66
import "@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol";

contracts/PolygonZkEVMGlobalExitRoot.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44

55
import "./interfaces/IPolygonZkEVMGlobalExitRoot.sol";
66
import "./lib/GlobalExitRootLib.sol";

contracts/PolygonZkEVMGlobalExitRootL2.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44
import "./interfaces/IBasePolygonZkEVMGlobalExitRoot.sol";
55

66
/**

contracts/PolygonZkEVMTimelock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "@openzeppelin/contracts/governance/TimelockController.sol";
55
import "./PolygonZkEVM.sol";

contracts/deployment/PolygonZkEVMDeployer.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "@openzeppelin/contracts/access/Ownable.sol";
55
import "@openzeppelin/contracts/utils/Create2.sol";

contracts/lib/GlobalExitRootLib.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44

55
/**
66
* @dev A library that provides the necessary calculations to calculate the global exit root

contracts/lib/TokenWrapped.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: GPL-3.0
22
// Implementation of permit based on https://github.com/WETH10/WETH10/blob/main/contracts/WETH10.sol
3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44

55
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
66

contracts/mainnetUpgraded/PolygonZkEVMUpgraded.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "../PolygonZkEVM.sol";
55

contracts/mocks/DaiMock.sol

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*/
44

55
// hevm: flattened sources of /nix/store/8xb41r4qd0cjb63wcrxf1qmfg88p0961-dss-6fd7de0/src/dai.sol
6-
pragma solidity <=0.5.12;
6+
pragma solidity ^0.8.20;
77

88
// Copeid DAi for testing porpuses. The notes are removed from this contract as it does not work correctly woith the
99
// coverage solidity compiler
@@ -80,7 +80,7 @@ contract DaiMock {
8080
uint256 wad
8181
) public returns (bool) {
8282
require(balanceOf[src] >= wad, "Dai/insufficient-balance");
83-
if (src != msg.sender && allowance[src][msg.sender] != uint256(-1)) {
83+
if (src != msg.sender && allowance[src][msg.sender] != type(uint256).max) {
8484
require(
8585
allowance[src][msg.sender] >= wad,
8686
"Dai/insufficient-allowance"
@@ -101,7 +101,7 @@ contract DaiMock {
101101

102102
function burn(address usr, uint256 wad) external {
103103
require(balanceOf[usr] >= wad, "Dai/insufficient-balance");
104-
if (usr != msg.sender && allowance[usr][msg.sender] != uint256(-1)) {
104+
if (usr != msg.sender && allowance[usr][msg.sender] != type(uint256).max) {
105105
require(
106106
allowance[usr][msg.sender] >= wad,
107107
"Dai/insufficient-allowance"
@@ -162,9 +162,9 @@ contract DaiMock {
162162

163163
require(holder != address(0), "Dai/invalid-address-0");
164164
require(holder == ecrecover(digest, v, r, s), "Dai/invalid-permit");
165-
require(expiry == 0 || now <= expiry, "Dai/permit-expired");
165+
require(expiry == 0 || block.timestamp <= expiry, "Dai/permit-expired");
166166
require(nonce == nonces[holder]++, "Dai/invalid-nonce");
167-
uint256 wad = allowed ? uint256(-1) : 0;
167+
uint256 wad = allowed ? type(uint256).max : 0;
168168
allowance[holder][spender] = wad;
169169
emit Approval(holder, spender, wad);
170170
}

contracts/mocks/DepositContractMock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33
import "../lib/DepositContract.sol";
44
import "hardhat/console.sol";
55

contracts/mocks/ERC20PermitMock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44

55
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
66

contracts/mocks/PolygonZkEVMBridgeMock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33
import "../PolygonZkEVMBridge.sol";
44
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
55

contracts/mocks/PolygonZkEVMGlobalExitRootL2Mock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "../PolygonZkEVMGlobalExitRootL2.sol";
55

contracts/mocks/PolygonZkEVMGlobalExitRootMock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "../PolygonZkEVMGlobalExitRoot.sol";
55

contracts/mocks/PolygonZkEVMMock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "../PolygonZkEVM.sol";
55

contracts/mocks/SequenceBatchesMock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33
import "../lib/DepositContract.sol";
44
import "hardhat/console.sol";
55

contracts/mocks/Uni.sol

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*Submitted for verification at Etherscan.io on 2020-09-15
77
*/
88

9-
pragma solidity ^0.5.16;
9+
pragma solidity ^0.8.20;
1010
pragma experimental ABIEncoderV2;
1111

1212
// From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol
@@ -413,8 +413,8 @@ contract Uni {
413413
uint256 rawAmount
414414
) external returns (bool) {
415415
uint96 amount;
416-
if (rawAmount == uint256(-1)) {
417-
amount = uint96(-1);
416+
if (rawAmount == type(uint256).max) {
417+
amount = type(uint96).max;
418418
} else {
419419
amount = safe96(rawAmount, "Uni::approve: amount exceeds 96 bits");
420420
}
@@ -445,8 +445,8 @@ contract Uni {
445445
bytes32 s
446446
) external {
447447
uint96 amount;
448-
if (rawAmount == uint256(-1)) {
449-
amount = uint96(-1);
448+
if (rawAmount == type(uint256).max) {
449+
amount = type(uint96).max;
450450
} else {
451451
amount = safe96(rawAmount, "Uni::permit: amount exceeds 96 bits");
452452
}
@@ -475,7 +475,7 @@ contract Uni {
475475
address signatory = ecrecover(digest, v, r, s);
476476
require(signatory != address(0), "Uni::permit: invalid signature");
477477
require(signatory == owner, "Uni::permit: unauthorized");
478-
require(now <= deadline, "Uni::permit: signature expired");
478+
require(block.timestamp <= deadline, "Uni::permit: signature expired");
479479

480480
allowances[owner][spender] = amount;
481481

@@ -525,7 +525,7 @@ contract Uni {
525525
"Uni::approve: amount exceeds 96 bits"
526526
);
527527

528-
if (spender != src && spenderAllowance != uint96(-1)) {
528+
if (spender != src && spenderAllowance != type(uint96).max) {
529529
uint96 newAllowance = sub96(
530530
spenderAllowance,
531531
amount,
@@ -588,7 +588,7 @@ contract Uni {
588588
nonce == nonces[signatory]++,
589589
"Uni::delegateBySig: invalid nonce"
590590
);
591-
require(now <= expiry, "Uni::delegateBySig: signature expired");
591+
require(block.timestamp <= expiry, "Uni::delegateBySig: signature expired");
592592
return _delegate(signatory, delegatee);
593593
}
594594

@@ -781,7 +781,7 @@ contract Uni {
781781
return a - b;
782782
}
783783

784-
function getChainId() internal pure returns (uint256) {
784+
function getChainId() internal view returns (uint256) {
785785
uint256 chainId;
786786
assembly {
787787
chainId := chainid()

contracts/mocks/VerifierRollupHelperMock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44

55
import "../interfaces/IVerifierRollup.sol";
66

contracts/testnet/PolygonZkEVMTestnetClearStorage.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "../PolygonZkEVM.sol";
55

contracts/testnet/PolygonZkEVMTestnetV2.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "../PolygonZkEVM.sol";
55

contracts/v2/PolygonRollupManager.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44

55
import "./interfaces/IPolygonRollupManager.sol";
66
import "./interfaces/IPolygonZkEVMGlobalExitRootV2.sol";

contracts/v2/PolygonZkEVMBridgeV2.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44

55
import "./lib/DepositContractV2.sol";
66
import "@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol";

contracts/v2/PolygonZkEVMGlobalExitRootV2.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44

55
import "./interfaces/IPolygonZkEVMGlobalExitRootV2.sol";
66
import "./lib/PolygonZkEVMGlobalExitRootBaseStorage.sol";

contracts/v2/consensus/validium/PolygonDataCommittee.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "../../interfaces/IPolygonDataCommitteeErrors.sol";
55
import "../../interfaces/IDataAvailabilityProtocol.sol";

contracts/v2/consensus/validium/PolygonValidiumEtrog.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "../../lib/PolygonRollupBaseEtrog.sol";
55
import "../../interfaces/IDataAvailabilityProtocol.sol";

contracts/v2/consensus/zkEVM/PolygonZkEVMEtrog.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "../../lib/PolygonRollupBaseEtrog.sol";
55

contracts/v2/consensus/zkEVM/PolygonZkEVMExistentEtrog.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "../../lib/PolygonRollupBaseEtrog.sol";
55

contracts/v2/mocks/BridgeReceiverMock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

33
import "../PolygonZkEVMBridgeV2.sol";
4-
pragma solidity 0.8.20;
4+
pragma solidity ^0.8.20;
55

66
/**
77
* Contract for compressing and decompressing claim data

contracts/v2/mocks/PolygonRollupManagerEmptyMock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33
import "../PolygonRollupManager.sol";
44
import "../interfaces/IPolygonRollupBase.sol";
55
import "../../lib/EmergencyManager.sol";

contracts/v2/mocks/PolygonRollupManagerMock.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33
import "../PolygonRollupManager.sol";
44

55
/**

contracts/v2/mocks/PolygonRollupManagerMockInternalTest.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33
import "../PolygonRollupManager.sol";
44

55
/**

contracts/v2/newDeployments/PolygonRollupManagerNotUpgraded.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33
import "../PolygonRollupManager.sol";
44

55
/**

contracts/v2/previousVersions/PolygonRollupManagerPrevious.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: AGPL-3.0
22

3-
pragma solidity 0.8.20;
3+
pragma solidity ^0.8.20;
44

55
import "../interfaces/IPolygonRollupManager.sol";
66
import "../interfaces/IPolygonZkEVMGlobalExitRootV2.sol";

contracts/v2/previousVersions/PolygonValidiumEtrogPrevious.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "./PolygonRollupBaseEtrogPrevious.sol";
55
import "../interfaces/IDataAvailabilityProtocol.sol";

contracts/v2/previousVersions/PolygonZkEVMEtrogPrevious.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// SPDX-License-Identifier: AGPL-3.0
2-
pragma solidity 0.8.20;
2+
pragma solidity ^0.8.20;
33

44
import "./PolygonRollupBaseEtrogPrevious.sol";
55

contracts/v2/utils/ClaimCompressor.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import "../PolygonZkEVMBridgeV2.sol";
44
import "hardhat/console.sol";
55

6-
pragma solidity 0.8.20;
6+
pragma solidity ^0.8.20;
77

88
/**
99
* Contract for compressing and decompressing claim data

foundry.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[profile.default]
2+
src = 'contracts'
3+
out = 'ignore'
4+
libs = ['node_modules']
5+
solc_version = "0.8.22"
6+
optimizer = true
7+
optimizer_runs = 200
8+
9+
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options

0 commit comments

Comments
 (0)