-
Notifications
You must be signed in to change notification settings - Fork 4
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
fix: linea custom patch #52
Draft
sakulstra
wants to merge
1
commit into
main
Choose a base branch
from
fix/linea-custom-patch
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
🌈 Test ResultsNo files changed, compilation skipped
Ran 1 test for test/ChainHelperTest.t.sol:TestChainHelpers
[PASS] test_selectChain_shouldRevert() (gas: 3305)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 394.81µs (117.09µs CPU time)
Ran 6 tests for test/PermissionlessRescuable.t.sol:PermissionlessRescuableTest
[PASS] test_emergencyEtherTransfer() (gas: 59275)
[PASS] test_emergencyEtherTransferInsufficientBalance_shouldRevert() (gas: 45474)
[PASS] test_emergencyTokenTransfer() (gas: 81066)
[PASS] test_emergencyTokenTransferInsufficientBalance_shouldRevert() (gas: 21467)
[PASS] test_emergencyTokenTransfer_withTransferRestriction() (gas: 115843)
[PASS] test_whoShouldReceiveFunds() (gas: 12739)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 883.60µs (488.57µs CPU time)
Ran 5 tests for test/Rescuable.t.sol:RescueTest
[PASS] testEmergencyEtherTransfer() (gas: 57806)
[PASS] testEmergencyEtherTransferWhenNotOwner() (gas: 17702)
[PASS] testEmergencyTokenTransfer() (gas: 238746)
[PASS] testEmergencyTokenTransferWhenNotOwner() (gas: 210996)
[PASS] testToken() (gas: 2393)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 2.38ms (2.01ms CPU time)
Ran 6 tests for test/UpgradeableOwnableWithGuardian.t.sol:TestOfUpgradableOwnableWithGuardian
[PASS] test_initializer() (gas: 18313)
[PASS] test_onlyGuardian() (gas: 11077)
[PASS] test_onlyOwnerOrGuardian() (gas: 13274)
[PASS] test_updateGuardian_eoa(address,address) (runs: 256, μ: 18721, ~: 18721)
[PASS] test_updateGuardian_guardian(address) (runs: 256, μ: 19695, ~: 19695)
[PASS] test_updateGuardian_owner(address) (runs: 256, μ: 19410, ~: 19410)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 30.16ms (29.93ms CPU time)
Ran 3 tests for test/Rescuable721.t.sol:Rescue721Test
[PASS] testFuzzEmergencyTokenTransfer(address) (runs: 256, μ: 79128, ~: 79128)
[PASS] testFuzzEmergencyTokenTransferWhenNotOwner(address,address) (runs: 256, μ: 71895, ~: 71895)
[PASS] testToken() (gas: 2459)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 54.88ms (54.45ms CPU time)
Ran 5 tests for test/RescuableACL.t.sol:RescueACLTest
[PASS] testEmergencyEtherTransfer() (gas: 57808)
[PASS] testEmergencyEtherTransferWhenNotOwner() (gas: 17695)
[PASS] testEmergencyTokenTransfer() (gas: 238765)
[PASS] testEmergencyTokenTransferWhenNotOwner() (gas: 211008)
[PASS] testToken() (gas: 2393)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 2.53ms (2.15ms CPU time)
Ran 4 tests for test/TransparentProxyFactory.t.sol:TestTransparentProxyFactory
[PASS] testCreateDeterministic(address,bytes32) (runs: 256, μ: 381162, ~: 381162)
[PASS] testCreateDeterministicProxyAdmin(address,bytes32) (runs: 256, μ: 278926, ~: 278926)
[PASS] testCreateDeterministicWithDeterministicProxy(bytes32,bytes32) (runs: 256, μ: 387741, ~: 387741)
[PASS] testCreateProxyAdmin(address,bytes32) (runs: 256, μ: 272971, ~: 272971)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 120.65ms (224.29ms CPU time)
Ran 2 tests for test/create3Test.t.sol:Create3FactoryTest
[PASS] testCreate3WithValue(address,address,address) (runs: 256, μ: 275048, ~: 275048)
[PASS] testCreate3WithoutValue(address,address,bytes32) (runs: 256, μ: 278020, ~: 278020)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 87.34ms (110.02ms CPU time)
Ran 6 tests for test/OwnableWithGuardian.t.sol:TestOfOwnableWithGuardian
[PASS] testConstructorLogic() (gas: 18210)
[PASS] testGuardianUpdateNoAccess() (gas: 14910)
[PASS] testGuardianUpdateViaGuardian(address) (runs: 256, μ: 19428, ~: 19428)
[PASS] testGuardianUpdateViaOwner(address) (runs: 256, μ: 19245, ~: 19245)
[PASS] test_onlyGuardianGuard() (gas: 12583)
[PASS] test_onlyGuardianGuard_shouldRevert() (gas: 10572)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 141.43ms (41.72ms CPU time)
Ran 9 test suites in 143.59ms (440.66ms CPU time): 38 tests passed, 0 failed, 0 skipped (38 total tests) 🌈 Test Results zksyncCompiling 44 files with Solc 0.8.24
Solc 0.8.24 finished in 1.50s
Compiler run successful with warnings:
Warning (2519): This declaration shadows an existing declaration.
--> zksync/test/TransparentProxyFactoryZkSync.t.sol:88:5:
|
88 | address proxyAdmin = factory.createDeterministicProxyAdmin(proxyAdminOwner, proxyAdminSalt);
| ^^^^^^^^^^^^^^^^^^
Note: The shadowed declaration is here:
--> zksync/test/TransparentProxyFactoryZkSync.t.sol:14:3:
|
14 | ProxyAdmin internal proxyAdmin;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (2519): This declaration shadows an existing declaration.
--> zksync/test/TransparentProxyFactoryZkSync.t.sol:106:5:
|
106 | address proxyAdmin = factory.createDeterministicProxyAdmin(proxyAdminOwner, proxyAdminSalt);
| ^^^^^^^^^^^^^^^^^^
Note: The shadowed declaration is here:
--> zksync/test/TransparentProxyFactoryZkSync.t.sol:14:3:
|
14 | ProxyAdmin internal proxyAdmin;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
No files changed, compilation skipped
Ran 5 tests for zksync/test/TransparentProxyFactoryZkSync.t.sol:TestTransparentProxyFactoryZkSync
[PASS] testCreate() (gas: 2776054)
[PASS] testCreateDeterministic(bytes32) (runs: 256, μ: 3201204, ~: 3201204)
[PASS] testCreateDeterministicProxyAdmin(address,bytes32) (runs: 256, μ: 2013126, ~: 2103572)
[PASS] testCreateDeterministicWithDeterministicProxy(bytes32,bytes32) (runs: 256, μ: 3408076, ~: 3408342)
[PASS] testCreateProxyAdmin(address,bytes32) (runs: 256, μ: 1809130, ~: 1895923)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 9.26s (29.38s CPU time)
Ran 1 test suite in 9.26s (9.26s CPU time): 5 tests passed, 0 failed, 0 skipped (5 total tests) |
⛽ Gas reportCreate3Factory
ProxyAdmin
TransparentProxyFactory
TransparentUpgradeableProxy
ERC20
MockERC721
MockImpl
ImplOwnableWithGuardian
PermissionlessRescuable
Rescuable
Rescuable721
RescuableACL
ImplOwnableWithGuardian
MockContract
|
🔮 Coverage report
|
🔧 Build logsCompiling 87 files with Solc 0.8.20
Solc 0.8.20 finished in 4.52s
Compiler run successful with warnings:
Warning (5667): Unused function parameter. Remove or comment out the variable name to silence this warning.
--> src/mocks/ERC721.sol:933:23:
|
933 | function tokenURI(uint256 id) public view override returns (string memory) {
| ^^^^^^^^^^
Warning (2018): Function state mutability can be restricted to pure
--> src/mocks/ERC721.sol:923:5:
|
923 | function name() public view override returns (string memory) {
| ^ (Relevant source part starts here and spans across multiple lines).
Warning (2018): Function state mutability can be restricted to pure
--> src/mocks/ERC721.sol:928:5:
|
928 | function symbol() public view override returns (string memory) {
| ^ (Relevant source part starts here and spans across multiple lines).
Warning (2018): Function state mutability can be restricted to pure
--> src/mocks/ERC721.sol:933:5:
|
933 | function tokenURI(uint256 id) public view override returns (string memory) {
| ^ (Relevant source part starts here and spans across multiple lines).
Warning (2018): Function state mutability can be restricted to view
--> test/PermissionlessRescuable.t.sol:63:3:
|
63 | function test_whoShouldReceiveFunds() public {
| ^ (Relevant source part starts here and spans across multiple lines).
Warning (2018): Function state mutability can be restricted to view
--> test/UpgradeableOwnableWithGuardian.t.sol:29:3:
|
29 | function test_initializer() external {
| ^ (Relevant source part starts here and spans across multiple lines).
| Contract | Runtime Size (B) | Initcode Size (B) | Runtime Margin (B) | Initcode Margin (B) |
|-----------------------------|------------------|-------------------|--------------------|---------------------|
| Address | 45 | 100 | 24,531 | 49,052 |
| ChainHelpers | 45 | 100 | 24,531 | 49,052 |
| ChainIds | 45 | 100 | 24,531 | 49,052 |
| Create2Utils | 123 | 179 | 24,453 | 48,973 |
| Create3 | 45 | 100 | 24,531 | 49,052 |
| Create3Factory | 1,071 | 1,103 | 23,505 | 48,049 |
| ERC1967Proxy | 129 | 993 | 24,447 | 48,159 |
| ERC1967Utils | 45 | 100 | 24,531 | 49,052 |
| ERC20 | 2,326 | 3,082 | 22,250 | 46,070 |
| EnumerableSet | 45 | 100 | 24,531 | 49,052 |
| ImplOwnableWithGuardian | 1,440 | 1,472 | 23,136 | 47,680 |
| MockContract | 730 | 1,000 | 23,846 | 48,152 |
| MockERC721 | 2,459 | 2,491 | 22,117 | 46,661 |
| MockImpl | 435 | 672 | 24,141 | 48,480 |
| PermissionlessRescuable | 1,917 | 2,107 | 22,659 | 47,045 |
| ProxyAdmin | 1,022 | 1,275 | 23,554 | 47,877 |
| Rescuable | 1,802 | 1,960 | 22,774 | 47,192 |
| Rescuable721 | 2,038 | 2,203 | 22,538 | 46,949 |
| RescuableACL | 1,689 | 1,834 | 22,887 | 47,318 |
| SafeCast | 45 | 100 | 24,531 | 49,052 |
| SafeERC20 | 45 | 100 | 24,531 | 49,052 |
| StorageSlot | 45 | 100 | 24,531 | 49,052 |
| TestNetChainIds | 45 | 100 | 24,531 | 49,052 |
| TransparentProxyFactory | 5,483 | 5,515 | 19,093 | 43,637 |
| TransparentUpgradeableProxy | 1,118 | 2,328 | 23,458 | 46,824 | 🔧 Build logs zksyncCompiling 46 files with zksolc and ZKsync solc 0.8.24
zksolc and ZKsync solc 0.8.24 finished in 11.36s
Compiler run successful with warnings:
Warning (2519)
Warning: This declaration shadows an existing declaration.
--> zksync/test/TransparentProxyFactoryZkSync.t.sol:88:5:
|
88 | address proxyAdmin = factory.createDeterministicProxyAdmin(proxyAdminOwner, proxyAdminSalt);
| ^^^^^^^^^^^^^^^^^^
Note: The shadowed declaration is here:
--> zksync/test/TransparentProxyFactoryZkSync.t.sol:14:3:
|
14 | ProxyAdmin internal proxyAdmin;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (2519)
Warning: This declaration shadows an existing declaration.
--> zksync/test/TransparentProxyFactoryZkSync.t.sol:106:5:
|
106 | address proxyAdmin = factory.createDeterministicProxyAdmin(proxyAdminOwner, proxyAdminSalt);
| ^^^^^^^^^^^^^^^^^^
Note: The shadowed declaration is here:
--> zksync/test/TransparentProxyFactoryZkSync.t.sol:14:3:
|
14 | ProxyAdmin internal proxyAdmin;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning
┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Warning: Your code or one of its dependencies uses the 'extcodesize' instruction, which is │
│ usually needed in the following cases: │
│ 1. To detect whether an address belongs to a smart contract. │
│ 2. To detect whether the deploy code execution has finished. │
│ zkSync Era comes with native account abstraction support (so accounts are smart contracts, │
│ including private-key controlled EOAs), and you should avoid differentiating between contracts │
│ and non-contract addresses. │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
--> lib/forge-std/src/StdCheats.sol
Warning
┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Warning: Your code or one of its dependencies uses the 'extcodesize' instruction, which is │
│ usually needed in the following cases: │
│ 1. To detect whether an address belongs to a smart contract. │
│ 2. To detect whether the deploy code execution has finished. │
│ zkSync Era comes with native account abstraction support (so accounts are smart contracts, │
│ including private-key controlled EOAs), and you should avoid differentiating between contracts │
│ and non-contract addresses. │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
--> lib/forge-std/src/StdUtils.sol
Warning
┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Warning: It looks like you are using 'ecrecover' to validate a signature of a user account. │
│ zkSync Era comes with native account abstraction support, therefore it is highly recommended NOT │
│ to rely on the fact that the account has an ECDSA private key attached to it since accounts might│
│ implement other signature schemes. │
│ Read more about Account Abstraction at https://v2-docs.zksync.io/dev/developer-guides/aa.html │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
--> lib/forge-std/src/mocks/MockERC20.sol
Warning
┌──────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Warning: Your code or one of its dependencies uses the 'extcodesize' instruction, which is │
│ usually needed in the following cases: │
│ 1. To detect whether an address belongs to a smart contract. │
│ 2. To detect whether the deploy code execution has finished. │
│ zkSync Era comes with native account abstraction support (so accounts are smart contracts, │
│ including private-key controlled EOAs), and you should avoid differentiating between contracts │
│ and non-contract addresses. │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
--> lib/forge-std/src/mocks/MockERC721.sol
| Contract | Runtime Size (B) | Initcode Size (B) | Runtime Margin (B) | Initcode Margin (B) |
|-------------------------------|------------------|-------------------|--------------------|---------------------|
| Address | 224 | 224 | 450,775 | 450,775 |
| Create2UtilsZkSync | 480 | 480 | 450,519 | 450,519 |
| ERC1967Proxy | 4,192 | 4,192 | 446,807 | 446,807 |
| ERC1967Utils | 224 | 224 | 450,775 | 450,775 |
| MockImpl | 2,272 | 2,272 | 448,727 | 448,727 |
| ProxyAdmin | 4,512 | 4,512 | 446,487 | 446,487 |
| StorageSlot | 224 | 224 | 450,775 | 450,775 |
| TransparentProxyFactoryZkSync | 8,032 | 8,032 | 442,967 | 442,967 |
| TransparentUpgradeableProxy | 7,136 | 7,136 | 443,863 | 443,863 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
npx catapulta-verify@1.2.2-8d32ccd9a1da7eff0fe5678627996d3572d3e517.0 -b verify.json
put
ETHERSCAN_API_KEY
in your global env (not sure if must be a mainnet etherscan key or not, i'm using one at least)