From df19e3355d5e56391dc1beaf64dbb7d96ae0868c Mon Sep 17 00:00:00 2001 From: dristpunk <107591874+dristpunk@users.noreply.github.com> Date: Wed, 29 Nov 2023 18:01:13 +0300 Subject: [PATCH] chore: rm out dir (#37) --- .gitignore | 7 +- .husky/pre-commit | 2 +- out/Greeter.sol/Greeter.json | 1672 ---------------------------------- 3 files changed, 4 insertions(+), 1677 deletions(-) delete mode 100644 out/Greeter.sol/Greeter.json diff --git a/.gitignore b/.gitignore index f39f513f..9be8a612 100644 --- a/.gitignore +++ b/.gitignore @@ -13,9 +13,8 @@ out-via-ir # Avoid ignoring gitkeep !/**/.gitkeep -# Keep related abi -out/*/* -!out/Greeter.sol/* - # Keep the latest deployment only broadcast/*/*/* + +# Out dir +out diff --git a/.husky/pre-commit b/.husky/pre-commit index 481885da..509d461f 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -4,4 +4,4 @@ # 1. Build the contracts # 2. Stage build output # 2. Lint and stage style improvements -yarn build && git add out && npx lint-staged \ No newline at end of file +yarn build && npx lint-staged \ No newline at end of file diff --git a/out/Greeter.sol/Greeter.json b/out/Greeter.sol/Greeter.json deleted file mode 100644 index 21c1474c..00000000 --- a/out/Greeter.sol/Greeter.json +++ /dev/null @@ -1,1672 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_greeting", - "type": "string" - }, - { - "internalType": "contract IERC20", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "Greeter_InvalidGreeting", - "type": "error" - }, - { - "inputs": [], - "name": "Greeter_OnlyOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_greeting", - "type": "string" - } - ], - "name": "GreetingSet", - "type": "event" - }, - { - "inputs": [], - "name": "OWNER", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "greet", - "outputs": [ - { - "internalType": "string", - "name": "_greeting", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "greeting", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_greeting", - "type": "string" - } - ], - "name": "setGreeting", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b5060405162000b9c38038062000b9c833981016040819052620000349162000186565b33608052600180546001600160a01b0319166001600160a01b0383161790556200005e8262000066565b5050620003e3565b6080516001600160a01b0316336001600160a01b0316146200009b57604051630bec364760e31b815260040160405180910390fd5b805160208201207f3a2db9fe7908dcc36d81824d2338fc3f1aff49ac357dd8c4840527fba27a5b9001620000e2576040516342883a0560e11b815260040160405180910390fd5b6000620000f08282620002e2565b507fad181ee258ff92d26bf7ed2e6b571ef1cba3afc45f028b863b0f02adaffc2f0681604051620001229190620003ae565b60405180910390a150565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200016057818101518382015260200162000146565b50506000910152565b80516001600160a01b03811681146200018157600080fd5b919050565b600080604083850312156200019a57600080fd5b82516001600160401b0380821115620001b257600080fd5b818501915085601f830112620001c757600080fd5b815181811115620001dc57620001dc6200012d565b604051601f8201601f19908116603f011681019083821181831017156200020757620002076200012d565b816040528281528860208487010111156200022157600080fd5b6200023483602083016020880162000143565b80965050505050506200024a6020840162000169565b90509250929050565b600181811c908216806200026857607f821691505b6020821081036200028957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002dd57600081815260208120601f850160051c81016020861015620002b85750805b601f850160051c820191505b81811015620002d957828155600101620002c4565b5050505b505050565b81516001600160401b03811115620002fe57620002fe6200012d565b62000316816200030f845462000253565b846200028f565b602080601f8311600181146200034e5760008415620003355750858301515b600019600386901b1c1916600185901b178555620002d9565b600085815260208120601f198616915b828110156200037f578886015182559484019460019091019084016200035e565b50858210156200039e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620003cf81604085016020870162000143565b601f01601f19169190910160400192915050565b60805161079762000405600039600081816071015261013501526107976000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063cfae321711610050578063cfae3217146100d2578063ef690cc0146100e8578063fc0c546a146100fd57600080fd5b8063117803e31461006c578063a4136862146100bd575b600080fd5b6100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d06100cb36600461041d565b61011d565b005b6100da610232565b6040516100b4929190610550565b6100f0610360565b6040516100b49190610572565b6001546100939073ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461018c576040517f5f61b23800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160208201207f3a2db9fe7908dcc36d81824d2338fc3f1aff49ac357dd8c4840527fba27a5b90016101eb576040517f8510740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f7828261062e565b507fad181ee258ff92d26bf7ed2e6b571ef1cba3afc45f028b863b0f02adaffc2f06816040516102279190610572565b60405180910390a150565b606060008080546102429061058c565b80601f016020809104026020016040519081016040528092919081815260200182805461026e9061058c565b80156102bb5780601f10610290576101008083540402835291602001916102bb565b820191906000526020600020905b81548152906001019060200180831161029e57829003601f168201915b50506001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015294965073ffffffffffffffffffffffffffffffffffffffff16936370a08231935060240191506103199050565b602060405180830381865afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610748565b90509091565b6000805461036d9061058c565b80601f01602080910402602001604051908101604052809291908181526020018280546103999061058c565b80156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b505050505081565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561042f57600080fd5b813567ffffffffffffffff8082111561044757600080fd5b818401915084601f83011261045b57600080fd5b81358181111561046d5761046d6103ee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104b3576104b36103ee565b816040528281528760208487010111156104cc57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000815180845260005b81811015610512576020818501810151868301820152016104f6565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60408152600061056360408301856104ec565b90508260208301529392505050565b60208152600061058560208301846104ec565b9392505050565b600181811c908216806105a057607f821691505b6020821081036105d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561062957600081815260208120601f850160051c810160208610156106065750805b601f850160051c820191505b8181101561062557828155600101610612565b5050505b505050565b815167ffffffffffffffff811115610648576106486103ee565b61065c81610656845461058c565b846105df565b602080601f8311600181146106af57600084156106795750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610625565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156106fc578886015182559484019460019091019084016106dd565b508582101561073857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561075a57600080fd5b505191905056fea2646970667358221220caf884ac5c7857a49c6985ed3fb359b70c70131c8a5bd82d8545ee1d0576c11064736f6c63430008130033", - "sourceMap": "171:1366:16:-:0;;;750:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;816:10;808:18;;832:5;:14;;-1:-1:-1;;;;;;832:14:16;-1:-1:-1;;;;;832:14:16;;;;;852:22;864:9;852:11;:22::i;:::-;750:129;;171:1366;;910:230;1476:5;;-1:-1:-1;;;;;1462:19:16;:10;-1:-1:-1;;;;;1462:19:16;;1458:66;;1498:19;;-1:-1:-1;;;1498:19:16;;;;;;;;;;;1458:66;983:27;;::::1;::::0;::::1;::::0;:44;;979:97:::1;;1044:25;;-1:-1:-1::0;;;1044:25:16::1;;;;;;;;;;;979:97;1082:8;:20;1093:9:::0;1082:8;:20:::1;:::i;:::-;;1113:22;1125:9;1113:22;;;;;;:::i;:::-;;;;;;;;910:230:::0;:::o;14:127:23:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:250;231:1;241:113;255:6;252:1;249:13;241:113;;;331:11;;;325:18;312:11;;;305:39;277:2;270:10;241:113;;;-1:-1:-1;;388:1:23;370:16;;363:27;146:250::o;401:185::-;488:13;;-1:-1:-1;;;;;530:31:23;;520:42;;510:70;;576:1;573;566:12;510:70;401:185;;;:::o;591:1014::-;696:6;704;757:2;745:9;736:7;732:23;728:32;725:52;;;773:1;770;763:12;725:52;800:16;;-1:-1:-1;;;;;865:14:23;;;862:34;;;892:1;889;882:12;862:34;930:6;919:9;915:22;905:32;;975:7;968:4;964:2;960:13;956:27;946:55;;997:1;994;987:12;946:55;1026:2;1020:9;1048:2;1044;1041:10;1038:36;;;1054:18;;:::i;:::-;1129:2;1123:9;1097:2;1183:13;;-1:-1:-1;;1179:22:23;;;1203:2;1175:31;1171:40;1159:53;;;1227:18;;;1247:22;;;1224:46;1221:72;;;1273:18;;:::i;:::-;1313:10;1309:2;1302:22;1348:2;1340:6;1333:18;1390:7;1383:4;1378:2;1374;1370:11;1366:22;1363:35;1360:55;;;1411:1;1408;1401:12;1360:55;1424:72;1493:2;1486:4;1478:6;1474:17;1467:4;1463:2;1459:13;1424:72;:::i;:::-;1515:6;1505:16;;;;;;;1540:59;1593:4;1582:9;1578:20;1540:59;:::i;:::-;1530:69;;591:1014;;;;;:::o;1610:380::-;1689:1;1685:12;;;;1732;;;1753:61;;1807:4;1799:6;1795:17;1785:27;;1753:61;1860:2;1852:6;1849:14;1829:18;1826:38;1823:161;;1906:10;1901:3;1897:20;1894:1;1887:31;1941:4;1938:1;1931:15;1969:4;1966:1;1959:15;1823:161;;1610:380;;;:::o;2121:545::-;2223:2;2218:3;2215:11;2212:448;;;2259:1;2284:5;2280:2;2273:17;2329:4;2325:2;2315:19;2399:2;2387:10;2383:19;2380:1;2376:27;2370:4;2366:38;2435:4;2423:10;2420:20;2417:47;;;-1:-1:-1;2458:4:23;2417:47;2513:2;2508:3;2504:12;2501:1;2497:20;2491:4;2487:31;2477:41;;2568:82;2586:2;2579:5;2576:13;2568:82;;;2631:17;;;2612:1;2601:13;2568:82;;;2572:3;;;2212:448;2121:545;;;:::o;2842:1352::-;2962:10;;-1:-1:-1;;;;;2984:30:23;;2981:56;;;3017:18;;:::i;:::-;3046:97;3136:6;3096:38;3128:4;3122:11;3096:38;:::i;:::-;3090:4;3046:97;:::i;:::-;3198:4;;3262:2;3251:14;;3279:1;3274:663;;;;3981:1;3998:6;3995:89;;;-1:-1:-1;4050:19:23;;;4044:26;3995:89;-1:-1:-1;;2799:1:23;2795:11;;;2791:24;2787:29;2777:40;2823:1;2819:11;;;2774:57;4097:81;;3244:944;;3274:663;2068:1;2061:14;;;2105:4;2092:18;;-1:-1:-1;;3310:20:23;;;3428:236;3442:7;3439:1;3436:14;3428:236;;;3531:19;;;3525:26;3510:42;;3623:27;;;;3591:1;3579:14;;;;3458:19;;3428:236;;;3432:3;3692:6;3683:7;3680:19;3677:201;;;3753:19;;;3747:26;-1:-1:-1;;3836:1:23;3832:14;;;3848:3;3828:24;3824:37;3820:42;3805:58;3790:74;;3677:201;-1:-1:-1;;;;;3924:1:23;3908:14;;;3904:22;3891:36;;-1:-1:-1;2842:1352:23:o;4199:396::-;4348:2;4337:9;4330:21;4311:4;4380:6;4374:13;4423:6;4418:2;4407:9;4403:18;4396:34;4439:79;4511:6;4506:2;4495:9;4491:18;4486:2;4478:6;4474:15;4439:79;:::i;:::-;4579:2;4558:15;-1:-1:-1;;4554:29:23;4539:45;;;;4586:2;4535:54;;4199:396;-1:-1:-1;;4199:396:23:o;:::-;171:1366:16;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063cfae321711610050578063cfae3217146100d2578063ef690cc0146100e8578063fc0c546a146100fd57600080fd5b8063117803e31461006c578063a4136862146100bd575b600080fd5b6100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d06100cb36600461041d565b61011d565b005b6100da610232565b6040516100b4929190610550565b6100f0610360565b6040516100b49190610572565b6001546100939073ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461018c576040517f5f61b23800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160208201207f3a2db9fe7908dcc36d81824d2338fc3f1aff49ac357dd8c4840527fba27a5b90016101eb576040517f8510740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f7828261062e565b507fad181ee258ff92d26bf7ed2e6b571ef1cba3afc45f028b863b0f02adaffc2f06816040516102279190610572565b60405180910390a150565b606060008080546102429061058c565b80601f016020809104026020016040519081016040528092919081815260200182805461026e9061058c565b80156102bb5780601f10610290576101008083540402835291602001916102bb565b820191906000526020600020905b81548152906001019060200180831161029e57829003601f168201915b50506001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015294965073ffffffffffffffffffffffffffffffffffffffff16936370a08231935060240191506103199050565b602060405180830381865afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610748565b90509091565b6000805461036d9061058c565b80601f01602080910402602001604051908101604052809291908181526020018280546103999061058c565b80156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b505050505081565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561042f57600080fd5b813567ffffffffffffffff8082111561044757600080fd5b818401915084601f83011261045b57600080fd5b81358181111561046d5761046d6103ee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104b3576104b36103ee565b816040528281528760208487010111156104cc57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000815180845260005b81811015610512576020818501810151868301820152016104f6565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60408152600061056360408301856104ec565b90508260208301529392505050565b60208152600061058560208301846104ec565b9392505050565b600181811c908216806105a057607f821691505b6020821081036105d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561062957600081815260208120601f850160051c810160208610156106065750805b601f850160051c820191505b8181101561062557828155600101610612565b5050505b505050565b815167ffffffffffffffff811115610648576106486103ee565b61065c81610656845461058c565b846105df565b602080601f8311600181146106af57600084156106795750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610625565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156106fc578886015182559484019460019091019084016106dd565b508582101561073857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561075a57600080fd5b505191905056fea2646970667358221220caf884ac5c7857a49c6985ed3fb359b70c70131c8a5bd82d8545ee1d0576c11064736f6c63430008130033", - "sourceMap": "171:1366:16:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;447:30;;;;;;;;190:42:23;178:55;;;160:74;;148:2;133:18;447:30:16;;;;;;;;910:230;;;;;;:::i;:::-;;:::i;:::-;;1171:158;;;:::i;:::-;;;;;;;;:::i;509:22::-;;;:::i;:::-;;;;;;;:::i;563:19::-;;;;;;;;;910:230;1462:10;:19;1476:5;1462:19;;1458:66;;1498:19;;;;;;;;;;;;;;1458:66;983:27;;::::1;::::0;::::1;::::0;:44;;979:97:::1;;1044:25;;;;;;;;;;;;;;979:97;1082:8;:20;1093:9:::0;1082:8;:20:::1;:::i;:::-;;1113:22;1125:9;1113:22;;;;;;:::i;:::-;;;;;;;;910:230:::0;:::o;1171:158::-;1211:23;1236:16;1272:8;1260:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1297:5:16;;:27;;;;;1313:10;1297:27;;;160:74:23;1260:20:16;;-1:-1:-1;1297:5:16;;;:15;;-1:-1:-1;133:18:23;;;-1:-1:-1;1297:27:16;;-1:-1:-1;14:226:23;1297:27:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1286:38;;1171:158;;:::o;509:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;245:184:23:-;297:77;294:1;287:88;394:4;391:1;384:15;418:4;415:1;408:15;434:981;503:6;556:2;544:9;535:7;531:23;527:32;524:52;;;572:1;569;562:12;524:52;612:9;599:23;641:18;682:2;674:6;671:14;668:34;;;698:1;695;688:12;668:34;736:6;725:9;721:22;711:32;;781:7;774:4;770:2;766:13;762:27;752:55;;803:1;800;793:12;752:55;839:2;826:16;861:2;857;854:10;851:36;;;867:18;;:::i;:::-;1001:2;995:9;1063:4;1055:13;;906:66;1051:22;;;1075:2;1047:31;1043:40;1031:53;;;1099:18;;;1119:22;;;1096:46;1093:72;;;1145:18;;:::i;:::-;1185:10;1181:2;1174:22;1220:2;1212:6;1205:18;1260:7;1255:2;1250;1246;1242:11;1238:20;1235:33;1232:53;;;1281:1;1278;1271:12;1232:53;1337:2;1332;1328;1324:11;1319:2;1311:6;1307:15;1294:46;1382:1;1360:15;;;1377:2;1356:24;1349:35;;;;-1:-1:-1;1364:6:23;434:981;-1:-1:-1;;;;;434:981:23:o;1420:482::-;1462:3;1500:5;1494:12;1527:6;1522:3;1515:19;1552:1;1562:162;1576:6;1573:1;1570:13;1562:162;;;1638:4;1694:13;;;1690:22;;1684:29;1666:11;;;1662:20;;1655:59;1591:12;1562:162;;;1566:3;1769:1;1762:4;1753:6;1748:3;1744:16;1740:27;1733:38;1891:4;1821:66;1816:2;1808:6;1804:15;1800:88;1795:3;1791:98;1787:109;1780:116;;;1420:482;;;;:::o;1907:291::-;2084:2;2073:9;2066:21;2047:4;2104:45;2145:2;2134:9;2130:18;2122:6;2104:45;:::i;:::-;2096:53;;2185:6;2180:2;2169:9;2165:18;2158:34;1907:291;;;;;:::o;2203:220::-;2352:2;2341:9;2334:21;2315:4;2372:45;2413:2;2402:9;2398:18;2390:6;2372:45;:::i;:::-;2364:53;2203:220;-1:-1:-1;;;2203:220:23:o;2675:437::-;2754:1;2750:12;;;;2797;;;2818:61;;2872:4;2864:6;2860:17;2850:27;;2818:61;2925:2;2917:6;2914:14;2894:18;2891:38;2888:218;;2962:77;2959:1;2952:88;3063:4;3060:1;3053:15;3091:4;3088:1;3081:15;2888:218;;2675:437;;;:::o;3243:545::-;3345:2;3340:3;3337:11;3334:448;;;3381:1;3406:5;3402:2;3395:17;3451:4;3447:2;3437:19;3521:2;3509:10;3505:19;3502:1;3498:27;3492:4;3488:38;3557:4;3545:10;3542:20;3539:47;;;-1:-1:-1;3580:4:23;3539:47;3635:2;3630:3;3626:12;3623:1;3619:20;3613:4;3609:31;3599:41;;3690:82;3708:2;3701:5;3698:13;3690:82;;;3753:17;;;3734:1;3723:13;3690:82;;;3694:3;;;3334:448;3243:545;;;:::o;4024:1471::-;4150:3;4144:10;4177:18;4169:6;4166:30;4163:56;;;4199:18;;:::i;:::-;4228:97;4318:6;4278:38;4310:4;4304:11;4278:38;:::i;:::-;4272:4;4228:97;:::i;:::-;4380:4;;4444:2;4433:14;;4461:1;4456:782;;;;5282:1;5299:6;5296:89;;;-1:-1:-1;5351:19:23;;;5345:26;5296:89;3930:66;3921:1;3917:11;;;3913:84;3909:89;3899:100;4005:1;4001:11;;;3896:117;5398:81;;4426:1063;;4456:782;3190:1;3183:14;;;3227:4;3214:18;;4504:66;4492:79;;;4669:236;4683:7;4680:1;4677:14;4669:236;;;4772:19;;;4766:26;4751:42;;4864:27;;;;4832:1;4820:14;;;;4699:19;;4669:236;;;4673:3;4933:6;4924:7;4921:19;4918:261;;;4994:19;;;4988:26;5095:66;5077:1;5073:14;;;5089:3;5069:24;5065:97;5061:102;5046:118;5031:134;;4918:261;-1:-1:-1;;;;;5225:1:23;5209:14;;;5205:22;5192:36;;-1:-1:-1;4024:1471:23:o;5500:184::-;5570:6;5623:2;5611:9;5602:7;5598:23;5594:32;5591:52;;;5639:1;5636;5629:12;5591:52;-1:-1:-1;5662:16:23;;5500:184;-1:-1:-1;5500:184:23:o", - "linkReferences": {}, - "immutableReferences": { - "29706": [ - { - "start": 113, - "length": 32 - }, - { - "start": 309, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "OWNER()": "117803e3", - "greet()": "cfae3217", - "greeting()": "ef690cc0", - "setGreeting(string)": "a4136862", - "token()": "fc0c546a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_greeting\",\"type\":\"string\"},{\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Greeter_InvalidGreeting\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Greeter_OnlyOwner\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_greeting\",\"type\":\"string\"}],\"name\":\"GreetingSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"OWNER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"greet\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_greeting\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"greeting\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_greeting\",\"type\":\"string\"}],\"name\":\"setGreeting\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Greeter_InvalidGreeting()\":[{\"details\":\"Empty string is an invalid greeting\"}]},\"events\":{\"GreetingSet(string)\":{\"params\":{\"_greeting\":\"The new greeting\"}}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_greeting\":\"Initial greeting\",\"_token\":\"Initial token\"}},\"greet()\":{\"returns\":{\"_balance\":\" Current token balance of the caller\",\"_greeting\":\"The greeting\"}},\"setGreeting(string)\":{\"details\":\"Only callable by the owner\",\"params\":{\"_newGreeting\":\"The new greeting to be set\"}}},\"stateVariables\":{\"OWNER\":{\"details\":\"The owner will always be the deployer of the contract\",\"return\":\"The owner of the contract\",\"returns\":{\"_0\":\"The owner of the contract\"}},\"_EMPTY_STRING\":{\"details\":\"result of doing keccak256(bytes(''))\"},\"greeting\":{\"return\":\"The greeting\",\"returns\":{\"_0\":\"The greeting\"}},\"token\":{\"return\":\"The address of the token\",\"returns\":{\"_0\":\"The address of the token\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"Greeter_InvalidGreeting()\":[{\"notice\":\"Throws if the greeting set is invalid\"}],\"Greeter_OnlyOwner()\":[{\"notice\":\"Throws if the function was called by someone else than the owner\"}]},\"events\":{\"GreetingSet(string)\":{\"notice\":\"Greeting has changed\"}},\"kind\":\"user\",\"methods\":{\"OWNER()\":{\"notice\":\"Returns the owner of the contract\"},\"constructor\":{\"notice\":\"Defines the owner to the msg.sender and sets the initial greeting\"},\"greet()\":{\"notice\":\"Greets the caller\"},\"greeting()\":{\"notice\":\"Returns the previously set greeting\"},\"setGreeting(string)\":{\"notice\":\"Sets a new greeting\"},\"token()\":{\"notice\":\"Returns the token used to greet callers\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"solidity/contracts/Greeter.sol\":\"Greeter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":contracts/=solidity/contracts/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":interfaces/=solidity/interfaces/\",\":isolmate/=node_modules/isolmate/src/\",\":prb/test/=node_modules/prb/test/src/\",\":test/=solidity/test/\"]},\"sources\":{\"node_modules/isolmate/src/interfaces/tokens/IERC20.sol\":{\"keccak256\":\"0xea23a986a9efba47639b24eae7dbfd6936be01e5fc3530202fe1f4b8bb4131b8\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e08545e18de038023d32de846032533af9513c0b7b84a6c5c371941b6bd5f7\",\"dweb:/ipfs/QmRYNSXwiJ9wE36ogE5J77g6pbGK7T7qqqAF99DZq3eW5B\"]},\"solidity/contracts/Greeter.sol\":{\"keccak256\":\"0x31ad12d0631313be7c0d2afe935047173e2b5ad191d1e22405c0532e63ee8d9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef0aa8f2282ae495945ffa87d1bf8292d3fed9365b5b36207680851faae8d908\",\"dweb:/ipfs/QmdygeqQcHQrkV5enr6qj1q6a8fDf4H2P3guHz1LgaGzYs\"]},\"solidity/interfaces/IGreeter.sol\":{\"keccak256\":\"0x747827aecbe821fe3ed4b108eefa46393ee1277489d5273ef0496d51200af6c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8380c91f28de084d723f29f5e01bb0ccf835e536fc7dd9a84763fc6a4351cfa\",\"dweb:/ipfs/QmePrqnZzC6L8dYqGPgNwwdG4AnwgFGqWQU4aBmMRMv2ez\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_greeting", - "type": "string" - }, - { - "internalType": "contract IERC20", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "type": "error", - "name": "Greeter_InvalidGreeting" - }, - { - "inputs": [], - "type": "error", - "name": "Greeter_OnlyOwner" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_greeting", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "GreetingSet", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "OWNER", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "greet", - "outputs": [ - { - "internalType": "string", - "name": "_greeting", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_balance", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "greeting", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_greeting", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setGreeting" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "constructor": { - "params": { - "_greeting": "Initial greeting", - "_token": "Initial token" - } - }, - "greet()": { - "returns": { - "_balance": " Current token balance of the caller", - "_greeting": "The greeting" - } - }, - "setGreeting(string)": { - "details": "Only callable by the owner", - "params": { - "_newGreeting": "The new greeting to be set" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "OWNER()": { - "notice": "Returns the owner of the contract" - }, - "constructor": { - "notice": "Defines the owner to the msg.sender and sets the initial greeting" - }, - "greet()": { - "notice": "Greets the caller" - }, - "greeting()": { - "notice": "Returns the previously set greeting" - }, - "setGreeting(string)": { - "notice": "Sets a new greeting" - }, - "token()": { - "notice": "Returns the token used to greet callers" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "contracts/=solidity/contracts/", - "ds-test/=node_modules/ds-test/src/", - "forge-std/=node_modules/forge-std/src/", - "interfaces/=solidity/interfaces/", - "isolmate/=node_modules/isolmate/src/", - "prb/test/=node_modules/prb/test/src/", - "test/=solidity/test/" - ], - "optimizer": { - "enabled": true, - "runs": 10000 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "solidity/contracts/Greeter.sol": "Greeter" - }, - "libraries": {} - }, - "sources": { - "node_modules/isolmate/src/interfaces/tokens/IERC20.sol": { - "keccak256": "0xea23a986a9efba47639b24eae7dbfd6936be01e5fc3530202fe1f4b8bb4131b8", - "urls": [ - "bzz-raw://37e08545e18de038023d32de846032533af9513c0b7b84a6c5c371941b6bd5f7", - "dweb:/ipfs/QmRYNSXwiJ9wE36ogE5J77g6pbGK7T7qqqAF99DZq3eW5B" - ], - "license": "AGPL-3.0-only" - }, - "solidity/contracts/Greeter.sol": { - "keccak256": "0x31ad12d0631313be7c0d2afe935047173e2b5ad191d1e22405c0532e63ee8d9a", - "urls": [ - "bzz-raw://ef0aa8f2282ae495945ffa87d1bf8292d3fed9365b5b36207680851faae8d908", - "dweb:/ipfs/QmdygeqQcHQrkV5enr6qj1q6a8fDf4H2P3guHz1LgaGzYs" - ], - "license": "MIT" - }, - "solidity/interfaces/IGreeter.sol": { - "keccak256": "0x747827aecbe821fe3ed4b108eefa46393ee1277489d5273ef0496d51200af6c4", - "urls": [ - "bzz-raw://d8380c91f28de084d723f29f5e01bb0ccf835e536fc7dd9a84763fc6a4351cfa", - "dweb:/ipfs/QmePrqnZzC6L8dYqGPgNwwdG4AnwgFGqWQU4aBmMRMv2ez" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "solidity/contracts/Greeter.sol", - "id": 29803, - "exportedSymbols": { - "Greeter": [ - 29802 - ], - "IERC20": [ - 24219 - ], - "IGreeter": [ - 29852 - ] - }, - "nodeType": "SourceUnit", - "src": "32:1506:16", - "nodes": [ - { - "id": 29693, - "nodeType": "PragmaDirective", - "src": "32:24:16", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 29695, - "nodeType": "ImportDirective", - "src": "58:61:16", - "nodes": [], - "absolutePath": "node_modules/isolmate/src/interfaces/tokens/IERC20.sol", - "file": "isolmate/interfaces/tokens/IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 29803, - "sourceUnit": 24220, - "symbolAliases": [ - { - "foreign": { - "id": 29694, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 24219, - "src": "66:6:16", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 29697, - "nodeType": "ImportDirective", - "src": "120:49:16", - "nodes": [], - "absolutePath": "solidity/interfaces/IGreeter.sol", - "file": "interfaces/IGreeter.sol", - "nameLocation": "-1:-1:-1", - "scope": 29803, - "sourceUnit": 29853, - "symbolAliases": [ - { - "foreign": { - "id": 29696, - "name": "IGreeter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29852, - "src": "128:8:16", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 29802, - "nodeType": "ContractDefinition", - "src": "171:1366:16", - "nodes": [ - { - "id": 29703, - "nodeType": "VariableDeclaration", - "src": "307:108:16", - "nodes": [], - "constant": true, - "documentation": { - "id": 29700, - "nodeType": "StructuredDocumentation", - "src": "204:100:16", - "text": " @notice Empty string for revert checks\n @dev result of doing keccak256(bytes(''))" - }, - "mutability": "constant", - "name": "_EMPTY_STRING", - "nameLocation": "333:13:16", - "scope": 29802, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 29701, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "307:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 29702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "349:66:16", - "typeDescriptions": { - "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", - "typeString": "int_const 8947...(69 digits omitted)...1552" - }, - "value": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - "visibility": "internal" - }, - { - "id": 29706, - "nodeType": "VariableDeclaration", - "src": "447:30:16", - "nodes": [], - "baseFunctions": [ - 29824 - ], - "constant": false, - "documentation": { - "id": 29704, - "nodeType": "StructuredDocumentation", - "src": "420:24:16", - "text": "@inheritdoc IGreeter" - }, - "functionSelector": "117803e3", - "mutability": "immutable", - "name": "OWNER", - "nameLocation": "472:5:16", - "scope": 29802, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 29705, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "447:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 29709, - "nodeType": "VariableDeclaration", - "src": "509:22:16", - "nodes": [], - "baseFunctions": [ - 29830 - ], - "constant": false, - "documentation": { - "id": 29707, - "nodeType": "StructuredDocumentation", - "src": "482:24:16", - "text": "@inheritdoc IGreeter" - }, - "functionSelector": "ef690cc0", - "mutability": "mutable", - "name": "greeting", - "nameLocation": "523:8:16", - "scope": 29802, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 29708, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "509:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "id": 29713, - "nodeType": "VariableDeclaration", - "src": "563:19:16", - "nodes": [], - "baseFunctions": [ - 29837 - ], - "constant": false, - "documentation": { - "id": 29710, - "nodeType": "StructuredDocumentation", - "src": "536:24:16", - "text": "@inheritdoc IGreeter" - }, - "functionSelector": "fc0c546a", - "mutability": "mutable", - "name": "token", - "nameLocation": "577:5:16", - "scope": 29802, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", - "typeString": "contract IERC20" - }, - "typeName": { - "id": 29712, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29711, - "name": "IERC20", - "nameLocations": [ - "563:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24219, - "src": "563:6:16" - }, - "referencedDeclaration": 24219, - "src": "563:6:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", - "typeString": "contract IERC20" - } - }, - "visibility": "public" - }, - { - "id": 29736, - "nodeType": "FunctionDefinition", - "src": "750:129:16", - "nodes": [], - "body": { - "id": 29735, - "nodeType": "Block", - "src": "802:77:16", - "nodes": [], - "statements": [ - { - "expression": { - "id": 29725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29722, - "name": "OWNER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29706, - "src": "808:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 29723, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "816:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "820:6:16", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "816:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "808:18:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 29726, - "nodeType": "ExpressionStatement", - "src": "808:18:16" - }, - { - "expression": { - "id": 29729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29727, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29713, - "src": "832:5:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", - "typeString": "contract IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 29728, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29719, - "src": "840:6:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", - "typeString": "contract IERC20" - } - }, - "src": "832:14:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", - "typeString": "contract IERC20" - } - }, - "id": 29730, - "nodeType": "ExpressionStatement", - "src": "832:14:16" - }, - { - "expression": { - "arguments": [ - { - "id": 29732, - "name": "_greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29716, - "src": "864:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 29731, - "name": "setGreeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29766, - "src": "852:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 29733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "852:22:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29734, - "nodeType": "ExpressionStatement", - "src": "852:22:16" - } - ] - }, - "documentation": { - "id": 29714, - "nodeType": "StructuredDocumentation", - "src": "587:160:16", - "text": " @notice Defines the owner to the msg.sender and sets the initial greeting\n @param _greeting Initial greeting\n @param _token Initial token" - }, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 29720, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29716, - "mutability": "mutable", - "name": "_greeting", - "nameLocation": "776:9:16", - "nodeType": "VariableDeclaration", - "scope": 29736, - "src": "762:23:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29715, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "762:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29719, - "mutability": "mutable", - "name": "_token", - "nameLocation": "794:6:16", - "nodeType": "VariableDeclaration", - "scope": 29736, - "src": "787:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", - "typeString": "contract IERC20" - }, - "typeName": { - "id": 29718, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 29717, - "name": "IERC20", - "nameLocations": [ - "787:6:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 24219, - "src": "787:6:16" - }, - "referencedDeclaration": 24219, - "src": "787:6:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", - "typeString": "contract IERC20" - } - }, - "visibility": "internal" - } - ], - "src": "761:40:16" - }, - "returnParameters": { - "id": 29721, - "nodeType": "ParameterList", - "parameters": [], - "src": "802:0:16" - }, - "scope": 29802, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 29766, - "nodeType": "FunctionDefinition", - "src": "910:230:16", - "nodes": [], - "body": { - "id": 29765, - "nodeType": "Block", - "src": "973:167:16", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 29751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 29747, - "name": "_greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29739, - "src": "999:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 29746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "993:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 29745, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "993:5:16", - "typeDescriptions": {} - } - }, - "id": 29748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "993:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 29744, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "983:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 29749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "983:27:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 29750, - "name": "_EMPTY_STRING", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29703, - "src": "1014:13:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "983:44:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29756, - "nodeType": "IfStatement", - "src": "979:97:16", - "trueBody": { - "id": 29755, - "nodeType": "Block", - "src": "1029:47:16", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 29752, - "name": "Greeter_InvalidGreeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29818, - "src": "1044:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 29753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1044:25:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29754, - "nodeType": "RevertStatement", - "src": "1037:32:16" - } - ] - } - }, - { - "expression": { - "id": 29759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29757, - "name": "greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29709, - "src": "1082:8:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 29758, - "name": "_greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29739, - "src": "1093:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1082:20:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 29760, - "nodeType": "ExpressionStatement", - "src": "1082:20:16" - }, - { - "eventCall": { - "arguments": [ - { - "id": 29762, - "name": "_greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29739, - "src": "1125:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 29761, - "name": "GreetingSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29812, - "src": "1113:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 29763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1113:22:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29764, - "nodeType": "EmitStatement", - "src": "1108:27:16" - } - ] - }, - "baseFunctions": [ - 29851 - ], - "documentation": { - "id": 29737, - "nodeType": "StructuredDocumentation", - "src": "883:24:16", - "text": "@inheritdoc IGreeter" - }, - "functionSelector": "a4136862", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 29742, - "kind": "modifierInvocation", - "modifierName": { - "id": 29741, - "name": "onlyOwner", - "nameLocations": [ - "963:9:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 29801, - "src": "963:9:16" - }, - "nodeType": "ModifierInvocation", - "src": "963:9:16" - } - ], - "name": "setGreeting", - "nameLocation": "919:11:16", - "parameters": { - "id": 29740, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29739, - "mutability": "mutable", - "name": "_greeting", - "nameLocation": "945:9:16", - "nodeType": "VariableDeclaration", - "scope": 29766, - "src": "931:23:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29738, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "931:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "930:25:16" - }, - "returnParameters": { - "id": 29743, - "nodeType": "ParameterList", - "parameters": [], - "src": "973:0:16" - }, - "scope": 29802, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 29787, - "nodeType": "FunctionDefinition", - "src": "1171:158:16", - "nodes": [], - "body": { - "id": 29786, - "nodeType": "Block", - "src": "1254:75:16", - "nodes": [], - "statements": [ - { - "expression": { - "id": 29776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29774, - "name": "_greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29770, - "src": "1260:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 29775, - "name": "greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29709, - "src": "1272:8:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "src": "1260:20:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 29777, - "nodeType": "ExpressionStatement", - "src": "1260:20:16" - }, - { - "expression": { - "id": 29784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 29778, - "name": "_balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29772, - "src": "1286:8:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 29781, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1313:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1317:6:16", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1313:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 29779, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29713, - "src": "1297:5:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", - "typeString": "contract IERC20" - } - }, - "id": 29780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1303:9:16", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 24151, - "src": "1297:15:16", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 29783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1297:27:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1286:38:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 29785, - "nodeType": "ExpressionStatement", - "src": "1286:38:16" - } - ] - }, - "baseFunctions": [ - 29845 - ], - "documentation": { - "id": 29767, - "nodeType": "StructuredDocumentation", - "src": "1144:24:16", - "text": "@inheritdoc IGreeter" - }, - "functionSelector": "cfae3217", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "greet", - "nameLocation": "1180:5:16", - "parameters": { - "id": 29768, - "nodeType": "ParameterList", - "parameters": [], - "src": "1185:2:16" - }, - "returnParameters": { - "id": 29773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 29770, - "mutability": "mutable", - "name": "_greeting", - "nameLocation": "1225:9:16", - "nodeType": "VariableDeclaration", - "scope": 29787, - "src": "1211:23:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 29769, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1211:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 29772, - "mutability": "mutable", - "name": "_balance", - "nameLocation": "1244:8:16", - "nodeType": "VariableDeclaration", - "scope": 29787, - "src": "1236:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 29771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1236:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1210:43:16" - }, - "scope": 29802, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 29801, - "nodeType": "ModifierDefinition", - "src": "1431:104:16", - "nodes": [], - "body": { - "id": 29800, - "nodeType": "Block", - "src": "1452:83:16", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 29793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 29790, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1462:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 29791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1466:6:16", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1462:10:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 29792, - "name": "OWNER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29706, - "src": "1476:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1462:19:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 29798, - "nodeType": "IfStatement", - "src": "1458:66:16", - "trueBody": { - "id": 29797, - "nodeType": "Block", - "src": "1483:41:16", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 29794, - "name": "Greeter_OnlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29815, - "src": "1498:17:16", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 29795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1498:19:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 29796, - "nodeType": "RevertStatement", - "src": "1491:26:16" - } - ] - } - }, - { - "id": 29799, - "nodeType": "PlaceholderStatement", - "src": "1529:1:16" - } - ] - }, - "documentation": { - "id": 29788, - "nodeType": "StructuredDocumentation", - "src": "1333:95:16", - "text": " @notice Reverts in case the function was not called by the owner of the contract" - }, - "name": "onlyOwner", - "nameLocation": "1440:9:16", - "parameters": { - "id": 29789, - "nodeType": "ParameterList", - "parameters": [], - "src": "1449:2:16" - }, - "virtual": false, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 29698, - "name": "IGreeter", - "nameLocations": [ - "191:8:16" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 29852, - "src": "191:8:16" - }, - "id": 29699, - "nodeType": "InheritanceSpecifier", - "src": "191:8:16" - } - ], - "canonicalName": "Greeter", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 29802, - 29852 - ], - "name": "Greeter", - "nameLocation": "180:7:16", - "scope": 29803, - "usedErrors": [ - 29815, - 29818 - ] - } - ], - "license": "MIT" - }, - "id": 16 -} \ No newline at end of file