@tokamak-network/thanos-contracts
Version:
1 lines • 104 kB
JSON
{"abi":[{"type":"function","name":"calculateCreateProxyWithNonceAddress","inputs":[{"name":"_singleton","type":"address","internalType":"address"},{"name":"initializer","type":"bytes","internalType":"bytes"},{"name":"saltNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proxy","type":"address","internalType":"contract GnosisSafeProxy"}],"stateMutability":"nonpayable"},{"type":"function","name":"createProxy","inputs":[{"name":"singleton","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"proxy","type":"address","internalType":"contract GnosisSafeProxy"}],"stateMutability":"nonpayable"},{"type":"function","name":"createProxyWithCallback","inputs":[{"name":"_singleton","type":"address","internalType":"address"},{"name":"initializer","type":"bytes","internalType":"bytes"},{"name":"saltNonce","type":"uint256","internalType":"uint256"},{"name":"callback","type":"address","internalType":"contract IProxyCreationCallback"}],"outputs":[{"name":"proxy","type":"address","internalType":"contract GnosisSafeProxy"}],"stateMutability":"nonpayable"},{"type":"function","name":"createProxyWithNonce","inputs":[{"name":"_singleton","type":"address","internalType":"address"},{"name":"initializer","type":"bytes","internalType":"bytes"},{"name":"saltNonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proxy","type":"address","internalType":"contract GnosisSafeProxy"}],"stateMutability":"nonpayable"},{"type":"function","name":"proxyCreationCode","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"proxyRuntimeCode","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"event","name":"ProxyCreation","inputs":[{"name":"proxy","type":"address","indexed":false,"internalType":"contract GnosisSafeProxy"},{"name":"singleton","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610ba2806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806361b69abd1161005057806361b69abd146100dc578063addacc0f146100ef578063d18af54d146100f757600080fd5b80631688f0b9146100775780632500510e146100b457806353e5d935146100c7575b600080fd5b61008a61008536600461070e565b61010a565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61008a6100c2366004610767565b610192565b6100cf610272565b6040516100ab919061086c565b61008a6100ea366004610886565b6102ba565b6100cf61037d565b61008a6101053660046108d6565b61038f565b60006101178484846104ab565b83519091501561013b5760008060008551602087016000865af10361013b57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8084168252861660208201527f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235910160405180910390a19392505050565b60006101d68585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506104ab915050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b166020820152909150603401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526102699160040161086c565b60405180910390fd5b606060405180602001610284906105f6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604052919050565b6000826040516102c9906105f6565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f080158015610302573d6000803e3d6000fd5b508251909150156103275760008060008451602086016000865af10361032757600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201527f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235910160405180910390a192915050565b60606040518060200161028490610603565b60008083836040516020016103d392919091825260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082015260340190565b6040516020818303038152906040528051906020012060001c90506103f986868361010a565b915073ffffffffffffffffffffffffffffffffffffffff8316156104a2576040517f1e52b51800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841690631e52b5189061046f9085908a908a908a90600401610942565b600060405180830381600087803b15801561048957600080fd5b505af115801561049d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020016104d1929190918252602082015260400190565b6040516020818303038152906040528051906020012090506000604051806020016104fb906105f6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f909101166040819052610553919073ffffffffffffffffffffffffffffffffffffffff89169060200161098c565b6040516020818303038152906040529050818151826020016000f5925073ffffffffffffffffffffffffffffffffffffffff83166105ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610269565b50509392505050565b61016f806109af83390190565b607880610b1e83390190565b73ffffffffffffffffffffffffffffffffffffffff8116811461063157600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261067457600080fd5b813567ffffffffffffffff8082111561068f5761068f610634565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156106d5576106d5610634565b816040528381528660208588010111156106ee57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561072357600080fd5b833561072e8161060f565b9250602084013567ffffffffffffffff81111561074a57600080fd5b61075686828701610663565b925050604084013590509250925092565b6000806000806060858703121561077d57600080fd5b84356107888161060f565b9350602085013567ffffffffffffffff808211156107a557600080fd5b818701915087601f8301126107b957600080fd5b8135818111156107c857600080fd5b8860208285010111156107da57600080fd5b95986020929092019750949560400135945092505050565b60005b8381101561080d5781810151838201526020016107f5565b8381111561081c576000848401525b50505050565b6000815180845261083a8160208601602086016107f2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061087f6020830184610822565b9392505050565b6000806040838503121561089957600080fd5b82356108a48161060f565b9150602083013567ffffffffffffffff8111156108c057600080fd5b6108cc85828601610663565b9150509250929050565b600080600080608085870312156108ec57600080fd5b84356108f78161060f565b9350602085013567ffffffffffffffff81111561091357600080fd5b61091f87828801610663565b9350506040850135915060608501356109378161060f565b939692955090935050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152506080604083015261097b6080830185610822565b905082606083015295945050505050565b6000835161099e8184602088016107f2565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161016f38038061016f83398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b6078806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea164736f6c634300080f000a6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea164736f6c634300080f000aa164736f6c634300080f000a","sourceMap":"324:5502:100:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c806361b69abd1161005057806361b69abd146100dc578063addacc0f146100ef578063d18af54d146100f757600080fd5b80631688f0b9146100775780632500510e146100b457806353e5d935146100c7575b600080fd5b61008a61008536600461070e565b61010a565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61008a6100c2366004610767565b610192565b6100cf610272565b6040516100ab919061086c565b61008a6100ea366004610886565b6102ba565b6100cf61037d565b61008a6101053660046108d6565b61038f565b60006101178484846104ab565b83519091501561013b5760008060008551602087016000865af10361013b57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8084168252861660208201527f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235910160405180910390a19392505050565b60006101d68585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506104ab915050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b166020820152909150603401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526102699160040161086c565b60405180910390fd5b606060405180602001610284906105f6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604052919050565b6000826040516102c9906105f6565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f080158015610302573d6000803e3d6000fd5b508251909150156103275760008060008451602086016000865af10361032757600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201527f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235910160405180910390a192915050565b60606040518060200161028490610603565b60008083836040516020016103d392919091825260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082015260340190565b6040516020818303038152906040528051906020012060001c90506103f986868361010a565b915073ffffffffffffffffffffffffffffffffffffffff8316156104a2576040517f1e52b51800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841690631e52b5189061046f9085908a908a908a90600401610942565b600060405180830381600087803b15801561048957600080fd5b505af115801561049d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020016104d1929190918252602082015260400190565b6040516020818303038152906040528051906020012090506000604051806020016104fb906105f6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f909101166040819052610553919073ffffffffffffffffffffffffffffffffffffffff89169060200161098c565b6040516020818303038152906040529050818151826020016000f5925073ffffffffffffffffffffffffffffffffffffffff83166105ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f437265617465322063616c6c206661696c6564000000000000000000000000006044820152606401610269565b50509392505050565b61016f806109af83390190565b607880610b1e83390190565b73ffffffffffffffffffffffffffffffffffffffff8116811461063157600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261067457600080fd5b813567ffffffffffffffff8082111561068f5761068f610634565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156106d5576106d5610634565b816040528381528660208588010111156106ee57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561072357600080fd5b833561072e8161060f565b9250602084013567ffffffffffffffff81111561074a57600080fd5b61075686828701610663565b925050604084013590509250925092565b6000806000806060858703121561077d57600080fd5b84356107888161060f565b9350602085013567ffffffffffffffff808211156107a557600080fd5b818701915087601f8301126107b957600080fd5b8135818111156107c857600080fd5b8860208285010111156107da57600080fd5b95986020929092019750949560400135945092505050565b60005b8381101561080d5781810151838201526020016107f5565b8381111561081c576000848401525b50505050565b6000815180845261083a8160208601602086016107f2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061087f6020830184610822565b9392505050565b6000806040838503121561089957600080fd5b82356108a48161060f565b9150602083013567ffffffffffffffff8111156108c057600080fd5b6108cc85828601610663565b9150509250929050565b600080600080608085870312156108ec57600080fd5b84356108f78161060f565b9350602085013567ffffffffffffffff81111561091357600080fd5b61091f87828801610663565b9350506040850135915060608501356109378161060f565b939692955090935050565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152506080604083015261097b6080830185610822565b905082606083015295945050505050565b6000835161099e8184602088016107f2565b919091019182525060200191905056fe608060405234801561001057600080fd5b5060405161016f38038061016f83398101604081905261002f916100b9565b6001600160a01b0381166100945760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556100e9565b6000602082840312156100cb57600080fd5b81516001600160a01b03811681146100e257600080fd5b9392505050565b6078806100f76000396000f3fe6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea164736f6c634300080f000a6080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604d57808252602082f35b3682833781823684845af490503d82833e806066573d82fd5b503d81f3fea164736f6c634300080f000aa164736f6c634300080f000a","sourceMap":"324:5502:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3268:576;;;;;;:::i;:::-;;:::i;:::-;;;1881:42:416;1869:55;;;1851:74;;1839:2;1824:18;3268:576:100;;;;;;;;5510:314;;;;;;:::i;:::-;;:::i;1548:122::-;;;:::i;:::-;;;;;;;:::i;675:462::-;;;;;;:::i;:::-;;:::i;1277:120::-;;;:::i;4382:511::-;;;;;;:::i;:::-;;:::i;3268:576::-;3409:21;3450:56;3471:10;3483:11;3496:9;3450:20;:56::i;:::-;3520:18;;3442:64;;-1:-1:-1;3520:22:100;3516:275;;3722:1;3718;3715;3701:11;3695:18;3688:4;3675:11;3671:22;3668:1;3661:5;3654;3649:71;3646:78;3643:134;;3757:1;3754;3747:12;3643:134;3805:32;;;4920:42:416;4989:15;;;4971:34;;5041:15;;5036:2;5021:18;;5014:43;3805:32:100;;4883:18:416;3805:32:100;;;;;;;3268:576;;;;;:::o;5510:314::-;5671:21;5712:56;5733:10;5745:11;;5712:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5758:9:100;;-1:-1:-1;5712:20:100;;-1:-1:-1;;5712:56:100:i;:::-;5792:23;;5263:66:416;5250:2;5246:15;;;5242:88;5792:23:100;;;5230:101:416;5704:64:100;;-1:-1:-1;5347:12:416;;5792:23:100;;;;;;;;;;;;;;5778:39;;;;;;;;:::i;:::-;;;;;;;;1548:122;1598:12;1629:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1548:122;-1:-1:-1;1548:122:100:o;675:462::-;750:21;811:9;791:30;;;;;:::i;:::-;1881:42:416;1869:55;;;1851:74;;1839:2;1824:18;791:30:100;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;835:11:100;;783:38;;-1:-1:-1;835:15:100;831:254;;1016:1;1012;1009;1002:4;996:11;989:4;983;979:15;976:1;969:5;962;957:57;954:64;951:120;;1051:1;1048;1041:12;951:120;1099:31;;;4920:42:416;4989:15;;;4971:34;;5041:15;;5036:2;5021:18;;5014:43;1099:31:100;;4883:18:416;1099:31:100;;;;;;;675:462;;;;:::o;1277:120::-;1326:12;1357:33;;;;;;;;:::i;4382:511::-;4567:21;4600:29;4667:9;4678:8;4650:37;;;;;;;;6014:19:416;;;6071:2;6067:15;6084:66;6063:88;6058:2;6049:12;;6042:110;6177:2;6168:12;;5825:361;4650:37:100;;;;;;;;;;;;;4640:48;;;;;;4632:57;;4600:89;;4707:68;4728:10;4740:11;4753:21;4707:20;:68::i;:::-;4699:76;-1:-1:-1;4789:31:100;;;;4785:101;;4822:64;;;;;:21;;;;;;:64;;4844:5;;4851:10;;4863:11;;4876:9;;4822:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4785:101;4590:303;4382:511;;;;;;:::o;2118:769::-;2261:21;2436:12;2488:11;2478:22;;;;;;2502:9;2461:51;;;;;;;;6897:19:416;;;6941:2;6932:12;;6925:28;6978:2;6969:12;;6740:247;2461:51:100;;;;;;;;;;;;;2451:62;;;;;;2436:77;;2523:27;2570:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2553:82;;2570:34;2606:28;;;;2570:34;2553:82;;:::i;:::-;;;;;;;;;;;;;2523:112;;2796:4;2779:14;2773:21;2756:14;2750:4;2746:25;2741:3;2733:68;2724:77;-1:-1:-1;2828:28:100;;;2820:60;;;;;;;7569:2:416;2820:60:100;;;7551:21:416;7608:2;7588:18;;;7581:30;7647:21;7627:18;;;7620:49;7686:18;;2820:60:100;7367:343:416;2820:60:100;2284:603;;2118:769;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:154:416:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;69:93;14:154;:::o;173:184::-;225:77;222:1;215:88;322:4;319:1;312:15;346:4;343:1;336:15;362:777;404:5;457:3;450:4;442:6;438:17;434:27;424:55;;475:1;472;465:12;424:55;511:6;498:20;537:18;574:2;570;567:10;564:36;;;580:18;;:::i;:::-;714:2;708:9;776:4;768:13;;619:66;764:22;;;788:2;760:31;756:40;744:53;;;812:18;;;832:22;;;809:46;806:72;;;858:18;;:::i;:::-;898:10;894:2;887:22;933:2;925:6;918:18;979:3;972:4;967:2;959:6;955:15;951:26;948:35;945:55;;;996:1;993;986:12;945:55;1060:2;1053:4;1045:6;1041:17;1034:4;1026:6;1022:17;1009:54;1107:1;1100:4;1095:2;1087:6;1083:15;1079:26;1072:37;1127:6;1118:15;;;;;;362:777;;;;:::o;1144:523::-;1230:6;1238;1246;1299:2;1287:9;1278:7;1274:23;1270:32;1267:52;;;1315:1;1312;1305:12;1267:52;1354:9;1341:23;1373:31;1398:5;1373:31;:::i;:::-;1423:5;-1:-1:-1;1479:2:416;1464:18;;1451:32;1506:18;1495:30;;1492:50;;;1538:1;1535;1528:12;1492:50;1561:49;1602:7;1593:6;1582:9;1578:22;1561:49;:::i;:::-;1551:59;;;1657:2;1646:9;1642:18;1629:32;1619:42;;1144:523;;;;;:::o;1936:794::-;2024:6;2032;2040;2048;2101:2;2089:9;2080:7;2076:23;2072:32;2069:52;;;2117:1;2114;2107:12;2069:52;2156:9;2143:23;2175:31;2200:5;2175:31;:::i;:::-;2225:5;-1:-1:-1;2281:2:416;2266:18;;2253:32;2304:18;2334:14;;;2331:34;;;2361:1;2358;2351:12;2331:34;2399:6;2388:9;2384:22;2374:32;;2444:7;2437:4;2433:2;2429:13;2425:27;2415:55;;2466:1;2463;2456:12;2415:55;2506:2;2493:16;2532:2;2524:6;2521:14;2518:34;;;2548:1;2545;2538:12;2518:34;2593:7;2588:2;2579:6;2575:2;2571:15;2567:24;2564:37;2561:57;;;2614:1;2611;2604:12;2561:57;1936:794;;2645:2;2637:11;;;;;-1:-1:-1;2667:6:416;;2720:2;2705:18;2692:32;;-1:-1:-1;1936:794:416;-1:-1:-1;;;1936:794:416:o;2735:258::-;2807:1;2817:113;2831:6;2828:1;2825:13;2817:113;;;2907:11;;;2901:18;2888:11;;;2881:39;2853:2;2846:10;2817:113;;;2948:6;2945:1;2942:13;2939:48;;;2983:1;2974:6;2969:3;2965:16;2958:27;2939:48;;2735:258;;;:::o;2998:316::-;3039:3;3077:5;3071:12;3104:6;3099:3;3092:19;3120:63;3176:6;3169:4;3164:3;3160:14;3153:4;3146:5;3142:16;3120:63;:::i;:::-;3228:2;3216:15;3233:66;3212:88;3203:98;;;;3303:4;3199:109;;2998:316;-1:-1:-1;;2998:316:416:o;3319:217::-;3466:2;3455:9;3448:21;3429:4;3486:44;3526:2;3515:9;3511:18;3503:6;3486:44;:::i;:::-;3478:52;3319:217;-1:-1:-1;;;3319:217:416:o;3541:455::-;3618:6;3626;3679:2;3667:9;3658:7;3654:23;3650:32;3647:52;;;3695:1;3692;3685:12;3647:52;3734:9;3721:23;3753:31;3778:5;3753:31;:::i;:::-;3803:5;-1:-1:-1;3859:2:416;3844:18;;3831:32;3886:18;3875:30;;3872:50;;;3918:1;3915;3908:12;3872:50;3941:49;3982:7;3973:6;3962:9;3958:22;3941:49;:::i;:::-;3931:59;;;3541:455;;;;;:::o;4001:697::-;4128:6;4136;4144;4152;4205:3;4193:9;4184:7;4180:23;4176:33;4173:53;;;4222:1;4219;4212:12;4173:53;4261:9;4248:23;4280:31;4305:5;4280:31;:::i;:::-;4330:5;-1:-1:-1;4386:2:416;4371:18;;4358:32;4413:18;4402:30;;4399:50;;;4445:1;4442;4435:12;4399:50;4468:49;4509:7;4500:6;4489:9;4485:22;4468:49;:::i;:::-;4458:59;;;4564:2;4553:9;4549:18;4536:32;4526:42;;4620:2;4609:9;4605:18;4592:32;4633:33;4658:7;4633:33;:::i;:::-;4001:697;;;;-1:-1:-1;4001:697:416;;-1:-1:-1;;4001:697:416:o;6191:544::-;6418:4;6447:42;6528:2;6520:6;6516:15;6505:9;6498:34;6580:2;6572:6;6568:15;6563:2;6552:9;6548:18;6541:43;;6620:3;6615:2;6604:9;6600:18;6593:31;6641:45;6681:3;6670:9;6666:19;6658:6;6641:45;:::i;:::-;6633:53;;6722:6;6717:2;6706:9;6702:18;6695:34;6191:544;;;;;;;:::o;6992:370::-;7149:3;7187:6;7181:13;7203:53;7249:6;7244:3;7237:4;7229:6;7225:17;7203:53;:::i;:::-;7278:16;;;;7303:21;;;-1:-1:-1;7351:4:416;7340:16;;6992:370;-1:-1:-1;6992:370:416:o","linkReferences":{}},"methodIdentifiers":{"calculateCreateProxyWithNonceAddress(address,bytes,uint256)":"2500510e","createProxy(address,bytes)":"61b69abd","createProxyWithCallback(address,bytes,uint256,address)":"d18af54d","createProxyWithNonce(address,bytes,uint256)":"1688f0b9","proxyCreationCode()":"53e5d935","proxyRuntimeCode()":"addacc0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"singleton\",\"type\":\"address\"}],\"name\":\"ProxyCreation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"calculateCreateProxyWithNonceAddress\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"createProxy\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"},{\"internalType\":\"contract IProxyCreationCallback\",\"name\":\"callback\",\"type\":\"address\"}],\"name\":\"createProxyWithCallback\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxyCreationCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxyRuntimeCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Stefan George - <stefan@gnosis.pm>\",\"kind\":\"dev\",\"methods\":{\"calculateCreateProxyWithNonceAddress(address,bytes,uint256)\":{\"details\":\"Allows to get the address for a new proxy contact created via `createProxyWithNonce` This method is only meant for address calculation purpose when you use an initializer that would revert, therefore the response is returned with a revert. When calling this method set `from` to the address of the proxy factory.\",\"params\":{\"_singleton\":\"Address of singleton contract.\",\"initializer\":\"Payload for message call sent to new proxy contract.\",\"saltNonce\":\"Nonce that will be used to generate the salt to calculate the address of the new proxy contract.\"}},\"createProxy(address,bytes)\":{\"details\":\"Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\",\"params\":{\"data\":\"Payload for message call sent to new proxy contract.\",\"singleton\":\"Address of singleton contract.\"}},\"createProxyWithCallback(address,bytes,uint256,address)\":{\"details\":\"Allows to create new proxy contact, execute a message call to the new proxy and call a specified callback within one transaction\",\"params\":{\"_singleton\":\"Address of singleton contract.\",\"callback\":\"Callback that will be invoced after the new proxy contract has been successfully deployed and initialized.\",\"initializer\":\"Payload for message call sent to new proxy contract.\",\"saltNonce\":\"Nonce that will be used to generate the salt to calculate the address of the new proxy contract.\"}},\"createProxyWithNonce(address,bytes,uint256)\":{\"details\":\"Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\",\"params\":{\"_singleton\":\"Address of singleton contract.\",\"initializer\":\"Payload for message call sent to new proxy contract.\",\"saltNonce\":\"Nonce that will be used to generate the salt to calculate the address of the new proxy contract.\"}},\"proxyCreationCode()\":{\"details\":\"Allows to retrieve the creation code used for the Proxy deployment. With this it is easily possible to calculate predicted address.\"},\"proxyRuntimeCode()\":{\"details\":\"Allows to retrieve the runtime code of a deployed Proxy. This can be used to check that the expected Proxy was deployed.\"}},\"title\":\"Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol\":\"GnosisSafeProxyFactory\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/safe-contracts/contracts/proxies/GnosisSafeProxy.sol\":{\"keccak256\":\"0x3bfdd453d9f896f7029d15bcafd11886957b320ad1764309d9f74fa059715249\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5b5b7d0c8a900ba758e012236bf1c55e885fe5716aa79f6f693d22c31c85f7d5\",\"dweb:/ipfs/QmUq5oNsZY1b5pcYAzrY1i9oqyPUaiFhLaEWgB9ML6LrBj\"]},\"lib/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol\":{\"keccak256\":\"0x187c6f84c71b432da6721c1b81cebfbb9c37c0cc15ebd8de5a14ff7ec6db2d9e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://cfe1ac5a4ba0475db666912d5b4397d8fae96342c27a47a664a881e24377ed38\",\"dweb:/ipfs/QmVcaZrvPbH2csouaU3r1quFtugC4AUeCbrzBBmXSYk9W6\"]},\"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol\":{\"keccak256\":\"0x51a9ce914a6a943651c803541e44218a7ed0a2f98a94d55df66b173b5a11e365\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5216ed8181c14d462ec821593c8f90f33c7dbe8b4c505a1092bf31a9d33132b9\",\"dweb:/ipfs/Qmbb2wkgijuTcEbGR7CnmiAtwZDyruQ2b1ged4HnLysQnT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address","indexed":false},{"internalType":"address","name":"singleton","type":"address","indexed":false}],"type":"event","name":"ProxyCreation","anonymous":false},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"calculateCreateProxyWithNonceAddress","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}]},{"inputs":[{"internalType":"address","name":"singleton","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"createProxy","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"},{"internalType":"contract IProxyCreationCallback","name":"callback","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"createProxyWithCallback","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createProxyWithNonce","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"proxyCreationCode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"proxyRuntimeCode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]}],"devdoc":{"kind":"dev","methods":{"calculateCreateProxyWithNonceAddress(address,bytes,uint256)":{"details":"Allows to get the address for a new proxy contact created via `createProxyWithNonce` This method is only meant for address calculation purpose when you use an initializer that would revert, therefore the response is returned with a revert. When calling this method set `from` to the address of the proxy factory.","params":{"_singleton":"Address of singleton contract.","initializer":"Payload for message call sent to new proxy contract.","saltNonce":"Nonce that will be used to generate the salt to calculate the address of the new proxy contract."}},"createProxy(address,bytes)":{"details":"Allows to create new proxy contact and execute a message call to the new proxy within one transaction.","params":{"data":"Payload for message call sent to new proxy contract.","singleton":"Address of singleton contract."}},"createProxyWithCallback(address,bytes,uint256,address)":{"details":"Allows to create new proxy contact, execute a message call to the new proxy and call a specified callback within one transaction","params":{"_singleton":"Address of singleton contract.","callback":"Callback that will be invoced after the new proxy contract has been successfully deployed and initialized.","initializer":"Payload for message call sent to new proxy contract.","saltNonce":"Nonce that will be used to generate the salt to calculate the address of the new proxy contract."}},"createProxyWithNonce(address,bytes,uint256)":{"details":"Allows to create new proxy contact and execute a message call to the new proxy within one transaction.","params":{"_singleton":"Address of singleton contract.","initializer":"Payload for message call sent to new proxy contract.","saltNonce":"Nonce that will be used to generate the salt to calculate the address of the new proxy contract."}},"proxyCreationCode()":{"details":"Allows to retrieve the creation code used for the Proxy deployment. With this it is easily possible to calculate predicted address."},"proxyRuntimeCode()":{"details":"Allows to retrieve the runtime code of a deployed Proxy. This can be used to check that the expected Proxy was deployed."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol":"GnosisSafeProxyFactory"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/safe-contracts/contracts/proxies/GnosisSafeProxy.sol":{"keccak256":"0x3bfdd453d9f896f7029d15bcafd11886957b320ad1764309d9f74fa059715249","urls":["bzz-raw://5b5b7d0c8a900ba758e012236bf1c55e885fe5716aa79f6f693d22c31c85f7d5","dweb:/ipfs/QmUq5oNsZY1b5pcYAzrY1i9oqyPUaiFhLaEWgB9ML6LrBj"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol":{"keccak256":"0x187c6f84c71b432da6721c1b81cebfbb9c37c0cc15ebd8de5a14ff7ec6db2d9e","urls":["bzz-raw://cfe1ac5a4ba0475db666912d5b4397d8fae96342c27a47a664a881e24377ed38","dweb:/ipfs/QmVcaZrvPbH2csouaU3r1quFtugC4AUeCbrzBBmXSYk9W6"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol":{"keccak256":"0x51a9ce914a6a943651c803541e44218a7ed0a2f98a94d55df66b173b5a11e365","urls":["bzz-raw://5216ed8181c14d462ec821593c8f90f33c7dbe8b4c505a1092bf31a9d33132b9","dweb:/ipfs/Qmbb2wkgijuTcEbGR7CnmiAtwZDyruQ2b1ged4HnLysQnT"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","author":"Stefan George - <stefan@gnosis.pm>","methods":{"calculateCreateProxyWithNonceAddress(address,bytes,uint256)":{"details":"Allows to get the address for a new proxy contact created via `createProxyWithNonce` This method is only meant for address calculation purpose when you use an initializer that would revert, therefore the response is returned with a revert. When calling this method set `from` to the address of the proxy factory.","params":{"_singleton":"Address of singleton contract.","initializer":"Payload for message call sent to new proxy contract.","saltNonce":"Nonce that will be used to generate the salt to calculate the address of the new proxy contract."}},"createProxy(address,bytes)":{"details":"Allows to create new proxy contact and execute a message call to the new proxy within one transaction.","params":{"data":"Payload for message call sent to new proxy contract.","singleton":"Address of singleton contract."}},"createProxyWithCallback(address,bytes,uint256,address)":{"details":"Allows to create new proxy contact, execute a message call to the new proxy and call a specified callback within one transaction","params":{"_singleton":"Address of singleton contract.","callback":"Callback that will be invoced after the new proxy contract has been successfully deployed and initialized.","initializer":"Payload for message call sent to new proxy contract.","saltNonce":"Nonce that will be used to generate the salt to calculate the address of the new proxy contract."}},"createProxyWithNonce(address,bytes,uint256)":{"details":"Allows to create new proxy contact and execute a message call to the new proxy within one transaction.","params":{"_singleton":"Address of singleton contract.","initializer":"Payload for message call sent to new proxy contract.","saltNonce":"Nonce that will be used to generate the salt to calculate the address of the new proxy contract."}},"proxyCreationCode()":{"details":"Allows to retrieve the creation code used for the Proxy deployment. With this it is easily possible to calculate predicted address."},"proxyRuntimeCode()":{"details":"Allows to retrieve the runtime code of a deployed Proxy. This can be used to check that the expected Proxy was deployed."}},"title":"Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction."},"ast":{"absolutePath":"lib/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol","id":60881,"exportedSymbols":{"GnosisSafeProxy":[60633],"GnosisSafeProxyFactory":[60880],"IProxy":[60602],"IProxyCreationCallback":[60896]},"nodeType":"SourceUnit","src":"42:5785:100","nodes":[{"id":60635,"nodeType":"PragmaDirective","src":"42:31:100","nodes":[],"literals":["solidity",">=","0.7",".0","<","0.9",".0"]},{"id":60636,"nodeType":"ImportDirective","src":"75:31:100","nodes":[],"absolutePath":"lib/safe-contracts/contracts/proxies/GnosisSafeProxy.sol","file":"./GnosisSafeProxy.sol","nameLocation":"-1:-1:-1","scope":60881,"sourceUnit":60634,"symbolAliases":[],"unitAlias":""},{"id":60637,"nodeType":"ImportDirective","src":"107:38:100","nodes":[],"absolutePath":"lib/safe-contracts/contracts/proxies/IProxyCreationCallback.sol","file":"./IProxyCreationCallback.sol","nameLocation":"-1:-1:-1","scope":60881,"sourceUnit":60897,"symbolAliases":[],"unitAlias":""},{"id":60880,"nodeType":"ContractDefinition","src":"324:5502:100","nodes":[{"id":60645,"nodeType":"EventDefinition","src":"362:62:100","nodes":[],"anonymous":false,"eventSelector":"4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235","name":"ProxyCreation","nameLocation":"368:13:100","parameters":{"id":60644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60641,"indexed":false,"mutability":"mutable","name":"proxy","nameLocation":"398:5:100","nodeType":"VariableDeclaration","scope":60645,"src":"382:21:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxy_$60633","typeString":"contract GnosisSafeProxy"},"typeName":{"id":60640,"nodeType":"UserDefinedTypeName","pathNode":{"id":60639,"name":"GnosisSafeProxy","nodeType":"IdentifierPath","referencedDeclaration":60633,"src":"382:15:100"},"referencedDeclaration":60633,"src":"382:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxy_$60633","typeString":"contract GnosisSafeProxy"}},"visibility":"internal"},{"constant":false,"id":60643,"indexed":false,"mutability":"mutable","name":"singleton","nameLocation":"413:9:100","nodeType":"VariableDeclaration","scope":60645,"src":"405:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60642,"name":"address","nodeType":"ElementaryTypeName","src":"405:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"381:42:100"}},{"id":60676,"nodeType":"FunctionDefinition","src":"675:462:100","nodes":[],"body":{"id":60675,"nodeType":"Block","src":"773:364:100","nodes":[],"statements":[{"expression":{"id":60662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60656,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60654,"src":"783:5:100","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxy_$60633","typeString":"contract GnosisSafeProxy"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":60660,"name":"singleton","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60648,"src":"811:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"791:19:100","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_GnosisSafeProxy_$60633_$","typeString":"function (address) returns (contract GnosisSafeProxy)"},"typeName":{"id":60658,"nodeType":"UserDefinedTypeName","pathNode":{"id":60657,"name":"GnosisSafeProxy","nodeType":"IdentifierPath","referencedDeclaration":60633,"src":"795:15:100"},"referencedDeclaration":60633,"src":"795:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxy_$60633","typeString":"contract GnosisSafeProxy"}}},"id":60661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"791:30:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxy_$60633","typeString":"contract GnosisSafeProxy"}},"src":"783:38:100","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxy_$60633","typeString":"contract GnosisSafeProxy"}},"id":60663,"nodeType":"ExpressionStatement","src":"783:38:100"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":60667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":60664,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60650,"src":"835:4:100","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":60665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"835:11:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":60666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"849:1:100","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"835:15:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":60669,"nodeType":"IfStatement","src":"831:254:100","trueBody":{"AST":{"nodeType":"YulBlock","src":"933:152:100","statements":[{"body":{"nodeType":"YulBlock","src":"1019:52:100","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1048:1:100","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1051:1:100","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1041:6:100"},"nodeType":"YulFunctionCall","src":"1041:12:100"},"nodeType":"YulExpressionStatement","src":"1041:12:100"}]},"condition":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"962:3:100"},"nodeType":"YulFunctionCall","src":"962:5:100"},{"name":"proxy","nodeType":"YulIdentifier","src":"969:5:100"},{"kind":"number","nodeType":"YulLiteral","src":"976:1:100","type":"","value":"0"},{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"983:4:100"},{"kind":"number","nodeType":"YulLiteral","src":"989:4:100","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"979:3:100"},"nodeType":"YulFunctionCall","src":"979:15:100"},{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1002:4:100"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"996:5:100"},"nodeType":"YulFunctionCall","src":"996:11:100"},{"kind":"number","nodeType":"YulLiteral","src":"1009:1:100","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1012:1:100","type":"","value":"0"}],"functionName":{"name":"call","nodeType":"YulIdentifier","src":"957:4:100"},"nodeType":"YulFunctionCall","src":"957:57:100"},{"kind":"number","nodeType":"YulLiteral","src":"1016:1:100","type":"","value":"0"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"954:2:100"},"nodeType":"YulFunctionCall","src":"954:64:100"},"nodeType":"YulIf","src":"951:120:100"}]},"evmVersion":"london","externalReferences":[{"declaration":60650,"isOffset":false,"isSlot":false,"src":"1002:4:100","valueSize":1},{"declaration":60650,"isOffset":false,"isSlot":false,"src":"983:4:100","valueSize":1},{"declaration":60654,"isOffset":false,"isSlot":false,"src":"969:5:100","valueSize":1}],"id":60668,"nodeType":"InlineAssembly","src":"924:161:100"}},{"eventCall":{"arguments":[{"id":60671,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60654,"src":"1113:5:100","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxy_$60633","typeString":"contract GnosisSafeProxy"}},{"id":60672,"name":"singleton","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60648,"src":"1120:9:100","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GnosisSafeProxy_$60633","typeString":"contract GnosisSafeProxy"},{"typeIdentifier":"t_address","typeString":"address"}],"id":60670,"name":"ProxyCreation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60645,"src":"1099:13:100","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_GnosisSafeProxy_$60633_$_t_address_$returns$__$","typeString":"function (contract GnosisSafeProxy,address)"}},"id":60673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1099:31:100","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60674,"nodeType":"EmitStatement","src":"1094:36:100"}]},"documentation":{"id":60646,"nodeType":"StructuredDocumentation","src":"430:240:100","text":"@dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n @param singleton Address of singleton contract.\n @param data Payload for message call sent to new proxy contract."},"functionSelector":"61b69abd","implemented":true,"kind":"function","modifiers":[],"name":"createProxy","nameLocation":"684:11:100","parameters":{"id":60651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60648,"mutability":"mutable","name":"singleton","nameLocation":"704:9:100","nodeType":"VariableDeclaration","scope":60676,"src":"696:17:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60647,"name":"address","nodeType":"ElementaryTypeName","src":"696:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60650,"mutability":"mutable","name":"data","nameLocation":"728:4:100","nodeType":"VariableDeclaration","scope":60676,"src":"715:17:100","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60649,"name":"bytes","nodeType":"ElementaryTypeName","src":"715:5:100","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"695:38:100"},"returnParameters":{"id":60655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60654,"mutability":"mutable","name":"proxy","nameLocation":"766:5:100","nodeType":"VariableDeclaration","scope":60676,"src":"750:21:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxy_$60633","typeString":"contract GnosisSafeProxy"},"typeName":{"id":60653,"nodeType":"UserDefinedTypeName","pathNode":{"id":60652,"name":"GnosisSafeProxy","nodeType":"IdentifierPath","referencedDeclaration":60633,"src":"750:15:100"},"referencedDeclaration":60633,"src":"750:15:100","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxy_$60633","typeString":"contract GnosisSafeProxy"}},"visibility":"internal"}],"src":"749:23:100"},"scope":60880,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":60688,"nodeType":"FunctionDefinition","src":"1277:120:100","nodes":[],"body":{"id":60687,"nodeType":"Block","src":"1340:57:100","nodes":[],"statements":[{"express