|
| 1 | +// SPDX-License-Identifier: MIT |
| 2 | +pragma solidity ^0.8.0; |
| 3 | + |
| 4 | +import {Script} from "forge-std/Script.sol"; |
| 5 | +import {console} from "forge-std/console.sol"; |
| 6 | +import {NoPlugNoInitCounter, NoPlugInitCounter, PlugNoInitCounter, PlugInitCounter, PlugInitInitCounter, PlugNoInitInitCounter} from "../../src/deploy-counter/Counters.sol"; |
| 7 | +import {CounterDeployer} from "../../src/deploy-counter/CounterDeployer.sol"; |
| 8 | + |
| 9 | +contract CheckCounters is Script { |
| 10 | + function run() external { |
| 11 | + NoPlugNoInitCounter noPlugNoInit = NoPlugNoInitCounter( |
| 12 | + 0x1C42CABB4c2FB13fd79905738B34CC1330c9E13e |
| 13 | + ); |
| 14 | + NoPlugInitCounter noPlugInit = NoPlugInitCounter( |
| 15 | + 0xD3B6b2Da89b3378707bE1b23401C83fB72786A71 |
| 16 | + ); |
| 17 | + PlugNoInitCounter plugNoInit = PlugNoInitCounter( |
| 18 | + 0x201aC62D12811f2C2A22DD78aEc77EA1403fAdfE |
| 19 | + ); |
| 20 | + PlugInitCounter plugInit = PlugInitCounter( |
| 21 | + 0x7ce0E3182Bbe47580278598E139251677Db8D14a |
| 22 | + ); |
| 23 | + PlugInitInitCounter plugInitInit = PlugInitInitCounter( |
| 24 | + 0xA66352F0eEA89Bb5686132A6477B85c53C542512 |
| 25 | + ); |
| 26 | + PlugNoInitInitCounter plugNoInitInit = PlugNoInitInitCounter( |
| 27 | + 0xF0c397CA708ae2D9d76305926BE564591a3D5C12 |
| 28 | + ); |
| 29 | + |
| 30 | + string memory rpc = vm.envString("ARBITRUM_SEPOLIA_RPC"); |
| 31 | + vm.createSelectFork(rpc); |
| 32 | + |
| 33 | + vm.startBroadcast(); |
| 34 | + |
| 35 | + // NoPlugNoInitCounter checks |
| 36 | + require(noPlugNoInit.counter() == 0, "Counter should be 0"); |
| 37 | + (bool success, ) = address(noPlugNoInit).call( |
| 38 | + abi.encodeWithSignature("socket__()") |
| 39 | + ); |
| 40 | + require(!success, "Should revert on socket__()"); |
| 41 | + console.log("NoPlugNoInitCounter checks passed"); |
| 42 | + |
| 43 | + // NoPlugInitCounter checks |
| 44 | + require(noPlugInit.counter() == 10, "Counter should be 10"); |
| 45 | + (success, ) = address(noPlugInit).call( |
| 46 | + abi.encodeWithSignature("socket__()") |
| 47 | + ); |
| 48 | + require(!success, "Should revert on socket__()"); |
| 49 | + console.log("NoPlugInitCounter checks passed"); |
| 50 | + |
| 51 | + // PlugNoInitCounter checks |
| 52 | + require(plugNoInit.counter() == 0, "Counter should be 0"); |
| 53 | + require( |
| 54 | + address(plugNoInit.socket__()) != address(0), |
| 55 | + "Should return socket address" |
| 56 | + ); |
| 57 | + console.log("PlugNoInitCounter checks passed"); |
| 58 | + |
| 59 | + // PlugInitCounter checks |
| 60 | + require(plugInit.counter() == 10, "Counter should be 10"); |
| 61 | + require( |
| 62 | + address(plugInit.socket__()) != address(0), |
| 63 | + "Should return socket address" |
| 64 | + ); |
| 65 | + console.log("PlugInitCounter checks passed"); |
| 66 | + |
| 67 | + // PlugNoInitInitCounter checks |
| 68 | + require(plugNoInitInit.counter() == 10, "Counter should be 10"); |
| 69 | + require( |
| 70 | + address(plugNoInitInit.socket__()) != address(0), |
| 71 | + "Should return socket address" |
| 72 | + ); |
| 73 | + console.log("PlugNoInitInitCounter checks passed"); |
| 74 | + |
| 75 | + // PlugInitInitCounter checks |
| 76 | + require( |
| 77 | + address(plugInitInit.socket__()) != address(0), |
| 78 | + "Should return socket address" |
| 79 | + ); |
| 80 | + require(plugInitInit.counter() == 20, "Counter should be 20"); |
| 81 | + console.log("PlugInitInitCounter checks passed"); |
| 82 | + } |
| 83 | +} |
0 commit comments