{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "", "type": "string" } ], "name": "log", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "", "type": "address" } ], "name": "log_address", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256[]", "name": "val", "type": "uint256[]" } ], "name": "log_array", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "int256[]", "name": "val", "type": "int256[]" } ], "name": "log_array", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address[]", "name": "val", "type": "address[]" } ], "name": "log_array", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "log_bytes", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "log_bytes32", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "int256", "name": "", "type": "int256" } ], "name": "log_int", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "address", "name": "val", "type": "address" } ], "name": "log_named_address", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "uint256[]", "name": "val", "type": "uint256[]" } ], "name": "log_named_array", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "int256[]", "name": "val", "type": "int256[]" } ], "name": "log_named_array", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "address[]", "name": "val", "type": "address[]" } ], "name": "log_named_array", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "val", "type": "bytes" } ], "name": "log_named_bytes", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "bytes32", "name": "val", "type": "bytes32" } ], "name": "log_named_bytes32", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "int256", "name": "val", "type": "int256" }, { "indexed": false, "internalType": "uint256", "name": "decimals", "type": "uint256" } ], "name": "log_named_decimal_int", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "uint256", "name": "val", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "decimals", "type": "uint256" } ], "name": "log_named_decimal_uint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "int256", "name": "val", "type": "int256" } ], "name": "log_named_int", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "string", "name": "val", "type": "string" } ], "name": "log_named_string", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "uint256", "name": "val", "type": "uint256" } ], "name": "log_named_uint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "", "type": "string" } ], "name": "log_string", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "log_uint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "logs", "type": "event" }, { "inputs": [], "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "counter", "outputs": [ { "internalType": "contract Counter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setUp", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "testIncrement", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" } ], "name": "testSetNumber", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "bytecode": { "object": "0x60806040526000805462ff00ff19166201000117905534801561002157600080fd5b5061093f806100316000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b913a5ca1161005b578063b913a5ca146100f5578063ba414fa6146100fd578063f8ccbf4714610115578063fa7626d41461012857600080fd5b80630a9254e41461008d5780633a7684631461009757806361bc221a146100cf57806370f985be146100e2575b600080fd5b610095610135565b005b6100b2737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6040516001600160a01b0390911681526020015b60405180910390f35b6008546100b2906001600160a01b031681565b6100956100f0366004610709565b6101ce565b6100956102af565b61010561039a565b60405190151581526020016100c6565b6000546101059062010000900460ff1681565b6000546101059060ff1681565b604051610141906106fc565b604051809103906000f08015801561015d573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b1580156101b457600080fd5b505af11580156101c8573d6000803e3d6000fd5b50505050565b600854604051633fb5c1cb60e01b8152600481018390526001600160a01b0390911690633fb5c1cb90602401600060405180830381600087803b15801561021457600080fd5b505af1158015610228573d6000803e3d6000fd5b505050506102ac600860009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a69190610722565b826104c5565b50565b600860009054906101000a90046001600160a01b03166001600160a01b031663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156102ff57600080fd5b505af1158015610313573d6000803e3d6000fd5b50505050610398600860009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561036d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103919190610722565b60016104c5565b565b60008054610100900460ff16156103ba5750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156104c05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610448917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800161076b565b60408051601f19818403018152908290526104629161078f565b6000604051808303816000865af19150503d806000811461049f576040519150601f19603f3d011682016040523d82523d6000602084013e6104a4565b606091505b50915050808060200190518101906104bc91906107a2565b9150505b919050565b8082146105ec577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516105369060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808115e1c1958dd195960b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a8183015269080808081058dd1d585b60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16105ec6105f0565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156106eb5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905261068a929160200161076b565b60408051601f19818403018152908290526106a49161078f565b6000604051808303816000865af19150503d80600081146106e1576040519150601f19603f3d011682016040523d82523d6000602084013e6106e6565b606091505b505050505b6000805461ff001916610100179055565b610145806107c583390190565b60006020828403121561071b57600080fd5b5035919050565b60006020828403121561073457600080fd5b5051919050565b6000815160005b8181101561075c5760208185018101518683015201610742565b50600093019283525090919050565b6001600160e01b0319831681526000610787600483018461073b565b949350505050565b600061079b828461073b565b9392505050565b6000602082840312156107b457600080fd5b8151801515811461079b57600080fdfe608060405234801561001057600080fd5b50610125806100206000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146052578063d09de08a14606c575b600080fd5b6050604c3660046095565b6072565b005b605a60005481565b60405190815260200160405180910390f35b60506081565b607b81607b60c3565b60005550565b600080549080608e8360d9565b9190505550565b60006020828403121560a657600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111560d35760d360ad565b92915050565b60006001820160e85760e860ad565b506001019056fea2646970667358221220981d705d73c405a1cadf6bcd0ff9f1d0fcbbc1599040e504e71517ff0d8aa53264736f6c63430008100033a2646970667358221220147263a13974ad68f85faa7b08304fe21926e7249b84a12780530843cbef02ca64736f6c63430008100033", "sourceMap": "124:393:8:-:0;;;1572:26:0;;;-1:-1:-1;;165:28:1;;;;;124:393:8;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063b913a5ca1161005b578063b913a5ca146100f5578063ba414fa6146100fd578063f8ccbf4714610115578063fa7626d41461012857600080fd5b80630a9254e41461008d5780633a7684631461009757806361bc221a146100cf57806370f985be146100e2575b600080fd5b610095610135565b005b6100b2737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6040516001600160a01b0390911681526020015b60405180910390f35b6008546100b2906001600160a01b031681565b6100956100f0366004610709565b6101ce565b6100956102af565b61010561039a565b60405190151581526020016100c6565b6000546101059062010000900460ff1681565b6000546101059060ff1681565b604051610141906106fc565b604051809103906000f08015801561015d573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b1580156101b457600080fd5b505af11580156101c8573d6000803e3d6000fd5b50505050565b600854604051633fb5c1cb60e01b8152600481018390526001600160a01b0390911690633fb5c1cb90602401600060405180830381600087803b15801561021457600080fd5b505af1158015610228573d6000803e3d6000fd5b505050506102ac600860009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a69190610722565b826104c5565b50565b600860009054906101000a90046001600160a01b03166001600160a01b031663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156102ff57600080fd5b505af1158015610313573d6000803e3d6000fd5b50505050610398600860009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561036d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103919190610722565b60016104c5565b565b60008054610100900460ff16156103ba5750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156104c05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610448917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800161076b565b60408051601f19818403018152908290526104629161078f565b6000604051808303816000865af19150503d806000811461049f576040519150601f19603f3d011682016040523d82523d6000602084013e6104a4565b606091505b50915050808060200190518101906104bc91906107a2565b9150505b919050565b8082146105ec577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516105369060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808115e1c1958dd195960b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a8183015269080808081058dd1d585b60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16105ec6105f0565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156106eb5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905261068a929160200161076b565b60408051601f19818403018152908290526106a49161078f565b6000604051808303816000865af19150503d80600081146106e1576040519150601f19603f3d011682016040523d82523d6000602084013e6106e6565b606091505b505050505b6000805461ff001916610100179055565b610145806107c583390190565b60006020828403121561071b57600080fd5b5035919050565b60006020828403121561073457600080fd5b5051919050565b6000815160005b8181101561075c5760208185018101518683015201610742565b50600093019283525090919050565b6001600160e01b0319831681526000610787600483018461073b565b949350505050565b600061079b828461073b565b9392505050565b6000602082840312156107b457600080fd5b8151801515811461079b57600080fdfe608060405234801561001057600080fd5b50610125806100206000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146052578063d09de08a14606c575b600080fd5b6050604c3660046095565b6072565b005b605a60005481565b60405190815260200160405180910390f35b60506081565b607b81607b60c3565b60005550565b600080549080608e8360d9565b9190505550565b60006020828403121560a657600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111560d35760d360ad565b92915050565b60006001820160e85760e860ad565b506001019056fea2646970667358221220981d705d73c405a1cadf6bcd0ff9f1d0fcbbc1599040e504e71517ff0d8aa53264736f6c63430008100033a2646970667358221220147263a13974ad68f85faa7b08304fe21926e7249b84a12780530843cbef02ca64736f6c63430008100033", "sourceMap": "124:393:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;187:92;;;:::i;:::-;;316:38:1;;245:64;316:38;;;;;-1:-1:-1;;;;;189:32:9;;;171:51;;159:2;144:18;316:38:1;;;;;;;;159:22:8;;;;;-1:-1:-1;;;;;159:22:8;;;398:117;;;;;;:::i;:::-;;:::i;285:107::-;;;:::i;1819:584:0:-;;;:::i;:::-;;;808:14:9;;801:22;783:41;;771:2;756:18;1819:584:0;643:187:9;165:28:1;;;;;;;;;;;;1572:26:0;;;;;;;;;187:92:8;230:13;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;220:7:8;:23;;-1:-1:-1;;;;;;220:23:8;-1:-1:-1;;;;;220:23:8;;;;;;;;;252:20;;-1:-1:-1;;;252:20:8;;-1:-1:-1;252:20:8;;;989:25:9;252:17:8;;962:18:9;;252:20:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;187:92::o;398:117::-;449:7;;:20;;-1:-1:-1;;;449:20:8;;;;;989:25:9;;;-1:-1:-1;;;;;449:7:8;;;;:17;;962:18:9;;449:20:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;479:29;488:7;;;;;;;;;-1:-1:-1;;;;;488:7:8;-1:-1:-1;;;;;488:14:8;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;506:1;479:8;:29::i;:::-;398:117;:::o;285:107::-;327:7;;;;;;;;;-1:-1:-1;;;;;327:7:8;-1:-1:-1;;;;;327:17:8;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;356:29;365:7;;;;;;;;;-1:-1:-1;;;;;365:7:8;-1:-1:-1;;;;;365:14:8;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;383:1;356:8;:29::i;:::-;285:107::o;1819:584:0:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2990:42;2978:55;3059:16;1980:374;;2196:43;;;1671:64;2196:43;;;1570:51:9;;;-1:-1:-1;;;1637:18:9;;;1630:34;2196:43:0;;;;;;;;;1543:18:9;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:0;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;5202:262::-;5264:1;5259;:6;5255:203;;5286:41;;;;;2963:2:9;2945:21;;;3002:2;2982:18;;;2975:30;3041:34;3036:2;3021:18;;3014:62;-1:-1:-1;;;3107:2:9;3092:18;;3085:32;3149:3;3134:19;;2761:398;5286:41:0;;;;;;;;5346:31;;;3376:21:9;;;3433:2;3413:18;;;3406:30;-1:-1:-1;;;3467:2:9;3452:18;;3445:40;3552:4;3537:20;;3530:36;;;5346:31:0;;;;;;;3517:3:9;5346:31:0;;;5396;;;3789:21:9;;;3846:2;3826:18;;;3819:30;-1:-1:-1;;;3880:2:9;3865:18;;3858:40;3965:4;3950:20;;3943:36;;;5396:31:0;;;;;;;3930:3:9;5396:31:0;;;5441:6;:4;:6::i;:::-;5202:262;;:::o;2410:424::-;2990:42;2978:55;3059:16;2445:359;;2645:67;;;1671:64;2645:67;;;4192:51:9;;;-1:-1:-1;;;4259:18:9;;;4252:34;;;;2705:4:0;4302:18:9;;;4295:34;2482:11:0;;1671:64;2579:43;;4165:18:9;;2645:67:0;;;-1:-1:-1;;2645:67:0;;;;;;;;;;2534:196;;;2645:67;2534:196;;:::i;:::-;;;;-1:-1:-1;;2534:196:0;;;;;;;;;;2499:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:0;2813:7;:14;;-1:-1:-1;;2813:14:0;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o;458:180:9:-;517:6;570:2;558:9;549:7;545:23;541:32;538:52;;;586:1;583;576:12;538:52;-1:-1:-1;609:23:9;;458:180;-1:-1:-1;458:180:9:o;1207:184::-;1277:6;1330:2;1318:9;1309:7;1305:23;1301:32;1298:52;;;1346:1;1343;1336:12;1298:52;-1:-1:-1;1369:16:9;;1207:184;-1:-1:-1;1207:184:9:o;1675:322::-;1716:3;1754:5;1748:12;1778:1;1788:128;1802:6;1799:1;1796:13;1788:128;;;1899:4;1884:13;;;1880:24;;1874:31;1861:11;;;1854:52;1817:12;1788:128;;;-1:-1:-1;1971:1:9;1935:16;;1960:13;;;-1:-1:-1;1935:16:9;;1675:322;-1:-1:-1;1675:322:9:o;2002:278::-;-1:-1:-1;;;;;;2187:33:9;;2175:46;;2157:3;2237:37;2271:1;2262:11;;2254:6;2237:37;:::i;:::-;2230:44;2002:278;-1:-1:-1;;;;2002:278:9:o;2285:189::-;2414:3;2439:29;2464:3;2456:6;2439:29;:::i;:::-;2432:36;2285:189;-1:-1:-1;;;2285:189:9:o;2479:277::-;2546:6;2599:2;2587:9;2578:7;2574:23;2570:32;2567:52;;;2615:1;2612;2605:12;2567:52;2647:9;2641:16;2700:5;2693:13;2686:21;2679:5;2676:32;2666:60;;2722:1;2719;2712:12", "linkReferences": {} }, "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47", "IS_TEST()": "fa7626d4", "counter()": "61bc221a", "failed()": "ba414fa6", "setUp()": "0a9254e4", "testIncrement()": "b913a5ca", "testSetNumber(uint256)": "70f985be", "vm()": "3a768463" }, "ast": { "absolutePath": "test/Counter.t.sol", "id": 21690, "exportedSymbols": { "Counter": [ 21605 ], "CounterTest": [ 21689 ], "CounterYann": [ 21627 ], "DSTest": [ 1786 ], "Script": [ 2022 ], "StdStorage": [ 3554 ], "Test": [ 3456 ], "Vm": [ 5434 ], "console": [ 13498 ], "console2": [ 21562 ], "stdError": [ 3526 ], "stdMath": [ 4795 ], "stdStorage": [ 4656 ] }, "nodeType": "SourceUnit", "src": "39:479:8", "nodes": [ { "id": 21629, "nodeType": "PragmaDirective", "src": "39:24:8", "literals": [ "solidity", "^", "0.8", ".13" ] }, { "id": 21630, "nodeType": "ImportDirective", "src": "65:28:8", "absolutePath": "lib/forge-std/src/Test.sol", "file": "forge-std/Test.sol", "nameLocation": "-1:-1:-1", "scope": 21690, "sourceUnit": 4796, "symbolAliases": [], "unitAlias": "" }, { "id": 21631, "nodeType": "ImportDirective", "src": "94:28:8", "absolutePath": "src/Counter.sol", "file": "../src/Counter.sol", "nameLocation": "-1:-1:-1", "scope": 21690, "sourceUnit": 21628, "symbolAliases": [], "unitAlias": "" }, { "id": 21689, "nodeType": "ContractDefinition", "src": "124:393:8", "nodes": [ { "id": 21636, "nodeType": "VariableDeclaration", "src": "159:22:8", "constant": false, "functionSelector": "61bc221a", "mutability": "mutable", "name": "counter", "nameLocation": "174:7:8", "scope": 21689, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" }, "typeName": { "id": 21635, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 21634, "name": "Counter", "nameLocations": [ "159:7:8" ], "nodeType": "IdentifierPath", "referencedDeclaration": 21605, "src": "159:7:8" }, "referencedDeclaration": 21605, "src": "159:7:8", "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" } }, "visibility": "public" }, { "id": 21653, "nodeType": "FunctionDefinition", "src": "187:92:8", "body": { "id": 21652, "nodeType": "Block", "src": "211:68:8", "statements": [ { "expression": { "id": 21644, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 21639, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21636, "src": "220:7:8", "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [], "expression": { "argumentTypes": [], "id": 21642, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "NewExpression", "src": "230:11:8", "typeDescriptions": { "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_Counter_$21605_$", "typeString": "function () returns (contract Counter)" }, "typeName": { "id": 21641, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 21640, "name": "Counter", "nameLocations": [ "234:7:8" ], "nodeType": "IdentifierPath", "referencedDeclaration": 21605, "src": "234:7:8" }, "referencedDeclaration": 21605, "src": "234:7:8", "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" } } }, "id": 21643, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "230:13:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" } }, "src": "220:23:8", "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" } }, "id": 21645, "nodeType": "ExpressionStatement", "src": "220:23:8" }, { "expression": { "arguments": [ { "hexValue": "30", "id": 21649, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "270:1:8", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "expression": { "id": 21646, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21636, "src": "252:7:8", "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" } }, "id": 21648, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "260:9:8", "memberName": "setNumber", "nodeType": "MemberAccess", "referencedDeclaration": 21597, "src": "252:17:8", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, "id": 21650, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "252:20:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 21651, "nodeType": "ExpressionStatement", "src": "252:20:8" } ] }, "functionSelector": "0a9254e4", "implemented": true, "kind": "function", "modifiers": [], "name": "setUp", "nameLocation": "196:5:8", "parameters": { "id": 21637, "nodeType": "ParameterList", "parameters": [], "src": "201:2:8" }, "returnParameters": { "id": 21638, "nodeType": "ParameterList", "parameters": [], "src": "211:0:8" }, "scope": 21689, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "id": 21669, "nodeType": "FunctionDefinition", "src": "285:107:8", "body": { "id": 21668, "nodeType": "Block", "src": "317:75:8", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], "expression": { "id": 21656, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21636, "src": "327:7:8", "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" } }, "id": 21658, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "335:9:8", "memberName": "increment", "nodeType": "MemberAccess", "referencedDeclaration": 21604, "src": "327:17:8", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", "typeString": "function () external" } }, "id": 21659, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "327:19:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 21660, "nodeType": "ExpressionStatement", "src": "327:19:8" }, { "expression": { "arguments": [ { "arguments": [], "expression": { "argumentTypes": [], "expression": { "id": 21662, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21636, "src": "365:7:8", "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" } }, "id": 21663, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "373:6:8", "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": 21585, "src": "365:14:8", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 21664, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "365:16:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "hexValue": "31", "id": 21665, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "383:1:8", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" } ], "id": 21661, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ 2779, 2804, 2817, 2833, 2875, 2917, 2959, 2996, 3033, 3070, 320, 345, 375, 400, 459, 484, 514, 539, 1639, 1674 ], "referencedDeclaration": 514, "src": "356:8:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, "id": 21666, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "356:29:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 21667, "nodeType": "ExpressionStatement", "src": "356:29:8" } ] }, "functionSelector": "b913a5ca", "implemented": true, "kind": "function", "modifiers": [], "name": "testIncrement", "nameLocation": "294:13:8", "parameters": { "id": 21654, "nodeType": "ParameterList", "parameters": [], "src": "307:2:8" }, "returnParameters": { "id": 21655, "nodeType": "ParameterList", "parameters": [], "src": "317:0:8" }, "scope": 21689, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "id": 21688, "nodeType": "FunctionDefinition", "src": "398:117:8", "body": { "id": 21687, "nodeType": "Block", "src": "439:76:8", "statements": [ { "expression": { "arguments": [ { "id": 21677, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21671, "src": "467:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "id": 21674, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21636, "src": "449:7:8", "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" } }, "id": 21676, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "457:9:8", "memberName": "setNumber", "nodeType": "MemberAccess", "referencedDeclaration": 21597, "src": "449:17:8", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, "id": 21678, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "449:20:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 21679, "nodeType": "ExpressionStatement", "src": "449:20:8" }, { "expression": { "arguments": [ { "arguments": [], "expression": { "argumentTypes": [], "expression": { "id": 21681, "name": "counter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21636, "src": "488:7:8", "typeDescriptions": { "typeIdentifier": "t_contract$_Counter_$21605", "typeString": "contract Counter" } }, "id": 21682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "496:6:8", "memberName": "number", "nodeType": "MemberAccess", "referencedDeclaration": 21585, "src": "488:14:8", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 21683, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "488:16:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 21684, "name": "x", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21671, "src": "506:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 21680, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ 2779, 2804, 2817, 2833, 2875, 2917, 2959, 2996, 3033, 3070, 320, 345, 375, 400, 459, 484, 514, 539, 1639, 1674 ], "referencedDeclaration": 514, "src": "479:8:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, "id": 21685, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "479:29:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 21686, "nodeType": "ExpressionStatement", "src": "479:29:8" } ] }, "functionSelector": "70f985be", "implemented": true, "kind": "function", "modifiers": [], "name": "testSetNumber", "nameLocation": "407:13:8", "parameters": { "id": 21672, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21671, "mutability": "mutable", "name": "x", "nameLocation": "429:1:8", "nodeType": "VariableDeclaration", "scope": 21688, "src": "421:9:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21670, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "421:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "420:11:8" }, "returnParameters": { "id": 21673, "nodeType": "ParameterList", "parameters": [], "src": "439:0:8" }, "scope": 21689, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "abstract": false, "baseContracts": [ { "baseName": { "id": 21632, "name": "Test", "nameLocations": [ "148:4:8" ], "nodeType": "IdentifierPath", "referencedDeclaration": 3456, "src": "148:4:8" }, "id": 21633, "nodeType": "InheritanceSpecifier", "src": "148:4:8" } ], "canonicalName": "CounterTest", "contractDependencies": [ 21605 ], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ 21689, 3456, 2022, 1786 ], "name": "CounterTest", "nameLocation": "133:11:8", "scope": 21690, "usedErrors": [] } ], "license": "UNLICENSED" }, "id": 8 }