diff --git a/foundry.toml b/foundry.toml index 00f9bd4a..083f98e0 100644 --- a/foundry.toml +++ b/foundry.toml @@ -8,26 +8,27 @@ number_underscore = 'thousands' multiline_func_header = 'params_first' [profile.default] -solc = '0.8.19' -evm_version = 'paris' +solc_version = '0.8.19' src = 'solidity' test = 'solidity/test' out = 'out' -libs = ['lib'] -fuzz_runs = 1000 +libs = ['node_modules'] optimizer_runs = 10_000 [profile.optimized] via_ir = true out = 'out-via-ir' -fuzz_runs = 5000 [profile.test] via_ir = true out = 'out-via-ir' -fuzz_runs = 5000 src = 'solidity/test' +[profile.docs] +src = 'solidity/interfaces/' + +[fuzz] +runs = 1000 + [rpc_endpoints] -mainnet = "${MAINNET_RPC}" -goerli = "${GOERLI_RPC}" +optimism = "${MAINNET_RPC}" \ No newline at end of file diff --git a/out/Greeter.sol/Greeter.json b/out/Greeter.sol/Greeter.json index abdc48ab..19c0f594 100644 --- a/out/Greeter.sol/Greeter.json +++ b/out/Greeter.sol/Greeter.json @@ -111,12 +111,12 @@ } ], "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b5060405162000b9c38038062000b9c833981016040819052620000349162000186565b33608052600180546001600160a01b0319166001600160a01b0383161790556200005e8262000066565b5050620003e3565b6080516001600160a01b0316336001600160a01b0316146200009b57604051630bec364760e31b815260040160405180910390fd5b805160208201207f3a2db9fe7908dcc36d81824d2338fc3f1aff49ac357dd8c4840527fba27a5b9001620000e2576040516342883a0560e11b815260040160405180910390fd5b6000620000f08282620002e2565b507fad181ee258ff92d26bf7ed2e6b571ef1cba3afc45f028b863b0f02adaffc2f0681604051620001229190620003ae565b60405180910390a150565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200016057818101518382015260200162000146565b50506000910152565b80516001600160a01b03811681146200018157600080fd5b919050565b600080604083850312156200019a57600080fd5b82516001600160401b0380821115620001b257600080fd5b818501915085601f830112620001c757600080fd5b815181811115620001dc57620001dc6200012d565b604051601f8201601f19908116603f011681019083821181831017156200020757620002076200012d565b816040528281528860208487010111156200022157600080fd5b6200023483602083016020880162000143565b80965050505050506200024a6020840162000169565b90509250929050565b600181811c908216806200026857607f821691505b6020821081036200028957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002dd57600081815260208120601f850160051c81016020861015620002b85750805b601f850160051c820191505b81811015620002d957828155600101620002c4565b5050505b505050565b81516001600160401b03811115620002fe57620002fe6200012d565b62000316816200030f845462000253565b846200028f565b602080601f8311600181146200034e5760008415620003355750858301515b600019600386901b1c1916600185901b178555620002d9565b600085815260208120601f198616915b828110156200037f578886015182559484019460019091019084016200035e565b50858210156200039e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620003cf81604085016020870162000143565b601f01601f19169190910160400192915050565b60805161079762000405600039600081816071015261013501526107976000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063cfae321711610050578063cfae3217146100d2578063ef690cc0146100e8578063fc0c546a146100fd57600080fd5b8063117803e31461006c578063a4136862146100bd575b600080fd5b6100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d06100cb36600461041d565b61011d565b005b6100da610232565b6040516100b4929190610550565b6100f0610360565b6040516100b49190610572565b6001546100939073ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461018c576040517f5f61b23800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160208201207f3a2db9fe7908dcc36d81824d2338fc3f1aff49ac357dd8c4840527fba27a5b90016101eb576040517f8510740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f7828261062e565b507fad181ee258ff92d26bf7ed2e6b571ef1cba3afc45f028b863b0f02adaffc2f06816040516102279190610572565b60405180910390a150565b606060008080546102429061058c565b80601f016020809104026020016040519081016040528092919081815260200182805461026e9061058c565b80156102bb5780601f10610290576101008083540402835291602001916102bb565b820191906000526020600020905b81548152906001019060200180831161029e57829003601f168201915b50506001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015294965073ffffffffffffffffffffffffffffffffffffffff16936370a08231935060240191506103199050565b602060405180830381865afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610748565b90509091565b6000805461036d9061058c565b80601f01602080910402602001604051908101604052809291908181526020018280546103999061058c565b80156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b505050505081565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561042f57600080fd5b813567ffffffffffffffff8082111561044757600080fd5b818401915084601f83011261045b57600080fd5b81358181111561046d5761046d6103ee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104b3576104b36103ee565b816040528281528760208487010111156104cc57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000815180845260005b81811015610512576020818501810151868301820152016104f6565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60408152600061056360408301856104ec565b90508260208301529392505050565b60208152600061058560208301846104ec565b9392505050565b600181811c908216806105a057607f821691505b6020821081036105d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561062957600081815260208120601f850160051c810160208610156106065750805b601f850160051c820191505b8181101561062557828155600101610612565b5050505b505050565b815167ffffffffffffffff811115610648576106486103ee565b61065c81610656845461058c565b846105df565b602080601f8311600181146106af57600084156106795750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610625565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156106fc578886015182559484019460019091019084016106dd565b508582101561073857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561075a57600080fd5b505191905056fea26469706673582212209640d61949a3120d03517f9655b0a2baddccbdfefaf0dd8e008fe343f7f033c964736f6c63430008130033", + "object": "0x60a06040523480156200001157600080fd5b5060405162000b9c38038062000b9c833981016040819052620000349162000186565b33608052600180546001600160a01b0319166001600160a01b0383161790556200005e8262000066565b5050620003e3565b6080516001600160a01b0316336001600160a01b0316146200009b57604051630bec364760e31b815260040160405180910390fd5b805160208201207f3a2db9fe7908dcc36d81824d2338fc3f1aff49ac357dd8c4840527fba27a5b9001620000e2576040516342883a0560e11b815260040160405180910390fd5b6000620000f08282620002e2565b507fad181ee258ff92d26bf7ed2e6b571ef1cba3afc45f028b863b0f02adaffc2f0681604051620001229190620003ae565b60405180910390a150565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200016057818101518382015260200162000146565b50506000910152565b80516001600160a01b03811681146200018157600080fd5b919050565b600080604083850312156200019a57600080fd5b82516001600160401b0380821115620001b257600080fd5b818501915085601f830112620001c757600080fd5b815181811115620001dc57620001dc6200012d565b604051601f8201601f19908116603f011681019083821181831017156200020757620002076200012d565b816040528281528860208487010111156200022157600080fd5b6200023483602083016020880162000143565b80965050505050506200024a6020840162000169565b90509250929050565b600181811c908216806200026857607f821691505b6020821081036200028957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002dd57600081815260208120601f850160051c81016020861015620002b85750805b601f850160051c820191505b81811015620002d957828155600101620002c4565b5050505b505050565b81516001600160401b03811115620002fe57620002fe6200012d565b62000316816200030f845462000253565b846200028f565b602080601f8311600181146200034e5760008415620003355750858301515b600019600386901b1c1916600185901b178555620002d9565b600085815260208120601f198616915b828110156200037f578886015182559484019460019091019084016200035e565b50858210156200039e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620003cf81604085016020870162000143565b601f01601f19169190910160400192915050565b60805161079762000405600039600081816071015261013501526107976000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063cfae321711610050578063cfae3217146100d2578063ef690cc0146100e8578063fc0c546a146100fd57600080fd5b8063117803e31461006c578063a4136862146100bd575b600080fd5b6100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d06100cb36600461041d565b61011d565b005b6100da610232565b6040516100b4929190610550565b6100f0610360565b6040516100b49190610572565b6001546100939073ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461018c576040517f5f61b23800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160208201207f3a2db9fe7908dcc36d81824d2338fc3f1aff49ac357dd8c4840527fba27a5b90016101eb576040517f8510740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f7828261062e565b507fad181ee258ff92d26bf7ed2e6b571ef1cba3afc45f028b863b0f02adaffc2f06816040516102279190610572565b60405180910390a150565b606060008080546102429061058c565b80601f016020809104026020016040519081016040528092919081815260200182805461026e9061058c565b80156102bb5780601f10610290576101008083540402835291602001916102bb565b820191906000526020600020905b81548152906001019060200180831161029e57829003601f168201915b50506001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015294965073ffffffffffffffffffffffffffffffffffffffff16936370a08231935060240191506103199050565b602060405180830381865afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610748565b90509091565b6000805461036d9061058c565b80601f01602080910402602001604051908101604052809291908181526020018280546103999061058c565b80156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b505050505081565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561042f57600080fd5b813567ffffffffffffffff8082111561044757600080fd5b818401915084601f83011261045b57600080fd5b81358181111561046d5761046d6103ee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104b3576104b36103ee565b816040528281528760208487010111156104cc57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000815180845260005b81811015610512576020818501810151868301820152016104f6565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60408152600061056360408301856104ec565b90508260208301529392505050565b60208152600061058560208301846104ec565b9392505050565b600181811c908216806105a057607f821691505b6020821081036105d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561062957600081815260208120601f850160051c810160208610156106065750805b601f850160051c820191505b8181101561062557828155600101610612565b5050505b505050565b815167ffffffffffffffff811115610648576106486103ee565b61065c81610656845461058c565b846105df565b602080601f8311600181146106af57600084156106795750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610625565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156106fc578886015182559484019460019091019084016106dd565b508582101561073857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561075a57600080fd5b505191905056fea2646970667358221220f2fb414b84dd8dd2b2b49fd3f83bd914439307910629068b3882992a6e4970d864736f6c63430008130033", "sourceMap": "178:1366:16:-:0;;;757:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;823:10;815:18;;839:5;:14;;-1:-1:-1;;;;;;839:14:16;-1:-1:-1;;;;;839:14:16;;;;;859:22;871:9;859:11;:22::i;:::-;757:129;;178:1366;;917:230;1483:5;;-1:-1:-1;;;;;1469:19:16;:10;-1:-1:-1;;;;;1469:19:16;;1465:66;;1505:19;;-1:-1:-1;;;1505:19:16;;;;;;;;;;;1465:66;990:27;;::::1;::::0;::::1;::::0;:44;;986:97:::1;;1051:25;;-1:-1:-1::0;;;1051:25:16::1;;;;;;;;;;;986:97;1089:8;:20;1100:9:::0;1089:8;:20:::1;:::i;:::-;;1120:22;1132:9;1120:22;;;;;;:::i;:::-;;;;;;;;917: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;:::-;178:1366:16;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063cfae321711610050578063cfae3217146100d2578063ef690cc0146100e8578063fc0c546a146100fd57600080fd5b8063117803e31461006c578063a4136862146100bd575b600080fd5b6100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d06100cb36600461041d565b61011d565b005b6100da610232565b6040516100b4929190610550565b6100f0610360565b6040516100b49190610572565b6001546100939073ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461018c576040517f5f61b23800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160208201207f3a2db9fe7908dcc36d81824d2338fc3f1aff49ac357dd8c4840527fba27a5b90016101eb576040517f8510740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f7828261062e565b507fad181ee258ff92d26bf7ed2e6b571ef1cba3afc45f028b863b0f02adaffc2f06816040516102279190610572565b60405180910390a150565b606060008080546102429061058c565b80601f016020809104026020016040519081016040528092919081815260200182805461026e9061058c565b80156102bb5780601f10610290576101008083540402835291602001916102bb565b820191906000526020600020905b81548152906001019060200180831161029e57829003601f168201915b50506001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015294965073ffffffffffffffffffffffffffffffffffffffff16936370a08231935060240191506103199050565b602060405180830381865afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610748565b90509091565b6000805461036d9061058c565b80601f01602080910402602001604051908101604052809291908181526020018280546103999061058c565b80156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b505050505081565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561042f57600080fd5b813567ffffffffffffffff8082111561044757600080fd5b818401915084601f83011261045b57600080fd5b81358181111561046d5761046d6103ee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104b3576104b36103ee565b816040528281528760208487010111156104cc57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000815180845260005b81811015610512576020818501810151868301820152016104f6565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60408152600061056360408301856104ec565b90508260208301529392505050565b60208152600061058560208301846104ec565b9392505050565b600181811c908216806105a057607f821691505b6020821081036105d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561062957600081815260208120601f850160051c810160208610156106065750805b601f850160051c820191505b8181101561062557828155600101610612565b5050505b505050565b815167ffffffffffffffff811115610648576106486103ee565b61065c81610656845461058c565b846105df565b602080601f8311600181146106af57600084156106795750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610625565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156106fc578886015182559484019460019091019084016106dd565b508582101561073857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561075a57600080fd5b505191905056fea26469706673582212209640d61949a3120d03517f9655b0a2baddccbdfefaf0dd8e008fe343f7f033c964736f6c63430008130033", + "object": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063cfae321711610050578063cfae3217146100d2578063ef690cc0146100e8578063fc0c546a146100fd57600080fd5b8063117803e31461006c578063a4136862146100bd575b600080fd5b6100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d06100cb36600461041d565b61011d565b005b6100da610232565b6040516100b4929190610550565b6100f0610360565b6040516100b49190610572565b6001546100939073ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461018c576040517f5f61b23800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805160208201207f3a2db9fe7908dcc36d81824d2338fc3f1aff49ac357dd8c4840527fba27a5b90016101eb576040517f8510740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101f7828261062e565b507fad181ee258ff92d26bf7ed2e6b571ef1cba3afc45f028b863b0f02adaffc2f06816040516102279190610572565b60405180910390a150565b606060008080546102429061058c565b80601f016020809104026020016040519081016040528092919081815260200182805461026e9061058c565b80156102bb5780601f10610290576101008083540402835291602001916102bb565b820191906000526020600020905b81548152906001019060200180831161029e57829003601f168201915b50506001546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015294965073ffffffffffffffffffffffffffffffffffffffff16936370a08231935060240191506103199050565b602060405180830381865afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610748565b90509091565b6000805461036d9061058c565b80601f01602080910402602001604051908101604052809291908181526020018280546103999061058c565b80156103e65780601f106103bb576101008083540402835291602001916103e6565b820191906000526020600020905b8154815290600101906020018083116103c957829003601f168201915b505050505081565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561042f57600080fd5b813567ffffffffffffffff8082111561044757600080fd5b818401915084601f83011261045b57600080fd5b81358181111561046d5761046d6103ee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104b3576104b36103ee565b816040528281528760208487010111156104cc57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000815180845260005b81811015610512576020818501810151868301820152016104f6565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60408152600061056360408301856104ec565b90508260208301529392505050565b60208152600061058560208301846104ec565b9392505050565b600181811c908216806105a057607f821691505b6020821081036105d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f82111561062957600081815260208120601f850160051c810160208610156106065750805b601f850160051c820191505b8181101561062557828155600101610612565b5050505b505050565b815167ffffffffffffffff811115610648576106486103ee565b61065c81610656845461058c565b846105df565b602080601f8311600181146106af57600084156106795750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610625565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156106fc578886015182559484019460019091019084016106dd565b508582101561073857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561075a57600080fd5b505191905056fea2646970667358221220f2fb414b84dd8dd2b2b49fd3f83bd914439307910629068b3882992a6e4970d864736f6c63430008130033", "sourceMap": "178:1366:16:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;454:30;;;;;;;;190:42:23;178:55;;;160:74;;148:2;133:18;454:30:16;;;;;;;;917:230;;;;;;:::i;:::-;;:::i;:::-;;1178:158;;;:::i;:::-;;;;;;;;:::i;516:22::-;;;:::i;:::-;;;;;;;:::i;570:19::-;;;;;;;;;917:230;1469:10;:19;1483:5;1469:19;;1465:66;;1505:19;;;;;;;;;;;;;;1465:66;990:27;;::::1;::::0;::::1;::::0;:44;;986:97:::1;;1051:25;;;;;;;;;;;;;;986:97;1089:8;:20;1100:9:::0;1089:8;:20:::1;:::i;:::-;;1120:22;1132:9;1120:22;;;;;;:::i;:::-;;;;;;;;917:230:::0;:::o;1178:158::-;1218:23;1243:16;1279:8;1267:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1304:5:16;;:27;;;;;1320:10;1304:27;;;160:74:23;1267:20:16;;-1:-1:-1;1304:5:16;;;:15;;-1:-1:-1;133:18:23;;;-1:-1:-1;1304:27:16;;-1:-1:-1;14:226:23;1304:27:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1293:38;;1178:158;;:::o;516:22::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;245:184:23:-;297:77;294:1;287:88;394:4;391:1;384:15;418:4;415:1;408:15;434:981;503:6;556:2;544:9;535:7;531:23;527:32;524:52;;;572:1;569;562:12;524:52;612:9;599:23;641:18;682:2;674:6;671:14;668:34;;;698:1;695;688:12;668:34;736:6;725:9;721:22;711:32;;781:7;774:4;770:2;766:13;762:27;752:55;;803:1;800;793:12;752:55;839:2;826:16;861:2;857;854:10;851:36;;;867:18;;:::i;:::-;1001:2;995:9;1063:4;1055:13;;906:66;1051:22;;;1075:2;1047:31;1043:40;1031:53;;;1099:18;;;1119:22;;;1096:46;1093:72;;;1145:18;;:::i;:::-;1185:10;1181:2;1174:22;1220:2;1212:6;1205:18;1260:7;1255:2;1250;1246;1242:11;1238:20;1235:33;1232:53;;;1281:1;1278;1271:12;1232:53;1337:2;1332;1328;1324:11;1319:2;1311:6;1307:15;1294:46;1382:1;1360:15;;;1377:2;1356:24;1349:35;;;;-1:-1:-1;1364:6:23;434:981;-1:-1:-1;;;;;434:981:23:o;1420:482::-;1462:3;1500:5;1494:12;1527:6;1522:3;1515:19;1552:1;1562:162;1576:6;1573:1;1570:13;1562:162;;;1638:4;1694:13;;;1690:22;;1684:29;1666:11;;;1662:20;;1655:59;1591:12;1562:162;;;1566:3;1769:1;1762:4;1753:6;1748:3;1744:16;1740:27;1733:38;1891:4;1821:66;1816:2;1808:6;1804:15;1800:88;1795:3;1791:98;1787:109;1780:116;;;1420:482;;;;:::o;1907:291::-;2084:2;2073:9;2066:21;2047:4;2104:45;2145:2;2134:9;2130:18;2122:6;2104:45;:::i;:::-;2096:53;;2185:6;2180:2;2169:9;2165:18;2158:34;1907:291;;;;;:::o;2203:220::-;2352:2;2341:9;2334:21;2315:4;2372:45;2413:2;2402:9;2398:18;2390:6;2372:45;:::i;:::-;2364:53;2203:220;-1:-1:-1;;;2203:220:23:o;2675:437::-;2754:1;2750:12;;;;2797;;;2818:61;;2872:4;2864:6;2860:17;2850:27;;2818:61;2925:2;2917:6;2914:14;2894:18;2891:38;2888:218;;2962:77;2959:1;2952:88;3063:4;3060:1;3053:15;3091:4;3088:1;3081:15;2888:218;;2675:437;;;:::o;3243:545::-;3345:2;3340:3;3337:11;3334:448;;;3381:1;3406:5;3402:2;3395:17;3451:4;3447:2;3437:19;3521:2;3509:10;3505:19;3502:1;3498:27;3492:4;3488:38;3557:4;3545:10;3542:20;3539:47;;;-1:-1:-1;3580:4:23;3539:47;3635:2;3630:3;3626:12;3623:1;3619:20;3613:4;3609:31;3599:41;;3690:82;3708:2;3701:5;3698:13;3690:82;;;3753:17;;;3734:1;3723:13;3690:82;;;3694:3;;;3334:448;3243:545;;;:::o;4024:1471::-;4150:3;4144:10;4177:18;4169:6;4166:30;4163:56;;;4199:18;;:::i;:::-;4228:97;4318:6;4278:38;4310:4;4304:11;4278:38;:::i;:::-;4272:4;4228:97;:::i;:::-;4380:4;;4444:2;4433:14;;4461:1;4456:782;;;;5282:1;5299:6;5296:89;;;-1:-1:-1;5351:19:23;;;5345:26;5296:89;3930:66;3921:1;3917:11;;;3913:84;3909:89;3899:100;4005:1;4001:11;;;3896:117;5398:81;;4426:1063;;4456:782;3190:1;3183:14;;;3227:4;3214:18;;4504:66;4492:79;;;4669:236;4683:7;4680:1;4677:14;4669:236;;;4772:19;;;4766:26;4751:42;;4864:27;;;;4832:1;4820:14;;;;4699:19;;4669:236;;;4673:3;4933:6;4924:7;4921:19;4918:261;;;4994:19;;;4988:26;5095:66;5077:1;5073:14;;;5089:3;5069:24;5065:97;5061:102;5046:118;5031:134;;4918:261;-1:-1:-1;;;;;5225:1:23;5209:14;;;5205:22;5192:36;;-1:-1:-1;4024:1471:23:o;5500:184::-;5570:6;5623:2;5611:9;5602:7;5598:23;5594:32;5591:52;;;5639:1;5636;5629:12;5591:52;-1:-1:-1;5662:16:23;;5500:184;-1:-1:-1;5500:184:23:o", "linkReferences": {}, "immutableReferences": { @@ -139,7 +139,7 @@ "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\":\"0x380ab9fd40c73e52202e49bc8ca254799aa135a5f7214c809f8a0cb65e8cc464\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://1269c4308eb17da88bf144f70c38f81948a63176573a9274002d6b09a2da4605\",\"dweb:/ipfs/QmRjVeDWNNvqhXWnePLbMcskw66KogmAP2iGYLmq3SxcAQ\"]},\"solidity/interfaces/IGreeter.sol\":{\"keccak256\":\"0x747827aecbe821fe3ed4b108eefa46393ee1277489d5273ef0496d51200af6c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8380c91f28de084d723f29f5e01bb0ccf835e536fc7dd9a84763fc6a4351cfa\",\"dweb:/ipfs/QmePrqnZzC6L8dYqGPgNwwdG4AnwgFGqWQU4aBmMRMv2ez\"]}},\"version\":1}", + "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\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":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\":\"0x380ab9fd40c73e52202e49bc8ca254799aa135a5f7214c809f8a0cb65e8cc464\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://1269c4308eb17da88bf144f70c38f81948a63176573a9274002d6b09a2da4605\",\"dweb:/ipfs/QmRjVeDWNNvqhXWnePLbMcskw66KogmAP2iGYLmq3SxcAQ\"]},\"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" @@ -307,13 +307,14 @@ }, "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/" + "@openzeppelin/=node_modules/@openzeppelin/", + "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,