From 629eebbdd31765cdd3c628bdff7e14428274d38e Mon Sep 17 00:00:00 2001 From: Dristpunk Date: Tue, 28 Nov 2023 17:45:06 +0300 Subject: [PATCH 1/5] test: replace DSTestFull with Test --- out/Greeter.sol/Greeter.json | 622 +++++++++--------- package.json | 5 +- remappings.txt | 1 - solidity/test/integration/IntegrationBase.sol | 8 +- solidity/test/unit/Greeter.t.sol | 10 +- solidity/test/utils/DSTestFull.sol | 67 -- yarn.lock | 10 +- 7 files changed, 325 insertions(+), 398 deletions(-) delete mode 100644 solidity/test/utils/DSTestFull.sol diff --git a/out/Greeter.sol/Greeter.json b/out/Greeter.sol/Greeter.json index 21c1474c..96117757 100644 --- a/out/Greeter.sol/Greeter.json +++ b/out/Greeter.sol/Greeter.json @@ -112,15 +112,15 @@ ], "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;;;;;;;;;;;;;;;;;", + "sourceMap": "171:1366:20:-:0;;;750:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;816:10;808:18;;832:5;:14;;-1:-1:-1;;;;;;832:14:20;-1:-1:-1;;;;;832:14:20;;;;;852:22;864:9;852:11;:22::i;:::-;750:129;;171:1366;;910:230;1476:5;;-1:-1:-1;;;;;1462:19:20;:10;-1:-1:-1;;;;;1462:19:20;;1458:66;;1498:19;;-1:-1:-1;;;1498:19:20;;;;;;;;;;;1458:66;983:27;;::::1;::::0;::::1;::::0;:44;;979:97:::1;;1044:25;;-1:-1:-1::0;;;1044:25:20::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:27:-;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:27;370:16;;363:27;146:250::o;401:185::-;488:13;;-1:-1:-1;;;;;530:31:27;;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:27;;;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:27;;;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:27;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:27;;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:27;;;4044:26;3995:89;-1:-1:-1;;2799:1:27;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:27;;;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:27;3832:14;;;3848:3;3828:24;3824:37;3820:42;3805:58;3790:74;;3677:201;-1:-1:-1;;;;;3924:1:27;3908:14;;;3904:22;3891:36;;-1:-1:-1;2842:1352:27: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:27;4539:45;;;;4586:2;4535:54;;4199:396;-1:-1:-1;;4199:396:27:o;:::-;171:1366:20;;;;;;;;;;;;;;;;;", "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", + "sourceMap": "171:1366:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;447:30;;;;;;;;190:42:27;178:55;;;160:74;;148:2;133:18;447:30:20;;;;;;;;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:20;;:27;;;;;1313:10;1297:27;;;160:74:27;1260:20:20;;-1:-1:-1;1297:5:20;;;:15;;-1:-1:-1;133:18:27;;;-1:-1:-1;1297:27:20;;-1:-1:-1;14:226:27;1297:27:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1286:38;;1171:158;;:::o;509:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;245:184:27:-;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:27;434:981;-1:-1:-1;;;;;434:981:27: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:27: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:27;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:27;;;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:27;5209:14;;;5205:22;5192:36;;-1:-1:-1;4024:1471:27: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:27;;5500:184;-1:-1:-1;5500:184:27:o", "linkReferences": {}, "immutableReferences": { - "29706": [ + "46329": [ { "start": 113, "length": 32 @@ -357,25 +357,25 @@ }, "ast": { "absolutePath": "solidity/contracts/Greeter.sol", - "id": 29803, + "id": 46426, "exportedSymbols": { "Greeter": [ - 29802 + 46425 ], "IERC20": [ - 24219 + 40625 ], "IGreeter": [ - 29852 + 46475 ] }, "nodeType": "SourceUnit", - "src": "32:1506:16", + "src": "32:1506:20", "nodes": [ { - "id": 29693, + "id": 46316, "nodeType": "PragmaDirective", - "src": "32:24:16", + "src": "32:24:20", "nodes": [], "literals": [ "solidity", @@ -385,24 +385,24 @@ ] }, { - "id": 29695, + "id": 46318, "nodeType": "ImportDirective", - "src": "58:61:16", + "src": "58:61:20", "nodes": [], "absolutePath": "node_modules/isolmate/src/interfaces/tokens/IERC20.sol", "file": "isolmate/interfaces/tokens/IERC20.sol", "nameLocation": "-1:-1:-1", - "scope": 29803, - "sourceUnit": 24220, + "scope": 46426, + "sourceUnit": 40626, "symbolAliases": [ { "foreign": { - "id": 29694, + "id": 46317, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 24219, - "src": "66:6:16", + "referencedDeclaration": 40625, + "src": "66:6:20", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -411,24 +411,24 @@ "unitAlias": "" }, { - "id": 29697, + "id": 46320, "nodeType": "ImportDirective", - "src": "120:49:16", + "src": "120:49:20", "nodes": [], "absolutePath": "solidity/interfaces/IGreeter.sol", "file": "interfaces/IGreeter.sol", "nameLocation": "-1:-1:-1", - "scope": 29803, - "sourceUnit": 29853, + "scope": 46426, + "sourceUnit": 46476, "symbolAliases": [ { "foreign": { - "id": 29696, + "id": 46319, "name": "IGreeter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29852, - "src": "128:8:16", + "referencedDeclaration": 46475, + "src": "128:8:20", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -437,26 +437,26 @@ "unitAlias": "" }, { - "id": 29802, + "id": 46425, "nodeType": "ContractDefinition", - "src": "171:1366:16", + "src": "171:1366:20", "nodes": [ { - "id": 29703, + "id": 46326, "nodeType": "VariableDeclaration", - "src": "307:108:16", + "src": "307:108:20", "nodes": [], "constant": true, "documentation": { - "id": 29700, + "id": 46323, "nodeType": "StructuredDocumentation", - "src": "204:100:16", + "src": "204:100:20", "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, + "nameLocation": "333:13:20", + "scope": 46425, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -464,10 +464,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 29701, + "id": 46324, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "307:7:16", + "src": "307:7:20", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -475,14 +475,14 @@ }, "value": { "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 29702, + "id": 46325, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "349:66:16", + "src": "349:66:20", "typeDescriptions": { "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", "typeString": "int_const 8947...(69 digits omitted)...1552" @@ -492,25 +492,25 @@ "visibility": "internal" }, { - "id": 29706, + "id": 46329, "nodeType": "VariableDeclaration", - "src": "447:30:16", + "src": "447:30:20", "nodes": [], "baseFunctions": [ - 29824 + 46447 ], "constant": false, "documentation": { - "id": 29704, + "id": 46327, "nodeType": "StructuredDocumentation", - "src": "420:24:16", + "src": "420:24:20", "text": "@inheritdoc IGreeter" }, "functionSelector": "117803e3", "mutability": "immutable", "name": "OWNER", - "nameLocation": "472:5:16", - "scope": 29802, + "nameLocation": "472:5:20", + "scope": 46425, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -518,10 +518,10 @@ "typeString": "address" }, "typeName": { - "id": 29705, + "id": 46328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "447:7:16", + "src": "447:7:20", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -531,25 +531,25 @@ "visibility": "public" }, { - "id": 29709, + "id": 46332, "nodeType": "VariableDeclaration", - "src": "509:22:16", + "src": "509:22:20", "nodes": [], "baseFunctions": [ - 29830 + 46453 ], "constant": false, "documentation": { - "id": 29707, + "id": 46330, "nodeType": "StructuredDocumentation", - "src": "482:24:16", + "src": "482:24:20", "text": "@inheritdoc IGreeter" }, "functionSelector": "ef690cc0", "mutability": "mutable", "name": "greeting", - "nameLocation": "523:8:16", - "scope": 29802, + "nameLocation": "523:8:20", + "scope": 46425, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -557,10 +557,10 @@ "typeString": "string" }, "typeName": { - "id": 29708, + "id": 46331, "name": "string", "nodeType": "ElementaryTypeName", - "src": "509:6:16", + "src": "509:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -569,78 +569,78 @@ "visibility": "public" }, { - "id": 29713, + "id": 46336, "nodeType": "VariableDeclaration", - "src": "563:19:16", + "src": "563:19:20", "nodes": [], "baseFunctions": [ - 29837 + 46460 ], "constant": false, "documentation": { - "id": 29710, + "id": 46333, "nodeType": "StructuredDocumentation", - "src": "536:24:16", + "src": "536:24:20", "text": "@inheritdoc IGreeter" }, "functionSelector": "fc0c546a", "mutability": "mutable", "name": "token", - "nameLocation": "577:5:16", - "scope": 29802, + "nameLocation": "577:5:20", + "scope": 46425, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", + "typeIdentifier": "t_contract$_IERC20_$40625", "typeString": "contract IERC20" }, "typeName": { - "id": 29712, + "id": 46335, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 29711, + "id": 46334, "name": "IERC20", "nameLocations": [ - "563:6:16" + "563:6:20" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 24219, - "src": "563:6:16" + "referencedDeclaration": 40625, + "src": "563:6:20" }, - "referencedDeclaration": 24219, - "src": "563:6:16", + "referencedDeclaration": 40625, + "src": "563:6:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", + "typeIdentifier": "t_contract$_IERC20_$40625", "typeString": "contract IERC20" } }, "visibility": "public" }, { - "id": 29736, + "id": 46359, "nodeType": "FunctionDefinition", - "src": "750:129:16", + "src": "750:129:20", "nodes": [], "body": { - "id": 29735, + "id": 46358, "nodeType": "Block", - "src": "802:77:16", + "src": "802:77:20", "nodes": [], "statements": [ { "expression": { - "id": 29725, + "id": 46348, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 29722, + "id": 46345, "name": "OWNER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29706, - "src": "808:5:16", + "referencedDeclaration": 46329, + "src": "808:5:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -650,94 +650,94 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 29723, + "id": 46346, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "816:3:16", + "src": "816:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 29724, + "id": 46347, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "820:6:16", + "memberLocation": "820:6:20", "memberName": "sender", "nodeType": "MemberAccess", - "src": "816:10:16", + "src": "816:10:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "808:18:16", + "src": "808:18:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 29726, + "id": 46349, "nodeType": "ExpressionStatement", - "src": "808:18:16" + "src": "808:18:20" }, { "expression": { - "id": 29729, + "id": 46352, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 29727, + "id": 46350, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29713, - "src": "832:5:16", + "referencedDeclaration": 46336, + "src": "832:5:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", + "typeIdentifier": "t_contract$_IERC20_$40625", "typeString": "contract IERC20" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 29728, + "id": 46351, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29719, - "src": "840:6:16", + "referencedDeclaration": 46342, + "src": "840:6:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", + "typeIdentifier": "t_contract$_IERC20_$40625", "typeString": "contract IERC20" } }, - "src": "832:14:16", + "src": "832:14:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", + "typeIdentifier": "t_contract$_IERC20_$40625", "typeString": "contract IERC20" } }, - "id": 29730, + "id": 46353, "nodeType": "ExpressionStatement", - "src": "832:14:16" + "src": "832:14:20" }, { "expression": { "arguments": [ { - "id": 29732, + "id": 46355, "name": "_greeting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29716, - "src": "864:9:16", + "referencedDeclaration": 46339, + "src": "864:9:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -751,18 +751,18 @@ "typeString": "string memory" } ], - "id": 29731, + "id": 46354, "name": "setGreeting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29766, - "src": "852:11:16", + "referencedDeclaration": 46389, + "src": "852:11:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, - "id": 29733, + "id": 46356, "isConstant": false, "isLValue": false, "isPure": false, @@ -771,23 +771,23 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "852:22:16", + "src": "852:22:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 29734, + "id": 46357, "nodeType": "ExpressionStatement", - "src": "852:22:16" + "src": "852:22:20" } ] }, "documentation": { - "id": 29714, + "id": 46337, "nodeType": "StructuredDocumentation", - "src": "587:160:16", + "src": "587:160:20", "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, @@ -796,18 +796,18 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 29720, + "id": 46343, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 29716, + "id": 46339, "mutability": "mutable", "name": "_greeting", - "nameLocation": "776:9:16", + "nameLocation": "776:9:20", "nodeType": "VariableDeclaration", - "scope": 29736, - "src": "762:23:16", + "scope": 46359, + "src": "762:23:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -815,10 +815,10 @@ "typeString": "string" }, "typeName": { - "id": 29715, + "id": 46338, "name": "string", "nodeType": "ElementaryTypeName", - "src": "762:6:16", + "src": "762:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -828,64 +828,64 @@ }, { "constant": false, - "id": 29719, + "id": 46342, "mutability": "mutable", "name": "_token", - "nameLocation": "794:6:16", + "nameLocation": "794:6:20", "nodeType": "VariableDeclaration", - "scope": 29736, - "src": "787:13:16", + "scope": 46359, + "src": "787:13:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", + "typeIdentifier": "t_contract$_IERC20_$40625", "typeString": "contract IERC20" }, "typeName": { - "id": 29718, + "id": 46341, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 29717, + "id": 46340, "name": "IERC20", "nameLocations": [ - "787:6:16" + "787:6:20" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 24219, - "src": "787:6:16" + "referencedDeclaration": 40625, + "src": "787:6:20" }, - "referencedDeclaration": 24219, - "src": "787:6:16", + "referencedDeclaration": 40625, + "src": "787:6:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", + "typeIdentifier": "t_contract$_IERC20_$40625", "typeString": "contract IERC20" } }, "visibility": "internal" } ], - "src": "761:40:16" + "src": "761:40:20" }, "returnParameters": { - "id": 29721, + "id": 46344, "nodeType": "ParameterList", "parameters": [], - "src": "802:0:16" + "src": "802:0:20" }, - "scope": 29802, + "scope": 46425, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 29766, + "id": 46389, "nodeType": "FunctionDefinition", - "src": "910:230:16", + "src": "910:230:20", "nodes": [], "body": { - "id": 29765, + "id": 46388, "nodeType": "Block", - "src": "973:167:16", + "src": "973:167:20", "nodes": [], "statements": [ { @@ -894,7 +894,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 29751, + "id": 46374, "isConstant": false, "isLValue": false, "isPure": false, @@ -904,12 +904,12 @@ { "arguments": [ { - "id": 29747, + "id": 46370, "name": "_greeting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29739, - "src": "999:9:16", + "referencedDeclaration": 46362, + "src": "999:9:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -923,26 +923,26 @@ "typeString": "string memory" } ], - "id": 29746, + "id": 46369, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "993:5:16", + "src": "993:5:20", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 29745, + "id": 46368, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "993:5:16", + "src": "993:5:20", "typeDescriptions": {} } }, - "id": 29748, + "id": 46371, "isConstant": false, "isLValue": false, "isPure": false, @@ -951,7 +951,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "993:16:16", + "src": "993:16:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -966,18 +966,18 @@ "typeString": "bytes memory" } ], - "id": 29744, + "id": 46367, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "983:9:16", + "src": "983:9:20", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 29749, + "id": 46372, "isConstant": false, "isLValue": false, "isPure": false, @@ -986,7 +986,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "983:27:16", + "src": "983:27:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -996,48 +996,48 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 29750, + "id": 46373, "name": "_EMPTY_STRING", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29703, - "src": "1014:13:16", + "referencedDeclaration": 46326, + "src": "1014:13:20", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "983:44:16", + "src": "983:44:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 29756, + "id": 46379, "nodeType": "IfStatement", - "src": "979:97:16", + "src": "979:97:20", "trueBody": { - "id": 29755, + "id": 46378, "nodeType": "Block", - "src": "1029:47:16", + "src": "1029:47:20", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 29752, + "id": 46375, "name": "Greeter_InvalidGreeting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29818, - "src": "1044:23:16", + "referencedDeclaration": 46441, + "src": "1044:23:20", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 29753, + "id": 46376, "isConstant": false, "isLValue": false, "isPure": false, @@ -1046,34 +1046,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1044:25:16", + "src": "1044:25:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 29754, + "id": 46377, "nodeType": "RevertStatement", - "src": "1037:32:16" + "src": "1037:32:20" } ] } }, { "expression": { - "id": 29759, + "id": 46382, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 29757, + "id": 46380, "name": "greeting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29709, - "src": "1082:8:16", + "referencedDeclaration": 46332, + "src": "1082:8:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1082,37 +1082,37 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 29758, + "id": 46381, "name": "_greeting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29739, - "src": "1093:9:16", + "referencedDeclaration": 46362, + "src": "1093:9:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "1082:20:16", + "src": "1082:20:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 29760, + "id": 46383, "nodeType": "ExpressionStatement", - "src": "1082:20:16" + "src": "1082:20:20" }, { "eventCall": { "arguments": [ { - "id": 29762, + "id": 46385, "name": "_greeting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29739, - "src": "1125:9:16", + "referencedDeclaration": 46362, + "src": "1125:9:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1126,18 +1126,18 @@ "typeString": "string memory" } ], - "id": 29761, + "id": 46384, "name": "GreetingSet", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29812, - "src": "1113:11:16", + "referencedDeclaration": 46435, + "src": "1113:11:20", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, - "id": 29763, + "id": 46386, "isConstant": false, "isLValue": false, "isPure": false, @@ -1146,26 +1146,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1113:22:16", + "src": "1113:22:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 29764, + "id": 46387, "nodeType": "EmitStatement", - "src": "1108:27:16" + "src": "1108:27:20" } ] }, "baseFunctions": [ - 29851 + 46474 ], "documentation": { - "id": 29737, + "id": 46360, "nodeType": "StructuredDocumentation", - "src": "883:24:16", + "src": "883:24:20", "text": "@inheritdoc IGreeter" }, "functionSelector": "a4136862", @@ -1173,37 +1173,37 @@ "kind": "function", "modifiers": [ { - "id": 29742, + "id": 46365, "kind": "modifierInvocation", "modifierName": { - "id": 29741, + "id": 46364, "name": "onlyOwner", "nameLocations": [ - "963:9:16" + "963:9:20" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 29801, - "src": "963:9:16" + "referencedDeclaration": 46424, + "src": "963:9:20" }, "nodeType": "ModifierInvocation", - "src": "963:9:16" + "src": "963:9:20" } ], "name": "setGreeting", - "nameLocation": "919:11:16", + "nameLocation": "919:11:20", "parameters": { - "id": 29740, + "id": 46363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 29739, + "id": 46362, "mutability": "mutable", "name": "_greeting", - "nameLocation": "945:9:16", + "nameLocation": "945:9:20", "nodeType": "VariableDeclaration", - "scope": 29766, - "src": "931:23:16", + "scope": 46389, + "src": "931:23:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1211,10 +1211,10 @@ "typeString": "string" }, "typeName": { - "id": 29738, + "id": 46361, "name": "string", "nodeType": "ElementaryTypeName", - "src": "931:6:16", + "src": "931:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1223,44 +1223,44 @@ "visibility": "internal" } ], - "src": "930:25:16" + "src": "930:25:20" }, "returnParameters": { - "id": 29743, + "id": 46366, "nodeType": "ParameterList", "parameters": [], - "src": "973:0:16" + "src": "973:0:20" }, - "scope": 29802, + "scope": 46425, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 29787, + "id": 46410, "nodeType": "FunctionDefinition", - "src": "1171:158:16", + "src": "1171:158:20", "nodes": [], "body": { - "id": 29786, + "id": 46409, "nodeType": "Block", - "src": "1254:75:16", + "src": "1254:75:20", "nodes": [], "statements": [ { "expression": { - "id": 29776, + "id": 46399, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 29774, + "id": 46397, "name": "_greeting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29770, - "src": "1260:9:16", + "referencedDeclaration": 46393, + "src": "1260:9:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -1269,41 +1269,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 29775, + "id": 46398, "name": "greeting", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29709, - "src": "1272:8:16", + "referencedDeclaration": 46332, + "src": "1272:8:20", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "src": "1260:20:16", + "src": "1260:20:20", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 29777, + "id": 46400, "nodeType": "ExpressionStatement", - "src": "1260:20:16" + "src": "1260:20:20" }, { "expression": { - "id": 29784, + "id": 46407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 29778, + "id": 46401, "name": "_balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29772, - "src": "1286:8:16", + "referencedDeclaration": 46395, + "src": "1286:8:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1315,26 +1315,26 @@ "arguments": [ { "expression": { - "id": 29781, + "id": 46404, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1313:3:16", + "src": "1313:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 29782, + "id": 46405, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1317:6:16", + "memberLocation": "1317:6:20", "memberName": "sender", "nodeType": "MemberAccess", - "src": "1313:10:16", + "src": "1313:10:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1349,33 +1349,33 @@ } ], "expression": { - "id": 29779, + "id": 46402, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29713, - "src": "1297:5:16", + "referencedDeclaration": 46336, + "src": "1297:5:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$24219", + "typeIdentifier": "t_contract$_IERC20_$40625", "typeString": "contract IERC20" } }, - "id": 29780, + "id": 46403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1303:9:16", + "memberLocation": "1303:9:20", "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 24151, - "src": "1297:15:16", + "referencedDeclaration": 40557, + "src": "1297:15:20", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 29783, + "id": 46406, "isConstant": false, "isLValue": false, "isPure": false, @@ -1384,32 +1384,32 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1297:27:16", + "src": "1297:27:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1286:38:16", + "src": "1286:38:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 29785, + "id": 46408, "nodeType": "ExpressionStatement", - "src": "1286:38:16" + "src": "1286:38:20" } ] }, "baseFunctions": [ - 29845 + 46468 ], "documentation": { - "id": 29767, + "id": 46390, "nodeType": "StructuredDocumentation", - "src": "1144:24:16", + "src": "1144:24:20", "text": "@inheritdoc IGreeter" }, "functionSelector": "cfae3217", @@ -1417,26 +1417,26 @@ "kind": "function", "modifiers": [], "name": "greet", - "nameLocation": "1180:5:16", + "nameLocation": "1180:5:20", "parameters": { - "id": 29768, + "id": 46391, "nodeType": "ParameterList", "parameters": [], - "src": "1185:2:16" + "src": "1185:2:20" }, "returnParameters": { - "id": 29773, + "id": 46396, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 29770, + "id": 46393, "mutability": "mutable", "name": "_greeting", - "nameLocation": "1225:9:16", + "nameLocation": "1225:9:20", "nodeType": "VariableDeclaration", - "scope": 29787, - "src": "1211:23:16", + "scope": 46410, + "src": "1211:23:20", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1444,10 +1444,10 @@ "typeString": "string" }, "typeName": { - "id": 29769, + "id": 46392, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1211:6:16", + "src": "1211:6:20", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1457,13 +1457,13 @@ }, { "constant": false, - "id": 29772, + "id": 46395, "mutability": "mutable", "name": "_balance", - "nameLocation": "1244:8:16", + "nameLocation": "1244:8:20", "nodeType": "VariableDeclaration", - "scope": 29787, - "src": "1236:16:16", + "scope": 46410, + "src": "1236:16:20", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1471,10 +1471,10 @@ "typeString": "uint256" }, "typeName": { - "id": 29771, + "id": 46394, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1236:7:16", + "src": "1236:7:20", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1483,22 +1483,22 @@ "visibility": "internal" } ], - "src": "1210:43:16" + "src": "1210:43:20" }, - "scope": 29802, + "scope": 46425, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 29801, + "id": 46424, "nodeType": "ModifierDefinition", - "src": "1431:104:16", + "src": "1431:104:20", "nodes": [], "body": { - "id": 29800, + "id": 46423, "nodeType": "Block", - "src": "1452:83:16", + "src": "1452:83:20", "nodes": [], "statements": [ { @@ -1507,33 +1507,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 29793, + "id": 46416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 29790, + "id": 46413, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1462:3:16", + "src": "1462:3:20", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 29791, + "id": 46414, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1466:6:16", + "memberLocation": "1466:6:20", "memberName": "sender", "nodeType": "MemberAccess", - "src": "1462:10:16", + "src": "1462:10:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1542,48 +1542,48 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 29792, + "id": 46415, "name": "OWNER", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29706, - "src": "1476:5:16", + "referencedDeclaration": 46329, + "src": "1476:5:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1462:19:16", + "src": "1462:19:20", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 29798, + "id": 46421, "nodeType": "IfStatement", - "src": "1458:66:16", + "src": "1458:66:20", "trueBody": { - "id": 29797, + "id": 46420, "nodeType": "Block", - "src": "1483:41:16", + "src": "1483:41:20", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 29794, + "id": 46417, "name": "Greeter_OnlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 29815, - "src": "1498:17:16", + "referencedDeclaration": 46438, + "src": "1498:17:20", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 29795, + "id": 46418, "isConstant": false, "isLValue": false, "isPure": false, @@ -1592,40 +1592,40 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1498:19:16", + "src": "1498:19:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 29796, + "id": 46419, "nodeType": "RevertStatement", - "src": "1491:26:16" + "src": "1491:26:20" } ] } }, { - "id": 29799, + "id": 46422, "nodeType": "PlaceholderStatement", - "src": "1529:1:16" + "src": "1529:1:20" } ] }, "documentation": { - "id": 29788, + "id": 46411, "nodeType": "StructuredDocumentation", - "src": "1333:95:16", + "src": "1333:95:20", "text": " @notice Reverts in case the function was not called by the owner of the contract" }, "name": "onlyOwner", - "nameLocation": "1440:9:16", + "nameLocation": "1440:9:20", "parameters": { - "id": 29789, + "id": 46412, "nodeType": "ParameterList", "parameters": [], - "src": "1449:2:16" + "src": "1449:2:20" }, "virtual": false, "visibility": "internal" @@ -1635,18 +1635,18 @@ "baseContracts": [ { "baseName": { - "id": 29698, + "id": 46321, "name": "IGreeter", "nameLocations": [ - "191:8:16" + "191:8:20" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 29852, - "src": "191:8:16" + "referencedDeclaration": 46475, + "src": "191:8:20" }, - "id": 29699, + "id": 46322, "nodeType": "InheritanceSpecifier", - "src": "191:8:16" + "src": "191:8:20" } ], "canonicalName": "Greeter", @@ -1654,19 +1654,19 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 29802, - 29852 + 46425, + 46475 ], "name": "Greeter", - "nameLocation": "180:7:16", - "scope": 29803, + "nameLocation": "180:7:20", + "scope": 46426, "usedErrors": [ - 29815, - 29818 + 46438, + 46441 ] } ], "license": "MIT" }, - "id": 16 + "id": 20 } \ No newline at end of file diff --git a/package.json b/package.json index ea867a43..17d500aa 100644 --- a/package.json +++ b/package.json @@ -33,9 +33,8 @@ }, "dependencies": { "ds-test": "github:dapphub/ds-test#e282159", - "forge-std": "github:foundry-rs/forge-std#v1.5.6", - "isolmate": "github:defi-wonderland/isolmate#59e1804", - "prb/test": "github:paulrberg/prb-test#a245c71" + "forge-std": "github:foundry-rs/forge-std#v1.7.3", + "isolmate": "github:defi-wonderland/isolmate#59e1804" }, "devDependencies": { "@commitlint/cli": "17.0.3", diff --git a/remappings.txt b/remappings.txt index 89bb6bd4..83b675a3 100644 --- a/remappings.txt +++ b/remappings.txt @@ -1,5 +1,4 @@ ds-test/=node_modules/ds-test/src -prb/test/=node_modules/prb/test/src/ forge-std/=node_modules/forge-std/src isolmate/=node_modules/isolmate/src diff --git a/solidity/test/integration/IntegrationBase.sol b/solidity/test/integration/IntegrationBase.sol index 2c1646dc..43e6a470 100644 --- a/solidity/test/integration/IntegrationBase.sol +++ b/solidity/test/integration/IntegrationBase.sol @@ -1,17 +1,17 @@ // SPDX-License-Identifier: MIT pragma solidity =0.8.19; -import {DSTestFull} from 'test/utils/DSTestFull.sol'; import {IERC20} from 'isolmate/interfaces/tokens/IERC20.sol'; +import {Test} from 'forge-std/Test.sol'; import {Greeter, IGreeter} from 'contracts/Greeter.sol'; -contract IntegrationBase is DSTestFull { +contract IntegrationBase is Test { uint256 internal constant _FORK_BLOCK = 15_452_788; string internal _initialGreeting = 'hola'; - address internal _user = _label('user'); - address internal _owner = _label('owner'); + address internal _user = makeAddr('user'); + address internal _owner = makeAddr('owner'); address internal _daiWhale = 0x42f8CA49E88A8fd8F0bfA2C739e648468b8f9dec; IERC20 internal _dai = IERC20(0x6B175474E89094C44Da98b954EedeAC495271d0F); IGreeter internal _greeter; diff --git a/solidity/test/unit/Greeter.t.sol b/solidity/test/unit/Greeter.t.sol index 729aa2bb..9182b8b3 100644 --- a/solidity/test/unit/Greeter.t.sol +++ b/solidity/test/unit/Greeter.t.sol @@ -2,12 +2,12 @@ pragma solidity =0.8.19; import {IERC20} from 'isolmate/interfaces/tokens/IERC20.sol'; -import {DSTestFull} from 'test/utils/DSTestFull.sol'; +import {Test} from 'forge-std/Test.sol'; import {Greeter, IGreeter} from 'contracts/Greeter.sol'; -abstract contract Base is DSTestFull { - address internal _owner = _label('owner'); - IERC20 internal _token = IERC20(_mockContract('token')); +abstract contract Base is Test { + address internal _owner = makeAddr('owner'); + IERC20 internal _token = IERC20(makeAddr('token')); string internal _initialGreeting = 'hola'; bytes32 internal _emptyString = keccak256(bytes('')); Greeter internal _greeter; @@ -74,7 +74,7 @@ contract UnitGreeterSetGreeting is Base { function test_EmitEvent(string memory _greeting) public { vm.assume(keccak256(bytes(_greeting)) != _emptyString); - _expectEmitNoIndex(); + vm.expectEmit(false, false, false, true); emit GreetingSet(_greeting); _greeter.setGreeting(_greeting); diff --git a/solidity/test/utils/DSTestFull.sol b/solidity/test/utils/DSTestFull.sol deleted file mode 100644 index c1bd8568..00000000 --- a/solidity/test/utils/DSTestFull.sol +++ /dev/null @@ -1,67 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity =0.8.19; - -import {PRBTest} from 'prb/test/PRBTest.sol'; - -contract DSTestFull is PRBTest { - // Seed for the generation of pseudorandom addresses - bytes32 private _nextAddressSeed = keccak256(abi.encodePacked('address')); - - /** - * @dev Creates a new pseudorandom address and labels it with the given label - * @param _name Name of the label. - * @return _address The address generated and labeled - */ - function _label(string memory _name) internal returns (address _address) { - return _label(_newAddress(), _name); - } - - /** - * @dev Labels the given address and returns it - * - * @param _addy Address to label. - * @param _name Name of the label. - * - * @return _address The address Labeled address - */ - function _label(address _addy, string memory _name) internal returns (address _address) { - vm.label(_addy, _name); - return _addy; - } - - /** - * @dev Creates a mock contract in a pseudorandom address and labels it. - * @param _name Label for the mock contract. - * @return _address The address of the mock contract. - */ - function _mockContract(string memory _name) internal returns (address _address) { - return _mockContract(_newAddress(), _name); - } - - /** - * @dev Creates a mock contract in a specified address and labels it. - * - * @param _addy Address for the mock contract. - * @param _name Label for the mock contract. - * - * @return _address The address of the mock contract. - */ - function _mockContract(address _addy, string memory _name) internal returns (address _address) { - vm.etch(_addy, new bytes(0x1)); - return _label(_addy, _name); - } - - /** - * @dev Creates a pseudorandom address. - * @return _address The address of the mock contract. - */ - function _newAddress() internal returns (address _address) { - address payable _nextAddress = payable(address(uint160(uint256(_nextAddressSeed)))); - _nextAddressSeed = keccak256(abi.encodePacked(_nextAddressSeed)); - _address = _nextAddress; - } - - function _expectEmitNoIndex() internal { - vm.expectEmit(false, false, false, true); - } -} diff --git a/yarn.lock b/yarn.lock index 7b4b14ff..e493f67b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1073,9 +1073,9 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== -"forge-std@github:foundry-rs/forge-std#v1.5.6": - version "1.5.6" - resolved "https://codeload.github.com/foundry-rs/forge-std/tar.gz/e8a047e3f40f13fa37af6fe14e6e06283d9a060e" +"forge-std@github:foundry-rs/forge-std#v1.7.3": + version "1.7.3" + resolved "https://codeload.github.com/foundry-rs/forge-std/tar.gz/2f112697506eab12d433a65fdc31a639548fe365" fs-extra@^11.0.0: version "11.1.1" @@ -1942,10 +1942,6 @@ pluralize@^8.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== -"prb/test@github:paulrberg/prb-test#a245c71": - version "0.6.0" - resolved "https://codeload.github.com/paulrberg/prb-test/tar.gz/a245c71edc07643aedfe27df4cc7b21048aa8824" - prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" From 2d2a24fc311b4853f9a952b0eb1ed2a8d18eae29 Mon Sep 17 00:00:00 2001 From: Dristpunk Date: Tue, 28 Nov 2023 18:02:36 +0300 Subject: [PATCH 2/5] fix: add vm.etch to mock contract --- solidity/test/unit/Greeter.t.sol | 2 ++ 1 file changed, 2 insertions(+) diff --git a/solidity/test/unit/Greeter.t.sol b/solidity/test/unit/Greeter.t.sol index 9182b8b3..9a5a6bc6 100644 --- a/solidity/test/unit/Greeter.t.sol +++ b/solidity/test/unit/Greeter.t.sol @@ -7,12 +7,14 @@ import {Greeter, IGreeter} from 'contracts/Greeter.sol'; abstract contract Base is Test { address internal _owner = makeAddr('owner'); + IERC20 internal _token = IERC20(makeAddr('token')); string internal _initialGreeting = 'hola'; bytes32 internal _emptyString = keccak256(bytes('')); Greeter internal _greeter; function setUp() public virtual { + vm.etch(address(_token), new bytes(0x1)); // etch bytecode to avoid address collision problems vm.prank(_owner); _greeter = new Greeter(_initialGreeting, _token); } From 76acf80aadaa4d8ca4671d2976ce9dd270f3010c Mon Sep 17 00:00:00 2001 From: Dristpunk Date: Wed, 29 Nov 2023 14:01:05 +0300 Subject: [PATCH 3/5] fix: check indexed anyway --- solidity/test/unit/Greeter.t.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solidity/test/unit/Greeter.t.sol b/solidity/test/unit/Greeter.t.sol index 9a5a6bc6..42e328bd 100644 --- a/solidity/test/unit/Greeter.t.sol +++ b/solidity/test/unit/Greeter.t.sol @@ -76,7 +76,7 @@ contract UnitGreeterSetGreeting is Base { function test_EmitEvent(string memory _greeting) public { vm.assume(keccak256(bytes(_greeting)) != _emptyString); - vm.expectEmit(false, false, false, true); + vm.expectEmit(true, true, true, true, address(_greeter)); emit GreetingSet(_greeting); _greeter.setGreeting(_greeting); From 4606c3269b8840baefb26621c92149903a17a587 Mon Sep 17 00:00:00 2001 From: Dristpunk Date: Mon, 4 Dec 2023 14:36:59 +0300 Subject: [PATCH 4/5] fix: rm out dir --- out/Greeter.sol/Greeter.json | 1672 ---------------------------------- 1 file changed, 1672 deletions(-) delete mode 100644 out/Greeter.sol/Greeter.json diff --git a/out/Greeter.sol/Greeter.json b/out/Greeter.sol/Greeter.json deleted file mode 100644 index 96117757..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:20:-:0;;;750:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;816:10;808:18;;832:5;:14;;-1:-1:-1;;;;;;832:14:20;-1:-1:-1;;;;;832:14:20;;;;;852:22;864:9;852:11;:22::i;:::-;750:129;;171:1366;;910:230;1476:5;;-1:-1:-1;;;;;1462:19:20;:10;-1:-1:-1;;;;;1462:19:20;;1458:66;;1498:19;;-1:-1:-1;;;1498:19:20;;;;;;;;;;;1458:66;983:27;;::::1;::::0;::::1;::::0;:44;;979:97:::1;;1044:25;;-1:-1:-1::0;;;1044:25:20::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:27:-;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:27;370:16;;363:27;146:250::o;401:185::-;488:13;;-1:-1:-1;;;;;530:31:27;;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:27;;;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:27;;;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:27;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:27;;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:27;;;4044:26;3995:89;-1:-1:-1;;2799:1:27;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:27;;;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:27;3832:14;;;3848:3;3828:24;3824:37;3820:42;3805:58;3790:74;;3677:201;-1:-1:-1;;;;;3924:1:27;3908:14;;;3904:22;3891:36;;-1:-1:-1;2842:1352:27: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:27;4539:45;;;;4586:2;4535:54;;4199:396;-1:-1:-1;;4199:396:27:o;:::-;171:1366:20;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063cfae321711610050578063cfae3217146100d2578063ef690cc0146100e8578063fc0c546a146100fd57600080fd5b8063117803e31461006c578063a4136862146100bd575b600080fd5b6100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d06100cb36600461041d565b61011d565b005b6100da610232565b6040516100b4929190610550565b6100f0610360565b6040516100b49190610572565b6001546100939073ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461018c576040517f5f61b23800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160208201207f3a2db9fe7908dcc36d81824d2338fc3f1aff49ac357dd8c4840527fba27a5b90016101eb576040517f8510740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f7828261062e565b507fad181ee258ff92d26bf7ed2e6b571ef1cba3afc45f028b863b0f02adaffc2f06816040516102279190610572565b60405180910390a150565b606060008080546102429061058c565b80601f016020809104026020016040519081016040528092919081815260200182805461026e9061058c565b80156102bb5780601f10610290576101008083540402835291602001916102bb565b820191906000526020600020905b81548152906001019060200180831161029e57829003601f168201915b50506001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015294965073ffffffffffffffffffffffffffffffffffffffff16936370a08231935060240191506103199050565b602060405180830381865afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610748565b90509091565b6000805461036d9061058c565b80601f01602080910402602001604051908101604052809291908181526020018280546103999061058c565b80156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b505050505081565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561042f57600080fd5b813567ffffffffffffffff8082111561044757600080fd5b818401915084601f83011261045b57600080fd5b81358181111561046d5761046d6103ee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104b3576104b36103ee565b816040528281528760208487010111156104cc57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000815180845260005b81811015610512576020818501810151868301820152016104f6565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60408152600061056360408301856104ec565b90508260208301529392505050565b60208152600061058560208301846104ec565b9392505050565b600181811c908216806105a057607f821691505b6020821081036105d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561062957600081815260208120601f850160051c810160208610156106065750805b601f850160051c820191505b8181101561062557828155600101610612565b5050505b505050565b815167ffffffffffffffff811115610648576106486103ee565b61065c81610656845461058c565b846105df565b602080601f8311600181146106af57600084156106795750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610625565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156106fc578886015182559484019460019091019084016106dd565b508582101561073857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561075a57600080fd5b505191905056fea2646970667358221220caf884ac5c7857a49c6985ed3fb359b70c70131c8a5bd82d8545ee1d0576c11064736f6c63430008130033", - "sourceMap": "171:1366:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;447:30;;;;;;;;190:42:27;178:55;;;160:74;;148:2;133:18;447:30:20;;;;;;;;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:20;;:27;;;;;1313:10;1297:27;;;160:74:27;1260:20:20;;-1:-1:-1;1297:5:20;;;:15;;-1:-1:-1;133:18:27;;;-1:-1:-1;1297:27:20;;-1:-1:-1;14:226:27;1297:27:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1286:38;;1171:158;;:::o;509:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;245:184:27:-;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:27;434:981;-1:-1:-1;;;;;434:981:27: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:27: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:27;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:27;;;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:27;5209:14;;;5205:22;5192:36;;-1:-1:-1;4024:1471:27: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:27;;5500:184;-1:-1:-1;5500:184:27:o", - "linkReferences": {}, - "immutableReferences": { - "46329": [ - { - "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": 46426, - "exportedSymbols": { - "Greeter": [ - 46425 - ], - "IERC20": [ - 40625 - ], - "IGreeter": [ - 46475 - ] - }, - "nodeType": "SourceUnit", - "src": "32:1506:20", - "nodes": [ - { - "id": 46316, - "nodeType": "PragmaDirective", - "src": "32:24:20", - "nodes": [], - "literals": [ - "solidity", - "=", - "0.8", - ".19" - ] - }, - { - "id": 46318, - "nodeType": "ImportDirective", - "src": "58:61:20", - "nodes": [], - "absolutePath": "node_modules/isolmate/src/interfaces/tokens/IERC20.sol", - "file": "isolmate/interfaces/tokens/IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 46426, - "sourceUnit": 40626, - "symbolAliases": [ - { - "foreign": { - "id": 46317, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 40625, - "src": "66:6:20", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 46320, - "nodeType": "ImportDirective", - "src": "120:49:20", - "nodes": [], - "absolutePath": "solidity/interfaces/IGreeter.sol", - "file": "interfaces/IGreeter.sol", - "nameLocation": "-1:-1:-1", - "scope": 46426, - "sourceUnit": 46476, - "symbolAliases": [ - { - "foreign": { - "id": 46319, - "name": "IGreeter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46475, - "src": "128:8:20", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 46425, - "nodeType": "ContractDefinition", - "src": "171:1366:20", - "nodes": [ - { - "id": 46326, - "nodeType": "VariableDeclaration", - "src": "307:108:20", - "nodes": [], - "constant": true, - "documentation": { - "id": 46323, - "nodeType": "StructuredDocumentation", - "src": "204:100:20", - "text": " @notice Empty string for revert checks\n @dev result of doing keccak256(bytes(''))" - }, - "mutability": "constant", - "name": "_EMPTY_STRING", - "nameLocation": "333:13:20", - "scope": 46425, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 46324, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "307:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 46325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "349:66:20", - "typeDescriptions": { - "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", - "typeString": "int_const 8947...(69 digits omitted)...1552" - }, - "value": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - "visibility": "internal" - }, - { - "id": 46329, - "nodeType": "VariableDeclaration", - "src": "447:30:20", - "nodes": [], - "baseFunctions": [ - 46447 - ], - "constant": false, - "documentation": { - "id": 46327, - "nodeType": "StructuredDocumentation", - "src": "420:24:20", - "text": "@inheritdoc IGreeter" - }, - "functionSelector": "117803e3", - "mutability": "immutable", - "name": "OWNER", - "nameLocation": "472:5:20", - "scope": 46425, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 46328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "447:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 46332, - "nodeType": "VariableDeclaration", - "src": "509:22:20", - "nodes": [], - "baseFunctions": [ - 46453 - ], - "constant": false, - "documentation": { - "id": 46330, - "nodeType": "StructuredDocumentation", - "src": "482:24:20", - "text": "@inheritdoc IGreeter" - }, - "functionSelector": "ef690cc0", - "mutability": "mutable", - "name": "greeting", - "nameLocation": "523:8:20", - "scope": 46425, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 46331, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "509:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "id": 46336, - "nodeType": "VariableDeclaration", - "src": "563:19:20", - "nodes": [], - "baseFunctions": [ - 46460 - ], - "constant": false, - "documentation": { - "id": 46333, - "nodeType": "StructuredDocumentation", - "src": "536:24:20", - "text": "@inheritdoc IGreeter" - }, - "functionSelector": "fc0c546a", - "mutability": "mutable", - "name": "token", - "nameLocation": "577:5:20", - "scope": 46425, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$40625", - "typeString": "contract IERC20" - }, - "typeName": { - "id": 46335, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 46334, - "name": "IERC20", - "nameLocations": [ - "563:6:20" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 40625, - "src": "563:6:20" - }, - "referencedDeclaration": 40625, - "src": "563:6:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$40625", - "typeString": "contract IERC20" - } - }, - "visibility": "public" - }, - { - "id": 46359, - "nodeType": "FunctionDefinition", - "src": "750:129:20", - "nodes": [], - "body": { - "id": 46358, - "nodeType": "Block", - "src": "802:77:20", - "nodes": [], - "statements": [ - { - "expression": { - "id": 46348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 46345, - "name": "OWNER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46329, - "src": "808:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 46346, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "816:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 46347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "820:6:20", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "816:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "808:18:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 46349, - "nodeType": "ExpressionStatement", - "src": "808:18:20" - }, - { - "expression": { - "id": 46352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 46350, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46336, - "src": "832:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$40625", - "typeString": "contract IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 46351, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46342, - "src": "840:6:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$40625", - "typeString": "contract IERC20" - } - }, - "src": "832:14:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$40625", - "typeString": "contract IERC20" - } - }, - "id": 46353, - "nodeType": "ExpressionStatement", - "src": "832:14:20" - }, - { - "expression": { - "arguments": [ - { - "id": 46355, - "name": "_greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46339, - "src": "864:9:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 46354, - "name": "setGreeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46389, - "src": "852:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 46356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "852:22:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 46357, - "nodeType": "ExpressionStatement", - "src": "852:22:20" - } - ] - }, - "documentation": { - "id": 46337, - "nodeType": "StructuredDocumentation", - "src": "587:160:20", - "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": 46343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 46339, - "mutability": "mutable", - "name": "_greeting", - "nameLocation": "776:9:20", - "nodeType": "VariableDeclaration", - "scope": 46359, - "src": "762:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 46338, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "762:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 46342, - "mutability": "mutable", - "name": "_token", - "nameLocation": "794:6:20", - "nodeType": "VariableDeclaration", - "scope": 46359, - "src": "787:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$40625", - "typeString": "contract IERC20" - }, - "typeName": { - "id": 46341, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 46340, - "name": "IERC20", - "nameLocations": [ - "787:6:20" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 40625, - "src": "787:6:20" - }, - "referencedDeclaration": 40625, - "src": "787:6:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$40625", - "typeString": "contract IERC20" - } - }, - "visibility": "internal" - } - ], - "src": "761:40:20" - }, - "returnParameters": { - "id": 46344, - "nodeType": "ParameterList", - "parameters": [], - "src": "802:0:20" - }, - "scope": 46425, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 46389, - "nodeType": "FunctionDefinition", - "src": "910:230:20", - "nodes": [], - "body": { - "id": 46388, - "nodeType": "Block", - "src": "973:167:20", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 46374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 46370, - "name": "_greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46362, - "src": "999:9:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 46369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "993:5:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 46368, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "993:5:20", - "typeDescriptions": {} - } - }, - "id": 46371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "993:16:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 46367, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "983:9:20", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 46372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "983:27:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 46373, - "name": "_EMPTY_STRING", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46326, - "src": "1014:13:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "983:44:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 46379, - "nodeType": "IfStatement", - "src": "979:97:20", - "trueBody": { - "id": 46378, - "nodeType": "Block", - "src": "1029:47:20", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 46375, - "name": "Greeter_InvalidGreeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46441, - "src": "1044:23:20", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 46376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1044:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 46377, - "nodeType": "RevertStatement", - "src": "1037:32:20" - } - ] - } - }, - { - "expression": { - "id": 46382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 46380, - "name": "greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46332, - "src": "1082:8:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 46381, - "name": "_greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46362, - "src": "1093:9:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1082:20:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 46383, - "nodeType": "ExpressionStatement", - "src": "1082:20:20" - }, - { - "eventCall": { - "arguments": [ - { - "id": 46385, - "name": "_greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46362, - "src": "1125:9:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 46384, - "name": "GreetingSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46435, - "src": "1113:11:20", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 46386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1113:22:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 46387, - "nodeType": "EmitStatement", - "src": "1108:27:20" - } - ] - }, - "baseFunctions": [ - 46474 - ], - "documentation": { - "id": 46360, - "nodeType": "StructuredDocumentation", - "src": "883:24:20", - "text": "@inheritdoc IGreeter" - }, - "functionSelector": "a4136862", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 46365, - "kind": "modifierInvocation", - "modifierName": { - "id": 46364, - "name": "onlyOwner", - "nameLocations": [ - "963:9:20" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 46424, - "src": "963:9:20" - }, - "nodeType": "ModifierInvocation", - "src": "963:9:20" - } - ], - "name": "setGreeting", - "nameLocation": "919:11:20", - "parameters": { - "id": 46363, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 46362, - "mutability": "mutable", - "name": "_greeting", - "nameLocation": "945:9:20", - "nodeType": "VariableDeclaration", - "scope": 46389, - "src": "931:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 46361, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "931:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "930:25:20" - }, - "returnParameters": { - "id": 46366, - "nodeType": "ParameterList", - "parameters": [], - "src": "973:0:20" - }, - "scope": 46425, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 46410, - "nodeType": "FunctionDefinition", - "src": "1171:158:20", - "nodes": [], - "body": { - "id": 46409, - "nodeType": "Block", - "src": "1254:75:20", - "nodes": [], - "statements": [ - { - "expression": { - "id": 46399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 46397, - "name": "_greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46393, - "src": "1260:9:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 46398, - "name": "greeting", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46332, - "src": "1272:8:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "src": "1260:20:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 46400, - "nodeType": "ExpressionStatement", - "src": "1260:20:20" - }, - { - "expression": { - "id": 46407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 46401, - "name": "_balance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46395, - "src": "1286:8:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 46404, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1313:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 46405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1317:6:20", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1313:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 46402, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46336, - "src": "1297:5:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$40625", - "typeString": "contract IERC20" - } - }, - "id": 46403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1303:9:20", - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 40557, - "src": "1297:15:20", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 46406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1297:27:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1286:38:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 46408, - "nodeType": "ExpressionStatement", - "src": "1286:38:20" - } - ] - }, - "baseFunctions": [ - 46468 - ], - "documentation": { - "id": 46390, - "nodeType": "StructuredDocumentation", - "src": "1144:24:20", - "text": "@inheritdoc IGreeter" - }, - "functionSelector": "cfae3217", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "greet", - "nameLocation": "1180:5:20", - "parameters": { - "id": 46391, - "nodeType": "ParameterList", - "parameters": [], - "src": "1185:2:20" - }, - "returnParameters": { - "id": 46396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 46393, - "mutability": "mutable", - "name": "_greeting", - "nameLocation": "1225:9:20", - "nodeType": "VariableDeclaration", - "scope": 46410, - "src": "1211:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 46392, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1211:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 46395, - "mutability": "mutable", - "name": "_balance", - "nameLocation": "1244:8:20", - "nodeType": "VariableDeclaration", - "scope": 46410, - "src": "1236:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 46394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1236:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1210:43:20" - }, - "scope": 46425, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 46424, - "nodeType": "ModifierDefinition", - "src": "1431:104:20", - "nodes": [], - "body": { - "id": 46423, - "nodeType": "Block", - "src": "1452:83:20", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 46416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 46413, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1462:3:20", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 46414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1466:6:20", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1462:10:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 46415, - "name": "OWNER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46329, - "src": "1476:5:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1462:19:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 46421, - "nodeType": "IfStatement", - "src": "1458:66:20", - "trueBody": { - "id": 46420, - "nodeType": "Block", - "src": "1483:41:20", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 46417, - "name": "Greeter_OnlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 46438, - "src": "1498:17:20", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 46418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1498:19:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 46419, - "nodeType": "RevertStatement", - "src": "1491:26:20" - } - ] - } - }, - { - "id": 46422, - "nodeType": "PlaceholderStatement", - "src": "1529:1:20" - } - ] - }, - "documentation": { - "id": 46411, - "nodeType": "StructuredDocumentation", - "src": "1333:95:20", - "text": " @notice Reverts in case the function was not called by the owner of the contract" - }, - "name": "onlyOwner", - "nameLocation": "1440:9:20", - "parameters": { - "id": 46412, - "nodeType": "ParameterList", - "parameters": [], - "src": "1449:2:20" - }, - "virtual": false, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 46321, - "name": "IGreeter", - "nameLocations": [ - "191:8:20" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 46475, - "src": "191:8:20" - }, - "id": 46322, - "nodeType": "InheritanceSpecifier", - "src": "191:8:20" - } - ], - "canonicalName": "Greeter", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 46425, - 46475 - ], - "name": "Greeter", - "nameLocation": "180:7:20", - "scope": 46426, - "usedErrors": [ - 46438, - 46441 - ] - } - ], - "license": "MIT" - }, - "id": 20 -} \ No newline at end of file From 8908891e8a1ef9c6dd146e7344508f23d8e910b4 Mon Sep 17 00:00:00 2001 From: Dristpunk Date: Mon, 4 Dec 2023 15:47:42 +0300 Subject: [PATCH 5/5] chore: update package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 17d500aa..2a48299e 100644 --- a/package.json +++ b/package.json @@ -32,13 +32,13 @@ "package.json": "sort-package-json" }, "dependencies": { - "ds-test": "github:dapphub/ds-test#e282159", - "forge-std": "github:foundry-rs/forge-std#v1.7.3", "isolmate": "github:defi-wonderland/isolmate#59e1804" }, "devDependencies": { "@commitlint/cli": "17.0.3", "@commitlint/config-conventional": "17.0.3", + "ds-test": "github:dapphub/ds-test#e282159", + "forge-std": "github:foundry-rs/forge-std#v1.7.3", "husky": ">=8", "lint-staged": ">=10", "solhint": "3.6.2",