{"abi":[{"type":"constructor","inputs":[{"name":"_owners","type":"address[]","internalType":"address[]"},{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"addOwnerWithThreshold","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"changeThreshold","inputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getThreshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"removeOwner","inputs":[{"name":"prevOwner","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeOwnerWrapped","inputs":[{"name":"prevOwner","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"swapOwner","inputs":[{"name":"prevOwner","type":"address","internalType":"address"},{"name":"oldOwner","type":"address","internalType":"address"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddedOwner","inputs":[{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ChangedThreshold","inputs":[{"name":"threshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RemovedOwner","inputs":[{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801562000010575f80fd5b506040516200135e3803806200135e8339810160408190526200003391620002ba565b6200003f828262000047565b5050620003c8565b60025415620000855760405162461bcd60e51b8152602060048201526005602482015264047533230360dc1b60448201526064015b60405180910390fd5b8151811115620000c05760405162461bcd60e51b8152602060048201526005602482015264475332303160d81b60448201526064016200007c565b6001811015620000fb5760405162461bcd60e51b815260206004820152600560248201526423a999181960d91b60448201526064016200007c565b60015f5b835181101562000255575f8482815181106200011f576200011f6200038f565b602002602001015190505f6001600160a01b0316816001600160a01b0316141580156200015657506001600160a01b038116600114155b80156200016c57506001600160a01b0381163014155b80156200018b5750806001600160a01b0316836001600160a01b031614155b620001c15760405162461bcd60e51b8152602060048201526005602482015264475332303360d81b60448201526064016200007c565b6001600160a01b038181165f908152602081905260409020541615620002125760405162461bcd60e51b815260206004820152600560248201526411d4cc8c0d60da1b60448201526064016200007c565b6001600160a01b039283165f90815260208190526040902080546001600160a01b03191693821693909317909255806200024c81620003a3565b915050620000ff565b506001600160a01b03165f90815260208190526040902080546001600160a01b03191660019081179091559151909155600255565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b0381168114620002b5575f80fd5b919050565b5f8060408385031215620002cc575f80fd5b82516001600160401b0380821115620002e3575f80fd5b818501915085601f830112620002f7575f80fd5b81516020828211156200030e576200030e6200028a565b8160051b604051601f19603f830116810181811086821117156200033657620003366200028a565b60405292835281830193508481018201928984111562000354575f80fd5b948201945b838610156200037d576200036d866200029e565b8552948201949382019362000359565b97909101519698969750505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f60018201620003c157634e487b7160e01b5f52601160045260245ffd5b5060010190565b610f8880620003d65f395ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c8063e318b52b11610058578063e318b52b146100ee578063e75235b814610101578063f8dc5dd914610112578063fcb7a49514610125575f80fd5b80630d582f13146100895780632f54bf6e1461009e578063694e80c3146100c6578063a0e67e2b146100d9575b5f80fd5b61009c610097366004610d45565b610138565b005b6100b16100ac366004610d6d565b61038d565b60405190151581526020015b60405180910390f35b61009c6100d4366004610d8d565b6103e0565b6100e16104fa565b6040516100bd9190610da4565b61009c6100fc366004610dfd565b61060e565b6002546040519081526020016100bd565b61009c610120366004610e3d565b610995565b61009c610133366004610e3d565b610c24565b610140610cb2565b73ffffffffffffffffffffffffffffffffffffffff82161580159061017c575073ffffffffffffffffffffffffffffffffffffffff8216600114155b801561019e575073ffffffffffffffffffffffffffffffffffffffff82163014155b610209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f475332303300000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8281165f908152602081905260409020541615610297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230340000000000000000000000000000000000000000000000000000006044820152606401610200565b5f60208190527fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d805473ffffffffffffffffffffffffffffffffffffffff858116808552604085208054929093167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556001808552835490911690911790915580549161032983610ea3565b909155505060405173ffffffffffffffffffffffffffffffffffffffff831681527f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea269060200160405180910390a1806002541461038957610389816103e0565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff82166001148015906103da575073ffffffffffffffffffffffffffffffffffffffff8281165f908152602081905260409020541615155b92915050565b6103e8610cb2565b600154811115610454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230310000000000000000000000000000000000000000000000000000006044820152606401610200565b60018110156104bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230320000000000000000000000000000000000000000000000000000006044820152606401610200565b60028190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60605f60015467ffffffffffffffff81111561051857610518610eda565b604051908082528060200260200182016040528015610541578160200160208202803683370190505b5060015f90815260208190527fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d549192509073ffffffffffffffffffffffffffffffffffffffff165b73ffffffffffffffffffffffffffffffffffffffff811660011461060657808383815181106105bb576105bb610f07565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092018101919091529181165f9081529182905260409091205416816105fe81610ea3565b92505061058a565b509092915050565b610616610cb2565b73ffffffffffffffffffffffffffffffffffffffff811615801590610652575073ffffffffffffffffffffffffffffffffffffffff8116600114155b8015610674575073ffffffffffffffffffffffffffffffffffffffff81163014155b6106da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230330000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8181165f908152602081905260409020541615610768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230340000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8216158015906107a4575073ffffffffffffffffffffffffffffffffffffffff8216600114155b61080a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230330000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8381165f9081526020819052604090205481169083161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230350000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8281165f81815260208181526040808320805487871680865283862080549289167fffffffffffffffffffffffff0000000000000000000000000000000000000000938416179055968a1685528285208054821690971790965592849052825490941690915591519081527ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf910160405180910390a160405173ffffffffffffffffffffffffffffffffffffffff821681527f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea269060200160405180910390a1505050565b61099d610cb2565b80600180546109ac9190610f34565b1015610a14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230310000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff821615801590610a50575073ffffffffffffffffffffffffffffffffffffffff8216600114155b610ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230330000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8381165f90815260208190526040902054811690831614610b48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230350000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8281165f81815260208190526040808220805488861684529183208054929095167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790945591815282549091169091556001805491610bbf83610f47565b909155505060405173ffffffffffffffffffffffffffffffffffffffff831681527ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf9060200160405180910390a18060025414610c1f57610c1f816103e0565b505050565b6040517ff8dc5dd900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80851660048301528316602482015260448101829052309063f8dc5dd9906064015f604051808303815f87803b158015610c97575f80fd5b505af1158015610ca9573d5f803e3d5ffd5b50505050505050565b333014610d1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610200565b565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d40575f80fd5b919050565b5f8060408385031215610d56575f80fd5b610d5f83610d1d565b946020939093013593505050565b5f60208284031215610d7d575f80fd5b610d8682610d1d565b9392505050565b5f60208284031215610d9d575f80fd5b5035919050565b602080825282518282018190525f9190848201906040850190845b81811015610df157835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610dbf565b50909695505050505050565b5f805f60608486031215610e0f575f80fd5b610e1884610d1d565b9250610e2660208501610d1d565b9150610e3460408501610d1d565b90509250925092565b5f805f60608486031215610e4f575f80fd5b610e5884610d1d565b9250610e6660208501610d1d565b9150604084013590509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ed357610ed3610e76565b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b818103818111156103da576103da610e76565b5f81610f5557610f55610e76565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea164736f6c6343000814000a","sourceMap":"1109:442:95:-:0;;;1155:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1223:32;1235:7;1244:10;1223:11;:32::i;:::-;1155:107;;1109:442;;835:1136:45;1053:9;;:14;1045:32;;;;-1:-1:-1;;;1045:32:45;;1727:2:96;1045:32:45;;;1709:21:96;1766:1;1746:18;;;1739:29;-1:-1:-1;;;1784:18:96;;;1777:35;1829:18;;1045:32:45;;;;;;;;;1184:7;:14;1170:10;:28;;1162:46;;;;-1:-1:-1;;;1162:46:45;;2060:2:96;1162:46:45;;;2042:21:96;2099:1;2079:18;;;2072:29;-1:-1:-1;;;2117:18:96;;;2110:35;2162:18;;1162:46:45;1858:328:96;1162:46:45;1292:1;1278:10;:15;;1270:33;;;;-1:-1:-1;;;1270:33:45;;2393:2:96;1270:33:45;;;2375:21:96;2432:1;2412:18;;;2405:29;-1:-1:-1;;;2450:18:96;;;2443:35;2495:18;;1270:33:45;2191:328:96;1270:33:45;520:3;1350:20;1398:450;1422:7;:14;1418:1;:18;1398:450;;;1502:13;1518:7;1526:1;1518:10;;;;;;;;:::i;:::-;;;;;;;1502:26;;1567:1;-1:-1:-1;;;;;1550:19:45;:5;-1:-1:-1;;;;;1550:19:45;;;:47;;;;-1:-1:-1;;;;;;1573:24:45;;520:3;1573:24;;1550:47;:73;;;;-1:-1:-1;;;;;;1601:22:45;;1618:4;1601:22;;1550:73;:98;;;;;1643:5;-1:-1:-1;;;;;1627:21:45;:12;-1:-1:-1;;;;;1627:21:45;;;1550:98;1542:116;;;;-1:-1:-1;;;1542:116:45;;2858:2:96;1542:116:45;;;2840:21:96;2897:1;2877:18;;;2870:29;-1:-1:-1;;;2915:18:96;;;2908:35;2960:18;;1542:116:45;2656:328:96;1542:116:45;-1:-1:-1;;;;;1724:13:45;;;1749:1;1724:13;;;;;;;;;;;;:27;1716:45;;;;-1:-1:-1;;;1716:45:45;;3191:2:96;1716:45:45;;;3173:21:96;3230:1;3210:18;;;3203:29;-1:-1:-1;;;3248:18:96;;;3241:35;3293:18;;1716:45:45;2989:328:96;1716:45:45;-1:-1:-1;;;;;1775:20:45;;;:6;:20;;;;;;;;;;:28;;-1:-1:-1;;;;;;1775:28:45;;;;;;;;;;;1438:3;;;;:::i;:::-;;;;1398:450;;;-1:-1:-1;;;;;;1857:20:45;:6;:20;;;;;;;;;;:38;;-1:-1:-1;;;;;;1857:38:45;520:3;1857:38;;;;;;1918:14;;1905:27;;;1942:9;:22;835:1136::o;14:127:96:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:96;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:1192::-;432:6;440;493:2;481:9;472:7;468:23;464:32;461:52;;;509:1;506;499:12;461:52;536:16;;-1:-1:-1;;;;;601:14:96;;;598:34;;;628:1;625;618:12;598:34;666:6;655:9;651:22;641:32;;711:7;704:4;700:2;696:13;692:27;682:55;;733:1;730;723:12;682:55;762:2;756:9;784:4;807:2;803;800:10;797:36;;;813:18;;:::i;:::-;859:2;856:1;852:10;891:2;885:9;954:2;950:7;945:2;941;937:11;933:25;925:6;921:38;1009:6;997:10;994:22;989:2;977:10;974:18;971:46;968:72;;;1020:18;;:::i;:::-;1056:2;1049:22;1106:18;;;1140:15;;;;-1:-1:-1;1182:11:96;;;1178:20;;;1210:19;;;1207:39;;;1242:1;1239;1232:12;1207:39;1266:11;;;;1286:159;1302:6;1297:3;1294:15;1286:159;;;1368:34;1398:3;1368:34;:::i;:::-;1356:47;;1319:12;;;;1423;;;;1286:159;;;1495:18;;;;1489:25;1464:6;;1489:25;;-1:-1:-1;;;;;;;328:1192:96:o;2524:127::-;2585:10;2580:3;2576:20;2573:1;2566:31;2616:4;2613:1;2606:15;2640:4;2637:1;2630:15;3322:232;3361:3;3382:17;;;3379:140;;3441:10;3436:3;3432:20;3429:1;3422:31;3476:4;3473:1;3466:15;3504:4;3501:1;3494:15;3379:140;-1:-1:-1;3546:1:96;3535:13;;3322:232::o;:::-;1109:442:95;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610085575f3560e01c8063e318b52b11610058578063e318b52b146100ee578063e75235b814610101578063f8dc5dd914610112578063fcb7a49514610125575f80fd5b80630d582f13146100895780632f54bf6e1461009e578063694e80c3146100c6578063a0e67e2b146100d9575b5f80fd5b61009c610097366004610d45565b610138565b005b6100b16100ac366004610d6d565b61038d565b60405190151581526020015b60405180910390f35b61009c6100d4366004610d8d565b6103e0565b6100e16104fa565b6040516100bd9190610da4565b61009c6100fc366004610dfd565b61060e565b6002546040519081526020016100bd565b61009c610120366004610e3d565b610995565b61009c610133366004610e3d565b610c24565b610140610cb2565b73ffffffffffffffffffffffffffffffffffffffff82161580159061017c575073ffffffffffffffffffffffffffffffffffffffff8216600114155b801561019e575073ffffffffffffffffffffffffffffffffffffffff82163014155b610209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f475332303300000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8281165f908152602081905260409020541615610297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230340000000000000000000000000000000000000000000000000000006044820152606401610200565b5f60208190527fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d805473ffffffffffffffffffffffffffffffffffffffff858116808552604085208054929093167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556001808552835490911690911790915580549161032983610ea3565b909155505060405173ffffffffffffffffffffffffffffffffffffffff831681527f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea269060200160405180910390a1806002541461038957610389816103e0565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff82166001148015906103da575073ffffffffffffffffffffffffffffffffffffffff8281165f908152602081905260409020541615155b92915050565b6103e8610cb2565b600154811115610454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230310000000000000000000000000000000000000000000000000000006044820152606401610200565b60018110156104bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230320000000000000000000000000000000000000000000000000000006044820152606401610200565b60028190556040518181527f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c939060200160405180910390a150565b60605f60015467ffffffffffffffff81111561051857610518610eda565b604051908082528060200260200182016040528015610541578160200160208202803683370190505b5060015f90815260208190527fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d549192509073ffffffffffffffffffffffffffffffffffffffff165b73ffffffffffffffffffffffffffffffffffffffff811660011461060657808383815181106105bb576105bb610f07565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092018101919091529181165f9081529182905260409091205416816105fe81610ea3565b92505061058a565b509092915050565b610616610cb2565b73ffffffffffffffffffffffffffffffffffffffff811615801590610652575073ffffffffffffffffffffffffffffffffffffffff8116600114155b8015610674575073ffffffffffffffffffffffffffffffffffffffff81163014155b6106da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230330000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8181165f908152602081905260409020541615610768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230340000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8216158015906107a4575073ffffffffffffffffffffffffffffffffffffffff8216600114155b61080a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230330000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8381165f9081526020819052604090205481169083161461089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230350000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8281165f81815260208181526040808320805487871680865283862080549289167fffffffffffffffffffffffff0000000000000000000000000000000000000000938416179055968a1685528285208054821690971790965592849052825490941690915591519081527ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf910160405180910390a160405173ffffffffffffffffffffffffffffffffffffffff821681527f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea269060200160405180910390a1505050565b61099d610cb2565b80600180546109ac9190610f34565b1015610a14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230310000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff821615801590610a50575073ffffffffffffffffffffffffffffffffffffffff8216600114155b610ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230330000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8381165f90815260208190526040902054811690831614610b48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533230350000000000000000000000000000000000000000000000000000006044820152606401610200565b73ffffffffffffffffffffffffffffffffffffffff8281165f81815260208190526040808220805488861684529183208054929095167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790945591815282549091169091556001805491610bbf83610f47565b909155505060405173ffffffffffffffffffffffffffffffffffffffff831681527ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf9060200160405180910390a18060025414610c1f57610c1f816103e0565b505050565b6040517ff8dc5dd900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80851660048301528316602482015260448101829052309063f8dc5dd9906064015f604051808303815f87803b158015610c97575f80fd5b505af1158015610ca9573d5f803e3d5ffd5b50505050505050565b333014610d1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f47533033310000000000000000000000000000000000000000000000000000006044820152606401610200565b565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d40575f80fd5b919050565b5f8060408385031215610d56575f80fd5b610d5f83610d1d565b946020939093013593505050565b5f60208284031215610d7d575f80fd5b610d8682610d1d565b9392505050565b5f60208284031215610d9d575f80fd5b5035919050565b602080825282518282018190525f9190848201906040850190845b81811015610df157835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610dbf565b50909695505050505050565b5f805f60608486031215610e0f575f80fd5b610e1884610d1d565b9250610e2660208501610d1d565b9150610e3460408501610d1d565b90509250925092565b5f805f60608486031215610e4f575f80fd5b610e5884610d1d565b9250610e6660208501610d1d565b9150604084013590509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610ed357610ed3610e76565b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b818103818111156103da576103da610e76565b5f81610f5557610f55610e76565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea164736f6c6343000814000a","sourceMap":"1109:442:95:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2305:625:45;;;;;;:::i;:::-;;:::i;:::-;;6048:138;;;;;;:::i;:::-;;:::i;:::-;;;830:14:96;;823:22;805:41;;793:2;778:18;6048:138:45;;;;;;;;5589:360;;;;;;:::i;:::-;;:::i;6268:437::-;;;:::i;:::-;;;;;;;:::i;4507:826::-;;;;;;:::i;:::-;;:::i;5955:87::-;6026:9;;5955:87;;2213:25:96;;;2201:2;2186:18;5955:87:45;2067:177:96;3371:727:45;;;;;;:::i;:::-;;:::i;1374:175:95:-;;;;;;:::i;:::-;;:::i;2305:625:45:-;440:17:49;:15;:17::i;:::-;2481:19:45::1;::::0;::::1;::::0;;::::1;::::0;:47:::1;;-1:-1:-1::0;2504:24:45::1;::::0;::::1;520:3;2504:24;;2481:47;:73;;;;-1:-1:-1::0;2532:22:45::1;::::0;::::1;2549:4;2532:22;;2481:73;2473:91;;;::::0;::::1;::::0;;2784:2:96;2473:91:45::1;::::0;::::1;2766:21:96::0;2823:1;2803:18;;;2796:29;2861:7;2841:18;;;2834:35;2886:18;;2473:91:45::1;;;;;;;;;2622:27;:13:::0;;::::1;2647:1;2622:13:::0;;;::::1;::::0;;;;;;;::::1;:27:::0;2614:45:::1;;;::::0;::::1;::::0;;3117:2:96;2614:45:45::1;::::0;::::1;3099:21:96::0;3156:1;3136:18;;;3129:29;3194:7;3174:18;;;3167:35;3219:18;;2614:45:45::1;2915:328:96::0;2614:45:45::1;2685:6;:23;::::0;;;;;;::::1;2669:13:::0;;::::1;::::0;;;2685:23;2669:13;;:39;;2685:23;;;::::1;2669:39:::0;;;::::1;;::::0;;;-1:-1:-1;2718:23:45;;;:31;;;;::::1;::::0;;::::1;::::0;;;2759:12;;;::::1;::::0;::::1;:::i;:::-;::::0;;;-1:-1:-1;;2786:17:45::1;::::0;3813:42:96;3801:55;;3783:74;;2786:17:45::1;::::0;3771:2:96;3756:18;2786:17:45::1;;;;;;;2884:10;2871:9;;:23;2867:56;;2896:27;2912:10;2896:15;:27::i;:::-;2305:625:::0;;:::o;6048:138::-;6101:4;6124:24;;;520:3;6124:24;;;;:55;;-1:-1:-1;6152:27:45;:13;;;6177:1;6152:13;;;;;;;;;;;;:27;;6124:55;6117:62;6048:138;-1:-1:-1;;6048:138:45:o;5589:360::-;440:17:49;:15;:17::i;:::-;5753:10:45::1;;5739;:24;;5731:42;;;::::0;::::1;::::0;;4070:2:96;5731:42:45::1;::::0;::::1;4052:21:96::0;4109:1;4089:18;;;4082:29;4147:7;4127:18;;;4120:35;4172:18;;5731:42:45::1;3868:328:96::0;5731:42:45::1;5857:1;5843:10;:15;;5835:33;;;::::0;::::1;::::0;;4403:2:96;5835:33:45::1;::::0;::::1;4385:21:96::0;4442:1;4422:18;;;4415:29;4480:7;4460:18;;;4453:35;4505:18;;5835:33:45::1;4201:328:96::0;5835:33:45::1;5878:9;:22:::0;;;5915:27:::1;::::0;2213:25:96;;;5915:27:45::1;::::0;2201:2:96;2186:18;5915:27:45::1;;;;;;;5589:360:::0;:::o;6268:437::-;6310:16;6338:22;6377:10;;6363:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6363:25:45;-1:-1:-1;520:3:45;6432:13;6482:23;;;;;;;;;6338:50;;-1:-1:-1;6432:13:45;6482:23;;6515:162;6522:31;;;520:3;6522:31;6515:162;;6584:12;6569:5;6575;6569:12;;;;;;;;:::i;:::-;:27;;;;:12;;;;;;;;;;:27;;;;6625:20;;;:6;:20;;;;;;;;;;;;;6659:7;;;;:::i;:::-;;;;6515:162;;;-1:-1:-1;6693:5:45;;6268:437;-1:-1:-1;;6268:437:45:o;4507:826::-;440:17:49;:15;:17::i;:::-;4721:22:45::1;::::0;::::1;::::0;;::::1;::::0;:53:::1;;-1:-1:-1::0;4747:27:45::1;::::0;::::1;520:3;4747:27;;4721:53;:82;;;;-1:-1:-1::0;4778:25:45::1;::::0;::::1;4798:4;4778:25;;4721:82;4713:100;;;::::0;::::1;::::0;;2784:2:96;4713:100:45::1;::::0;::::1;2766:21:96::0;2823:1;2803:18;;;2796:29;2861:7;2841:18;;;2834:35;2886:18;;4713:100:45::1;2582:328:96::0;4713:100:45::1;4871:30;:16:::0;;::::1;4899:1;4871:16:::0;;;::::1;::::0;;;;;;;::::1;:30:::0;4863:48:::1;;;::::0;::::1;::::0;;3117:2:96;4863:48:45::1;::::0;::::1;3099:21:96::0;3156:1;3136:18;;;3129:29;3194:7;3174:18;;;3167:35;3219:18;;4863:48:45::1;2915:328:96::0;4863:48:45::1;5012:22;::::0;::::1;::::0;;::::1;::::0;:53:::1;;-1:-1:-1::0;5038:27:45::1;::::0;::::1;520:3;5038:27;;5012:53;5004:71;;;::::0;::::1;::::0;;2784:2:96;5004:71:45::1;::::0;::::1;2766:21:96::0;2823:1;2803:18;;;2796:29;2861:7;2841:18;;;2834:35;2886:18;;5004:71:45::1;2582:328:96::0;5004:71:45::1;5093:29;:17:::0;;::::1;:6;:17:::0;;;::::1;::::0;;;;;;;;::::1;:29:::0;;::::1;;5085:47;;;::::0;::::1;::::0;;5114:2:96;5085:47:45::1;::::0;::::1;5096:21:96::0;5153:1;5133:18;;;5126:29;5191:7;5171:18;;;5164:35;5216:18;;5085:47:45::1;4912:328:96::0;5085:47:45::1;5161:16;::::0;;::::1;:6;:16:::0;;;::::1;::::0;;;;;;;;;5142;;::::1;::::0;;;;;;:35;;5161:16;;::::1;5142:35:::0;;;::::1;;::::0;;5187:17;;::::1;::::0;;;;;:28;;;::::1;::::0;;::::1;::::0;;;5225:16;;;;:29;;;;::::1;::::0;;;5269:22;;3783:74:96;;;5269:22:45::1;::::0;3756:18:96;5269:22:45::1;;;;;;;5306:20;::::0;3813:42:96;3801:55;;3783:74;;5306:20:45::1;::::0;3771:2:96;3756:18;5306:20:45::1;;;;;;;4507:826:::0;;;:::o;3371:727::-;440:17:49;:15;:17::i;:::-;3607:10:45::1;3602:1;3589:10:::0;::::1;:14;;;;:::i;:::-;:28;;3581:46;;;::::0;::::1;::::0;;4070:2:96;3581:46:45::1;::::0;::::1;4052:21:96::0;4109:1;4089:18;;;4082:29;4147:7;4127:18;;;4120:35;4172:18;;3581:46:45::1;3868:328:96::0;3581:46:45::1;3725:19;::::0;::::1;::::0;;::::1;::::0;:47:::1;;-1:-1:-1::0;3748:24:45::1;::::0;::::1;520:3;3748:24;;3725:47;3717:65;;;::::0;::::1;::::0;;2784:2:96;3717:65:45::1;::::0;::::1;2766:21:96::0;2823:1;2803:18;;;2796:29;2861:7;2841:18;;;2834:35;2886:18;;3717:65:45::1;2582:328:96::0;3717:65:45::1;3800:26;:17:::0;;::::1;:6;:17:::0;;;::::1;::::0;;;;;;;;::::1;:26:::0;;::::1;;3792:44;;;::::0;::::1;::::0;;5114:2:96;3792:44:45::1;::::0;::::1;5096:21:96::0;5153:1;5133:18;;;5126:29;5191:7;5171:18;;;5164:35;5216:18;;3792:44:45::1;4912:328:96::0;3792:44:45::1;3866:13;::::0;;::::1;:6;:13:::0;;;::::1;::::0;;;;;;;;;3846:17;;::::1;::::0;;;;;:33;;3866:13;;;::::1;3846:33:::0;;;::::1;;::::0;;;3889:13;;;:26;;;;::::1;::::0;;;-1:-1:-1;3925:12:45;;;::::1;::::0;::::1;:::i;:::-;::::0;;;-1:-1:-1;;3952:19:45::1;::::0;3813:42:96;3801:55;;3783:74;;3952:19:45::1;::::0;3771:2:96;3756:18;3952:19:45::1;;;;;;;4052:10;4039:9;;:23;4035:56;;4064:27;4080:10;4064:15;:27::i;:::-;3371:727:::0;;;:::o;1374:175:95:-;1473:69;;;;;5791:42:96;5860:15;;;1473:69:95;;;5842:34:96;5912:15;;5892:18;;;5885:43;5944:18;;;5937:34;;;1494:4:95;;1473:39;;5754:18:96;;1473:69:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1374:175;;;:::o;231:102:49:-;289:10;311:4;289:27;281:45;;;;;;;6184:2:96;281:45:49;;;6166:21:96;6223:1;6203:18;;;6196:29;6261:7;6241:18;;;6234:35;6286:18;;281:45:49;5982:328:96;281:45:49;231:102::o;14:196:96:-;82:20;;142:42;131:54;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:254::-;283:6;291;344:2;332:9;323:7;319:23;315:32;312:52;;;360:1;357;350:12;312:52;383:29;402:9;383:29;:::i;:::-;373:39;459:2;444:18;;;;431:32;;-1:-1:-1;;;215:254:96:o;474:186::-;533:6;586:2;574:9;565:7;561:23;557:32;554:52;;;602:1;599;592:12;554:52;625:29;644:9;625:29;:::i;:::-;615:39;474:186;-1:-1:-1;;;474:186:96:o;857:180::-;916:6;969:2;957:9;948:7;944:23;940:32;937:52;;;985:1;982;975:12;937:52;-1:-1:-1;1008:23:96;;857:180;-1:-1:-1;857:180:96:o;1042:681::-;1213:2;1265:21;;;1335:13;;1238:18;;;1357:22;;;1184:4;;1213:2;1436:15;;;;1410:2;1395:18;;;1184:4;1479:218;1493:6;1490:1;1487:13;1479:218;;;1558:13;;1573:42;1554:62;1542:75;;1672:15;;;;1637:12;;;;1515:1;1508:9;1479:218;;;-1:-1:-1;1714:3:96;;1042:681;-1:-1:-1;;;;;;1042:681:96:o;1728:334::-;1805:6;1813;1821;1874:2;1862:9;1853:7;1849:23;1845:32;1842:52;;;1890:1;1887;1880:12;1842:52;1913:29;1932:9;1913:29;:::i;:::-;1903:39;;1961:38;1995:2;1984:9;1980:18;1961:38;:::i;:::-;1951:48;;2018:38;2052:2;2041:9;2037:18;2018:38;:::i;:::-;2008:48;;1728:334;;;;;:::o;2249:328::-;2326:6;2334;2342;2395:2;2383:9;2374:7;2370:23;2366:32;2363:52;;;2411:1;2408;2401:12;2363:52;2434:29;2453:9;2434:29;:::i;:::-;2424:39;;2482:38;2516:2;2505:9;2501:18;2482:38;:::i;:::-;2472:48;;2567:2;2556:9;2552:18;2539:32;2529:42;;2249:328;;;;;:::o;3248:184::-;3300:77;3297:1;3290:88;3397:4;3394:1;3387:15;3421:4;3418:1;3411:15;3437:195;3476:3;3507:66;3500:5;3497:77;3494:103;;3577:18;;:::i;:::-;-1:-1:-1;3624:1:96;3613:13;;3437:195::o;4534:184::-;4586:77;4583:1;4576:88;4683:4;4680:1;4673:15;4707:4;4704:1;4697:15;4723:184;4775:77;4772:1;4765:88;4872:4;4869:1;4862:15;4896:4;4893:1;4886:15;5245:128;5312:9;;;5333:11;;;5330:37;;;5347:18;;:::i;5378:196::-;5417:3;5445:5;5435:39;;5454:18;;:::i;:::-;-1:-1:-1;5501:66:96;5490:78;;5378:196::o","linkReferences":{}},"methodIdentifiers":{"addOwnerWithThreshold(address,uint256)":"0d582f13","changeThreshold(uint256)":"694e80c3","getOwners()":"a0e67e2b","getThreshold()":"e75235b8","isOwner(address)":"2f54bf6e","removeOwner(address,address,uint256)":"f8dc5dd9","removeOwnerWrapped(address,address,uint256)":"fcb7a495","swapOwner(address,address,address)":"e318b52b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AddedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"ChangedThreshold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RemovedOwner\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"addOwnerWithThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"changeThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"removeOwnerWrapped\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"swapOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"A minimal wrapper around the OwnerManager contract. This contract is meant to be initialized with      the same owners as a Safe instance, and then used to simulate the resulting owners list      after an owner is removed.\",\"kind\":\"dev\",\"methods\":{\"addOwnerWithThreshold(address,uint256)\":{\"details\":\"Allows to add a new owner to the Safe and update the threshold at the same time.      This can only be done via a Safe transaction.\",\"params\":{\"_threshold\":\"New threshold.\",\"owner\":\"New owner address.\"}},\"changeThreshold(uint256)\":{\"details\":\"Allows to update the number of required confirmations by Safe owners.      This can only be done via a Safe transaction.\",\"params\":{\"_threshold\":\"New threshold.\"}},\"getOwners()\":{\"details\":\"Returns array of owners.\",\"returns\":{\"_0\":\"Array of Safe owners.\"}},\"removeOwner(address,address,uint256)\":{\"details\":\"Allows to remove an owner from the Safe and update the threshold at the same time.      This can only be done via a Safe transaction.\",\"params\":{\"_threshold\":\"New threshold.\",\"owner\":\"Owner address to be removed.\",\"prevOwner\":\"Owner that pointed to the owner to be removed in the linked list\"}},\"removeOwnerWrapped(address,address,uint256)\":{\"details\":\"Exposes the OwnerManager's removeOwner function so that anyone may call without needing auth\"},\"swapOwner(address,address,address)\":{\"details\":\"Allows to swap/replace an owner from the Safe with another address.      This can only be done via a Safe transaction.\",\"params\":{\"newOwner\":\"New owner address.\",\"oldOwner\":\"Owner address to be replaced.\",\"prevOwner\":\"Owner that pointed to the owner to be replaced in the linked list\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addOwnerWithThreshold(address,uint256)\":{\"notice\":\"Adds the owner `owner` to the Safe and updates the threshold to `_threshold`.\"},\"changeThreshold(uint256)\":{\"notice\":\"Changes the threshold of the Safe to `_threshold`.\"},\"removeOwner(address,address,uint256)\":{\"notice\":\"Removes the owner `owner` from the Safe and updates the threshold to `_threshold`.\"},\"swapOwner(address,address,address)\":{\"notice\":\"Replaces the owner `oldOwner` in the Safe with `newOwner`.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/safe-tools/SafeTestTools.sol\":\"OwnerSimulator\"},\"evmVersion\":\"shanghai\",\"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/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe\",\"dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x2ba8ee7e4a68efd4cd75331b229874f4d4dc0a1010599afad88fc2cae5cb5d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77ce1968d402b0414fec0a344b59c275d0706d4df5ac6293d605dd2202016345\",\"dweb:/ipfs/QmSVy4N4F15NzEuSpmvwRj1nTfAwaJpng7CywUBWLnWC4w\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x4a5853bb9688c4e1c65626036cddd8ea2af84ef1046b704ddc3782d84a892410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c1024e6aac9657312fcfcf5c3dee62c22edf9f74a1065e6924c4ec710ecafa\",\"dweb:/ipfs/QmRNURoTUkd6DiZnf8yY8o3stJpVQBifopdSpQgP9RhvRr\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/safe-contracts/contracts/GnosisSafe.sol\":{\"keccak256\":\"0x2ca9e3e053c969b9364f62c50c2c25b92525db7fd0bad3ae1fb0c20dd575367c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ef1bceac49ae93b31aec41380862fdc267823c41e2dfefb9b7d70d0996e858e1\",\"dweb:/ipfs/QmWFU5bic2CGv8QgQ8bxJnjMfuJgNL2zZubt5hvzhcRZPc\"]},\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0x4d3a900673473466bc27413fdbb11aae60b5580b792c49411f01544e0b24fe08\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://71ada0590998f47d1ee9759aa190c82d4b348d59a2f582747650d9720245a309\",\"dweb:/ipfs/Qmb9UudLoJpPutHVP9pXd1poP5CqFf5sxVFuYw14SYfRFk\"]},\"lib/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x1be9f0f3e80a78134c2e3a026c6a14759785bd35d135e87a4a025aeb6742791f\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://44130f09921e895c0b9d7797de1d64940a8c43391efcda3a0208cb9ad96475a7\",\"dweb:/ipfs/QmUur4hzvCJ68PnW6zQFpemAMH2DH5mExPqSZdpKeY1ZRN\"]},\"lib/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0x53a532a31f9632d5a73ad0df56f05bd2b66a2f781f571eb48d00367d370707f9\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://eebc15cb7c83cf9516514b34bd16fb19c08104c738fa172ae3c98c66b84708ed\",\"dweb:/ipfs/QmfJ4yX5WwHU58QVoxJFaejyerscTs6VCgn2TdUVrEZeTP\"]},\"lib/safe-contracts/contracts/base/ModuleManager.sol\":{\"keccak256\":\"0x5512760a0328309f82a71cbe2ac14e0942501b9d44d5fb417bd02174546672e5\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://763cf803a98a921d62ed51d7876a13aed63968c828f026ce2beb747d2631c0bc\",\"dweb:/ipfs/QmbHZoYsbkxC2kVCs4pQ4nRaFrcgU5X8FuLX7vV3qDR9Y5\"]},\"lib/safe-contracts/contracts/base/OwnerManager.sol\":{\"keccak256\":\"0x01a3d64cc0967f42ae63802409f5404d18352516ea2a6335005003d919ffcf12\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://91824103f2966612103705d6493290e193b0c0ca2bbe7141965184435dbb999b\",\"dweb:/ipfs/Qmd7u917v4DnD4hvQGAGbchVJ8A7pm1UCzCv7sAzQnRoi4\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x473e45b1a5cc47be494b0e123c9127f0c11c1e0992a321ae5a644c0bfdb2c14f\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://948e6d5a8bd7377f7795b6e28584eab9be5c0a8db240bf5e606744a175238c3d\",\"dweb:/ipfs/QmQQaUmQfpuejV41jbxKSTgEBYYCcVTjCsDMgf2htgz6ej\"]},\"lib/safe-contracts/contracts/common/EtherPaymentFallback.sol\":{\"keccak256\":\"0x1a7928d29877da84a3d0df846d5cd933d48ee095c1bde0aa044e249b12e27a72\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://962fc098cfdd8a43cc7d294c1105718ea985cacf1172ea0426f7370e2096b830\",\"dweb:/ipfs/QmdZrxJ7dSWuTjbrN133YiRDLwYQr21zLr3CqWWtowY9Gu\"]},\"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol\":{\"keccak256\":\"0x178682d8477da42936c7e8e24d39094c4ac08ecd8623794b9535d77001b665f1\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://2ae8a6d5c7d4cc19c3b957c8857e87e92a4570effebf32ba54184c2b8375a0a2\",\"dweb:/ipfs/QmVNgRcRVgQZriJm8KVXQvRbHQf74wH7ABmBNTjBTqBa8r\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0x59d36efca578b75541a776f62a0d0ef03712fc27b6647c3915c14b572106d7bc\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8530c6e0392415d42486847cd4368d30f6cac42051596330692a571fcdbb9e29\",\"dweb:/ipfs/QmWw51Pshw5t2sMKANzxtfNdBSQUyQQpfTr3Mi7oNJGk7U\"]},\"lib/safe-contracts/contracts/common/SignatureDecoder.sol\":{\"keccak256\":\"0x2d37be182472ccfee62a33e9939f9b3d509be4c32e9fdebc2c1746c573655987\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://f76d96f10640beee7d4b4ad119bd3c64aeb26929011d9c1eec738c63ebc92f63\",\"dweb:/ipfs/QmaqgDocQumKeyUMgZU7STzpTASQjDbUxbQKuZ17xhLaXz\"]},\"lib/safe-contracts/contracts/common/Singleton.sol\":{\"keccak256\":\"0x6e02c18998de8834dd7d69890cb6ede996b6f635d2337081a596d91e35e2c648\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ce1dfe9f820352b6f95b350ac0b3fa8afc24ad77bffffc2c9e00462e2a41a666\",\"dweb:/ipfs/QmVr2dCUbNbg5e7UsgngGij5mybgkXcbf5e5cPhT21aFXA\"]},\"lib/safe-contracts/contracts/common/StorageAccessible.sol\":{\"keccak256\":\"0x36853adb266c2ab7d3c612aca799441a86bd15d9e1d24fc6c70d63f5c2df3aaf\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3f210f47e032444049040d2929b32e02089aac1d05b07dcd77ee34bb63505dfa\",\"dweb:/ipfs/QmbE8GXFAbthieTL51S2XPF5URyPaj1tDubVuhztkSoiPo\"]},\"lib/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol\":{\"keccak256\":\"0xecfd0d8a43d859ef1fb8161cb21ce5d38461603383378a5b1c4c7d5d4a3bfbf3\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://4248ba92a7d4b9c24344944427b7a2f092f2328d57d39317f4a9f178f503beb5\",\"dweb:/ipfs/QmUFuLoQRjZdx7fsDEprFstuDjLQ7em3syagHA8b8AD2Sa\"]},\"lib/safe-contracts/contracts/examples/libraries/SignMessage.sol\":{\"keccak256\":\"0x7f614aba3414613ddee5699b92745cdd79be6f296e796a8a917bdf9699de4602\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://6d3dd0b132b1f84fe924bb852d271ce6dff741f745b1d26ac337f316262b643b\",\"dweb:/ipfs/QmbLgdGcsaST7SYPxMBoXAdoTM4rmTk4Mj4T9xHucUZboH\"]},\"lib/safe-contracts/contracts/external/GnosisSafeMath.sol\":{\"keccak256\":\"0x2a2b4d74f5834a9437be0cd3254d7a676698fc78aa47941c2009470196998d98\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ea04449ba8b78ec44f3463b68cbce971875626e91d028add50900c41101a1156\",\"dweb:/ipfs/QmR95ci4HVkJuyYGvYRHVpp6N3wefu5WVDhipKwRechWV6\"]},\"lib/safe-contracts/contracts/interfaces/ERC1155TokenReceiver.sol\":{\"keccak256\":\"0x7894ef55ee3334f6388e5e1d749bbabd85fc03d5a2ab949f284bce830f8aa398\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://479fc8aef32fb1a5dcc7cbfbdb78f7e8af5019f1030c6d0973d0ea2f5d7f3761\",\"dweb:/ipfs/QmaD4MayiJCbnGxj49gi1Qmbr4PHEAdzBMm95AwcyVxBLp\"]},\"lib/safe-contracts/contracts/interfaces/ERC721TokenReceiver.sol\":{\"keccak256\":\"0x8a3dd41df3a49d9ae2d45dd4087ca595946ed3c6051b8aa304727017b5eabaa4\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://718d0200f6aa33e344bd8dab5634c63dbf6e5de7002d343da85b563261c1d332\",\"dweb:/ipfs/QmUof1aRjFLP837aKuNdHb3fkmDC7zd4Vd6Je9psEzhSAh\"]},\"lib/safe-contracts/contracts/interfaces/ERC777TokensRecipient.sol\":{\"keccak256\":\"0x1cfbdb95761067c5bc35599fcae6c11e487f2879d7fa2c6f47e7b94506b4039c\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3df3d36d75868cf557eefa325fe9857fb12b817feb710d47e8cd997582005014\",\"dweb:/ipfs/QmUE5bYfjChdtvohnm3eDQXYK759KLZsS1GDWLgRidfHsw\"]},\"lib/safe-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5c64c2e071245db8fe3ea8b94f73c5a8de236933858ae240348d502433a9d178\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://46a7796e0c5c451b86038253d488ffb0986472d17d0fb74e00c3809682f2fd7a\",\"dweb:/ipfs/QmX7tYoCRrCLGqsZSHXgdcqbRhMGXpS6ezckaFjaiULd3e\"]},\"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol\":{\"keccak256\":\"0x5b6e9bf17f28738ce88e751f420b0559f5151ba7bec2ff3c7bb31e42673d6801\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://bfdde8390deb619e38f98be67c5f9d26f12623855540af76b9f454142d3896c1\",\"dweb:/ipfs/QmZrr1ocToR5S62W177qV2csfs7wCQNs3t9vatyx32uLXz\"]},\"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\"]},\"lib/solady/src/utils/LibSort.sol\":{\"keccak256\":\"0x373dea9cfcd5c6aeeb90687740668cf63f406e2d5269aff71474ddd5a1e2aa26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48df2aee50389a6d06622c01419ebc7db1f2ea021e957e88ab9435f7c6854f0f\",\"dweb:/ipfs/QmWmuVqDEPWMZcvpaJG6VzfCyFh4mCYWsD1AezwWBwDCGe\"]},\"test/safe-tools/CompatibilityFallbackHandler_1_3_0.sol\":{\"keccak256\":\"0x05ded3fc2e387efed3f99d5ccd9f5fd50c1c01b2588d00a7117c77d5110ae16e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5ccf065edbd0e37fbeb4d4fc1f17eec39e0bd091aab48a940d11b49d6ea05a3b\",\"dweb:/ipfs/QmcVEaYgvFq3RxtsVYMcZx1nwrhyi1CAYBn9GAbLmmff1D\"]},\"test/safe-tools/SafeTestTools.sol\":{\"keccak256\":\"0x7471ad50e0f5cf33753a3d2d9e5b81669065938674297290bb14a25eb293c230\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89e8ca1d2470c56488d24142fa385041c1b40a25d329e6ea8b3a0416ab1af2dd\",\"dweb:/ipfs/QmWeqP6sTdKX63zsMXkUzybWyHDixkhH2cz2KMUciRBBao\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"AddedOwner","anonymous":false},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256","indexed":false}],"type":"event","name":"ChangedThreshold","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"RemovedOwner","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addOwnerWithThreshold"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"changeThreshold"},{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeOwner"},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeOwnerWrapped"},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"oldOwner","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"swapOwner"}],"devdoc":{"kind":"dev","methods":{"addOwnerWithThreshold(address,uint256)":{"details":"Allows to add a new owner to the Safe and update the threshold at the same time.      This can only be done via a Safe transaction.","params":{"_threshold":"New threshold.","owner":"New owner address."}},"changeThreshold(uint256)":{"details":"Allows to update the number of required confirmations by Safe owners.      This can only be done via a Safe transaction.","params":{"_threshold":"New threshold."}},"getOwners()":{"details":"Returns array of owners.","returns":{"_0":"Array of Safe owners."}},"removeOwner(address,address,uint256)":{"details":"Allows to remove an owner from the Safe and update the threshold at the same time.      This can only be done via a Safe transaction.","params":{"_threshold":"New threshold.","owner":"Owner address to be removed.","prevOwner":"Owner that pointed to the owner to be removed in the linked list"}},"removeOwnerWrapped(address,address,uint256)":{"details":"Exposes the OwnerManager's removeOwner function so that anyone may call without needing auth"},"swapOwner(address,address,address)":{"details":"Allows to swap/replace an owner from the Safe with another address.      This can only be done via a Safe transaction.","params":{"newOwner":"New owner address.","oldOwner":"Owner address to be replaced.","prevOwner":"Owner that pointed to the owner to be replaced in the linked list"}}},"version":1},"userdoc":{"kind":"user","methods":{"addOwnerWithThreshold(address,uint256)":{"notice":"Adds the owner `owner` to the Safe and updates the threshold to `_threshold`."},"changeThreshold(uint256)":{"notice":"Changes the threshold of the Safe to `_threshold`."},"removeOwner(address,address,uint256)":{"notice":"Removes the owner `owner` from the Safe and updates the threshold to `_threshold`."},"swapOwner(address,address,address)":{"notice":"Replaces the owner `oldOwner` in the Safe with `newOwner`."}},"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":{"test/safe-tools/SafeTestTools.sol":"OwnerSimulator"},"evmVersion":"shanghai","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270","urls":["bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe","dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x2ba8ee7e4a68efd4cd75331b229874f4d4dc0a1010599afad88fc2cae5cb5d4a","urls":["bzz-raw://77ce1968d402b0414fec0a344b59c275d0706d4df5ac6293d605dd2202016345","dweb:/ipfs/QmSVy4N4F15NzEuSpmvwRj1nTfAwaJpng7CywUBWLnWC4w"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x4a5853bb9688c4e1c65626036cddd8ea2af84ef1046b704ddc3782d84a892410","urls":["bzz-raw://09c1024e6aac9657312fcfcf5c3dee62c22edf9f74a1065e6924c4ec710ecafa","dweb:/ipfs/QmRNURoTUkd6DiZnf8yY8o3stJpVQBifopdSpQgP9RhvRr"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/safe-contracts/contracts/GnosisSafe.sol":{"keccak256":"0x2ca9e3e053c969b9364f62c50c2c25b92525db7fd0bad3ae1fb0c20dd575367c","urls":["bzz-raw://ef1bceac49ae93b31aec41380862fdc267823c41e2dfefb9b7d70d0996e858e1","dweb:/ipfs/QmWFU5bic2CGv8QgQ8bxJnjMfuJgNL2zZubt5hvzhcRZPc"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0x4d3a900673473466bc27413fdbb11aae60b5580b792c49411f01544e0b24fe08","urls":["bzz-raw://71ada0590998f47d1ee9759aa190c82d4b348d59a2f582747650d9720245a309","dweb:/ipfs/Qmb9UudLoJpPutHVP9pXd1poP5CqFf5sxVFuYw14SYfRFk"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x1be9f0f3e80a78134c2e3a026c6a14759785bd35d135e87a4a025aeb6742791f","urls":["bzz-raw://44130f09921e895c0b9d7797de1d64940a8c43391efcda3a0208cb9ad96475a7","dweb:/ipfs/QmUur4hzvCJ68PnW6zQFpemAMH2DH5mExPqSZdpKeY1ZRN"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0x53a532a31f9632d5a73ad0df56f05bd2b66a2f781f571eb48d00367d370707f9","urls":["bzz-raw://eebc15cb7c83cf9516514b34bd16fb19c08104c738fa172ae3c98c66b84708ed","dweb:/ipfs/QmfJ4yX5WwHU58QVoxJFaejyerscTs6VCgn2TdUVrEZeTP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/ModuleManager.sol":{"keccak256":"0x5512760a0328309f82a71cbe2ac14e0942501b9d44d5fb417bd02174546672e5","urls":["bzz-raw://763cf803a98a921d62ed51d7876a13aed63968c828f026ce2beb747d2631c0bc","dweb:/ipfs/QmbHZoYsbkxC2kVCs4pQ4nRaFrcgU5X8FuLX7vV3qDR9Y5"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/base/OwnerManager.sol":{"keccak256":"0x01a3d64cc0967f42ae63802409f5404d18352516ea2a6335005003d919ffcf12","urls":["bzz-raw://91824103f2966612103705d6493290e193b0c0ca2bbe7141965184435dbb999b","dweb:/ipfs/Qmd7u917v4DnD4hvQGAGbchVJ8A7pm1UCzCv7sAzQnRoi4"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x473e45b1a5cc47be494b0e123c9127f0c11c1e0992a321ae5a644c0bfdb2c14f","urls":["bzz-raw://948e6d5a8bd7377f7795b6e28584eab9be5c0a8db240bf5e606744a175238c3d","dweb:/ipfs/QmQQaUmQfpuejV41jbxKSTgEBYYCcVTjCsDMgf2htgz6ej"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/EtherPaymentFallback.sol":{"keccak256":"0x1a7928d29877da84a3d0df846d5cd933d48ee095c1bde0aa044e249b12e27a72","urls":["bzz-raw://962fc098cfdd8a43cc7d294c1105718ea985cacf1172ea0426f7370e2096b830","dweb:/ipfs/QmdZrxJ7dSWuTjbrN133YiRDLwYQr21zLr3CqWWtowY9Gu"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SecuredTokenTransfer.sol":{"keccak256":"0x178682d8477da42936c7e8e24d39094c4ac08ecd8623794b9535d77001b665f1","urls":["bzz-raw://2ae8a6d5c7d4cc19c3b957c8857e87e92a4570effebf32ba54184c2b8375a0a2","dweb:/ipfs/QmVNgRcRVgQZriJm8KVXQvRbHQf74wH7ABmBNTjBTqBa8r"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0x59d36efca578b75541a776f62a0d0ef03712fc27b6647c3915c14b572106d7bc","urls":["bzz-raw://8530c6e0392415d42486847cd4368d30f6cac42051596330692a571fcdbb9e29","dweb:/ipfs/QmWw51Pshw5t2sMKANzxtfNdBSQUyQQpfTr3Mi7oNJGk7U"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SignatureDecoder.sol":{"keccak256":"0x2d37be182472ccfee62a33e9939f9b3d509be4c32e9fdebc2c1746c573655987","urls":["bzz-raw://f76d96f10640beee7d4b4ad119bd3c64aeb26929011d9c1eec738c63ebc92f63","dweb:/ipfs/QmaqgDocQumKeyUMgZU7STzpTASQjDbUxbQKuZ17xhLaXz"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Singleton.sol":{"keccak256":"0x6e02c18998de8834dd7d69890cb6ede996b6f635d2337081a596d91e35e2c648","urls":["bzz-raw://ce1dfe9f820352b6f95b350ac0b3fa8afc24ad77bffffc2c9e00462e2a41a666","dweb:/ipfs/QmVr2dCUbNbg5e7UsgngGij5mybgkXcbf5e5cPhT21aFXA"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/StorageAccessible.sol":{"keccak256":"0x36853adb266c2ab7d3c612aca799441a86bd15d9e1d24fc6c70d63f5c2df3aaf","urls":["bzz-raw://3f210f47e032444049040d2929b32e02089aac1d05b07dcd77ee34bb63505dfa","dweb:/ipfs/QmbE8GXFAbthieTL51S2XPF5URyPaj1tDubVuhztkSoiPo"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/examples/libraries/GnosisSafeStorage.sol":{"keccak256":"0xecfd0d8a43d859ef1fb8161cb21ce5d38461603383378a5b1c4c7d5d4a3bfbf3","urls":["bzz-raw://4248ba92a7d4b9c24344944427b7a2f092f2328d57d39317f4a9f178f503beb5","dweb:/ipfs/QmUFuLoQRjZdx7fsDEprFstuDjLQ7em3syagHA8b8AD2Sa"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/examples/libraries/SignMessage.sol":{"keccak256":"0x7f614aba3414613ddee5699b92745cdd79be6f296e796a8a917bdf9699de4602","urls":["bzz-raw://6d3dd0b132b1f84fe924bb852d271ce6dff741f745b1d26ac337f316262b643b","dweb:/ipfs/QmbLgdGcsaST7SYPxMBoXAdoTM4rmTk4Mj4T9xHucUZboH"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/external/GnosisSafeMath.sol":{"keccak256":"0x2a2b4d74f5834a9437be0cd3254d7a676698fc78aa47941c2009470196998d98","urls":["bzz-raw://ea04449ba8b78ec44f3463b68cbce971875626e91d028add50900c41101a1156","dweb:/ipfs/QmR95ci4HVkJuyYGvYRHVpp6N3wefu5WVDhipKwRechWV6"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ERC1155TokenReceiver.sol":{"keccak256":"0x7894ef55ee3334f6388e5e1d749bbabd85fc03d5a2ab949f284bce830f8aa398","urls":["bzz-raw://479fc8aef32fb1a5dcc7cbfbdb78f7e8af5019f1030c6d0973d0ea2f5d7f3761","dweb:/ipfs/QmaD4MayiJCbnGxj49gi1Qmbr4PHEAdzBMm95AwcyVxBLp"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ERC721TokenReceiver.sol":{"keccak256":"0x8a3dd41df3a49d9ae2d45dd4087ca595946ed3c6051b8aa304727017b5eabaa4","urls":["bzz-raw://718d0200f6aa33e344bd8dab5634c63dbf6e5de7002d343da85b563261c1d332","dweb:/ipfs/QmUof1aRjFLP837aKuNdHb3fkmDC7zd4Vd6Je9psEzhSAh"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ERC777TokensRecipient.sol":{"keccak256":"0x1cfbdb95761067c5bc35599fcae6c11e487f2879d7fa2c6f47e7b94506b4039c","urls":["bzz-raw://3df3d36d75868cf557eefa325fe9857fb12b817feb710d47e8cd997582005014","dweb:/ipfs/QmUE5bYfjChdtvohnm3eDQXYK759KLZsS1GDWLgRidfHsw"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x5c64c2e071245db8fe3ea8b94f73c5a8de236933858ae240348d502433a9d178","urls":["bzz-raw://46a7796e0c5c451b86038253d488ffb0986472d17d0fb74e00c3809682f2fd7a","dweb:/ipfs/QmX7tYoCRrCLGqsZSHXgdcqbRhMGXpS6ezckaFjaiULd3e"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/interfaces/ISignatureValidator.sol":{"keccak256":"0x5b6e9bf17f28738ce88e751f420b0559f5151ba7bec2ff3c7bb31e42673d6801","urls":["bzz-raw://bfdde8390deb619e38f98be67c5f9d26f12623855540af76b9f454142d3896c1","dweb:/ipfs/QmZrr1ocToR5S62W177qV2csfs7wCQNs3t9vatyx32uLXz"],"license":"LGPL-3.0-only"},"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"},"lib/solady/src/utils/LibSort.sol":{"keccak256":"0x373dea9cfcd5c6aeeb90687740668cf63f406e2d5269aff71474ddd5a1e2aa26","urls":["bzz-raw://48df2aee50389a6d06622c01419ebc7db1f2ea021e957e88ab9435f7c6854f0f","dweb:/ipfs/QmWmuVqDEPWMZcvpaJG6VzfCyFh4mCYWsD1AezwWBwDCGe"],"license":"MIT"},"test/safe-tools/CompatibilityFallbackHandler_1_3_0.sol":{"keccak256":"0x05ded3fc2e387efed3f99d5ccd9f5fd50c1c01b2588d00a7117c77d5110ae16e","urls":["bzz-raw://5ccf065edbd0e37fbeb4d4fc1f17eec39e0bd091aab48a940d11b49d6ea05a3b","dweb:/ipfs/QmcVEaYgvFq3RxtsVYMcZx1nwrhyi1CAYBn9GAbLmmff1D"],"license":"LGPL-3.0-only"},"test/safe-tools/SafeTestTools.sol":{"keccak256":"0x7471ad50e0f5cf33753a3d2d9e5b81669065938674297290bb14a25eb293c230","urls":["bzz-raw://89e8ca1d2470c56488d24142fa385041c1b40a25d329e6ea8b3a0416ab1af2dd","dweb:/ipfs/QmWeqP6sTdKX63zsMXkUzybWyHDixkhH2cz2KMUciRBBao"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":50317,"contract":"test/safe-tools/SafeTestTools.sol:OwnerSimulator","label":"owners","offset":0,"slot":"0","type":"t_mapping(t_address,t_address)"},{"astId":50319,"contract":"test/safe-tools/SafeTestTools.sol:OwnerSimulator","label":"ownerCount","offset":0,"slot":"1","type":"t_uint256"},{"astId":50321,"contract":"test/safe-tools/SafeTestTools.sol:OwnerSimulator","label":"threshold","offset":0,"slot":"2","type":"t_uint256"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_address)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address)","numberOfBytes":"32","value":"t_address"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user","methods":{"addOwnerWithThreshold(address,uint256)":{"notice":"Adds the owner `owner` to the Safe and updates the threshold to `_threshold`."},"changeThreshold(uint256)":{"notice":"Changes the threshold of the Safe to `_threshold`."},"removeOwner(address,address,uint256)":{"notice":"Removes the owner `owner` from the Safe and updates the threshold to `_threshold`."},"swapOwner(address,address,address)":{"notice":"Replaces the owner `oldOwner` in the Safe with `newOwner`."}}},"devdoc":{"version":1,"kind":"dev","details":"A minimal wrapper around the OwnerManager contract. This contract is meant to be initialized with      the same owners as a Safe instance, and then used to simulate the resulting owners list      after an owner is removed.","methods":{"addOwnerWithThreshold(address,uint256)":{"details":"Allows to add a new owner to the Safe and update the threshold at the same time.      This can only be done via a Safe transaction.","params":{"_threshold":"New threshold.","owner":"New owner address."}},"changeThreshold(uint256)":{"details":"Allows to update the number of required confirmations by Safe owners.      This can only be done via a Safe transaction.","params":{"_threshold":"New threshold."}},"getOwners()":{"details":"Returns array of owners.","returns":{"_0":"Array of Safe owners."}},"removeOwner(address,address,uint256)":{"details":"Allows to remove an owner from the Safe and update the threshold at the same time.      This can only be done via a Safe transaction.","params":{"_threshold":"New threshold.","owner":"Owner address to be removed.","prevOwner":"Owner that pointed to the owner to be removed in the linked list"}},"removeOwnerWrapped(address,address,uint256)":{"details":"Exposes the OwnerManager's removeOwner function so that anyone may call without needing auth"},"swapOwner(address,address,address)":{"details":"Allows to swap/replace an owner from the Safe with another address.      This can only be done via a Safe transaction.","params":{"newOwner":"New owner address.","oldOwner":"Owner address to be replaced.","prevOwner":"Owner that pointed to the owner to be replaced in the linked list"}}}},"ast":{"absolutePath":"test/safe-tools/SafeTestTools.sol","id":66302,"exportedSymbols":{"AdvancedSafeInitParams":[64524],"CompatibilityFallbackHandler":[64440],"DefaultCallbackHandler":[64206],"DeployedSafe":[64507],"ERC1155TokenReceiver":[51218],"ERC721TokenReceiver":[51236],"ERC777TokensRecipient":[51254],"Enum":[50807],"GnosisSafe":[49761],"GnosisSafeProxyFactory":[51572],"GuardManager":[49922],"IERC165":[51266],"ISignatureValidator":[51285],"ISignatureValidatorConstants":[51272],"LibSort":[52288],"ModuleManager":[50289],"OwnerManager":[50800],"OwnerSimulator":[64501],"SENTINEL_MODULES":[64212],"SafeInstance":[64538],"SafeTestLib":[65866],"SafeTestTools":[66301],"SignMessageLib":[51074],"Sort":[64558],"StdAssertions":[2695],"StdChains":[3477],"StdCheats":[6330],"StdInvariant":[6655],"StdStorage":[7427],"StdStyle":[10597],"StdUtils":[11975],"Test":[12027],"TestBase":[65],"Vm":[15818],"console":[23882],"console2":[32007],"safeconsole":[46732],"stdError":[6396],"stdJson":[7247],"stdMath":[7389],"stdStorage":[9386],"stdToml":[11189]},"nodeType":"SourceUnit","src":"32:24401:95","nodes":[{"id":64442,"nodeType":"PragmaDirective","src":"32:31:95","nodes":[],"literals":["solidity",">=","0.7",".0","<","0.9",".0"]},{"id":64443,"nodeType":"ImportDirective","src":"65:28:95","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":66302,"sourceUnit":12028,"symbolAliases":[],"unitAlias":""},{"id":64445,"nodeType":"ImportDirective","src":"94:52:95","nodes":[],"absolutePath":"lib/solady/src/utils/LibSort.sol","file":"@solady/utils/LibSort.sol","nameLocation":"-1:-1:-1","scope":66302,"sourceUnit":52289,"symbolAliases":[{"foreign":{"id":64444,"name":"LibSort","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52288,"src":"103:7:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64447,"nodeType":"ImportDirective","src":"147:59:95","nodes":[],"absolutePath":"lib/safe-contracts/contracts/GnosisSafe.sol","file":"safe-contracts/GnosisSafe.sol","nameLocation":"-1:-1:-1","scope":66302,"sourceUnit":49762,"symbolAliases":[{"foreign":{"id":64446,"name":"GnosisSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49761,"src":"156:10:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64449,"nodeType":"ImportDirective","src":"207:68:95","nodes":[],"absolutePath":"lib/safe-contracts/contracts/base/OwnerManager.sol","file":"safe-contracts/base/OwnerManager.sol","nameLocation":"-1:-1:-1","scope":66302,"sourceUnit":50801,"symbolAliases":[{"foreign":{"id":64448,"name":"OwnerManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50800,"src":"216:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64451,"nodeType":"ImportDirective","src":"276:70:95","nodes":[],"absolutePath":"lib/safe-contracts/contracts/base/ModuleManager.sol","file":"safe-contracts/base/ModuleManager.sol","nameLocation":"-1:-1:-1","scope":66302,"sourceUnit":50290,"symbolAliases":[{"foreign":{"id":64450,"name":"ModuleManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50289,"src":"285:13:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64453,"nodeType":"ImportDirective","src":"347:68:95","nodes":[],"absolutePath":"lib/safe-contracts/contracts/base/GuardManager.sol","file":"safe-contracts/base/GuardManager.sol","nameLocation":"-1:-1:-1","scope":66302,"sourceUnit":49923,"symbolAliases":[{"foreign":{"id":64452,"name":"GuardManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49922,"src":"356:12:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64455,"nodeType":"ImportDirective","src":"416:91:95","nodes":[],"absolutePath":"lib/safe-contracts/contracts/proxies/GnosisSafeProxyFactory.sol","file":"safe-contracts/proxies/GnosisSafeProxyFactory.sol","nameLocation":"-1:-1:-1","scope":66302,"sourceUnit":51573,"symbolAliases":[{"foreign":{"id":64454,"name":"GnosisSafeProxyFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51572,"src":"425:22:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64457,"nodeType":"ImportDirective","src":"508:54:95","nodes":[],"absolutePath":"lib/safe-contracts/contracts/common/Enum.sol","file":"safe-contracts/common/Enum.sol","nameLocation":"-1:-1:-1","scope":66302,"sourceUnit":50808,"symbolAliases":[{"foreign":{"id":64456,"name":"Enum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50807,"src":"517:4:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64459,"nodeType":"ImportDirective","src":"563:83:95","nodes":[],"absolutePath":"lib/safe-contracts/contracts/examples/libraries/SignMessage.sol","file":"safe-contracts/examples/libraries/SignMessage.sol","nameLocation":"-1:-1:-1","scope":66302,"sourceUnit":51075,"symbolAliases":[{"foreign":{"id":64458,"name":"SignMessageLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51074,"src":"572:14:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":64460,"nodeType":"ImportDirective","src":"647:50:95","nodes":[],"absolutePath":"test/safe-tools/CompatibilityFallbackHandler_1_3_0.sol","file":"./CompatibilityFallbackHandler_1_3_0.sol","nameLocation":"-1:-1:-1","scope":66302,"sourceUnit":64441,"symbolAliases":[],"unitAlias":""},{"id":64501,"nodeType":"ContractDefinition","src":"1109:442:95","nodes":[{"id":64477,"nodeType":"FunctionDefinition","src":"1155:107:95","nodes":[],"body":{"id":64476,"nodeType":"Block","src":"1213:49:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":64472,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64466,"src":"1235:7:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":64473,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64468,"src":"1244:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64471,"name":"setupOwners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50438,"src":"1223:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address[] memory,uint256)"}},"id":64474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1223:32:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64475,"nodeType":"ExpressionStatement","src":"1223:32:95"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":64469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64466,"mutability":"mutable","name":"_owners","nameLocation":"1184:7:95","nodeType":"VariableDeclaration","scope":64477,"src":"1167:24:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64464,"name":"address","nodeType":"ElementaryTypeName","src":"1167:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64465,"nodeType":"ArrayTypeName","src":"1167:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":64468,"mutability":"mutable","name":"_threshold","nameLocation":"1201:10:95","nodeType":"VariableDeclaration","scope":64477,"src":"1193:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64467,"name":"uint256","nodeType":"ElementaryTypeName","src":"1193:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1166:46:95"},"returnParameters":{"id":64470,"nodeType":"ParameterList","parameters":[],"src":"1213:0:95"},"scope":64501,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":64500,"nodeType":"FunctionDefinition","src":"1374:175:95","nodes":[],"body":{"id":64499,"nodeType":"Block","src":"1463:86:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":64494,"name":"prevOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64480,"src":"1513:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64495,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64482,"src":"1524:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64496,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64484,"src":"1531:10:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":64490,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1494:4:95","typeDescriptions":{"typeIdentifier":"t_contract$_OwnerSimulator_$64501","typeString":"contract OwnerSimulator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_OwnerSimulator_$64501","typeString":"contract OwnerSimulator"}],"id":64489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1486:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64488,"name":"address","nodeType":"ElementaryTypeName","src":"1486:7:95","typeDescriptions":{}}},"id":64491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1486:13:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64487,"name":"OwnerManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50800,"src":"1473:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnerManager_$50800_$","typeString":"type(contract OwnerManager)"}},"id":64492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1473:27:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OwnerManager_$50800","typeString":"contract OwnerManager"}},"id":64493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1501:11:95","memberName":"removeOwner","nodeType":"MemberAccess","referencedDeclaration":50588,"src":"1473:39:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256) external"}},"id":64497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1473:69:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64498,"nodeType":"ExpressionStatement","src":"1473:69:95"}]},"documentation":{"id":64478,"nodeType":"StructuredDocumentation","src":"1268:101:95","text":"@dev Exposes the OwnerManager's removeOwner function so that anyone may call without needing auth"},"functionSelector":"fcb7a495","implemented":true,"kind":"function","modifiers":[],"name":"removeOwnerWrapped","nameLocation":"1383:18:95","parameters":{"id":64485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64480,"mutability":"mutable","name":"prevOwner","nameLocation":"1410:9:95","nodeType":"VariableDeclaration","scope":64500,"src":"1402:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64479,"name":"address","nodeType":"ElementaryTypeName","src":"1402:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64482,"mutability":"mutable","name":"owner","nameLocation":"1429:5:95","nodeType":"VariableDeclaration","scope":64500,"src":"1421:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64481,"name":"address","nodeType":"ElementaryTypeName","src":"1421:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64484,"mutability":"mutable","name":"_threshold","nameLocation":"1444:10:95","nodeType":"VariableDeclaration","scope":64500,"src":"1436:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64483,"name":"uint256","nodeType":"ElementaryTypeName","src":"1436:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1401:54:95"},"returnParameters":{"id":64486,"nodeType":"ParameterList","parameters":[],"src":"1463:0:95"},"scope":64501,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":64462,"name":"OwnerManager","nameLocations":["1136:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":50800,"src":"1136:12:95"},"id":64463,"nodeType":"InheritanceSpecifier","src":"1136:12:95"}],"canonicalName":"OwnerSimulator","contractDependencies":[],"contractKind":"contract","documentation":{"id":64461,"nodeType":"StructuredDocumentation","src":"869:240:95","text":"@dev A minimal wrapper around the OwnerManager contract. This contract is meant to be initialized with\n      the same owners as a Safe instance, and then used to simulate the resulting owners list\n      after an owner is removed."},"fullyImplemented":true,"linearizedBaseContracts":[64501,50800,50882],"name":"OwnerSimulator","nameLocation":"1118:14:95","scope":66302,"usedErrors":[],"usedEvents":[50299,50303,50307]},{"id":64507,"nodeType":"ContractDefinition","src":"1633:78:95","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":64503,"name":"GnosisSafe","nameLocations":["1667:10:95"],"nodeType":"IdentifierPath","referencedDeclaration":49761,"src":"1667:10:95"},"id":64504,"nodeType":"InheritanceSpecifier","src":"1667:10:95"},{"baseName":{"id":64505,"name":"CompatibilityFallbackHandler","nameLocations":["1679:28:95"],"nodeType":"IdentifierPath","referencedDeclaration":64440,"src":"1679:28:95"},"id":64506,"nodeType":"InheritanceSpecifier","src":"1679:28:95"}],"canonicalName":"DeployedSafe","contractDependencies":[],"contractKind":"contract","documentation":{"id":64502,"nodeType":"StructuredDocumentation","src":"1553:80:95","text":"@dev collapsed interface that includes comapatibilityfallback handler calls"},"fullyImplemented":true,"linearizedBaseContracts":[64507,64440,51285,49761,49922,50957,49844,51272,64206,51266,51236,51254,51218,50856,50902,50800,50289,49793,50882,50908,50829],"name":"DeployedSafe","nameLocation":"1651:12:95","scope":66302,"usedErrors":[],"usedEvents":[48867,48873,48877,48883,48889,49803,49889,49936,49940,49944,49948,50299,50303,50307,50816]},{"id":64524,"nodeType":"StructDefinition","src":"1713:262:95","nodes":[],"canonicalName":"AdvancedSafeInitParams","members":[{"constant":false,"id":64509,"mutability":"mutable","name":"includeFallbackHandler","nameLocation":"1754:22:95","nodeType":"VariableDeclaration","scope":64524,"src":"1749:27:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64508,"name":"bool","nodeType":"ElementaryTypeName","src":"1749:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":64511,"mutability":"mutable","name":"saltNonce","nameLocation":"1790:9:95","nodeType":"VariableDeclaration","scope":64524,"src":"1782:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64510,"name":"uint256","nodeType":"ElementaryTypeName","src":"1782:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64513,"mutability":"mutable","name":"setupModulesCall_to","nameLocation":"1813:19:95","nodeType":"VariableDeclaration","scope":64524,"src":"1805:27:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64512,"name":"address","nodeType":"ElementaryTypeName","src":"1805:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64515,"mutability":"mutable","name":"setupModulesCall_data","nameLocation":"1844:21:95","nodeType":"VariableDeclaration","scope":64524,"src":"1838:27:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":64514,"name":"bytes","nodeType":"ElementaryTypeName","src":"1838:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":64517,"mutability":"mutable","name":"refundAmount","nameLocation":"1879:12:95","nodeType":"VariableDeclaration","scope":64524,"src":"1871:20:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64516,"name":"uint256","nodeType":"ElementaryTypeName","src":"1871:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64519,"mutability":"mutable","name":"refundToken","nameLocation":"1905:11:95","nodeType":"VariableDeclaration","scope":64524,"src":"1897:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64518,"name":"address","nodeType":"ElementaryTypeName","src":"1897:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64521,"mutability":"mutable","name":"refundReceiver","nameLocation":"1938:14:95","nodeType":"VariableDeclaration","scope":64524,"src":"1922:30:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":64520,"name":"address","nodeType":"ElementaryTypeName","src":"1922:15:95","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":64523,"mutability":"mutable","name":"initData","nameLocation":"1964:8:95","nodeType":"VariableDeclaration","scope":64524,"src":"1958:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":64522,"name":"bytes","nodeType":"ElementaryTypeName","src":"1958:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"AdvancedSafeInitParams","nameLocation":"1720:22:95","scope":66302,"visibility":"public"},{"id":64538,"nodeType":"StructDefinition","src":"1977:139:95","nodes":[],"canonicalName":"SafeInstance","members":[{"constant":false,"id":64526,"mutability":"mutable","name":"instanceId","nameLocation":"2011:10:95","nodeType":"VariableDeclaration","scope":64538,"src":"2003:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64525,"name":"uint256","nodeType":"ElementaryTypeName","src":"2003:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64529,"mutability":"mutable","name":"ownerPKs","nameLocation":"2037:8:95","nodeType":"VariableDeclaration","scope":64538,"src":"2027:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":64527,"name":"uint256","nodeType":"ElementaryTypeName","src":"2027:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64528,"nodeType":"ArrayTypeName","src":"2027:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":64532,"mutability":"mutable","name":"owners","nameLocation":"2061:6:95","nodeType":"VariableDeclaration","scope":64538,"src":"2051:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64530,"name":"address","nodeType":"ElementaryTypeName","src":"2051:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64531,"nodeType":"ArrayTypeName","src":"2051:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":64534,"mutability":"mutable","name":"threshold","nameLocation":"2081:9:95","nodeType":"VariableDeclaration","scope":64538,"src":"2073:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64533,"name":"uint256","nodeType":"ElementaryTypeName","src":"2073:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64537,"mutability":"mutable","name":"safe","nameLocation":"2109:4:95","nodeType":"VariableDeclaration","scope":64538,"src":"2096:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"},"typeName":{"id":64536,"nodeType":"UserDefinedTypeName","pathNode":{"id":64535,"name":"DeployedSafe","nameLocations":["2096:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64507,"src":"2096:12:95"},"referencedDeclaration":64507,"src":"2096:12:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"visibility":"internal"}],"name":"SafeInstance","nameLocation":"1984:12:95","scope":66302,"visibility":"public"},{"id":64558,"nodeType":"ContractDefinition","src":"2118:200:95","nodes":[{"id":64557,"nodeType":"FunctionDefinition","src":"2187:129:95","nodes":[],"body":{"id":64556,"nodeType":"Block","src":"2262:54:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":64551,"name":"arr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64542,"src":"2285:3:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":64548,"name":"LibSort","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52288,"src":"2272:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibSort_$52288_$","typeString":"type(library LibSort)"}},"id":64550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2280:4:95","memberName":"sort","nodeType":"MemberAccess","referencedDeclaration":51681,"src":"2272:12:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory) pure"}},"id":64552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2272:17:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64553,"nodeType":"ExpressionStatement","src":"2272:17:95"},{"expression":{"id":64554,"name":"arr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64542,"src":"2306:3:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":64547,"id":64555,"nodeType":"Return","src":"2299:10:95"}]},"documentation":{"id":64539,"nodeType":"StructuredDocumentation","src":"2137:45:95","text":"@dev Sorts an array of addresses in place"},"functionSelector":"128424a7","implemented":true,"kind":"function","modifiers":[],"name":"sort","nameLocation":"2196:4:95","parameters":{"id":64543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64542,"mutability":"mutable","name":"arr","nameLocation":"2218:3:95","nodeType":"VariableDeclaration","scope":64557,"src":"2201:20:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64540,"name":"address","nodeType":"ElementaryTypeName","src":"2201:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64541,"nodeType":"ArrayTypeName","src":"2201:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2200:22:95"},"returnParameters":{"id":64547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64546,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64557,"src":"2244:16:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64544,"name":"address","nodeType":"ElementaryTypeName","src":"2244:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64545,"nodeType":"ArrayTypeName","src":"2244:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2243:18:95"},"scope":64558,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"Sort","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[64558],"name":"Sort","nameLocation":"2126:4:95","scope":66302,"usedErrors":[],"usedEvents":[]},{"id":65866,"nodeType":"ContractDefinition","src":"2320:15602:95","nodes":[{"id":64562,"nodeType":"VariableDeclaration","src":"2396:69:95","nodes":[],"constant":true,"documentation":{"id":64559,"nodeType":"StructuredDocumentation","src":"2346:45:95","text":"@dev The address of foundry's VM contract"},"mutability":"constant","name":"VM_ADDR","nameLocation":"2413:7:95","scope":65866,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64560,"name":"address","nodeType":"ElementaryTypeName","src":"2396:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307837313039373039454366613931613830363236664633393839443638663637463562314444313244","id":64561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2423:42:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"},"visibility":"internal"},{"id":64569,"nodeType":"VariableDeclaration","src":"2544:47:95","nodes":[],"constant":true,"documentation":{"id":64563,"nodeType":"StructuredDocumentation","src":"2471:68:95","text":"@dev The address of the first owner in the linked list of owners"},"mutability":"constant","name":"SENTINEL_OWNERS","nameLocation":"2561:15:95","scope":65866,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64564,"name":"address","nodeType":"ElementaryTypeName","src":"2544:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307831","id":64567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2587:3:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":64566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2579:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64565,"name":"address","nodeType":"ElementaryTypeName","src":"2579:7:95","typeDescriptions":{}}},"id":64568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2579:12:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":64585,"nodeType":"FunctionDefinition","src":"2646:105:95","nodes":[],"body":{"id":64584,"nodeType":"Block","src":"2707:44:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":64581,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64572,"src":"2741:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":64578,"name":"VM_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"2727:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64577,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"2724:2:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":64579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2724:11:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":64580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2736:4:95","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":12554,"src":"2724:16:95","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":64582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2724:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":64576,"id":64583,"nodeType":"Return","src":"2717:27:95"}]},"documentation":{"id":64570,"nodeType":"StructuredDocumentation","src":"2598:43:95","text":"@dev Get the address from a private key"},"implemented":true,"kind":"function","modifiers":[],"name":"getAddr","nameLocation":"2655:7:95","parameters":{"id":64573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64572,"mutability":"mutable","name":"pk","nameLocation":"2671:2:95","nodeType":"VariableDeclaration","scope":64585,"src":"2663:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64571,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2662:12:95"},"returnParameters":{"id":64576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64575,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64585,"src":"2698:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64574,"name":"address","nodeType":"ElementaryTypeName","src":"2698:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2697:9:95"},"scope":65866,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":64691,"nodeType":"FunctionDefinition","src":"2877:588:95","nodes":[],"body":{"id":64690,"nodeType":"Block","src":"3045:420:95","nodes":[],"statements":[{"expression":{"id":64605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64599,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64597,"src":"3055:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64603,"name":"num","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64590,"src":"3076:3:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3062:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":64600,"name":"uint256","nodeType":"ElementaryTypeName","src":"3066:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64601,"nodeType":"ArrayTypeName","src":"3066:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":64604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3062:18:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"3055:25:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64606,"nodeType":"ExpressionStatement","src":"3055:25:95"},{"expression":{"id":64613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64607,"name":"addrs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64594,"src":"3090:5:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64611,"name":"num","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64590,"src":"3112:3:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3098:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":64608,"name":"address","nodeType":"ElementaryTypeName","src":"3102:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64609,"nodeType":"ArrayTypeName","src":"3102:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":64612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3098:18:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"3090:26:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64614,"nodeType":"ExpressionStatement","src":"3090:26:95"},{"body":{"id":64642,"nodeType":"Block","src":"3156:105:95","statements":[{"assignments":[64625],"declarations":[{"constant":false,"id":64625,"mutability":"mutable","name":"key","nameLocation":"3178:3:95","nodeType":"VariableDeclaration","scope":64642,"src":"3170:11:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64624,"name":"uint256","nodeType":"ElementaryTypeName","src":"3170:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64635,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":64631,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64616,"src":"3219:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64629,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3202:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3206:12:95","memberName":"encodePacked","nodeType":"MemberAccess","src":"3202:16:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3202:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":64628,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3192:9:95","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":64633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3192:30:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":64627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3184:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64626,"name":"uint256","nodeType":"ElementaryTypeName","src":"3184:7:95","typeDescriptions":{}}},"id":64634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3184:39:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3170:53:95"},{"expression":{"id":64640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64636,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64597,"src":"3237:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64638,"indexExpression":{"id":64637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64616,"src":"3242:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3237:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64639,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64625,"src":"3247:3:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3237:13:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64641,"nodeType":"ExpressionStatement","src":"3237:13:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64618,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64616,"src":"3142:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":64619,"name":"num","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64590,"src":"3146:3:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3142:7:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64643,"initializationExpression":{"assignments":[64616],"declarations":[{"constant":false,"id":64616,"mutability":"mutable","name":"i","nameLocation":"3139:1:95","nodeType":"VariableDeclaration","scope":64643,"src":"3131:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64615,"name":"uint256","nodeType":"ElementaryTypeName","src":"3131:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64617,"nodeType":"VariableDeclarationStatement","src":"3131:9:95"},"loopExpression":{"expression":{"id":64622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3151:3:95","subExpression":{"id":64621,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64616,"src":"3151:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64623,"nodeType":"ExpressionStatement","src":"3151:3:95"},"nodeType":"ForStatement","src":"3126:135:95"},{"body":{"id":64688,"nodeType":"Block","src":"3301:158:95","statements":[{"expression":{"id":64664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64653,"name":"addrs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64594,"src":"3315:5:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64655,"indexExpression":{"id":64654,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64645,"src":"3321:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3315:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":64660,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64597,"src":"3343:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64662,"indexExpression":{"id":64661,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64645,"src":"3348:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3343:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":64657,"name":"VM_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"3329:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64656,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"3326:2:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":64658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3326:11:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":64659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3338:4:95","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":12554,"src":"3326:16:95","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":64663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3326:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3315:36:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64665,"nodeType":"ExpressionStatement","src":"3315:36:95"},{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":64671,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64597,"src":"3391:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64673,"indexExpression":{"id":64672,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64645,"src":"3396:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3391:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64670,"name":"getAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64585,"src":"3383:7:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure returns (address)"}},"id":64674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3383:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":64678,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64588,"src":"3415:6:95","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":64683,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64645,"src":"3444:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":64680,"name":"VM_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"3426:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64679,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"3423:2:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":64681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3423:11:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":64682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3435:8:95","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":13574,"src":"3423:20:95","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":64684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3423:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":64676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3401:6:95","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":64675,"name":"string","nodeType":"ElementaryTypeName","src":"3401:6:95","typeDescriptions":{}}},"id":64677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3408:6:95","memberName":"concat","nodeType":"MemberAccess","src":"3401:13:95","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":64685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3401:46:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"arguments":[{"id":64667,"name":"VM_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"3368:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":64666,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"3365:2:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":64668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:11:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":64669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3377:5:95","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":15175,"src":"3365:17:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":64686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:83:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64687,"nodeType":"ExpressionStatement","src":"3365:83:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64647,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64645,"src":"3287:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":64648,"name":"num","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64590,"src":"3291:3:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3287:7:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64689,"initializationExpression":{"assignments":[64645],"declarations":[{"constant":false,"id":64645,"mutability":"mutable","name":"i","nameLocation":"3284:1:95","nodeType":"VariableDeclaration","scope":64689,"src":"3276:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64644,"name":"uint256","nodeType":"ElementaryTypeName","src":"3276:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64646,"nodeType":"VariableDeclarationStatement","src":"3276:9:95"},"loopExpression":{"expression":{"id":64651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3296:3:95","subExpression":{"id":64650,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64645,"src":"3296:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64652,"nodeType":"ExpressionStatement","src":"3296:3:95"},"nodeType":"ForStatement","src":"3271:188:95"}]},"documentation":{"id":64586,"nodeType":"StructuredDocumentation","src":"2757:115:95","text":"@dev Get arrays of addresses and private keys. The arrays are sorted by address, and the addresses are labelled"},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddrsAndKeys","nameLocation":"2886:16:95","parameters":{"id":64591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64588,"mutability":"mutable","name":"prefix","nameLocation":"2926:6:95","nodeType":"VariableDeclaration","scope":64691,"src":"2912:20:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":64587,"name":"string","nodeType":"ElementaryTypeName","src":"2912:6:95","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":64590,"mutability":"mutable","name":"num","nameLocation":"2950:3:95","nodeType":"VariableDeclaration","scope":64691,"src":"2942:11:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64589,"name":"uint256","nodeType":"ElementaryTypeName","src":"2942:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2902:57:95"},"returnParameters":{"id":64598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64594,"mutability":"mutable","name":"addrs","nameLocation":"3011:5:95","nodeType":"VariableDeclaration","scope":64691,"src":"2994:22:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64592,"name":"address","nodeType":"ElementaryTypeName","src":"2994:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64593,"nodeType":"ArrayTypeName","src":"2994:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":64597,"mutability":"mutable","name":"keys","nameLocation":"3035:4:95","nodeType":"VariableDeclaration","scope":64691,"src":"3018:21:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":64595,"name":"uint256","nodeType":"ElementaryTypeName","src":"3018:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64596,"nodeType":"ArrayTypeName","src":"3018:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2993:47:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":64694,"nodeType":"VariableDeclaration","src":"3471:55:95","nodes":[],"constant":true,"mutability":"constant","name":"ADDR_MASK","nameLocation":"3488:9:95","scope":65866,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":64692,"name":"bytes12","nodeType":"ElementaryTypeName","src":"3471:7:95","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"value":{"hexValue":"3078666666666666666666666666666666666666666666666666","id":64693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3500:26:95","typeDescriptions":{"typeIdentifier":"t_rational_79228162514264337593543950335_by_1","typeString":"int_const 79228162514264337593543950335"},"value":"0xffffffffffffffffffffffff"},"visibility":"internal"},{"id":64704,"nodeType":"FunctionDefinition","src":"3594:209:95","nodes":[],"body":{"id":64703,"nodeType":"Block","src":"3689:114:95","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"3708:89:95","statements":[{"nodeType":"YulVariableDeclaration","src":"3722:20:95","value":{"name":"addr","nodeType":"YulIdentifier","src":"3738:4:95"},"variables":[{"name":"addr_b32","nodeType":"YulTypedName","src":"3726:8:95","type":""}]},{"nodeType":"YulAssignment","src":"3755:32:95","value":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"3771:4:95"},{"name":"ADDR_MASK","nodeType":"YulIdentifier","src":"3777:9:95"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3768:2:95"},"nodeType":"YulFunctionCall","src":"3768:19:95"},"variableNames":[{"name":"encodedPK","nodeType":"YulIdentifier","src":"3755:9:95"}]}]},"evmVersion":"shanghai","externalReferences":[{"declaration":64694,"isOffset":false,"isSlot":false,"src":"3777:9:95","valueSize":1},{"declaration":64697,"isOffset":false,"isSlot":false,"src":"3738:4:95","valueSize":1},{"declaration":64697,"isOffset":false,"isSlot":false,"src":"3771:4:95","valueSize":1},{"declaration":64700,"isOffset":false,"isSlot":false,"src":"3755:9:95","valueSize":1}],"id":64702,"nodeType":"InlineAssembly","src":"3699:98:95"}]},"documentation":{"id":64695,"nodeType":"StructuredDocumentation","src":"3533:56:95","text":"@dev Encode a smart contract wallet as a private key"},"implemented":true,"kind":"function","modifiers":[],"name":"encodeSmartContractWalletAsPK","nameLocation":"3603:29:95","parameters":{"id":64698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64697,"mutability":"mutable","name":"addr","nameLocation":"3641:4:95","nodeType":"VariableDeclaration","scope":64704,"src":"3633:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64696,"name":"address","nodeType":"ElementaryTypeName","src":"3633:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3632:14:95"},"returnParameters":{"id":64701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64700,"mutability":"mutable","name":"encodedPK","nameLocation":"3678:9:95","nodeType":"VariableDeclaration","scope":64704,"src":"3670:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64699,"name":"uint256","nodeType":"ElementaryTypeName","src":"3670:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3669:19:95"},"scope":65866,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":64714,"nodeType":"FunctionDefinition","src":"3886:213:95","nodes":[],"body":{"id":64713,"nodeType":"Block","src":"3986:113:95","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"4005:88:95","statements":[{"nodeType":"YulVariableDeclaration","src":"4019:23:95","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4035:2:95","type":"","value":"96"},{"name":"pk","nodeType":"YulIdentifier","src":"4039:2:95"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4031:3:95"},"nodeType":"YulFunctionCall","src":"4031:11:95"},"variables":[{"name":"addr","nodeType":"YulTypedName","src":"4023:4:95","type":""}]},{"nodeType":"YulAssignment","src":"4055:28:95","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4074:2:95","type":"","value":"96"},{"name":"addr","nodeType":"YulIdentifier","src":"4078:4:95"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4070:3:95"},"nodeType":"YulFunctionCall","src":"4070:13:95"},"variableNames":[{"name":"decodedAddr","nodeType":"YulIdentifier","src":"4055:11:95"}]}]},"evmVersion":"shanghai","externalReferences":[{"declaration":64710,"isOffset":false,"isSlot":false,"src":"4055:11:95","valueSize":1},{"declaration":64707,"isOffset":false,"isSlot":false,"src":"4039:2:95","valueSize":1}],"id":64712,"nodeType":"InlineAssembly","src":"3996:97:95"}]},"documentation":{"id":64705,"nodeType":"StructuredDocumentation","src":"3809:72:95","text":"@dev Decode a smart contract wallet as an address from a private key"},"implemented":true,"kind":"function","modifiers":[],"name":"decodeSmartContractWalletAsAddress","nameLocation":"3895:34:95","parameters":{"id":64708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64707,"mutability":"mutable","name":"pk","nameLocation":"3938:2:95","nodeType":"VariableDeclaration","scope":64714,"src":"3930:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64706,"name":"uint256","nodeType":"ElementaryTypeName","src":"3930:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3929:12:95"},"returnParameters":{"id":64711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64710,"mutability":"mutable","name":"decodedAddr","nameLocation":"3973:11:95","nodeType":"VariableDeclaration","scope":64714,"src":"3965:19:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64709,"name":"address","nodeType":"ElementaryTypeName","src":"3965:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3964:21:95"},"scope":65866,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":64724,"nodeType":"FunctionDefinition","src":"4179:177:95","nodes":[],"body":{"id":64723,"nodeType":"Block","src":"4257:99:95","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"4276:74:95","statements":[{"nodeType":"YulAssignment","src":"4290:50:95","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4310:3:95","type":"","value":"160"},{"name":"pk","nodeType":"YulIdentifier","src":"4315:2:95"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4306:3:95"},"nodeType":"YulFunctionCall","src":"4306:12:95"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4324:3:95","type":"","value":"160"},{"name":"ADDR_MASK","nodeType":"YulIdentifier","src":"4329:9:95"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4320:3:95"},"nodeType":"YulFunctionCall","src":"4320:19:95"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4303:2:95"},"nodeType":"YulFunctionCall","src":"4303:37:95"},"variableNames":[{"name":"isEncoded","nodeType":"YulIdentifier","src":"4290:9:95"}]}]},"evmVersion":"shanghai","externalReferences":[{"declaration":64694,"isOffset":false,"isSlot":false,"src":"4329:9:95","valueSize":1},{"declaration":64720,"isOffset":false,"isSlot":false,"src":"4290:9:95","valueSize":1},{"declaration":64717,"isOffset":false,"isSlot":false,"src":"4315:2:95","valueSize":1}],"id":64722,"nodeType":"InlineAssembly","src":"4267:83:95"}]},"documentation":{"id":64715,"nodeType":"StructuredDocumentation","src":"4105:69:95","text":"@dev Checks if a private key is an encoded smart contract address"},"implemented":true,"kind":"function","modifiers":[],"name":"isSmartContractPK","nameLocation":"4188:17:95","parameters":{"id":64718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64717,"mutability":"mutable","name":"pk","nameLocation":"4214:2:95","nodeType":"VariableDeclaration","scope":64724,"src":"4206:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64716,"name":"uint256","nodeType":"ElementaryTypeName","src":"4206:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4205:12:95"},"returnParameters":{"id":64721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64720,"mutability":"mutable","name":"isEncoded","nameLocation":"4246:9:95","nodeType":"VariableDeclaration","scope":64724,"src":"4241:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":64719,"name":"bool","nodeType":"ElementaryTypeName","src":"4241:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4240:16:95"},"scope":65866,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":64935,"nodeType":"FunctionDefinition","src":"4535:1352:95","nodes":[],"body":{"id":64934,"nodeType":"Block","src":"4633:1254:95","nodes":[],"statements":[{"assignments":[64738],"declarations":[{"constant":false,"id":64738,"mutability":"mutable","name":"sortedPKs","nameLocation":"4660:9:95","nodeType":"VariableDeclaration","scope":64934,"src":"4643:26:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":64736,"name":"uint256","nodeType":"ElementaryTypeName","src":"4643:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64737,"nodeType":"ArrayTypeName","src":"4643:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":64745,"initialValue":{"arguments":[{"expression":{"id":64742,"name":"_pks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64728,"src":"4686:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4691:6:95","memberName":"length","nodeType":"MemberAccess","src":"4686:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4672:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":64739,"name":"uint256","nodeType":"ElementaryTypeName","src":"4676:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64740,"nodeType":"ArrayTypeName","src":"4676:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":64744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4672:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4643:55:95"},{"assignments":[64750],"declarations":[{"constant":false,"id":64750,"mutability":"mutable","name":"addresses","nameLocation":"4726:9:95","nodeType":"VariableDeclaration","scope":64934,"src":"4709:26:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":64748,"name":"address","nodeType":"ElementaryTypeName","src":"4709:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64749,"nodeType":"ArrayTypeName","src":"4709:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":64757,"initialValue":{"arguments":[{"expression":{"id":64754,"name":"_pks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64728,"src":"4752:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4757:6:95","memberName":"length","nodeType":"MemberAccess","src":"4752:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4738:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":64751,"name":"address","nodeType":"ElementaryTypeName","src":"4742:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64752,"nodeType":"ArrayTypeName","src":"4742:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":64756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4738:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4709:55:95"},{"assignments":[64764],"declarations":[{"constant":false,"id":64764,"mutability":"mutable","name":"accounts","nameLocation":"4794:8:95","nodeType":"VariableDeclaration","scope":64934,"src":"4774:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_bytes32_$2_memory_ptr_$dyn_memory_ptr","typeString":"bytes32[2][]"},"typeName":{"baseType":{"baseType":{"id":64761,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4774:7:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":64762,"length":{"hexValue":"32","id":64760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4782:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"4774:10:95","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$2_storage_ptr","typeString":"bytes32[2]"}},"id":64763,"nodeType":"ArrayTypeName","src":"4774:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_bytes32_$2_storage_$dyn_storage_ptr","typeString":"bytes32[2][]"}},"visibility":"internal"}],"id":64773,"initialValue":{"arguments":[{"expression":{"id":64770,"name":"_pks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64728,"src":"4822:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4827:6:95","memberName":"length","nodeType":"MemberAccess","src":"4822:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4805:16:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_array$_t_bytes32_$2_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[2] memory[] memory)"},"typeName":{"baseType":{"baseType":{"id":64765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4809:7:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":64767,"length":{"hexValue":"32","id":64766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4817:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"4809:10:95","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$2_storage_ptr","typeString":"bytes32[2]"}},"id":64768,"nodeType":"ArrayTypeName","src":"4809:12:95","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_bytes32_$2_storage_$dyn_storage_ptr","typeString":"bytes32[2][]"}}},"id":64772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4805:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_bytes32_$2_memory_ptr_$dyn_memory_ptr","typeString":"bytes32[2] memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4774:60:95"},{"body":{"id":64839,"nodeType":"Block","src":"4883:354:95","statements":[{"assignments":[64785],"declarations":[{"constant":false,"id":64785,"mutability":"mutable","name":"pk","nameLocation":"4905:2:95","nodeType":"VariableDeclaration","scope":64839,"src":"4897:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64784,"name":"uint256","nodeType":"ElementaryTypeName","src":"4897:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64789,"initialValue":{"baseExpression":{"id":64786,"name":"_pks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64728,"src":"4910:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64788,"indexExpression":{"id":64787,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64775,"src":"4915:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4910:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4897:20:95"},{"assignments":[64791],"declarations":[{"constant":false,"id":64791,"mutability":"mutable","name":"signer","nameLocation":"4939:6:95","nodeType":"VariableDeclaration","scope":64839,"src":"4931:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64790,"name":"address","nodeType":"ElementaryTypeName","src":"4931:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":64796,"initialValue":{"arguments":[{"id":64794,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"4968:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":64792,"name":"SafeTestLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"4948:11:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeTestLib_$65866_$","typeString":"type(library SafeTestLib)"}},"id":64793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4960:7:95","memberName":"getAddr","nodeType":"MemberAccess","referencedDeclaration":64585,"src":"4948:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure returns (address)"}},"id":64795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4948:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4931:40:95"},{"condition":{"arguments":[{"id":64798,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"5007:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64797,"name":"isSmartContractPK","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64724,"src":"4989:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) pure returns (bool)"}},"id":64799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4989:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64807,"nodeType":"IfStatement","src":"4985:107:95","trueBody":{"id":64806,"nodeType":"Block","src":"5012:80:95","statements":[{"expression":{"id":64804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64800,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64791,"src":"5030:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64802,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"5074:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64801,"name":"decodeSmartContractWalletAsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64714,"src":"5039:34:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure returns (address)"}},"id":64803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5039:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5030:47:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64805,"nodeType":"ExpressionStatement","src":"5030:47:95"}]}},{"expression":{"id":64812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64808,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64750,"src":"5105:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64810,"indexExpression":{"id":64809,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64775,"src":"5115:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5105:12:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64811,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64791,"src":"5120:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5105:21:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":64813,"nodeType":"ExpressionStatement","src":"5105:21:95"},{"expression":{"id":64826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":64814,"name":"accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64764,"src":"5140:8:95","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_bytes32_$2_memory_ptr_$dyn_memory_ptr","typeString":"bytes32[2] memory[] memory"}},"id":64817,"indexExpression":{"id":64815,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64775,"src":"5149:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5140:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$2_memory_ptr","typeString":"bytes32[2] memory"}},"id":64818,"indexExpression":{"hexValue":"30","id":64816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5152:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5140:14:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":64823,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64791,"src":"5176:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":64821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5165:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":64822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5169:6:95","memberName":"encode","nodeType":"MemberAccess","src":"5165:10:95","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":64824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5165:18:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":64820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5157:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":64819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5157:7:95","typeDescriptions":{}}},"id":64825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5157:27:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5140:44:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":64827,"nodeType":"ExpressionStatement","src":"5140:44:95"},{"expression":{"id":64837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":64828,"name":"accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64764,"src":"5198:8:95","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_bytes32_$2_memory_ptr_$dyn_memory_ptr","typeString":"bytes32[2] memory[] memory"}},"id":64831,"indexExpression":{"id":64829,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64775,"src":"5207:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5198:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$2_memory_ptr","typeString":"bytes32[2] memory"}},"id":64832,"indexExpression":{"hexValue":"31","id":64830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5210:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5198:14:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64835,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64785,"src":"5223:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5215:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":64833,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5215:7:95","typeDescriptions":{}}},"id":64836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5215:11:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5198:28:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":64838,"nodeType":"ExpressionStatement","src":"5198:28:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64777,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64775,"src":"4861:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":64778,"name":"_pks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64728,"src":"4865:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4870:6:95","memberName":"length","nodeType":"MemberAccess","src":"4865:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4861:15:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64840,"initializationExpression":{"assignments":[64775],"declarations":[{"constant":false,"id":64775,"mutability":"mutable","name":"i","nameLocation":"4858:1:95","nodeType":"VariableDeclaration","scope":64840,"src":"4850:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64774,"name":"uint256","nodeType":"ElementaryTypeName","src":"4850:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64776,"nodeType":"VariableDeclarationStatement","src":"4850:9:95"},"loopExpression":{"expression":{"id":64782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4878:3:95","subExpression":{"id":64781,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64775,"src":"4878:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64783,"nodeType":"ExpressionStatement","src":"4878:3:95"},"nodeType":"ForStatement","src":"4845:392:95"},{"expression":{"id":64846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64841,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64750,"src":"5247:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64844,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64750,"src":"5269:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":64842,"name":"Sort","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64558,"src":"5259:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Sort_$64558_$","typeString":"type(library Sort)"}},"id":64843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5264:4:95","memberName":"sort","nodeType":"MemberAccess","referencedDeclaration":64557,"src":"5259:9:95","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (address[] memory) pure returns (address[] memory)"}},"id":64845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5259:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"5247:32:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64847,"nodeType":"ExpressionStatement","src":"5247:32:95"},{"assignments":[64849],"declarations":[{"constant":false,"id":64849,"mutability":"mutable","name":"found","nameLocation":"5298:5:95","nodeType":"VariableDeclaration","scope":64934,"src":"5290:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64848,"name":"uint256","nodeType":"ElementaryTypeName","src":"5290:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64850,"nodeType":"VariableDeclarationStatement","src":"5290:13:95"},{"body":{"id":64920,"nodeType":"Block","src":"5356:352:95","statements":[{"assignments":[64862],"declarations":[{"constant":false,"id":64862,"mutability":"mutable","name":"signer","nameLocation":"5378:6:95","nodeType":"VariableDeclaration","scope":64920,"src":"5370:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64861,"name":"address","nodeType":"ElementaryTypeName","src":"5370:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":64866,"initialValue":{"baseExpression":{"id":64863,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64750,"src":"5387:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64865,"indexExpression":{"id":64864,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64852,"src":"5397:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5387:12:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5370:29:95"},{"assignments":[64868],"declarations":[{"constant":false,"id":64868,"mutability":"mutable","name":"pk","nameLocation":"5421:2:95","nodeType":"VariableDeclaration","scope":64920,"src":"5413:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64867,"name":"uint256","nodeType":"ElementaryTypeName","src":"5413:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64869,"nodeType":"VariableDeclarationStatement","src":"5413:10:95"},{"body":{"id":64912,"nodeType":"Block","src":"5479:187:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":64895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"baseExpression":{"baseExpression":{"id":64886,"name":"accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64764,"src":"5525:8:95","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_bytes32_$2_memory_ptr_$dyn_memory_ptr","typeString":"bytes32[2] memory[] memory"}},"id":64888,"indexExpression":{"id":64887,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64871,"src":"5534:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5525:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$2_memory_ptr","typeString":"bytes32[2] memory"}},"id":64890,"indexExpression":{"hexValue":"30","id":64889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5537:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5525:14:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":64885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5517:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64884,"name":"uint256","nodeType":"ElementaryTypeName","src":"5517:7:95","typeDescriptions":{}}},"id":64891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5517:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":64883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5509:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":64882,"name":"uint160","nodeType":"ElementaryTypeName","src":"5509:7:95","typeDescriptions":{}}},"id":64892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5509:32:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":64881,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5501:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":64880,"name":"address","nodeType":"ElementaryTypeName","src":"5501:7:95","typeDescriptions":{}}},"id":64893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5501:41:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":64894,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64862,"src":"5546:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5501:51:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64911,"nodeType":"IfStatement","src":"5497:155:95","trueBody":{"id":64910,"nodeType":"Block","src":"5554:98:95","statements":[{"expression":{"id":64905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64896,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64868,"src":"5576:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"baseExpression":{"id":64899,"name":"accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64764,"src":"5589:8:95","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_bytes32_$2_memory_ptr_$dyn_memory_ptr","typeString":"bytes32[2] memory[] memory"}},"id":64901,"indexExpression":{"id":64900,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64871,"src":"5598:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5589:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$2_memory_ptr","typeString":"bytes32[2] memory"}},"id":64903,"indexExpression":{"hexValue":"31","id":64902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5601:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5589:14:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":64898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5581:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":64897,"name":"uint256","nodeType":"ElementaryTypeName","src":"5581:7:95","typeDescriptions":{}}},"id":64904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5581:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5576:28:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64906,"nodeType":"ExpressionStatement","src":"5576:28:95"},{"expression":{"id":64908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5626:7:95","subExpression":{"id":64907,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64849,"src":"5626:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64909,"nodeType":"ExpressionStatement","src":"5626:7:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64873,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64871,"src":"5453:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":64874,"name":"accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64764,"src":"5457:8:95","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_bytes32_$2_memory_ptr_$dyn_memory_ptr","typeString":"bytes32[2] memory[] memory"}},"id":64875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5466:6:95","memberName":"length","nodeType":"MemberAccess","src":"5457:15:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5453:19:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64913,"initializationExpression":{"assignments":[64871],"declarations":[{"constant":false,"id":64871,"mutability":"mutable","name":"k","nameLocation":"5450:1:95","nodeType":"VariableDeclaration","scope":64913,"src":"5442:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64870,"name":"uint256","nodeType":"ElementaryTypeName","src":"5442:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64872,"nodeType":"VariableDeclarationStatement","src":"5442:9:95"},"loopExpression":{"expression":{"id":64878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5474:3:95","subExpression":{"id":64877,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64871,"src":"5474:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64879,"nodeType":"ExpressionStatement","src":"5474:3:95"},"nodeType":"ForStatement","src":"5437:229:95"},{"expression":{"id":64918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":64914,"name":"sortedPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64738,"src":"5680:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64916,"indexExpression":{"id":64915,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64852,"src":"5690:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5680:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":64917,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64868,"src":"5695:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5680:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64919,"nodeType":"ExpressionStatement","src":"5680:17:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64854,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64852,"src":"5329:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":64855,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64750,"src":"5333:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":64856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5343:6:95","memberName":"length","nodeType":"MemberAccess","src":"5333:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5329:20:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64921,"initializationExpression":{"assignments":[64852],"declarations":[{"constant":false,"id":64852,"mutability":"mutable","name":"j","nameLocation":"5326:1:95","nodeType":"VariableDeclaration","scope":64921,"src":"5318:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64851,"name":"uint256","nodeType":"ElementaryTypeName","src":"5318:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64853,"nodeType":"VariableDeclarationStatement","src":"5318:9:95"},"loopExpression":{"expression":{"id":64859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5351:3:95","subExpression":{"id":64858,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64852,"src":"5351:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64860,"nodeType":"ExpressionStatement","src":"5351:3:95"},"nodeType":"ForStatement","src":"5313:395:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":64925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":64922,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64849,"src":"5722:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":64923,"name":"_pks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64728,"src":"5730:4:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":64924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5735:6:95","memberName":"length","nodeType":"MemberAccess","src":"5730:11:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5722:19:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":64931,"nodeType":"IfStatement","src":"5718:137:95","trueBody":{"id":64930,"nodeType":"Block","src":"5743:112:95","statements":[{"expression":{"arguments":[{"hexValue":"5341464554455354544f4f4c533a20697373756520776974682070726976617465206b657920736f7274696e672c20706c65617365206f70656e2061207469636b6574206f6e20676974687562","id":64927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5764:79:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_23878b34b5d157e2d31f1a3e098ee0a02bb390e990c4d805b56ce92c84d98ab5","typeString":"literal_string \"SAFETESTTOOLS: issue with private key sorting, please open a ticket on github\""},"value":"SAFETESTTOOLS: issue with private key sorting, please open a ticket on github"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23878b34b5d157e2d31f1a3e098ee0a02bb390e990c4d805b56ce92c84d98ab5","typeString":"literal_string \"SAFETESTTOOLS: issue with private key sorting, please open a ticket on github\""}],"id":64926,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"5757:6:95","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":64928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5757:87:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":64929,"nodeType":"ExpressionStatement","src":"5757:87:95"}]}},{"expression":{"id":64932,"name":"sortedPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64738,"src":"5871:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":64733,"id":64933,"nodeType":"Return","src":"5864:16:95"}]},"documentation":{"id":64725,"nodeType":"StructuredDocumentation","src":"4362:168:95","text":"@dev Sorts an array of private keys by the computed address\n      If the private key is a smart contract wallet, it will be decoded and sorted by the address"},"implemented":true,"kind":"function","modifiers":[],"name":"sortPKsByComputedAddress","nameLocation":"4544:24:95","parameters":{"id":64729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64728,"mutability":"mutable","name":"_pks","nameLocation":"4586:4:95","nodeType":"VariableDeclaration","scope":64935,"src":"4569:21:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":64726,"name":"uint256","nodeType":"ElementaryTypeName","src":"4569:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64727,"nodeType":"ArrayTypeName","src":"4569:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4568:23:95"},"returnParameters":{"id":64733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64732,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":64935,"src":"4615:16:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":64730,"name":"uint256","nodeType":"ElementaryTypeName","src":"4615:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":64731,"nodeType":"ArrayTypeName","src":"4615:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4614:18:95"},"scope":65866,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":65011,"nodeType":"FunctionDefinition","src":"5961:992:95","nodes":[],"body":{"id":65010,"nodeType":"Block","src":"6372:581:95","nodes":[],"statements":[{"assignments":[64970],"declarations":[{"constant":false,"id":64970,"mutability":"mutable","name":"txDataHash","nameLocation":"6390:10:95","nodeType":"VariableDeclaration","scope":65010,"src":"6382:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64969,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6382:7:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":64971,"nodeType":"VariableDeclarationStatement","src":"6382:18:95"},{"id":64996,"nodeType":"Block","src":"6410:482:95","statements":[{"assignments":[64973],"declarations":[{"constant":false,"id":64973,"mutability":"mutable","name":"_nonce","nameLocation":"6432:6:95","nodeType":"VariableDeclaration","scope":64996,"src":"6424:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64972,"name":"uint256","nodeType":"ElementaryTypeName","src":"6424:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":64978,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":64974,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64939,"src":"6441:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":64975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6450:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"6441:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"id":64976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6455:5:95","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":48891,"src":"6441:19:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":64977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6441:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6424:38:95"},{"expression":{"id":64994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64979,"name":"txDataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64970,"src":"6476:10:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":64983,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64943,"src":"6544:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64984,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64945,"src":"6571:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64985,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64947,"src":"6600:4:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":64986,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64950,"src":"6633:9:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},{"id":64987,"name":"safeTxGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64952,"src":"6671:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64988,"name":"baseGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64954,"src":"6707:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64989,"name":"gasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64956,"src":"6742:8:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":64990,"name":"gasToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64958,"src":"6778:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64991,"name":"refundReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64960,"src":"6820:14:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":64992,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64973,"src":"6860:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":64980,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64939,"src":"6489:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":64981,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6498:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"6489:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"id":64982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6503:18:95","memberName":"getTransactionHash","nodeType":"MemberAccess","referencedDeclaration":49760,"src":"6489:32:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$50806_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,address,uint256) view external returns (bytes32)"}},"id":64993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["6540:2:95","6564:5:95","6594:4:95","6622:9:95","6660:9:95","6698:7:95","6732:8:95","6768:8:95","6804:14:95","6852:6:95"],"names":["to","value","data","operation","safeTxGas","baseGas","gasPrice","gasToken","refundReceiver","_nonce"],"nodeType":"FunctionCall","src":"6489:392:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6476:405:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":64995,"nodeType":"ExpressionStatement","src":"6476:405:95"}]},{"expression":{"id":65008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":64997,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64963,"src":"6903:1:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":64998,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64965,"src":"6906:1:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":64999,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64967,"src":"6909:1:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":65000,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6902:9:95","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":65005,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64941,"src":"6931:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65006,"name":"txDataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64970,"src":"6935:10:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[{"id":65002,"name":"VM_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"6917:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65001,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"6914:2:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":65003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6914:11:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":65004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6926:4:95","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":12710,"src":"6914:16:95","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":65007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6914:32:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"src":"6902:44:95","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65009,"nodeType":"ExpressionStatement","src":"6902:44:95"}]},"documentation":{"id":64936,"nodeType":"StructuredDocumentation","src":"5893:63:95","text":"@dev Sign a transaction as a safe owner with a private key."},"implemented":true,"kind":"function","modifiers":[],"name":"signTransaction","nameLocation":"5970:15:95","parameters":{"id":64961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64939,"mutability":"mutable","name":"instance","nameLocation":"6015:8:95","nodeType":"VariableDeclaration","scope":65011,"src":"5995:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":64938,"nodeType":"UserDefinedTypeName","pathNode":{"id":64937,"name":"SafeInstance","nameLocations":["5995:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"5995:12:95"},"referencedDeclaration":64538,"src":"5995:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":64941,"mutability":"mutable","name":"pk","nameLocation":"6041:2:95","nodeType":"VariableDeclaration","scope":65011,"src":"6033:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64940,"name":"uint256","nodeType":"ElementaryTypeName","src":"6033:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64943,"mutability":"mutable","name":"to","nameLocation":"6061:2:95","nodeType":"VariableDeclaration","scope":65011,"src":"6053:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64942,"name":"address","nodeType":"ElementaryTypeName","src":"6053:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64945,"mutability":"mutable","name":"value","nameLocation":"6081:5:95","nodeType":"VariableDeclaration","scope":65011,"src":"6073:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64944,"name":"uint256","nodeType":"ElementaryTypeName","src":"6073:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64947,"mutability":"mutable","name":"data","nameLocation":"6109:4:95","nodeType":"VariableDeclaration","scope":65011,"src":"6096:17:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":64946,"name":"bytes","nodeType":"ElementaryTypeName","src":"6096:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":64950,"mutability":"mutable","name":"operation","nameLocation":"6138:9:95","nodeType":"VariableDeclaration","scope":65011,"src":"6123:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},"typeName":{"id":64949,"nodeType":"UserDefinedTypeName","pathNode":{"id":64948,"name":"Enum.Operation","nameLocations":["6123:4:95","6128:9:95"],"nodeType":"IdentifierPath","referencedDeclaration":50806,"src":"6123:14:95"},"referencedDeclaration":50806,"src":"6123:14:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":64952,"mutability":"mutable","name":"safeTxGas","nameLocation":"6165:9:95","nodeType":"VariableDeclaration","scope":65011,"src":"6157:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64951,"name":"uint256","nodeType":"ElementaryTypeName","src":"6157:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64954,"mutability":"mutable","name":"baseGas","nameLocation":"6192:7:95","nodeType":"VariableDeclaration","scope":65011,"src":"6184:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64953,"name":"uint256","nodeType":"ElementaryTypeName","src":"6184:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64956,"mutability":"mutable","name":"gasPrice","nameLocation":"6217:8:95","nodeType":"VariableDeclaration","scope":65011,"src":"6209:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64955,"name":"uint256","nodeType":"ElementaryTypeName","src":"6209:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":64958,"mutability":"mutable","name":"gasToken","nameLocation":"6243:8:95","nodeType":"VariableDeclaration","scope":65011,"src":"6235:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64957,"name":"address","nodeType":"ElementaryTypeName","src":"6235:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":64960,"mutability":"mutable","name":"refundReceiver","nameLocation":"6269:14:95","nodeType":"VariableDeclaration","scope":65011,"src":"6261:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":64959,"name":"address","nodeType":"ElementaryTypeName","src":"6261:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5985:304:95"},"returnParameters":{"id":64968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64963,"mutability":"mutable","name":"v","nameLocation":"6343:1:95","nodeType":"VariableDeclaration","scope":65011,"src":"6337:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":64962,"name":"uint8","nodeType":"ElementaryTypeName","src":"6337:5:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":64965,"mutability":"mutable","name":"r","nameLocation":"6354:1:95","nodeType":"VariableDeclaration","scope":65011,"src":"6346:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64964,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6346:7:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":64967,"mutability":"mutable","name":"s","nameLocation":"6365:1:95","nodeType":"VariableDeclaration","scope":65011,"src":"6357:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":64966,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6357:7:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6336:31:95"},"scope":65866,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":65040,"nodeType":"FunctionDefinition","src":"7306:238:95","nodes":[],"body":{"id":65039,"nodeType":"Block","src":"7417:127:95","nodes":[],"statements":[{"assignments":[65026],"declarations":[{"constant":false,"id":65026,"mutability":"mutable","name":"owners","nameLocation":"7444:6:95","nodeType":"VariableDeclaration","scope":65039,"src":"7427:23:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":65024,"name":"address","nodeType":"ElementaryTypeName","src":"7427:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65025,"nodeType":"ArrayTypeName","src":"7427:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":65031,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":65027,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65015,"src":"7453:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7462:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"7453:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"id":65029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7467:9:95","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":50799,"src":"7453:23:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":65030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7453:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7427:51:95"},{"expression":{"id":65037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65032,"name":"prevOwner_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65020,"src":"7488:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":65034,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65017,"src":"7522:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65035,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65026,"src":"7530:6:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":65033,"name":"getPrevOwnerFromList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65089,"src":"7501:20:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_address_$","typeString":"function (address,address[] memory) pure returns (address)"}},"id":65036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7501:36:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7488:49:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65038,"nodeType":"ExpressionStatement","src":"7488:49:95"}]},"documentation":{"id":65012,"nodeType":"StructuredDocumentation","src":"6959:342:95","text":"@dev Get the previous owner in the linked list of owners.\n      This version of getPrevOwner will call to the Safe contract to get the current list of owners.\n      Note that this will break vm.expectRevert() tests by making a call which does not revert..\n @param _owner The owner whose previous owner we want to find"},"implemented":true,"kind":"function","modifiers":[],"name":"getPrevOwner","nameLocation":"7315:12:95","parameters":{"id":65018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65015,"mutability":"mutable","name":"instance","nameLocation":"7348:8:95","nodeType":"VariableDeclaration","scope":65040,"src":"7328:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65014,"nodeType":"UserDefinedTypeName","pathNode":{"id":65013,"name":"SafeInstance","nameLocations":["7328:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"7328:12:95"},"referencedDeclaration":64538,"src":"7328:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65017,"mutability":"mutable","name":"_owner","nameLocation":"7366:6:95","nodeType":"VariableDeclaration","scope":65040,"src":"7358:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65016,"name":"address","nodeType":"ElementaryTypeName","src":"7358:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7327:46:95"},"returnParameters":{"id":65021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65020,"mutability":"mutable","name":"prevOwner_","nameLocation":"7405:10:95","nodeType":"VariableDeclaration","scope":65040,"src":"7397:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65019,"name":"address","nodeType":"ElementaryTypeName","src":"7397:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7396:20:95"},"scope":65866,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":65089,"nodeType":"FunctionDefinition","src":"7955:447:95","nodes":[],"body":{"id":65088,"nodeType":"Block","src":"8124:278:95","nodes":[],"statements":[{"body":{"id":65086,"nodeType":"Block","src":"8179:217:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":65061,"name":"_ownersList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65046,"src":"8197:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65063,"indexExpression":{"id":65062,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65052,"src":"8209:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8197:14:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":65064,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65043,"src":"8215:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8197:24:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65067,"nodeType":"IfStatement","src":"8193:38:95","trueBody":{"id":65066,"nodeType":"Continue","src":"8223:8:95"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65068,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65052,"src":"8249:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":65069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8254:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8249:6:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65077,"nodeType":"IfStatement","src":"8245:96:95","trueBody":{"id":65076,"nodeType":"Block","src":"8257:84:95","statements":[{"expression":{"id":65073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65071,"name":"prevOwner_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65049,"src":"8275:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":65072,"name":"SENTINEL_OWNERS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64569,"src":"8288:15:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8275:28:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65074,"nodeType":"ExpressionStatement","src":"8275:28:95"},{"id":65075,"nodeType":"Break","src":"8321:5:95"}]}},{"expression":{"id":65084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65078,"name":"prevOwner_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65049,"src":"8354:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":65079,"name":"_ownersList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65046,"src":"8367:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65083,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65080,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65052,"src":"8379:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":65081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8383:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8379:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8367:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8354:31:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65085,"nodeType":"ExpressionStatement","src":"8354:31:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65054,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65052,"src":"8150:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":65055,"name":"_ownersList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65046,"src":"8154:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8166:6:95","memberName":"length","nodeType":"MemberAccess","src":"8154:18:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8150:22:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65087,"initializationExpression":{"assignments":[65052],"declarations":[{"constant":false,"id":65052,"mutability":"mutable","name":"i","nameLocation":"8147:1:95","nodeType":"VariableDeclaration","scope":65087,"src":"8139:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65051,"name":"uint256","nodeType":"ElementaryTypeName","src":"8139:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65053,"nodeType":"VariableDeclarationStatement","src":"8139:9:95"},"loopExpression":{"expression":{"id":65059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8174:3:95","subExpression":{"id":65058,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65052,"src":"8174:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65060,"nodeType":"ExpressionStatement","src":"8174:3:95"},"nodeType":"ForStatement","src":"8134:262:95"}]},"documentation":{"id":65041,"nodeType":"StructuredDocumentation","src":"7550:400:95","text":"@dev Get the previous owner in the provided list of owners.\n      This version of getPrevOwner accepts a list of owners, and will return the previous owner.\n      It is useful when testing for a revert, as it avoids the need to call to the Safe contract.\n @param _owner The owner whose previous owner we want to find\n @param _ownersList The list of owners to search in"},"implemented":true,"kind":"function","modifiers":[],"name":"getPrevOwnerFromList","nameLocation":"7964:20:95","parameters":{"id":65047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65043,"mutability":"mutable","name":"_owner","nameLocation":"8002:6:95","nodeType":"VariableDeclaration","scope":65089,"src":"7994:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65042,"name":"address","nodeType":"ElementaryTypeName","src":"7994:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65046,"mutability":"mutable","name":"_ownersList","nameLocation":"8035:11:95","nodeType":"VariableDeclaration","scope":65089,"src":"8018:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":65044,"name":"address","nodeType":"ElementaryTypeName","src":"8018:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65045,"nodeType":"ArrayTypeName","src":"8018:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"7984:68:95"},"returnParameters":{"id":65050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65049,"mutability":"mutable","name":"prevOwner_","nameLocation":"8108:10:95","nodeType":"VariableDeclaration","scope":65089,"src":"8100:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65048,"name":"address","nodeType":"ElementaryTypeName","src":"8100:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8099:20:95"},"scope":65866,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":65177,"nodeType":"FunctionDefinition","src":"8948:775:95","nodes":[],"body":{"id":65176,"nodeType":"Block","src":"9125:598:95","nodes":[],"statements":[{"assignments":[65104],"declarations":[{"constant":false,"id":65104,"mutability":"mutable","name":"ownerSimulator","nameLocation":"9150:14:95","nodeType":"VariableDeclaration","scope":65176,"src":"9135:29:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_OwnerSimulator_$64501","typeString":"contract OwnerSimulator"},"typeName":{"id":65103,"nodeType":"UserDefinedTypeName","pathNode":{"id":65102,"name":"OwnerSimulator","nameLocations":["9135:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":64501,"src":"9135:14:95"},"referencedDeclaration":64501,"src":"9135:14:95","typeDescriptions":{"typeIdentifier":"t_contract$_OwnerSimulator_$64501","typeString":"contract OwnerSimulator"}},"visibility":"internal"}],"id":65112,"initialValue":{"arguments":[{"expression":{"id":65108,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65093,"src":"9186:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9195:6:95","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":64532,"src":"9186:15:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"hexValue":"31","id":65110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9203:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":65107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"9167:18:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$_t_contract$_OwnerSimulator_$64501_$","typeString":"function (address[] memory,uint256) returns (contract OwnerSimulator)"},"typeName":{"id":65106,"nodeType":"UserDefinedTypeName","pathNode":{"id":65105,"name":"OwnerSimulator","nameLocations":["9171:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":64501,"src":"9171:14:95"},"referencedDeclaration":64501,"src":"9171:14:95","typeDescriptions":{"typeIdentifier":"t_contract$_OwnerSimulator_$64501","typeString":"contract OwnerSimulator"}}},"id":65111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9167:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_OwnerSimulator_$64501","typeString":"contract OwnerSimulator"}},"nodeType":"VariableDeclarationStatement","src":"9135:70:95"},{"expression":{"id":65120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65113,"name":"prevOwners_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65100,"src":"9215:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":65117,"name":"_ownersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65096,"src":"9243:15:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9259:6:95","memberName":"length","nodeType":"MemberAccess","src":"9243:22:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9229:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":65114,"name":"address","nodeType":"ElementaryTypeName","src":"9233:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65115,"nodeType":"ArrayTypeName","src":"9233:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":65119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9229:37:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"9215:51:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65121,"nodeType":"ExpressionStatement","src":"9215:51:95"},{"assignments":[65126],"declarations":[{"constant":false,"id":65126,"mutability":"mutable","name":"currentOwners","nameLocation":"9293:13:95","nodeType":"VariableDeclaration","scope":65176,"src":"9276:30:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":65124,"name":"address","nodeType":"ElementaryTypeName","src":"9276:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65125,"nodeType":"ArrayTypeName","src":"9276:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":65127,"nodeType":"VariableDeclarationStatement","src":"9276:30:95"},{"body":{"id":65174,"nodeType":"Block","src":"9365:352:95","statements":[{"expression":{"id":65142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65138,"name":"currentOwners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65126,"src":"9379:13:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":65139,"name":"ownerSimulator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65104,"src":"9395:14:95","typeDescriptions":{"typeIdentifier":"t_contract$_OwnerSimulator_$64501","typeString":"contract OwnerSimulator"}},"id":65140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9410:9:95","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":50799,"src":"9395:24:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":65141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9395:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"9379:42:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65143,"nodeType":"ExpressionStatement","src":"9379:42:95"},{"expression":{"id":65154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":65144,"name":"prevOwners_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65100,"src":"9435:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65146,"indexExpression":{"id":65145,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65129,"src":"9447:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9435:14:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":65149,"name":"_ownersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65096,"src":"9485:15:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65151,"indexExpression":{"id":65150,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65129,"src":"9501:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9485:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65152,"name":"currentOwners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65126,"src":"9505:13:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":65147,"name":"SafeTestLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"9452:11:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeTestLib_$65866_$","typeString":"type(library SafeTestLib)"}},"id":65148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9464:20:95","memberName":"getPrevOwnerFromList","nodeType":"MemberAccess","referencedDeclaration":65089,"src":"9452:32:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_address_$","typeString":"function (address,address[] memory) pure returns (address)"}},"id":65153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9452:67:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9435:84:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65155,"nodeType":"ExpressionStatement","src":"9435:84:95"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":65156,"name":"currentOwners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65126,"src":"9588:13:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9602:6:95","memberName":"length","nodeType":"MemberAccess","src":"9588:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":65158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9612:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9588:25:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65161,"nodeType":"IfStatement","src":"9584:36:95","trueBody":{"id":65160,"nodeType":"Break","src":"9615:5:95"}},{"expression":{"arguments":[{"baseExpression":{"id":65165,"name":"prevOwners_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65100,"src":"9668:11:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65167,"indexExpression":{"id":65166,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65129,"src":"9680:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9668:14:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":65168,"name":"_ownersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65096,"src":"9684:15:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65170,"indexExpression":{"id":65169,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65129,"src":"9700:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9684:18:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":65171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9704:1:95","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":65162,"name":"ownerSimulator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65104,"src":"9634:14:95","typeDescriptions":{"typeIdentifier":"t_contract$_OwnerSimulator_$64501","typeString":"contract OwnerSimulator"}},"id":65164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9649:18:95","memberName":"removeOwnerWrapped","nodeType":"MemberAccess","referencedDeclaration":64500,"src":"9634:33:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256) external"}},"id":65172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9634:72:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65173,"nodeType":"ExpressionStatement","src":"9634:72:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65131,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65129,"src":"9332:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":65132,"name":"_ownersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65096,"src":"9336:15:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9352:6:95","memberName":"length","nodeType":"MemberAccess","src":"9336:22:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9332:26:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65175,"initializationExpression":{"assignments":[65129],"declarations":[{"constant":false,"id":65129,"mutability":"mutable","name":"i","nameLocation":"9329:1:95","nodeType":"VariableDeclaration","scope":65175,"src":"9321:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65128,"name":"uint256","nodeType":"ElementaryTypeName","src":"9321:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65130,"nodeType":"VariableDeclarationStatement","src":"9321:9:95"},"loopExpression":{"expression":{"id":65136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9360:3:95","subExpression":{"id":65135,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65129,"src":"9360:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65137,"nodeType":"ExpressionStatement","src":"9360:3:95"},"nodeType":"ForStatement","src":"9316:401:95"}]},"documentation":{"id":65090,"nodeType":"StructuredDocumentation","src":"8408:535:95","text":"@dev Given an array of owners to remove, this function will return an array of the previous owners\n         in the order that they must be provided to the LivenessMoules's removeOwners() function.\n         Because owners are removed one at a time, and not necessarily in order, we need to simulate\n         the owners list after each removal, in order to identify the correct previous owner.\n @param _ownersToRemove The owners to remove\n @return prevOwners_ The previous owners in the linked list"},"implemented":true,"kind":"function","modifiers":[],"name":"getPrevOwners","nameLocation":"8957:13:95","parameters":{"id":65097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65093,"mutability":"mutable","name":"instance","nameLocation":"9000:8:95","nodeType":"VariableDeclaration","scope":65177,"src":"8980:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65092,"nodeType":"UserDefinedTypeName","pathNode":{"id":65091,"name":"SafeInstance","nameLocations":["8980:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"8980:12:95"},"referencedDeclaration":64538,"src":"8980:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65096,"mutability":"mutable","name":"_ownersToRemove","nameLocation":"9035:15:95","nodeType":"VariableDeclaration","scope":65177,"src":"9018:32:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":65094,"name":"address","nodeType":"ElementaryTypeName","src":"9018:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65095,"nodeType":"ArrayTypeName","src":"9018:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8970:86:95"},"returnParameters":{"id":65101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65100,"mutability":"mutable","name":"prevOwners_","nameLocation":"9108:11:95","nodeType":"VariableDeclaration","scope":65177,"src":"9091:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":65098,"name":"address","nodeType":"ElementaryTypeName","src":"9091:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65099,"nodeType":"ArrayTypeName","src":"9091:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9090:30:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65219,"nodeType":"FunctionDefinition","src":"9772:415:95","nodes":[],"body":{"id":65218,"nodeType":"Block","src":"9849:338:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":65187,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65181,"src":"9888:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"arguments":[{"expression":{"id":65190,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65181,"src":"9918:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65191,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9927:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"9918:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}],"id":65189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9910:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65188,"name":"address","nodeType":"ElementaryTypeName","src":"9910:7:95","typeDescriptions":{}}},"id":65192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9910:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9946:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":65196,"name":"ModuleManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50289,"src":"9984:13:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ModuleManager_$50289_$","typeString":"type(contract ModuleManager)"}},"id":65197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9998:12:95","memberName":"enableModule","nodeType":"MemberAccess","referencedDeclaration":50058,"src":"9984:26:95","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function ModuleManager.enableModule(address)"}},"id":65198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10011:8:95","memberName":"selector","nodeType":"MemberAccess","src":"9984:35:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65199,"name":"module","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65183,"src":"10021:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65194,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9961:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9965:18:95","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"9961:22:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9961:67:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"expression":{"id":65201,"name":"Enum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50807,"src":"10042:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Enum_$50807_$","typeString":"type(contract Enum)"}},"id":65202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10047:9:95","memberName":"Operation","nodeType":"MemberAccess","referencedDeclaration":50806,"src":"10042:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Operation_$50806_$","typeString":"type(enum Enum.Operation)"}},"id":65203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10057:4:95","memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":50804,"src":"10042:19:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},{"hexValue":"30","id":65204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10075:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10090:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10105:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":65209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10128:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10120:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65207,"name":"address","nodeType":"ElementaryTypeName","src":"10120:7:95","typeDescriptions":{}}},"id":65210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10120:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":65213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10152:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10144:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65211,"name":"address","nodeType":"ElementaryTypeName","src":"10144:7:95","typeDescriptions":{}}},"id":65214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10144:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":65215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10168:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":65186,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65788,"src":"9859:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$50806_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,address,bytes memory) returns (bool)"}},"id":65216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9859:321:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65217,"nodeType":"ExpressionStatement","src":"9859:321:95"}]},"documentation":{"id":65178,"nodeType":"StructuredDocumentation","src":"9729:38:95","text":"@dev Enables a module on the Safe."},"implemented":true,"kind":"function","modifiers":[],"name":"enableModule","nameLocation":"9781:12:95","parameters":{"id":65184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65181,"mutability":"mutable","name":"instance","nameLocation":"9814:8:95","nodeType":"VariableDeclaration","scope":65219,"src":"9794:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65180,"nodeType":"UserDefinedTypeName","pathNode":{"id":65179,"name":"SafeInstance","nameLocations":["9794:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"9794:12:95"},"referencedDeclaration":64538,"src":"9794:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65183,"mutability":"mutable","name":"module","nameLocation":"9832:6:95","nodeType":"VariableDeclaration","scope":65219,"src":"9824:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65182,"name":"address","nodeType":"ElementaryTypeName","src":"9824:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9793:46:95"},"returnParameters":{"id":65185,"nodeType":"ParameterList","parameters":[],"src":"9849:0:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65318,"nodeType":"FunctionDefinition","src":"10237:905:95","nodes":[],"body":{"id":65317,"nodeType":"Block","src":"10315:827:95","nodes":[],"statements":[{"assignments":[65232,null],"declarations":[{"constant":false,"id":65232,"mutability":"mutable","name":"modules","nameLocation":"10343:7:95","nodeType":"VariableDeclaration","scope":65317,"src":"10326:24:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":65230,"name":"address","nodeType":"ElementaryTypeName","src":"10326:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65231,"nodeType":"ArrayTypeName","src":"10326:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},null],"id":65239,"initialValue":{"arguments":[{"id":65236,"name":"SENTINEL_MODULES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64212,"src":"10389:16:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31303030","id":65237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10407:4:95","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"expression":{"id":65233,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65223,"src":"10355:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10364:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"10355:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"id":65235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10369:19:95","memberName":"getModulesPaginated","nodeType":"MemberAccess","referencedDeclaration":50288,"src":"10355:33:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$","typeString":"function (address,uint256) view external returns (address[] memory,address)"}},"id":65238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10355:57:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_address_$","typeString":"tuple(address[] memory,address)"}},"nodeType":"VariableDeclarationStatement","src":"10325:87:95"},{"assignments":[65241],"declarations":[{"constant":false,"id":65241,"mutability":"mutable","name":"prevModule","nameLocation":"10430:10:95","nodeType":"VariableDeclaration","scope":65317,"src":"10422:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65240,"name":"address","nodeType":"ElementaryTypeName","src":"10422:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":65243,"initialValue":{"id":65242,"name":"SENTINEL_MODULES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64212,"src":"10443:16:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10422:37:95"},{"assignments":[65245],"declarations":[{"constant":false,"id":65245,"mutability":"mutable","name":"moduleFound","nameLocation":"10474:11:95","nodeType":"VariableDeclaration","scope":65317,"src":"10469:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65244,"name":"bool","nodeType":"ElementaryTypeName","src":"10469:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":65246,"nodeType":"VariableDeclarationStatement","src":"10469:16:95"},{"body":{"id":65275,"nodeType":"Block","src":"10536:161:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":65257,"name":"modules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65232,"src":"10554:7:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65259,"indexExpression":{"id":65258,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65248,"src":"10562:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10554:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":65260,"name":"module","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65225,"src":"10568:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10554:20:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65268,"nodeType":"IfStatement","src":"10550:100:95","trueBody":{"id":65267,"nodeType":"Block","src":"10576:74:95","statements":[{"expression":{"id":65264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65262,"name":"moduleFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65245,"src":"10594:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":65263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10608:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"10594:18:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65265,"nodeType":"ExpressionStatement","src":"10594:18:95"},{"id":65266,"nodeType":"Break","src":"10630:5:95"}]}},{"expression":{"id":65273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65269,"name":"prevModule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65241,"src":"10663:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":65270,"name":"modules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65232,"src":"10676:7:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65272,"indexExpression":{"id":65271,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65248,"src":"10684:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10676:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10663:23:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65274,"nodeType":"ExpressionStatement","src":"10663:23:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65250,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65248,"src":"10511:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":65251,"name":"modules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65232,"src":"10515:7:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10523:6:95","memberName":"length","nodeType":"MemberAccess","src":"10515:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10511:18:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65276,"initializationExpression":{"assignments":[65248],"declarations":[{"constant":false,"id":65248,"mutability":"mutable","name":"i","nameLocation":"10508:1:95","nodeType":"VariableDeclaration","scope":65276,"src":"10500:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65247,"name":"uint256","nodeType":"ElementaryTypeName","src":"10500:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65249,"nodeType":"VariableDeclarationStatement","src":"10500:9:95"},"loopExpression":{"expression":{"id":65255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10531:3:95","subExpression":{"id":65254,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65248,"src":"10531:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65256,"nodeType":"ExpressionStatement","src":"10531:3:95"},"nodeType":"ForStatement","src":"10495:202:95"},{"condition":{"id":65278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10710:12:95","subExpression":{"id":65277,"name":"moduleFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65245,"src":"10711:11:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65283,"nodeType":"IfStatement","src":"10706:84:95","trueBody":{"expression":{"arguments":[{"hexValue":"5341464554455354544f4f4c533a2063616e6e6f742064697361626c65206d6f64756c652074686174206973206e6f7420656e61626c6564","id":65280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10731:58:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a088fa7a155c188e3c60face461346fb84ce0094c6a157efced8414ceb00487","typeString":"literal_string \"SAFETESTTOOLS: cannot disable module that is not enabled\""},"value":"SAFETESTTOOLS: cannot disable module that is not enabled"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a088fa7a155c188e3c60face461346fb84ce0094c6a157efced8414ceb00487","typeString":"literal_string \"SAFETESTTOOLS: cannot disable module that is not enabled\""}],"id":65279,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"10724:6:95","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":65281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10724:66:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65282,"nodeType":"ExpressionStatement","src":"10724:66:95"}},{"expression":{"arguments":[{"id":65285,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65223,"src":"10830:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"arguments":[{"expression":{"id":65288,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65223,"src":"10860:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10869:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"10860:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}],"id":65287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10852:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65286,"name":"address","nodeType":"ElementaryTypeName","src":"10852:7:95","typeDescriptions":{}}},"id":65290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10852:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10888:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":65294,"name":"ModuleManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50289,"src":"10926:13:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ModuleManager_$50289_$","typeString":"type(contract ModuleManager)"}},"id":65295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10940:13:95","memberName":"disableModule","nodeType":"MemberAccess","referencedDeclaration":50113,"src":"10926:27:95","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function ModuleManager.disableModule(address,address)"}},"id":65296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10954:8:95","memberName":"selector","nodeType":"MemberAccess","src":"10926:36:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65297,"name":"prevModule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65241,"src":"10964:10:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65298,"name":"module","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65225,"src":"10976:6:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65292,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10903:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10907:18:95","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"10903:22:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10903:80:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"expression":{"id":65300,"name":"Enum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50807,"src":"10997:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Enum_$50807_$","typeString":"type(contract Enum)"}},"id":65301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11002:9:95","memberName":"Operation","nodeType":"MemberAccess","referencedDeclaration":50806,"src":"10997:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Operation_$50806_$","typeString":"type(enum Enum.Operation)"}},"id":65302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11012:4:95","memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":50804,"src":"10997:19:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},{"hexValue":"30","id":65303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11030:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11045:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11060:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":65308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11083:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11075:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65306,"name":"address","nodeType":"ElementaryTypeName","src":"11075:7:95","typeDescriptions":{}}},"id":65309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11075:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":65312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11107:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11099:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65310,"name":"address","nodeType":"ElementaryTypeName","src":"11099:7:95","typeDescriptions":{}}},"id":65313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11099:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":65314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11123:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":65284,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65788,"src":"10801:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$50806_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,address,bytes memory) returns (bool)"}},"id":65315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10801:334:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65316,"nodeType":"ExpressionStatement","src":"10801:334:95"}]},"documentation":{"id":65220,"nodeType":"StructuredDocumentation","src":"10193:39:95","text":"@dev Disables a module on the Safe."},"implemented":true,"kind":"function","modifiers":[],"name":"disableModule","nameLocation":"10246:13:95","parameters":{"id":65226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65223,"mutability":"mutable","name":"instance","nameLocation":"10280:8:95","nodeType":"VariableDeclaration","scope":65318,"src":"10260:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65222,"nodeType":"UserDefinedTypeName","pathNode":{"id":65221,"name":"SafeInstance","nameLocations":["10260:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"10260:12:95"},"referencedDeclaration":64538,"src":"10260:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65225,"mutability":"mutable","name":"module","nameLocation":"10298:6:95","nodeType":"VariableDeclaration","scope":65318,"src":"10290:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65224,"name":"address","nodeType":"ElementaryTypeName","src":"10290:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10259:46:95"},"returnParameters":{"id":65227,"nodeType":"ParameterList","parameters":[],"src":"10315:0:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65360,"nodeType":"FunctionDefinition","src":"11380:404:95","nodes":[],"body":{"id":65359,"nodeType":"Block","src":"11452:332:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":65328,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65322,"src":"11491:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"arguments":[{"expression":{"id":65331,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65322,"src":"11521:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11530:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"11521:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}],"id":65330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11513:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65329,"name":"address","nodeType":"ElementaryTypeName","src":"11513:7:95","typeDescriptions":{}}},"id":65333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11513:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11549:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":65337,"name":"GuardManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49922,"src":"11587:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GuardManager_$49922_$","typeString":"type(contract GuardManager)"}},"id":65338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11600:8:95","memberName":"setGuard","nodeType":"MemberAccess","referencedDeclaration":49910,"src":"11587:21:95","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function GuardManager.setGuard(address)"}},"id":65339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11609:8:95","memberName":"selector","nodeType":"MemberAccess","src":"11587:30:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65340,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65324,"src":"11619:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65335,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11564:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11568:18:95","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"11564:22:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11564:61:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"expression":{"id":65342,"name":"Enum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50807,"src":"11639:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Enum_$50807_$","typeString":"type(contract Enum)"}},"id":65343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11644:9:95","memberName":"Operation","nodeType":"MemberAccess","referencedDeclaration":50806,"src":"11639:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Operation_$50806_$","typeString":"type(enum Enum.Operation)"}},"id":65344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11654:4:95","memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":50804,"src":"11639:19:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},{"hexValue":"30","id":65345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11672:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11687:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11702:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":65350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11725:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11717:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65348,"name":"address","nodeType":"ElementaryTypeName","src":"11717:7:95","typeDescriptions":{}}},"id":65351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11717:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":65354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11749:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11741:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65352,"name":"address","nodeType":"ElementaryTypeName","src":"11741:7:95","typeDescriptions":{}}},"id":65355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11741:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":65356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11765:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":65327,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65788,"src":"11462:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$50806_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,address,bytes memory) returns (bool)"}},"id":65357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11462:315:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65358,"nodeType":"ExpressionStatement","src":"11462:315:95"}]},"documentation":{"id":65319,"nodeType":"StructuredDocumentation","src":"11148:227:95","text":"@dev Sets the guard address on the Safe. Unlike modules there can only be one guard, so\n      this method will remove the previous guard. If the guard is set to the 0 address, the\n      guard will be disabled."},"implemented":true,"kind":"function","modifiers":[],"name":"setGuard","nameLocation":"11389:8:95","parameters":{"id":65325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65322,"mutability":"mutable","name":"instance","nameLocation":"11418:8:95","nodeType":"VariableDeclaration","scope":65360,"src":"11398:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65321,"nodeType":"UserDefinedTypeName","pathNode":{"id":65320,"name":"SafeInstance","nameLocations":["11398:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"11398:12:95"},"referencedDeclaration":64538,"src":"11398:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65324,"mutability":"mutable","name":"guard","nameLocation":"11436:5:95","nodeType":"VariableDeclaration","scope":65360,"src":"11428:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65323,"name":"address","nodeType":"ElementaryTypeName","src":"11428:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11397:45:95"},"returnParameters":{"id":65326,"nodeType":"ParameterList","parameters":[],"src":"11452:0:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65411,"nodeType":"FunctionDefinition","src":"11888:596:95","nodes":[],"body":{"id":65410,"nodeType":"Block","src":"11967:517:95","nodes":[],"statements":[{"assignments":[65370],"declarations":[{"constant":false,"id":65370,"mutability":"mutable","name":"signMessageLib","nameLocation":"11985:14:95","nodeType":"VariableDeclaration","scope":65410,"src":"11977:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65369,"name":"address","nodeType":"ElementaryTypeName","src":"11977:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":65378,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":65375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"12010:18:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_SignMessageLib_$51074_$","typeString":"function () returns (contract SignMessageLib)"},"typeName":{"id":65374,"nodeType":"UserDefinedTypeName","pathNode":{"id":65373,"name":"SignMessageLib","nameLocations":["12014:14:95"],"nodeType":"IdentifierPath","referencedDeclaration":51074,"src":"12014:14:95"},"referencedDeclaration":51074,"src":"12014:14:95","typeDescriptions":{"typeIdentifier":"t_contract$_SignMessageLib_$51074","typeString":"contract SignMessageLib"}}},"id":65376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:20:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_SignMessageLib_$51074","typeString":"contract SignMessageLib"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SignMessageLib_$51074","typeString":"contract SignMessageLib"}],"id":65372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12002:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65371,"name":"address","nodeType":"ElementaryTypeName","src":"12002:7:95","typeDescriptions":{}}},"id":65377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12002:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11977:54:95"},{"expression":{"arguments":[{"id":65380,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65364,"src":"12081:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"id":65381,"name":"signMessageLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65370,"src":"12107:14:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12142:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":65385,"name":"SignMessageLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51074,"src":"12186:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SignMessageLib_$51074_$","typeString":"type(contract SignMessageLib)"}},"id":65386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12201:11:95","memberName":"signMessage","nodeType":"MemberAccess","referencedDeclaration":51026,"src":"12186:26:95","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$returns$__$","typeString":"function SignMessageLib.signMessage(bytes calldata)"}},"id":65387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12213:8:95","memberName":"selector","nodeType":"MemberAccess","src":"12186:35:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65388,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65366,"src":"12223:4:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65383,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12163:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12167:18:95","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12163:22:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12163:65:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"expression":{"id":65390,"name":"Enum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50807,"src":"12253:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Enum_$50807_$","typeString":"type(contract Enum)"}},"id":65391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12258:9:95","memberName":"Operation","nodeType":"MemberAccess","referencedDeclaration":50806,"src":"12253:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Operation_$50806_$","typeString":"type(enum Enum.Operation)"}},"id":65392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12268:12:95","memberName":"DelegateCall","nodeType":"MemberAccess","referencedDeclaration":50805,"src":"12253:27:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},{"hexValue":"30","id":65393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12305:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12329:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12354:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":65398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12387:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12379:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65396,"name":"address","nodeType":"ElementaryTypeName","src":"12379:7:95","typeDescriptions":{}}},"id":65399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"hexValue":"30","id":65404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12435:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12427:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65402,"name":"address","nodeType":"ElementaryTypeName","src":"12427:7:95","typeDescriptions":{}}},"id":65405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12427:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12419:8:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65400,"name":"address","nodeType":"ElementaryTypeName","src":"12419:8:95","stateMutability":"payable","typeDescriptions":{}}},"id":65406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12419:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"hexValue":"","id":65407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12464:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":65379,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65788,"src":"12041:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$50806_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,address,bytes memory) returns (bool)"}},"id":65408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["12071:8:95","12103:2:95","12135:5:95","12157:4:95","12242:9:95","12294:9:95","12320:7:95","12344:8:95","12369:8:95","12403:14:95","12452:10:95"],"names":["instance","to","value","data","operation","safeTxGas","baseGas","gasPrice","gasToken","refundReceiver","signatures"],"nodeType":"FunctionCall","src":"12041:436:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65409,"nodeType":"ExpressionStatement","src":"12041:436:95"}]},"documentation":{"id":65361,"nodeType":"StructuredDocumentation","src":"11790:93:95","text":"@dev Signs message data using EIP1271: Standard Signature Validation Method for Contracts"},"implemented":true,"kind":"function","modifiers":[],"name":"EIP1271Sign","nameLocation":"11897:11:95","parameters":{"id":65367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65364,"mutability":"mutable","name":"instance","nameLocation":"11929:8:95","nodeType":"VariableDeclaration","scope":65411,"src":"11909:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65363,"nodeType":"UserDefinedTypeName","pathNode":{"id":65362,"name":"SafeInstance","nameLocations":["11909:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"11909:12:95"},"referencedDeclaration":64538,"src":"11909:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65366,"mutability":"mutable","name":"data","nameLocation":"11952:4:95","nodeType":"VariableDeclaration","scope":65411,"src":"11939:17:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65365,"name":"bytes","nodeType":"ElementaryTypeName","src":"11939:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11908:49:95"},"returnParameters":{"id":65368,"nodeType":"ParameterList","parameters":[],"src":"11967:0:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65429,"nodeType":"FunctionDefinition","src":"12587:140:95","nodes":[],"body":{"id":65428,"nodeType":"Block","src":"12663:64:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":65421,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65415,"src":"12685:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"arguments":[{"id":65424,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65417,"src":"12712:6:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":65422,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12695:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12699:12:95","memberName":"encodePacked","nodeType":"MemberAccess","src":"12695:16:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12695:24:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":65420,"name":"EIP1271Sign","nodeType":"Identifier","overloadedDeclarations":[65411,65429],"referencedDeclaration":65411,"src":"12673:11:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (struct SafeInstance memory,bytes memory)"}},"id":65426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12673:47:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65427,"nodeType":"ExpressionStatement","src":"12673:47:95"}]},"documentation":{"id":65412,"nodeType":"StructuredDocumentation","src":"12490:92:95","text":"@dev Signs a data hash using EIP1271: Standard Signature Validation Method for Contracts"},"implemented":true,"kind":"function","modifiers":[],"name":"EIP1271Sign","nameLocation":"12596:11:95","parameters":{"id":65418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65415,"mutability":"mutable","name":"instance","nameLocation":"12628:8:95","nodeType":"VariableDeclaration","scope":65429,"src":"12608:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65414,"nodeType":"UserDefinedTypeName","pathNode":{"id":65413,"name":"SafeInstance","nameLocations":["12608:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"12608:12:95"},"referencedDeclaration":64538,"src":"12608:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65417,"mutability":"mutable","name":"digest","nameLocation":"12646:6:95","nodeType":"VariableDeclaration","scope":65429,"src":"12638:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12638:7:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12607:46:95"},"returnParameters":{"id":65419,"nodeType":"ParameterList","parameters":[],"src":"12663:0:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65469,"nodeType":"FunctionDefinition","src":"12812:247:95","nodes":[],"body":{"id":65468,"nodeType":"Block","src":"12902:157:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":65439,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"12928:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"arguments":[{"hexValue":"30","id":65442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12946:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12938:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65440,"name":"address","nodeType":"ElementaryTypeName","src":"12938:7:95","typeDescriptions":{}}},"id":65443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12938:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12950:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"","id":65445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12953:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"expression":{"expression":{"id":65446,"name":"Enum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50807,"src":"12957:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Enum_$50807_$","typeString":"type(contract Enum)"}},"id":65447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12962:9:95","memberName":"Operation","nodeType":"MemberAccess","referencedDeclaration":50806,"src":"12957:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Operation_$50806_$","typeString":"type(enum Enum.Operation)"}},"id":65448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12972:4:95","memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":50804,"src":"12957:19:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},{"hexValue":"30","id":65449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12978:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12981:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12984:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":65454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12995:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12987:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65452,"name":"address","nodeType":"ElementaryTypeName","src":"12987:7:95","typeDescriptions":{}}},"id":65455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12987:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":65458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13007:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12999:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65456,"name":"address","nodeType":"ElementaryTypeName","src":"12999:7:95","typeDescriptions":{}}},"id":65459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12999:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":65460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13011:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":65438,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65788,"src":"12912:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$50806_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,address,bytes memory) returns (bool)"}},"id":65461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12912:102:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65462,"nodeType":"ExpressionStatement","src":"12912:102:95"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":65463,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65433,"src":"13031:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13040:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"13031:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"id":65465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13045:5:95","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":48891,"src":"13031:19:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":65466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13031:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":65437,"id":65467,"nodeType":"Return","src":"13024:28:95"}]},"documentation":{"id":65430,"nodeType":"StructuredDocumentation","src":"12733:74:95","text":"@dev Increments the nonce of the Safe by sending an empty transaction."},"implemented":true,"kind":"function","modifiers":[],"name":"incrementNonce","nameLocation":"12821:14:95","parameters":{"id":65434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65433,"mutability":"mutable","name":"instance","nameLocation":"12856:8:95","nodeType":"VariableDeclaration","scope":65469,"src":"12836:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65432,"nodeType":"UserDefinedTypeName","pathNode":{"id":65431,"name":"SafeInstance","nameLocations":["12836:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"12836:12:95"},"referencedDeclaration":64538,"src":"12836:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"}],"src":"12835:30:95"},"returnParameters":{"id":65437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65436,"mutability":"mutable","name":"newNonce","nameLocation":"12892:8:95","nodeType":"VariableDeclaration","scope":65469,"src":"12884:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65435,"name":"uint256","nodeType":"ElementaryTypeName","src":"12884:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12883:18:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65496,"nodeType":"FunctionDefinition","src":"13107:284:95","nodes":[],"body":{"id":65495,"nodeType":"Block","src":"13190:201:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":65479,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65473,"src":"13229:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"arguments":[{"expression":{"id":65482,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65473,"src":"13259:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13268:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"13259:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}],"id":65481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13251:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65480,"name":"address","nodeType":"ElementaryTypeName","src":"13251:7:95","typeDescriptions":{}}},"id":65484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13251:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13287:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":65488,"name":"OwnerManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50800,"src":"13325:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnerManager_$50800_$","typeString":"type(contract OwnerManager)"}},"id":65489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13338:15:95","memberName":"changeThreshold","nodeType":"MemberAccess","referencedDeclaration":50719,"src":"13325:28:95","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_uint256_$returns$__$","typeString":"function OwnerManager.changeThreshold(uint256)"}},"id":65490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13354:8:95","memberName":"selector","nodeType":"MemberAccess","src":"13325:37:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65491,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65475,"src":"13364:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65486,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13302:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13306:18:95","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13302:22:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13302:72:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":65478,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65865,"src":"13200:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory) returns (bool)"}},"id":65493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13200:184:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65494,"nodeType":"ExpressionStatement","src":"13200:184:95"}]},"documentation":{"id":65470,"nodeType":"StructuredDocumentation","src":"13065:37:95","text":"@dev Adds a new owner to the safe"},"implemented":true,"kind":"function","modifiers":[],"name":"changeThreshold","nameLocation":"13116:15:95","parameters":{"id":65476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65473,"mutability":"mutable","name":"instance","nameLocation":"13152:8:95","nodeType":"VariableDeclaration","scope":65496,"src":"13132:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65472,"nodeType":"UserDefinedTypeName","pathNode":{"id":65471,"name":"SafeInstance","nameLocations":["13132:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"13132:12:95"},"referencedDeclaration":64538,"src":"13132:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65475,"mutability":"mutable","name":"threshold","nameLocation":"13170:9:95","nodeType":"VariableDeclaration","scope":65496,"src":"13162:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65474,"name":"uint256","nodeType":"ElementaryTypeName","src":"13162:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13131:49:95"},"returnParameters":{"id":65477,"nodeType":"ParameterList","parameters":[],"src":"13190:0:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65526,"nodeType":"FunctionDefinition","src":"13439:318:95","nodes":[],"body":{"id":65525,"nodeType":"Block","src":"13543:214:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":65508,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65500,"src":"13582:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"arguments":[{"expression":{"id":65511,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65500,"src":"13612:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13621:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"13612:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}],"id":65510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13604:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65509,"name":"address","nodeType":"ElementaryTypeName","src":"13604:7:95","typeDescriptions":{}}},"id":65513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13604:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13640:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":65517,"name":"OwnerManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50800,"src":"13678:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnerManager_$50800_$","typeString":"type(contract OwnerManager)"}},"id":65518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13691:21:95","memberName":"addOwnerWithThreshold","nodeType":"MemberAccess","referencedDeclaration":50511,"src":"13678:34:95","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function OwnerManager.addOwnerWithThreshold(address,uint256)"}},"id":65519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13713:8:95","memberName":"selector","nodeType":"MemberAccess","src":"13678:43:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65520,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65502,"src":"13723:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65521,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65504,"src":"13730:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65515,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13655:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13659:18:95","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13655:22:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13655:85:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":65507,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65865,"src":"13553:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory) returns (bool)"}},"id":65523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13553:197:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65524,"nodeType":"ExpressionStatement","src":"13553:197:95"}]},"documentation":{"id":65497,"nodeType":"StructuredDocumentation","src":"13397:37:95","text":"@dev Adds a new owner to the safe"},"implemented":true,"kind":"function","modifiers":[],"name":"addOwnerWithThreshold","nameLocation":"13448:21:95","parameters":{"id":65505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65500,"mutability":"mutable","name":"instance","nameLocation":"13490:8:95","nodeType":"VariableDeclaration","scope":65526,"src":"13470:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65499,"nodeType":"UserDefinedTypeName","pathNode":{"id":65498,"name":"SafeInstance","nameLocations":["13470:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"13470:12:95"},"referencedDeclaration":64538,"src":"13470:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65502,"mutability":"mutable","name":"owner","nameLocation":"13508:5:95","nodeType":"VariableDeclaration","scope":65526,"src":"13500:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65501,"name":"address","nodeType":"ElementaryTypeName","src":"13500:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65504,"mutability":"mutable","name":"threshold","nameLocation":"13523:9:95","nodeType":"VariableDeclaration","scope":65526,"src":"13515:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65503,"name":"uint256","nodeType":"ElementaryTypeName","src":"13515:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13469:64:95"},"returnParameters":{"id":65506,"nodeType":"ParameterList","parameters":[],"src":"13543:0:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65575,"nodeType":"FunctionDefinition","src":"13909:428:95","nodes":[],"body":{"id":65574,"nodeType":"Block","src":"14022:315:95","nodes":[],"statements":[{"expression":{"id":65553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65539,"name":"prevOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65532,"src":"14032:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65540,"name":"prevOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65532,"src":"14044:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"30","id":65543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14064:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14056:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65541,"name":"address","nodeType":"ElementaryTypeName","src":"14056:7:95","typeDescriptions":{}}},"id":65544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14056:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14044:22:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":65549,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65530,"src":"14106:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"id":65550,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"14116:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65547,"name":"SafeTestLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"14081:11:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeTestLib_$65866_$","typeString":"type(library SafeTestLib)"}},"id":65548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14093:12:95","memberName":"getPrevOwner","nodeType":"MemberAccess","referencedDeclaration":65040,"src":"14081:24:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (struct SafeInstance memory,address) view returns (address)"}},"id":65551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14081:41:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14044:78:95","trueExpression":{"id":65546,"name":"prevOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65532,"src":"14069:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14032:90:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65554,"nodeType":"ExpressionStatement","src":"14032:90:95"},{"expression":{"arguments":[{"id":65556,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65530,"src":"14161:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"arguments":[{"expression":{"id":65559,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65530,"src":"14191:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65560,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14200:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"14191:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}],"id":65558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14183:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65557,"name":"address","nodeType":"ElementaryTypeName","src":"14183:7:95","typeDescriptions":{}}},"id":65561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14183:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14219:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":65565,"name":"OwnerManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50800,"src":"14257:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnerManager_$50800_$","typeString":"type(contract OwnerManager)"}},"id":65566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14270:11:95","memberName":"removeOwner","nodeType":"MemberAccess","referencedDeclaration":50588,"src":"14257:24:95","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function OwnerManager.removeOwner(address,address,uint256)"}},"id":65567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14282:8:95","memberName":"selector","nodeType":"MemberAccess","src":"14257:33:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65568,"name":"prevOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65532,"src":"14292:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65569,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65534,"src":"14303:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65570,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65536,"src":"14310:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65563,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14234:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14238:18:95","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14234:22:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14234:86:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":65555,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65865,"src":"14132:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory) returns (bool)"}},"id":65572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14132:198:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65573,"nodeType":"ExpressionStatement","src":"14132:198:95"}]},"documentation":{"id":65527,"nodeType":"StructuredDocumentation","src":"13763:141:95","text":"@dev Removes an owner from the safe. If not provided explictly, the identification of the prevOwner is handled\n     automatically."},"implemented":true,"kind":"function","modifiers":[],"name":"removeOwner","nameLocation":"13918:11:95","parameters":{"id":65537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65530,"mutability":"mutable","name":"instance","nameLocation":"13950:8:95","nodeType":"VariableDeclaration","scope":65575,"src":"13930:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65529,"nodeType":"UserDefinedTypeName","pathNode":{"id":65528,"name":"SafeInstance","nameLocations":["13930:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"13930:12:95"},"referencedDeclaration":64538,"src":"13930:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65532,"mutability":"mutable","name":"prevOwner","nameLocation":"13968:9:95","nodeType":"VariableDeclaration","scope":65575,"src":"13960:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65531,"name":"address","nodeType":"ElementaryTypeName","src":"13960:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65534,"mutability":"mutable","name":"owner","nameLocation":"13987:5:95","nodeType":"VariableDeclaration","scope":65575,"src":"13979:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65533,"name":"address","nodeType":"ElementaryTypeName","src":"13979:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65536,"mutability":"mutable","name":"threshold","nameLocation":"14002:9:95","nodeType":"VariableDeclaration","scope":65575,"src":"13994:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65535,"name":"uint256","nodeType":"ElementaryTypeName","src":"13994:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13929:83:95"},"returnParameters":{"id":65538,"nodeType":"ParameterList","parameters":[],"src":"14022:0:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65624,"nodeType":"FunctionDefinition","src":"14493:431:95","nodes":[],"body":{"id":65623,"nodeType":"Block","src":"14606:318:95","nodes":[],"statements":[{"expression":{"id":65602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65588,"name":"prevOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65581,"src":"14616:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":65594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65589,"name":"prevOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65581,"src":"14628:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"30","id":65592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14648:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14640:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65590,"name":"address","nodeType":"ElementaryTypeName","src":"14640:7:95","typeDescriptions":{}}},"id":65593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14640:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14628:22:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":65598,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65579,"src":"14690:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"id":65599,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65583,"src":"14700:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65596,"name":"SafeTestLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"14665:11:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeTestLib_$65866_$","typeString":"type(library SafeTestLib)"}},"id":65597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14677:12:95","memberName":"getPrevOwner","nodeType":"MemberAccess","referencedDeclaration":65040,"src":"14665:24:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (struct SafeInstance memory,address) view returns (address)"}},"id":65600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14665:44:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14628:81:95","trueExpression":{"id":65595,"name":"prevOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65581,"src":"14653:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14616:93:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65603,"nodeType":"ExpressionStatement","src":"14616:93:95"},{"expression":{"arguments":[{"id":65605,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65579,"src":"14748:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"arguments":[{"expression":{"id":65608,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65579,"src":"14778:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14787:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"14778:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}],"id":65607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14770:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65606,"name":"address","nodeType":"ElementaryTypeName","src":"14770:7:95","typeDescriptions":{}}},"id":65610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14770:22:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":65611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14806:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"expression":{"expression":{"id":65614,"name":"OwnerManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50800,"src":"14844:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnerManager_$50800_$","typeString":"type(contract OwnerManager)"}},"id":65615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14857:9:95","memberName":"swapOwner","nodeType":"MemberAccess","referencedDeclaration":50688,"src":"14844:22:95","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function OwnerManager.swapOwner(address,address,address)"}},"id":65616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14867:8:95","memberName":"selector","nodeType":"MemberAccess","src":"14844:31:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":65617,"name":"prevOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65581,"src":"14877:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65618,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65583,"src":"14888:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65619,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65585,"src":"14898:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":65612,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14821:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14825:18:95","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14821:22:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":65620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14821:86:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":65604,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65865,"src":"14719:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory) returns (bool)"}},"id":65621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14719:198:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65622,"nodeType":"ExpressionStatement","src":"14719:198:95"}]},"documentation":{"id":65576,"nodeType":"StructuredDocumentation","src":"14343:145:95","text":"@dev Replaces an old owner with a new owner. If not provided explictly, the identification of the prevOwner is\n handled automatically."},"implemented":true,"kind":"function","modifiers":[],"name":"swapOwner","nameLocation":"14502:9:95","parameters":{"id":65586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65579,"mutability":"mutable","name":"instance","nameLocation":"14532:8:95","nodeType":"VariableDeclaration","scope":65624,"src":"14512:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65578,"nodeType":"UserDefinedTypeName","pathNode":{"id":65577,"name":"SafeInstance","nameLocations":["14512:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"14512:12:95"},"referencedDeclaration":64538,"src":"14512:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65581,"mutability":"mutable","name":"prevOwner","nameLocation":"14550:9:95","nodeType":"VariableDeclaration","scope":65624,"src":"14542:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65580,"name":"address","nodeType":"ElementaryTypeName","src":"14542:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65583,"mutability":"mutable","name":"oldOwner","nameLocation":"14569:8:95","nodeType":"VariableDeclaration","scope":65624,"src":"14561:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65582,"name":"address","nodeType":"ElementaryTypeName","src":"14561:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65585,"mutability":"mutable","name":"newOwner","nameLocation":"14587:8:95","nodeType":"VariableDeclaration","scope":65624,"src":"14579:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65584,"name":"address","nodeType":"ElementaryTypeName","src":"14579:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14511:85:95"},"returnParameters":{"id":65587,"nodeType":"ParameterList","parameters":[],"src":"14606:0:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65788,"nodeType":"FunctionDefinition","src":"15074:2089:95","nodes":[],"body":{"id":65787,"nodeType":"Block","src":"15460:1703:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":65654,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"15474:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15483:6:95","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":64532,"src":"15474:15:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15490:6:95","memberName":"length","nodeType":"MemberAccess","src":"15474:22:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":65657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15500:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15474:27:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65664,"nodeType":"IfStatement","src":"15470:147:95","trueBody":{"id":65663,"nodeType":"Block","src":"15503:114:95","statements":[{"expression":{"arguments":[{"hexValue":"53414645544553543a20496e7374616e6365206e6f7420696e697469616c697a65642e2043616c6c205f736574757053616665282920746f20696e697469616c697a65206120746573742073616665","id":65660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15524:81:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_801c1e67a35f4d389f0d52c68b67a0ee935f5ccfefe06f035bc1cde42f2a0953","typeString":"literal_string \"SAFETEST: Instance not initialized. Call _setupSafe() to initialize a test safe\""},"value":"SAFETEST: Instance not initialized. Call _setupSafe() to initialize a test safe"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_801c1e67a35f4d389f0d52c68b67a0ee935f5ccfefe06f035bc1cde42f2a0953","typeString":"literal_string \"SAFETEST: Instance not initialized. Call _setupSafe() to initialize a test safe\""}],"id":65659,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"15517:6:95","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":65661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15517:89:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65662,"nodeType":"ExpressionStatement","src":"15517:89:95"}]}},{"assignments":[65666],"declarations":[{"constant":false,"id":65666,"mutability":"mutable","name":"safeTxHash","nameLocation":"15635:10:95","nodeType":"VariableDeclaration","scope":65787,"src":"15627:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65665,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15627:7:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":65667,"nodeType":"VariableDeclarationStatement","src":"15627:18:95"},{"id":65692,"nodeType":"Block","src":"15655:482:95","statements":[{"assignments":[65669],"declarations":[{"constant":false,"id":65669,"mutability":"mutable","name":"_nonce","nameLocation":"15677:6:95","nodeType":"VariableDeclaration","scope":65692,"src":"15669:14:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65668,"name":"uint256","nodeType":"ElementaryTypeName","src":"15669:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65674,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":65670,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"15686:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15695:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"15686:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"id":65672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15700:5:95","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":48891,"src":"15686:19:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":65673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15686:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15669:38:95"},{"expression":{"id":65690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65675,"name":"safeTxHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65666,"src":"15721:10:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":65679,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65630,"src":"15789:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65680,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65632,"src":"15816:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65681,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65634,"src":"15845:4:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":65682,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65637,"src":"15878:9:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},{"id":65683,"name":"safeTxGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"15916:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65684,"name":"baseGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65641,"src":"15952:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65685,"name":"gasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65643,"src":"15987:8:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65686,"name":"gasToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65645,"src":"16023:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65687,"name":"refundReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65647,"src":"16065:14:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65688,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65669,"src":"16105:6:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":65676,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"15734:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15743:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"15734:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"id":65678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15748:18:95","memberName":"getTransactionHash","nodeType":"MemberAccess","referencedDeclaration":49760,"src":"15734:32:95","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$50806_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,address,uint256) view external returns (bytes32)"}},"id":65689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["15785:2:95","15809:5:95","15839:4:95","15867:9:95","15905:9:95","15943:7:95","15977:8:95","16013:8:95","16049:14:95","16097:6:95"],"names":["to","value","data","operation","safeTxGas","baseGas","gasPrice","gasToken","refundReceiver","_nonce"],"nodeType":"FunctionCall","src":"15734:392:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"15721:405:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":65691,"nodeType":"ExpressionStatement","src":"15721:405:95"}]},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":65693,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65649,"src":"16151:10:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":65694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16162:6:95","memberName":"length","nodeType":"MemberAccess","src":"16151:17:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":65695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16172:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16151:22:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65768,"nodeType":"IfStatement","src":"16147:630:95","trueBody":{"id":65767,"nodeType":"Block","src":"16175:602:95","statements":[{"body":{"id":65765,"nodeType":"Block","src":"16240:527:95","statements":[{"assignments":[65709],"declarations":[{"constant":false,"id":65709,"mutability":"mutable","name":"pk","nameLocation":"16266:2:95","nodeType":"VariableDeclaration","scope":65765,"src":"16258:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65708,"name":"uint256","nodeType":"ElementaryTypeName","src":"16258:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65714,"initialValue":{"baseExpression":{"expression":{"id":65710,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"16271:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65711,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16280:8:95","memberName":"ownerPKs","nodeType":"MemberAccess","referencedDeclaration":64529,"src":"16271:17:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":65713,"indexExpression":{"id":65712,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65698,"src":"16289:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16271:20:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16258:33:95"},{"assignments":[65716,65718,65720],"declarations":[{"constant":false,"id":65716,"mutability":"mutable","name":"v","nameLocation":"16316:1:95","nodeType":"VariableDeclaration","scope":65765,"src":"16310:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":65715,"name":"uint8","nodeType":"ElementaryTypeName","src":"16310:5:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":65718,"mutability":"mutable","name":"r","nameLocation":"16327:1:95","nodeType":"VariableDeclaration","scope":65765,"src":"16319:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16319:7:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":65720,"mutability":"mutable","name":"s","nameLocation":"16338:1:95","nodeType":"VariableDeclaration","scope":65765,"src":"16330:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":65719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16330:7:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":65728,"initialValue":{"arguments":[{"id":65725,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65709,"src":"16360:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65726,"name":"safeTxHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65666,"src":"16364:10:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"arguments":[{"id":65722,"name":"VM_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64562,"src":"16346:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65721,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"16343:2:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":65723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16343:11:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":65724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16355:4:95","memberName":"sign","nodeType":"MemberAccess","referencedDeclaration":12710,"src":"16343:16:95","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_bytes32_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (uint256,bytes32) pure external returns (uint8,bytes32,bytes32)"}},"id":65727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16343:32:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"16309:66:95"},{"condition":{"arguments":[{"id":65730,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65709,"src":"16415:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65729,"name":"isSmartContractPK","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64724,"src":"16397:17:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) pure returns (bool)"}},"id":65731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16397:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65750,"nodeType":"IfStatement","src":"16393:278:95","trueBody":{"id":65749,"nodeType":"Block","src":"16420:251:95","statements":[{"expression":{"id":65734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65732,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65716,"src":"16442:1:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":65733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16446:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16442:5:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":65735,"nodeType":"ExpressionStatement","src":"16442:5:95"},{"assignments":[65737],"declarations":[{"constant":false,"id":65737,"mutability":"mutable","name":"addr","nameLocation":"16477:4:95","nodeType":"VariableDeclaration","scope":65749,"src":"16469:12:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65736,"name":"address","nodeType":"ElementaryTypeName","src":"16469:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":65741,"initialValue":{"arguments":[{"id":65739,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65709,"src":"16519:2:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65738,"name":"decodeSmartContractWalletAsAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64714,"src":"16484:34:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure returns (address)"}},"id":65740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16484:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16469:53:95"},{"AST":{"nodeType":"YulBlock","src":"16553:57:95","statements":[{"nodeType":"YulAssignment","src":"16579:9:95","value":{"name":"addr","nodeType":"YulIdentifier","src":"16584:4:95"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"16579:1:95"}]}]},"evmVersion":"shanghai","externalReferences":[{"declaration":65737,"isOffset":false,"isSlot":false,"src":"16584:4:95","valueSize":1},{"declaration":65718,"isOffset":false,"isSlot":false,"src":"16579:1:95","valueSize":1}],"id":65742,"nodeType":"InlineAssembly","src":"16544:66:95"},{"expression":{"arguments":[{"id":65746,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"16650:1:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":65743,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23882,"src":"16631:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$23882_$","typeString":"type(library console)"}},"id":65745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16639:10:95","memberName":"logBytes32","nodeType":"MemberAccess","referencedDeclaration":16385,"src":"16631:18:95","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":65747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16631:21:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":65748,"nodeType":"ExpressionStatement","src":"16631:21:95"}]}},{"expression":{"id":65763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65751,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65649,"src":"16688:10:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":65755,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65649,"src":"16714:10:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"id":65758,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65718,"src":"16743:1:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65759,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65720,"src":"16746:1:95","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":65760,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65716,"src":"16749:1:95","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":65756,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16726:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":65757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16730:12:95","memberName":"encodePacked","nodeType":"MemberAccess","src":"16726:16:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16726:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":65753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16701:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":65752,"name":"bytes","nodeType":"ElementaryTypeName","src":"16701:5:95","typeDescriptions":{}}},"id":65754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16707:6:95","memberName":"concat","nodeType":"MemberAccess","src":"16701:12:95","typeDescriptions":{"typeIdentifier":"t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":65762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16701:51:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"16688:64:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":65764,"nodeType":"ExpressionStatement","src":"16688:64:95"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65700,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65698,"src":"16205:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"expression":{"id":65701,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"16209:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16218:8:95","memberName":"ownerPKs","nodeType":"MemberAccess","referencedDeclaration":64529,"src":"16209:17:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":65703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16227:6:95","memberName":"length","nodeType":"MemberAccess","src":"16209:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16205:28:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65766,"initializationExpression":{"assignments":[65698],"declarations":[{"constant":false,"id":65698,"mutability":"mutable","name":"i","nameLocation":"16202:1:95","nodeType":"VariableDeclaration","scope":65766,"src":"16194:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65697,"name":"uint256","nodeType":"ElementaryTypeName","src":"16194:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65699,"nodeType":"VariableDeclarationStatement","src":"16194:9:95"},"loopExpression":{"expression":{"id":65706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"16235:3:95","subExpression":{"id":65705,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65698,"src":"16237:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65707,"nodeType":"ExpressionStatement","src":"16235:3:95"},"nodeType":"ForStatement","src":"16189:578:95"}]}},{"expression":{"arguments":[{"id":65772,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65630,"src":"16842:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65773,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65632,"src":"16865:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65774,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65634,"src":"16890:4:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":65775,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65637,"src":"16919:9:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},{"id":65776,"name":"safeTxGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65639,"src":"16953:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65777,"name":"baseGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65641,"src":"16985:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65778,"name":"gasPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65643,"src":"17016:8:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65779,"name":"gasToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65645,"src":"17048:8:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":65782,"name":"refundReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65647,"src":"17094:14:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":65781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17086:8:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":65780,"name":"address","nodeType":"ElementaryTypeName","src":"17086:8:95","stateMutability":"payable","typeDescriptions":{}}},"id":65783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17086:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":65784,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65649,"src":"17135:10:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"id":65769,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65628,"src":"16794:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"id":65770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16803:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"16794:13:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"id":65771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16808:15:95","memberName":"execTransaction","nodeType":"MemberAccess","referencedDeclaration":49185,"src":"16794:29:95","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$50806_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_payable_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,address payable,bytes memory) payable external returns (bool)"}},"id":65785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["16838:2:95","16858:5:95","16884:4:95","16908:9:95","16942:9:95","16976:7:95","17006:8:95","17038:8:95","17070:14:95","17123:10:95"],"names":["to","value","data","operation","safeTxGas","baseGas","gasPrice","gasToken","refundReceiver","signatures"],"nodeType":"FunctionCall","src":"16794:362:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":65653,"id":65786,"nodeType":"Return","src":"16787:369:95"}]},"documentation":{"id":65625,"nodeType":"StructuredDocumentation","src":"14930:139:95","text":"@dev A wrapper for the full execTransaction method, if no signatures are provided it will\n         generate them for all owners."},"implemented":true,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"15083:15:95","parameters":{"id":65650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65628,"mutability":"mutable","name":"instance","nameLocation":"15128:8:95","nodeType":"VariableDeclaration","scope":65788,"src":"15108:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65627,"nodeType":"UserDefinedTypeName","pathNode":{"id":65626,"name":"SafeInstance","nameLocations":["15108:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"15108:12:95"},"referencedDeclaration":64538,"src":"15108:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65630,"mutability":"mutable","name":"to","nameLocation":"15154:2:95","nodeType":"VariableDeclaration","scope":65788,"src":"15146:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65629,"name":"address","nodeType":"ElementaryTypeName","src":"15146:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65632,"mutability":"mutable","name":"value","nameLocation":"15174:5:95","nodeType":"VariableDeclaration","scope":65788,"src":"15166:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65631,"name":"uint256","nodeType":"ElementaryTypeName","src":"15166:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65634,"mutability":"mutable","name":"data","nameLocation":"15202:4:95","nodeType":"VariableDeclaration","scope":65788,"src":"15189:17:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65633,"name":"bytes","nodeType":"ElementaryTypeName","src":"15189:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":65637,"mutability":"mutable","name":"operation","nameLocation":"15231:9:95","nodeType":"VariableDeclaration","scope":65788,"src":"15216:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},"typeName":{"id":65636,"nodeType":"UserDefinedTypeName","pathNode":{"id":65635,"name":"Enum.Operation","nameLocations":["15216:4:95","15221:9:95"],"nodeType":"IdentifierPath","referencedDeclaration":50806,"src":"15216:14:95"},"referencedDeclaration":50806,"src":"15216:14:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":65639,"mutability":"mutable","name":"safeTxGas","nameLocation":"15258:9:95","nodeType":"VariableDeclaration","scope":65788,"src":"15250:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65638,"name":"uint256","nodeType":"ElementaryTypeName","src":"15250:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65641,"mutability":"mutable","name":"baseGas","nameLocation":"15285:7:95","nodeType":"VariableDeclaration","scope":65788,"src":"15277:15:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65640,"name":"uint256","nodeType":"ElementaryTypeName","src":"15277:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65643,"mutability":"mutable","name":"gasPrice","nameLocation":"15310:8:95","nodeType":"VariableDeclaration","scope":65788,"src":"15302:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65642,"name":"uint256","nodeType":"ElementaryTypeName","src":"15302:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65645,"mutability":"mutable","name":"gasToken","nameLocation":"15336:8:95","nodeType":"VariableDeclaration","scope":65788,"src":"15328:16:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65644,"name":"address","nodeType":"ElementaryTypeName","src":"15328:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65647,"mutability":"mutable","name":"refundReceiver","nameLocation":"15362:14:95","nodeType":"VariableDeclaration","scope":65788,"src":"15354:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65646,"name":"address","nodeType":"ElementaryTypeName","src":"15354:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65649,"mutability":"mutable","name":"signatures","nameLocation":"15399:10:95","nodeType":"VariableDeclaration","scope":65788,"src":"15386:23:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65648,"name":"bytes","nodeType":"ElementaryTypeName","src":"15386:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15098:317:95"},"returnParameters":{"id":65653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65652,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65788,"src":"15450:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65651,"name":"bool","nodeType":"ElementaryTypeName","src":"15450:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15449:6:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65827,"nodeType":"FunctionDefinition","src":"17234:331:95","nodes":[],"body":{"id":65826,"nodeType":"Block","src":"17451:114:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":65807,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65792,"src":"17484:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"id":65808,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65794,"src":"17494:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65809,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65796,"src":"17498:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65810,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65798,"src":"17505:4:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":65811,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65801,"src":"17511:9:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},{"hexValue":"30","id":65812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17522:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17525:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17528:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":65817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17539:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17531:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65815,"name":"address","nodeType":"ElementaryTypeName","src":"17531:7:95","typeDescriptions":{}}},"id":65818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17531:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":65821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17551:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17543:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65819,"name":"address","nodeType":"ElementaryTypeName","src":"17543:7:95","typeDescriptions":{}}},"id":65822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17543:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":65823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17555:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":65806,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65788,"src":"17468:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$50806_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,address,bytes memory) returns (bool)"}},"id":65824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17468:90:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":65805,"id":65825,"nodeType":"Return","src":"17461:97:95"}]},"documentation":{"id":65789,"nodeType":"StructuredDocumentation","src":"17169:60:95","text":"@dev Executes either a CALL or DELEGATECALL transaction."},"implemented":true,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"17243:15:95","parameters":{"id":65802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65792,"mutability":"mutable","name":"instance","nameLocation":"17288:8:95","nodeType":"VariableDeclaration","scope":65827,"src":"17268:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65791,"nodeType":"UserDefinedTypeName","pathNode":{"id":65790,"name":"SafeInstance","nameLocations":["17268:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"17268:12:95"},"referencedDeclaration":64538,"src":"17268:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65794,"mutability":"mutable","name":"to","nameLocation":"17314:2:95","nodeType":"VariableDeclaration","scope":65827,"src":"17306:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65793,"name":"address","nodeType":"ElementaryTypeName","src":"17306:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65796,"mutability":"mutable","name":"value","nameLocation":"17334:5:95","nodeType":"VariableDeclaration","scope":65827,"src":"17326:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65795,"name":"uint256","nodeType":"ElementaryTypeName","src":"17326:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65798,"mutability":"mutable","name":"data","nameLocation":"17362:4:95","nodeType":"VariableDeclaration","scope":65827,"src":"17349:17:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65797,"name":"bytes","nodeType":"ElementaryTypeName","src":"17349:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":65801,"mutability":"mutable","name":"operation","nameLocation":"17391:9:95","nodeType":"VariableDeclaration","scope":65827,"src":"17376:24:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},"typeName":{"id":65800,"nodeType":"UserDefinedTypeName","pathNode":{"id":65799,"name":"Enum.Operation","nameLocations":["17376:4:95","17381:9:95"],"nodeType":"IdentifierPath","referencedDeclaration":50806,"src":"17376:14:95"},"referencedDeclaration":50806,"src":"17376:14:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},"visibility":"internal"}],"src":"17258:148:95"},"returnParameters":{"id":65805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65804,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65827,"src":"17441:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65803,"name":"bool","nodeType":"ElementaryTypeName","src":"17441:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17440:6:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":65865,"nodeType":"FunctionDefinition","src":"17613:307:95","nodes":[],"body":{"id":65864,"nodeType":"Block","src":"17796:124:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":65843,"name":"instance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65831,"src":"17829:8:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},{"id":65844,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65833,"src":"17839:2:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":65845,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65835,"src":"17843:5:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":65846,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65837,"src":"17850:4:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"expression":{"id":65847,"name":"Enum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50807,"src":"17856:4:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Enum_$50807_$","typeString":"type(contract Enum)"}},"id":65848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17861:9:95","memberName":"Operation","nodeType":"MemberAccess","referencedDeclaration":50806,"src":"17856:14:95","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Operation_$50806_$","typeString":"type(enum Enum.Operation)"}},"id":65849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17871:4:95","memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":50804,"src":"17856:19:95","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},{"hexValue":"30","id":65850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17877:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17880:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":65852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17883:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":65855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17894:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17886:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65853,"name":"address","nodeType":"ElementaryTypeName","src":"17886:7:95","typeDescriptions":{}}},"id":65856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17886:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":65859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17906:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":65858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17898:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":65857,"name":"address","nodeType":"ElementaryTypeName","src":"17898:7:95","typeDescriptions":{}}},"id":65860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17898:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":65861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17910:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":65842,"name":"execTransaction","nodeType":"Identifier","overloadedDeclarations":[65788,65827,65865],"referencedDeclaration":65788,"src":"17813:15:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_SafeInstance_$64538_memory_ptr_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$50806_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (struct SafeInstance memory,address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,address,bytes memory) returns (bool)"}},"id":65862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17813:100:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":65841,"id":65863,"nodeType":"Return","src":"17806:107:95"}]},"documentation":{"id":65828,"nodeType":"StructuredDocumentation","src":"17571:37:95","text":"@dev Executes a CALL transaction."},"implemented":true,"kind":"function","modifiers":[],"name":"execTransaction","nameLocation":"17622:15:95","parameters":{"id":65838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65831,"mutability":"mutable","name":"instance","nameLocation":"17667:8:95","nodeType":"VariableDeclaration","scope":65865,"src":"17647:28:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65830,"nodeType":"UserDefinedTypeName","pathNode":{"id":65829,"name":"SafeInstance","nameLocations":["17647:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"17647:12:95"},"referencedDeclaration":64538,"src":"17647:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"},{"constant":false,"id":65833,"mutability":"mutable","name":"to","nameLocation":"17693:2:95","nodeType":"VariableDeclaration","scope":65865,"src":"17685:10:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65832,"name":"address","nodeType":"ElementaryTypeName","src":"17685:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":65835,"mutability":"mutable","name":"value","nameLocation":"17713:5:95","nodeType":"VariableDeclaration","scope":65865,"src":"17705:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65834,"name":"uint256","nodeType":"ElementaryTypeName","src":"17705:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65837,"mutability":"mutable","name":"data","nameLocation":"17741:4:95","nodeType":"VariableDeclaration","scope":65865,"src":"17728:17:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":65836,"name":"bytes","nodeType":"ElementaryTypeName","src":"17728:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17637:114:95"},"returnParameters":{"id":65841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65840,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":65865,"src":"17786:4:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":65839,"name":"bool","nodeType":"ElementaryTypeName","src":"17786:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17785:6:95"},"scope":65866,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeTestLib","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[65866],"name":"SafeTestLib","nameLocation":"2328:11:95","scope":66302,"usedErrors":[],"usedEvents":[]},{"id":66301,"nodeType":"ContractDefinition","src":"18012:6420:95","nodes":[{"id":65871,"nodeType":"UsingForDirective","src":"18041:35:95","nodes":[],"global":false,"libraryName":{"id":65868,"name":"SafeTestLib","nameLocations":["18047:11:95"],"nodeType":"IdentifierPath","referencedDeclaration":65866,"src":"18047:11:95"},"typeName":{"id":65870,"nodeType":"UserDefinedTypeName","pathNode":{"id":65869,"name":"SafeInstance","nameLocations":["18063:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"18063:12:95"},"referencedDeclaration":64538,"src":"18063:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}}},{"id":65878,"nodeType":"VariableDeclaration","src":"18082:48:95","nodes":[],"constant":false,"mutability":"mutable","name":"singleton","nameLocation":"18102:9:95","scope":66301,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafe_$49761","typeString":"contract GnosisSafe"},"typeName":{"id":65873,"nodeType":"UserDefinedTypeName","pathNode":{"id":65872,"name":"GnosisSafe","nameLocations":["18082:10:95"],"nodeType":"IdentifierPath","referencedDeclaration":49761,"src":"18082:10:95"},"referencedDeclaration":49761,"src":"18082:10:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafe_$49761","typeString":"contract GnosisSafe"}},"value":{"arguments":[],"expression":{"argumentTypes":[],"id":65876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18114:14:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_GnosisSafe_$49761_$","typeString":"function () returns (contract GnosisSafe)"},"typeName":{"id":65875,"nodeType":"UserDefinedTypeName","pathNode":{"id":65874,"name":"GnosisSafe","nameLocations":["18118:10:95"],"nodeType":"IdentifierPath","referencedDeclaration":49761,"src":"18118:10:95"},"referencedDeclaration":49761,"src":"18118:10:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafe_$49761","typeString":"contract GnosisSafe"}}},"id":65877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18114:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafe_$49761","typeString":"contract GnosisSafe"}},"visibility":"internal"},{"id":65885,"nodeType":"VariableDeclaration","src":"18136:75:95","nodes":[],"constant":false,"mutability":"mutable","name":"proxyFactory","nameLocation":"18168:12:95","scope":66301,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxyFactory_$51572","typeString":"contract GnosisSafeProxyFactory"},"typeName":{"id":65880,"nodeType":"UserDefinedTypeName","pathNode":{"id":65879,"name":"GnosisSafeProxyFactory","nameLocations":["18136:22:95"],"nodeType":"IdentifierPath","referencedDeclaration":51572,"src":"18136:22:95"},"referencedDeclaration":51572,"src":"18136:22:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxyFactory_$51572","typeString":"contract GnosisSafeProxyFactory"}},"value":{"arguments":[],"expression":{"argumentTypes":[],"id":65883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18183:26:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_GnosisSafeProxyFactory_$51572_$","typeString":"function () returns (contract GnosisSafeProxyFactory)"},"typeName":{"id":65882,"nodeType":"UserDefinedTypeName","pathNode":{"id":65881,"name":"GnosisSafeProxyFactory","nameLocations":["18187:22:95"],"nodeType":"IdentifierPath","referencedDeclaration":51572,"src":"18187:22:95"},"referencedDeclaration":51572,"src":"18187:22:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxyFactory_$51572","typeString":"contract GnosisSafeProxyFactory"}}},"id":65884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18183:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxyFactory_$51572","typeString":"contract GnosisSafeProxyFactory"}},"visibility":"internal"},{"id":65892,"nodeType":"VariableDeclaration","src":"18217:82:95","nodes":[],"constant":false,"mutability":"mutable","name":"handler","nameLocation":"18255:7:95","scope":66301,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CompatibilityFallbackHandler_$64440","typeString":"contract CompatibilityFallbackHandler"},"typeName":{"id":65887,"nodeType":"UserDefinedTypeName","pathNode":{"id":65886,"name":"CompatibilityFallbackHandler","nameLocations":["18217:28:95"],"nodeType":"IdentifierPath","referencedDeclaration":64440,"src":"18217:28:95"},"referencedDeclaration":64440,"src":"18217:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_CompatibilityFallbackHandler_$64440","typeString":"contract CompatibilityFallbackHandler"}},"value":{"arguments":[],"expression":{"argumentTypes":[],"id":65890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18265:32:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CompatibilityFallbackHandler_$64440_$","typeString":"function () returns (contract CompatibilityFallbackHandler)"},"typeName":{"id":65889,"nodeType":"UserDefinedTypeName","pathNode":{"id":65888,"name":"CompatibilityFallbackHandler","nameLocations":["18269:28:95"],"nodeType":"IdentifierPath","referencedDeclaration":64440,"src":"18269:28:95"},"referencedDeclaration":64440,"src":"18269:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_CompatibilityFallbackHandler_$64440","typeString":"contract CompatibilityFallbackHandler"}}},"id":65891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18265:34:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CompatibilityFallbackHandler_$64440","typeString":"contract CompatibilityFallbackHandler"}},"visibility":"internal"},{"id":65896,"nodeType":"VariableDeclaration","src":"18306:33:95","nodes":[],"constant":false,"mutability":"mutable","name":"instances","nameLocation":"18330:9:95","scope":66301,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage","typeString":"struct SafeInstance[]"},"typeName":{"baseType":{"id":65894,"nodeType":"UserDefinedTypeName","pathNode":{"id":65893,"name":"SafeInstance","nameLocations":["18306:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"18306:12:95"},"referencedDeclaration":64538,"src":"18306:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"id":65895,"nodeType":"ArrayTypeName","src":"18306:14:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage_ptr","typeString":"struct SafeInstance[]"}},"visibility":"internal"},{"id":65907,"nodeType":"VariableDeclaration","src":"18346:67:95","nodes":[],"constant":false,"mutability":"mutable","name":"saltNonce","nameLocation":"18363:9:95","scope":66301,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65897,"name":"uint256","nodeType":"ElementaryTypeName","src":"18346:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"534146452054455354","id":65903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18399:11:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_bff0e1d6be3df3bedf05c892f554fbea3c6ca2bb9d224bc3f3d3fbc3ec267d1c","typeString":"literal_string \"SAFE TEST\""},"value":"SAFE TEST"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bff0e1d6be3df3bedf05c892f554fbea3c6ca2bb9d224bc3f3d3fbc3ec267d1c","typeString":"literal_string \"SAFE TEST\""}],"id":65902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18393:5:95","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":65901,"name":"bytes","nodeType":"ElementaryTypeName","src":"18393:5:95","typeDescriptions":{}}},"id":65904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18393:18:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":65900,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18383:9:95","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":65905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18383:29:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":65899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18375:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":65898,"name":"uint256","nodeType":"ElementaryTypeName","src":"18375:7:95","typeDescriptions":{}}},"id":65906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18375:38:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":65933,"nodeType":"FunctionDefinition","src":"18524:193:95","nodes":[],"body":{"id":65932,"nodeType":"Block","src":"18565:152:95","nodes":[],"statements":[{"expression":{"id":65916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65911,"name":"singleton","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65878,"src":"18575:9:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafe_$49761","typeString":"contract GnosisSafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":65914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18587:14:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_GnosisSafe_$49761_$","typeString":"function () returns (contract GnosisSafe)"},"typeName":{"id":65913,"nodeType":"UserDefinedTypeName","pathNode":{"id":65912,"name":"GnosisSafe","nameLocations":["18591:10:95"],"nodeType":"IdentifierPath","referencedDeclaration":49761,"src":"18591:10:95"},"referencedDeclaration":49761,"src":"18591:10:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafe_$49761","typeString":"contract GnosisSafe"}}},"id":65915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18587:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafe_$49761","typeString":"contract GnosisSafe"}},"src":"18575:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafe_$49761","typeString":"contract GnosisSafe"}},"id":65917,"nodeType":"ExpressionStatement","src":"18575:28:95"},{"expression":{"id":65923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65918,"name":"proxyFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65885,"src":"18613:12:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxyFactory_$51572","typeString":"contract GnosisSafeProxyFactory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":65921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18628:26:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_GnosisSafeProxyFactory_$51572_$","typeString":"function () returns (contract GnosisSafeProxyFactory)"},"typeName":{"id":65920,"nodeType":"UserDefinedTypeName","pathNode":{"id":65919,"name":"GnosisSafeProxyFactory","nameLocations":["18632:22:95"],"nodeType":"IdentifierPath","referencedDeclaration":51572,"src":"18632:22:95"},"referencedDeclaration":51572,"src":"18632:22:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxyFactory_$51572","typeString":"contract GnosisSafeProxyFactory"}}},"id":65922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18628:28:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxyFactory_$51572","typeString":"contract GnosisSafeProxyFactory"}},"src":"18613:43:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxyFactory_$51572","typeString":"contract GnosisSafeProxyFactory"}},"id":65924,"nodeType":"ExpressionStatement","src":"18613:43:95"},{"expression":{"id":65930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":65925,"name":"handler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"18666:7:95","typeDescriptions":{"typeIdentifier":"t_contract$_CompatibilityFallbackHandler_$64440","typeString":"contract CompatibilityFallbackHandler"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":65928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18676:32:95","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CompatibilityFallbackHandler_$64440_$","typeString":"function () returns (contract CompatibilityFallbackHandler)"},"typeName":{"id":65927,"nodeType":"UserDefinedTypeName","pathNode":{"id":65926,"name":"CompatibilityFallbackHandler","nameLocations":["18680:28:95"],"nodeType":"IdentifierPath","referencedDeclaration":64440,"src":"18680:28:95"},"referencedDeclaration":64440,"src":"18680:28:95","typeDescriptions":{"typeIdentifier":"t_contract$_CompatibilityFallbackHandler_$64440","typeString":"contract CompatibilityFallbackHandler"}}},"id":65929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18676:34:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CompatibilityFallbackHandler_$64440","typeString":"contract CompatibilityFallbackHandler"}},"src":"18666:44:95","typeDescriptions":{"typeIdentifier":"t_contract$_CompatibilityFallbackHandler_$64440","typeString":"contract CompatibilityFallbackHandler"}},"id":65931,"nodeType":"ExpressionStatement","src":"18666:44:95"}]},"documentation":{"id":65908,"nodeType":"StructuredDocumentation","src":"18420:99:95","text":"@dev can be called to reinitialize the singleton, proxyFactory and handler. Useful for forking."},"implemented":true,"kind":"function","modifiers":[],"name":"_initializeSafeTools","nameLocation":"18533:20:95","parameters":{"id":65909,"nodeType":"ParameterList","parameters":[],"src":"18553:2:95"},"returnParameters":{"id":65910,"nodeType":"ParameterList","parameters":[],"src":"18565:0:95"},"scope":66301,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66107,"nodeType":"FunctionDefinition","src":"19079:1964:95","nodes":[],"body":{"id":66106,"nodeType":"Block","src":"19310:1733:95","nodes":[],"statements":[{"assignments":[65954],"declarations":[{"constant":false,"id":65954,"mutability":"mutable","name":"sortedPKs","nameLocation":"19337:9:95","nodeType":"VariableDeclaration","scope":66106,"src":"19320:26:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":65952,"name":"uint256","nodeType":"ElementaryTypeName","src":"19320:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65953,"nodeType":"ArrayTypeName","src":"19320:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":65959,"initialValue":{"arguments":[{"id":65957,"name":"ownerPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65937,"src":"19386:8:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":65955,"name":"SafeTestLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"19349:11:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeTestLib_$65866_$","typeString":"type(library SafeTestLib)"}},"id":65956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19361:24:95","memberName":"sortPKsByComputedAddress","nodeType":"MemberAccess","referencedDeclaration":64935,"src":"19349:36:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256[] memory) pure returns (uint256[] memory)"}},"id":65958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19349:46:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19320:75:95"},{"assignments":[65964],"declarations":[{"constant":false,"id":65964,"mutability":"mutable","name":"owners","nameLocation":"19422:6:95","nodeType":"VariableDeclaration","scope":66106,"src":"19405:23:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":65962,"name":"address","nodeType":"ElementaryTypeName","src":"19405:7:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65963,"nodeType":"ArrayTypeName","src":"19405:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":65971,"initialValue":{"arguments":[{"expression":{"id":65968,"name":"sortedPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65954,"src":"19445:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":65969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19455:6:95","memberName":"length","nodeType":"MemberAccess","src":"19445:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":65967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"19431:13:95","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":65965,"name":"address","nodeType":"ElementaryTypeName","src":"19435:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65966,"nodeType":"ArrayTypeName","src":"19435:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":65970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19431:31:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19405:57:95"},{"body":{"id":66013,"nodeType":"Block","src":"19516:262:95","statements":[{"condition":{"arguments":[{"baseExpression":{"id":65984,"name":"sortedPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65954,"src":"19564:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":65986,"indexExpression":{"id":65985,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65973,"src":"19574:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19564:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65982,"name":"SafeTestLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"19534:11:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeTestLib_$65866_$","typeString":"type(library SafeTestLib)"}},"id":65983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19546:17:95","memberName":"isSmartContractPK","nodeType":"MemberAccess","referencedDeclaration":64724,"src":"19534:29:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) pure returns (bool)"}},"id":65987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19534:43:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":66011,"nodeType":"Block","src":"19690:78:95","statements":[{"expression":{"id":66009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66000,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65964,"src":"19708:6:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":66002,"indexExpression":{"id":66001,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65973,"src":"19715:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19708:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":66005,"name":"sortedPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65954,"src":"19740:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":66007,"indexExpression":{"id":66006,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65973,"src":"19750:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19740:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66003,"name":"SafeTestLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"19720:11:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeTestLib_$65866_$","typeString":"type(library SafeTestLib)"}},"id":66004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19732:7:95","memberName":"getAddr","nodeType":"MemberAccess","referencedDeclaration":64585,"src":"19720:19:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure returns (address)"}},"id":66008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19720:33:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19708:45:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66010,"nodeType":"ExpressionStatement","src":"19708:45:95"}]},"id":66012,"nodeType":"IfStatement","src":"19530:238:95","trueBody":{"id":65999,"nodeType":"Block","src":"19579:105:95","statements":[{"expression":{"id":65997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":65988,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65964,"src":"19597:6:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":65990,"indexExpression":{"id":65989,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65973,"src":"19604:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19597:9:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":65993,"name":"sortedPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65954,"src":"19656:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":65995,"indexExpression":{"id":65994,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65973,"src":"19666:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19656:12:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":65991,"name":"SafeTestLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"19609:11:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeTestLib_$65866_$","typeString":"type(library SafeTestLib)"}},"id":65992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19621:34:95","memberName":"decodeSmartContractWalletAsAddress","nodeType":"MemberAccess","referencedDeclaration":64714,"src":"19609:46:95","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure returns (address)"}},"id":65996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19609:60:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19597:72:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":65998,"nodeType":"ExpressionStatement","src":"19597:72:95"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":65978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":65975,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65973,"src":"19489:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":65976,"name":"sortedPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65954,"src":"19493:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":65977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19503:6:95","memberName":"length","nodeType":"MemberAccess","src":"19493:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19489:20:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66014,"initializationExpression":{"assignments":[65973],"declarations":[{"constant":false,"id":65973,"mutability":"mutable","name":"i","nameLocation":"19486:1:95","nodeType":"VariableDeclaration","scope":66014,"src":"19478:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65972,"name":"uint256","nodeType":"ElementaryTypeName","src":"19478:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":65974,"nodeType":"VariableDeclarationStatement","src":"19478:9:95"},"loopExpression":{"expression":{"id":65980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19511:3:95","subExpression":{"id":65979,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65973,"src":"19511:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65981,"nodeType":"ExpressionStatement","src":"19511:3:95"},"nodeType":"ForStatement","src":"19473:305:95"},{"assignments":[66016],"declarations":[{"constant":false,"id":66016,"mutability":"mutable","name":"initData","nameLocation":"19848:8:95","nodeType":"VariableDeclaration","scope":66106,"src":"19835:21:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66015,"name":"bytes","nodeType":"ElementaryTypeName","src":"19835:5:95","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66054,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":66017,"name":"advancedParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"19859:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}},"id":66018,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19874:8:95","memberName":"initData","nodeType":"MemberAccess","referencedDeclaration":64523,"src":"19859:23:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19883:6:95","memberName":"length","nodeType":"MemberAccess","src":"19859:30:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":66020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19892:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19859:34:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"expression":{"id":66026,"name":"GnosisSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49761,"src":"19986:10:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GnosisSafe_$49761_$","typeString":"type(contract GnosisSafe)"}},"id":66027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19997:5:95","memberName":"setup","nodeType":"MemberAccess","referencedDeclaration":48976,"src":"19986:16:95","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_array$_t_address_$dyn_calldata_ptr_$_t_uint256_$_t_address_$_t_bytes_calldata_ptr_$_t_address_$_t_address_$_t_uint256_$_t_address_payable_$returns$__$","typeString":"function GnosisSafe.setup(address[] calldata,uint256,address,bytes calldata,address,address,uint256,address payable)"}},"id":66028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20003:8:95","memberName":"selector","nodeType":"MemberAccess","src":"19986:25:95","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":66029,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65964,"src":"20029:6:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":66030,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65939,"src":"20053:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66031,"name":"advancedParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"20080:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}},"id":66032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20095:19:95","memberName":"setupModulesCall_to","nodeType":"MemberAccess","referencedDeclaration":64513,"src":"20080:34:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":66033,"name":"advancedParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"20132:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}},"id":66034,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20147:21:95","memberName":"setupModulesCall_data","nodeType":"MemberAccess","referencedDeclaration":64515,"src":"20132:36:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"condition":{"expression":{"id":66035,"name":"advancedParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"20186:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}},"id":66036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20201:22:95","memberName":"includeFallbackHandler","nodeType":"MemberAccess","referencedDeclaration":64509,"src":"20186:37:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30","id":66043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20253:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20245:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66041,"name":"address","nodeType":"ElementaryTypeName","src":"20245:7:95","typeDescriptions":{}}},"id":66044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20245:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"20186:69:95","trueExpression":{"arguments":[{"id":66039,"name":"handler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65892,"src":"20234:7:95","typeDescriptions":{"typeIdentifier":"t_contract$_CompatibilityFallbackHandler_$64440","typeString":"contract CompatibilityFallbackHandler"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CompatibilityFallbackHandler_$64440","typeString":"contract CompatibilityFallbackHandler"}],"id":66038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20226:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66037,"name":"address","nodeType":"ElementaryTypeName","src":"20226:7:95","typeDescriptions":{}}},"id":66040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20226:16:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":66046,"name":"advancedParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"20273:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}},"id":66047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20288:11:95","memberName":"refundToken","nodeType":"MemberAccess","referencedDeclaration":64519,"src":"20273:26:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":66048,"name":"advancedParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"20317:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}},"id":66049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20332:12:95","memberName":"refundAmount","nodeType":"MemberAccess","referencedDeclaration":64517,"src":"20317:27:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":66050,"name":"advancedParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"20362:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}},"id":66051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20377:14:95","memberName":"refundReceiver","nodeType":"MemberAccess","referencedDeclaration":64521,"src":"20362:29:95","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":66024,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19946:3:95","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19950:18:95","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"19946:22:95","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":66052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19946:459:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"19859:546:95","trueExpression":{"expression":{"id":66022,"name":"advancedParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"19908:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}},"id":66023,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19923:8:95","memberName":"initData","nodeType":"MemberAccess","referencedDeclaration":64523,"src":"19908:23:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19835:570:95"},{"assignments":[66057],"declarations":[{"constant":false,"id":66057,"mutability":"mutable","name":"safe0","nameLocation":"20429:5:95","nodeType":"VariableDeclaration","scope":66106,"src":"20416:18:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"},"typeName":{"id":66056,"nodeType":"UserDefinedTypeName","pathNode":{"id":66055,"name":"DeployedSafe","nameLocations":["20416:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64507,"src":"20416:12:95"},"referencedDeclaration":64507,"src":"20416:12:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"visibility":"internal"}],"id":66073,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":66065,"name":"singleton","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65878,"src":"20513:9:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafe_$49761","typeString":"contract GnosisSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GnosisSafe_$49761","typeString":"contract GnosisSafe"}],"id":66064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20505:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66063,"name":"address","nodeType":"ElementaryTypeName","src":"20505:7:95","typeDescriptions":{}}},"id":66066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20505:18:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66067,"name":"initData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66016,"src":"20525:8:95","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":66068,"name":"advancedParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65944,"src":"20535:14:95","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}},"id":66069,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20550:9:95","memberName":"saltNonce","nodeType":"MemberAccess","referencedDeclaration":64511,"src":"20535:24:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66061,"name":"proxyFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65885,"src":"20471:12:95","typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxyFactory_$51572","typeString":"contract GnosisSafeProxyFactory"}},"id":66062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20484:20:95","memberName":"createProxyWithNonce","nodeType":"MemberAccess","referencedDeclaration":51482,"src":"20471:33:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_contract$_GnosisSafeProxy_$51325_$","typeString":"function (address,bytes memory,uint256) external returns (contract GnosisSafeProxy)"}},"id":66070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20471:89:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_GnosisSafeProxy_$51325","typeString":"contract GnosisSafeProxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_GnosisSafeProxy_$51325","typeString":"contract GnosisSafeProxy"}],"id":66060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20463:8:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66059,"name":"address","nodeType":"ElementaryTypeName","src":"20463:8:95","stateMutability":"payable","typeDescriptions":{}}},"id":66071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20463:98:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66058,"name":"DeployedSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64507,"src":"20437:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DeployedSafe_$64507_$","typeString":"type(contract DeployedSafe)"}},"id":66072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20437:134:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}},"nodeType":"VariableDeclarationStatement","src":"20416:155:95"},{"assignments":[66076],"declarations":[{"constant":false,"id":66076,"mutability":"mutable","name":"instance0","nameLocation":"20602:9:95","nodeType":"VariableDeclaration","scope":66106,"src":"20582:29:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":66075,"nodeType":"UserDefinedTypeName","pathNode":{"id":66074,"name":"SafeInstance","nameLocations":["20582:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"20582:12:95"},"referencedDeclaration":64538,"src":"20582:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"}],"id":66085,"initialValue":{"arguments":[{"expression":{"id":66078,"name":"instances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"20653:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage","typeString":"struct SafeInstance storage ref[] storage ref"}},"id":66079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20663:6:95","memberName":"length","nodeType":"MemberAccess","src":"20653:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66080,"name":"sortedPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65954,"src":"20693:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":66081,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65964,"src":"20724:6:95","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":66082,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65939,"src":"20755:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66083,"name":"safe0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66057,"src":"20887:5:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}],"id":66077,"name":"SafeInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64538,"src":"20614:12:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_SafeInstance_$64538_storage_ptr_$","typeString":"type(struct SafeInstance storage pointer)"}},"id":66084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["20641:10:95","20683:8:95","20716:6:95","20744:9:95","20881:4:95"],"names":["instanceId","ownerPKs","owners","threshold","safe"],"nodeType":"FunctionCall","src":"20614:289:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"nodeType":"VariableDeclarationStatement","src":"20582:321:95"},{"expression":{"arguments":[{"id":66089,"name":"instance0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66076,"src":"20928:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}],"expression":{"id":66086,"name":"instances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"20913:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage","typeString":"struct SafeInstance storage ref[] storage ref"}},"id":66088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20923:4:95","memberName":"push","nodeType":"MemberAccess","src":"20913:14:95","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage_ptr_$_t_struct$_SafeInstance_$64538_storage_$returns$__$attached_to$_t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage_ptr_$","typeString":"function (struct SafeInstance storage ref[] storage pointer,struct SafeInstance storage ref)"}},"id":66090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20913:25:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66091,"nodeType":"ExpressionStatement","src":"20913:25:95"},{"expression":{"arguments":[{"arguments":[{"id":66099,"name":"safe0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66057,"src":"20986:5:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}],"id":66098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20978:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66097,"name":"address","nodeType":"ElementaryTypeName","src":"20978:7:95","typeDescriptions":{}}},"id":66100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20978:14:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66101,"name":"initialBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65941,"src":"20994:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"expression":{"id":66093,"name":"SafeTestLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"20952:11:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeTestLib_$65866_$","typeString":"type(library SafeTestLib)"}},"id":66094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20964:7:95","memberName":"VM_ADDR","nodeType":"MemberAccess","referencedDeclaration":64562,"src":"20952:19:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66092,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15818,"src":"20949:2:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15818_$","typeString":"type(contract Vm)"}},"id":66095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20949:23:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15818","typeString":"contract Vm"}},"id":66096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20973:4:95","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":15332,"src":"20949:28:95","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":66102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20949:60:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66103,"nodeType":"ExpressionStatement","src":"20949:60:95"},{"expression":{"id":66104,"name":"instance0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66076,"src":"21027:9:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"functionReturnParameters":65949,"id":66105,"nodeType":"Return","src":"21020:16:95"}]},"documentation":{"id":65934,"nodeType":"StructuredDocumentation","src":"18723:351:95","text":"@dev Sets up a Safe with the given parameters.\n @param ownerPKs The public keys of the owners.\n @param threshold The threshold for the Safe.\n @param initialBalance The initial balance of the Safe.\n @param advancedParams The advanced parameters for the Safe initialization.\n @return The initialized Safe instance."},"functionSelector":"403b551a","implemented":true,"kind":"function","modifiers":[],"name":"_setupSafe","nameLocation":"19088:10:95","parameters":{"id":65945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65937,"mutability":"mutable","name":"ownerPKs","nameLocation":"19125:8:95","nodeType":"VariableDeclaration","scope":66107,"src":"19108:25:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":65935,"name":"uint256","nodeType":"ElementaryTypeName","src":"19108:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":65936,"nodeType":"ArrayTypeName","src":"19108:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":65939,"mutability":"mutable","name":"threshold","nameLocation":"19151:9:95","nodeType":"VariableDeclaration","scope":66107,"src":"19143:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65938,"name":"uint256","nodeType":"ElementaryTypeName","src":"19143:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65941,"mutability":"mutable","name":"initialBalance","nameLocation":"19178:14:95","nodeType":"VariableDeclaration","scope":66107,"src":"19170:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65940,"name":"uint256","nodeType":"ElementaryTypeName","src":"19170:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65944,"mutability":"mutable","name":"advancedParams","nameLocation":"19232:14:95","nodeType":"VariableDeclaration","scope":66107,"src":"19202:44:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams"},"typeName":{"id":65943,"nodeType":"UserDefinedTypeName","pathNode":{"id":65942,"name":"AdvancedSafeInitParams","nameLocations":["19202:22:95"],"nodeType":"IdentifierPath","referencedDeclaration":64524,"src":"19202:22:95"},"referencedDeclaration":64524,"src":"19202:22:95","typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_storage_ptr","typeString":"struct AdvancedSafeInitParams"}},"visibility":"internal"}],"src":"19098:154:95"},"returnParameters":{"id":65949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":65948,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66107,"src":"19285:19:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":65947,"nodeType":"UserDefinedTypeName","pathNode":{"id":65946,"name":"SafeInstance","nameLocations":["19285:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"19285:12:95"},"referencedDeclaration":64538,"src":"19285:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"}],"src":"19284:21:95"},"scope":66301,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66150,"nodeType":"FunctionDefinition","src":"21322:679:95","nodes":[],"body":{"id":66149,"nodeType":"Block","src":"21499:502:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":66122,"name":"ownerPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66111,"src":"21540:8:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":66123,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66113,"src":"21562:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":66124,"name":"initialBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66115,"src":"21585:14:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"74727565","id":66126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21678:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"","id":66127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21710:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"id":66128,"name":"saltNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65907,"src":"21741:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":66131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21797:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21789:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66129,"name":"address","nodeType":"ElementaryTypeName","src":"21789:7:95","typeDescriptions":{}}},"id":66132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21789:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":66133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21840:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"30","id":66134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21874:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":66137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21914:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21906:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66135,"name":"address","nodeType":"ElementaryTypeName","src":"21906:7:95","typeDescriptions":{}}},"id":66138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21906:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"hexValue":"30","id":66143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21966:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21958:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66141,"name":"address","nodeType":"ElementaryTypeName","src":"21958:7:95","typeDescriptions":{}}},"id":66144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21958:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21950:8:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66139,"name":"address","nodeType":"ElementaryTypeName","src":"21950:8:95","stateMutability":"payable","typeDescriptions":{}}},"id":66145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21950:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66125,"name":"AdvancedSafeInitParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64524,"src":"21613:22:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_AdvancedSafeInitParams_$64524_storage_ptr_$","typeString":"type(struct AdvancedSafeInitParams storage pointer)"}},"id":66146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["21654:22:95","21700:8:95","21730:9:95","21768:19:95","21817:21:95","21860:12:95","21893:11:95","21934:14:95"],"names":["includeFallbackHandler","initData","saltNonce","setupModulesCall_to","setupModulesCall_data","refundAmount","refundToken","refundReceiver"],"nodeType":"FunctionCall","src":"21613:371:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}],"id":66121,"name":"_setupSafe","nodeType":"Identifier","overloadedDeclarations":[66107,66150,66191,66238],"referencedDeclaration":66107,"src":"21516:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_AdvancedSafeInitParams_$64524_memory_ptr_$returns$_t_struct$_SafeInstance_$64538_memory_ptr_$","typeString":"function (uint256[] memory,uint256,uint256,struct AdvancedSafeInitParams memory) returns (struct SafeInstance memory)"}},"id":66147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21516:478:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"functionReturnParameters":66120,"id":66148,"nodeType":"Return","src":"21509:485:95"}]},"documentation":{"id":66108,"nodeType":"StructuredDocumentation","src":"21049:268:95","text":"@dev Sets up a Safe with the given parameters.\n @param ownerPKs The public keys of the owners.\n @param threshold The threshold for the Safe.\n @param initialBalance The initial balance of the Safe.\n @return The initialized Safe instance."},"functionSelector":"4867cf9a","implemented":true,"kind":"function","modifiers":[],"name":"_setupSafe","nameLocation":"21331:10:95","parameters":{"id":66116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66111,"mutability":"mutable","name":"ownerPKs","nameLocation":"21368:8:95","nodeType":"VariableDeclaration","scope":66150,"src":"21351:25:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":66109,"name":"uint256","nodeType":"ElementaryTypeName","src":"21351:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66110,"nodeType":"ArrayTypeName","src":"21351:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":66113,"mutability":"mutable","name":"threshold","nameLocation":"21394:9:95","nodeType":"VariableDeclaration","scope":66150,"src":"21386:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66112,"name":"uint256","nodeType":"ElementaryTypeName","src":"21386:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66115,"mutability":"mutable","name":"initialBalance","nameLocation":"21421:14:95","nodeType":"VariableDeclaration","scope":66150,"src":"21413:22:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66114,"name":"uint256","nodeType":"ElementaryTypeName","src":"21413:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21341:100:95"},"returnParameters":{"id":66120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66119,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66150,"src":"21474:19:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":66118,"nodeType":"UserDefinedTypeName","pathNode":{"id":66117,"name":"SafeInstance","nameLocations":["21474:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"21474:12:95"},"referencedDeclaration":64538,"src":"21474:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"}],"src":"21473:21:95"},"scope":66301,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66191,"nodeType":"FunctionDefinition","src":"22217:602:95","nodes":[],"body":{"id":66190,"nodeType":"Block","src":"22320:499:95","nodes":[],"statements":[{"expression":{"arguments":[{"id":66163,"name":"ownerPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66154,"src":"22361:8:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":66164,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66156,"src":"22383:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3130303030","id":66165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22406:11:95","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000_by_1","typeString":"int_const 10000000000000000000000"},"value":"10000"},{"arguments":[{"hexValue":"74727565","id":66167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22496:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"","id":66168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22528:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"id":66169,"name":"saltNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65907,"src":"22559:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":66172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22615:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22607:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66170,"name":"address","nodeType":"ElementaryTypeName","src":"22607:7:95","typeDescriptions":{}}},"id":66173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22607:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":66174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22658:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"30","id":66175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22692:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":66178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22732:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22724:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66176,"name":"address","nodeType":"ElementaryTypeName","src":"22724:7:95","typeDescriptions":{}}},"id":66179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22724:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"hexValue":"30","id":66184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22784:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22776:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66182,"name":"address","nodeType":"ElementaryTypeName","src":"22776:7:95","typeDescriptions":{}}},"id":66185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22776:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22768:8:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66180,"name":"address","nodeType":"ElementaryTypeName","src":"22768:8:95","stateMutability":"payable","typeDescriptions":{}}},"id":66186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22768:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66166,"name":"AdvancedSafeInitParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64524,"src":"22431:22:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_AdvancedSafeInitParams_$64524_storage_ptr_$","typeString":"type(struct AdvancedSafeInitParams storage pointer)"}},"id":66187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["22472:22:95","22518:8:95","22548:9:95","22586:19:95","22635:21:95","22678:12:95","22711:11:95","22752:14:95"],"names":["includeFallbackHandler","initData","saltNonce","setupModulesCall_to","setupModulesCall_data","refundAmount","refundToken","refundReceiver"],"nodeType":"FunctionCall","src":"22431:371:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_10000000000000000000000_by_1","typeString":"int_const 10000000000000000000000"},{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}],"id":66162,"name":"_setupSafe","nodeType":"Identifier","overloadedDeclarations":[66107,66150,66191,66238],"referencedDeclaration":66107,"src":"22337:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_AdvancedSafeInitParams_$64524_memory_ptr_$returns$_t_struct$_SafeInstance_$64538_memory_ptr_$","typeString":"function (uint256[] memory,uint256,uint256,struct AdvancedSafeInitParams memory) returns (struct SafeInstance memory)"}},"id":66188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22337:475:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"functionReturnParameters":66161,"id":66189,"nodeType":"Return","src":"22330:482:95"}]},"documentation":{"id":66151,"nodeType":"StructuredDocumentation","src":"22007:205:95","text":"@dev Sets up a Safe with the given parameters.\n @param ownerPKs The public keys of the owners.\n @param threshold The threshold for the Safe.\n @return The initialized Safe instance."},"functionSelector":"080df7f1","implemented":true,"kind":"function","modifiers":[],"name":"_setupSafe","nameLocation":"22226:10:95","parameters":{"id":66157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66154,"mutability":"mutable","name":"ownerPKs","nameLocation":"22254:8:95","nodeType":"VariableDeclaration","scope":66191,"src":"22237:25:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":66152,"name":"uint256","nodeType":"ElementaryTypeName","src":"22237:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66153,"nodeType":"ArrayTypeName","src":"22237:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":66156,"mutability":"mutable","name":"threshold","nameLocation":"22272:9:95","nodeType":"VariableDeclaration","scope":66191,"src":"22264:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66155,"name":"uint256","nodeType":"ElementaryTypeName","src":"22264:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22236:46:95"},"returnParameters":{"id":66161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66191,"src":"22299:19:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":66159,"nodeType":"UserDefinedTypeName","pathNode":{"id":66158,"name":"SafeInstance","nameLocations":["22299:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"22299:12:95"},"referencedDeclaration":64538,"src":"22299:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"}],"src":"22298:21:95"},"scope":66301,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66238,"nodeType":"FunctionDefinition","src":"22983:639:95","nodes":[],"body":{"id":66237,"nodeType":"Block","src":"23042:580:95","nodes":[],"statements":[{"assignments":[null,66202],"declarations":[null,{"constant":false,"id":66202,"mutability":"mutable","name":"defaultPKs","nameLocation":"23072:10:95","nodeType":"VariableDeclaration","scope":66237,"src":"23055:27:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":66200,"name":"uint256","nodeType":"ElementaryTypeName","src":"23055:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66201,"nodeType":"ArrayTypeName","src":"23055:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":66208,"initialValue":{"arguments":[{"hexValue":"64656661756c74","id":66205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23115:9:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfee7c08a98f4b565d124c7e4e28acc52e1bc780e3887db0a02a7d2d5bc66728","typeString":"literal_string \"default\""},"value":"default"},{"hexValue":"33","id":66206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23126:1:95","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cfee7c08a98f4b565d124c7e4e28acc52e1bc780e3887db0a02a7d2d5bc66728","typeString":"literal_string \"default\""},{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"expression":{"id":66203,"name":"SafeTestLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65866,"src":"23086:11:95","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeTestLib_$65866_$","typeString":"type(library SafeTestLib)"}},"id":66204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23098:16:95","memberName":"makeAddrsAndKeys","nodeType":"MemberAccess","referencedDeclaration":64691,"src":"23086:28:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,uint256) returns (address[] memory,uint256[] memory)"}},"id":66207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23086:42:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"tuple(address[] memory,uint256[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"23052:76:95"},{"expression":{"arguments":[{"id":66210,"name":"defaultPKs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66202,"src":"23170:10:95","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"hexValue":"32","id":66211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23194:1:95","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"3130303030","id":66212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23209:11:95","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000_by_1","typeString":"int_const 10000000000000000000000"},"value":"10000"},{"arguments":[{"hexValue":"74727565","id":66214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23299:4:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"","id":66215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23331:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"id":66216,"name":"saltNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65907,"src":"23362:9:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":66219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23418:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23410:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66217,"name":"address","nodeType":"ElementaryTypeName","src":"23410:7:95","typeDescriptions":{}}},"id":66220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23410:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"","id":66221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23461:2:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"30","id":66222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23495:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":66225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23535:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23527:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66223,"name":"address","nodeType":"ElementaryTypeName","src":"23527:7:95","typeDescriptions":{}}},"id":66226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23527:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"hexValue":"30","id":66231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23587:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23579:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66229,"name":"address","nodeType":"ElementaryTypeName","src":"23579:7:95","typeDescriptions":{}}},"id":66232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23579:10:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23571:8:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66227,"name":"address","nodeType":"ElementaryTypeName","src":"23571:8:95","stateMutability":"payable","typeDescriptions":{}}},"id":66233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23571:19:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":66213,"name":"AdvancedSafeInitParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64524,"src":"23234:22:95","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_AdvancedSafeInitParams_$64524_storage_ptr_$","typeString":"type(struct AdvancedSafeInitParams storage pointer)"}},"id":66234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23275:22:95","23321:8:95","23351:9:95","23389:19:95","23438:21:95","23481:12:95","23514:11:95","23555:14:95"],"names":["includeFallbackHandler","initData","saltNonce","setupModulesCall_to","setupModulesCall_data","refundAmount","refundToken","refundReceiver"],"nodeType":"FunctionCall","src":"23234:371:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_rational_10000000000000000000000_by_1","typeString":"int_const 10000000000000000000000"},{"typeIdentifier":"t_struct$_AdvancedSafeInitParams_$64524_memory_ptr","typeString":"struct AdvancedSafeInitParams memory"}],"id":66209,"name":"_setupSafe","nodeType":"Identifier","overloadedDeclarations":[66107,66150,66191,66238],"referencedDeclaration":66107,"src":"23146:10:95","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_uint256_$_t_struct$_AdvancedSafeInitParams_$64524_memory_ptr_$returns$_t_struct$_SafeInstance_$64538_memory_ptr_$","typeString":"function (uint256[] memory,uint256,uint256,struct AdvancedSafeInitParams memory) returns (struct SafeInstance memory)"}},"id":66235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23146:469:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance memory"}},"functionReturnParameters":66197,"id":66236,"nodeType":"Return","src":"23139:476:95"}]},"documentation":{"id":66192,"nodeType":"StructuredDocumentation","src":"22825:153:95","text":"@dev Sets up a Safe with default parameters. The SafeInstance will have 3 owners and a threshold of 2.\n @return The initialized Safe instance."},"functionSelector":"b38b4717","implemented":true,"kind":"function","modifiers":[],"name":"_setupSafe","nameLocation":"22992:10:95","parameters":{"id":66193,"nodeType":"ParameterList","parameters":[],"src":"23002:2:95"},"returnParameters":{"id":66197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66238,"src":"23021:19:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":66195,"nodeType":"UserDefinedTypeName","pathNode":{"id":66194,"name":"SafeInstance","nameLocations":["23021:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"23021:12:95"},"referencedDeclaration":64538,"src":"23021:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"}],"src":"23020:21:95"},"scope":66301,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":66260,"nodeType":"FunctionDefinition","src":"23715:247:95","nodes":[],"body":{"id":66259,"nodeType":"Block","src":"23776:186:95","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66245,"name":"instances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"23790:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage","typeString":"struct SafeInstance storage ref[] storage ref"}},"id":66246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23800:6:95","memberName":"length","nodeType":"MemberAccess","src":"23790:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23810:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23790:21:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66254,"nodeType":"IfStatement","src":"23786:141:95","trueBody":{"id":66253,"nodeType":"Block","src":"23813:114:95","statements":[{"expression":{"arguments":[{"hexValue":"5341464554455354544f4f4c533a2054657374205361666520686173206e6f74206265656e206465706c6f7965642c20757365205f73657475705361666528292063616c6c696e6720736166652829","id":66250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23834:81:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_70c76d514184b31b1dd57890aeb3a84276089b3bc9500a3cf8ebff8b7406f4cc","typeString":"literal_string \"SAFETESTTOOLS: Test Safe has not been deployed, use _setupSafe() calling safe()\""},"value":"SAFETESTTOOLS: Test Safe has not been deployed, use _setupSafe() calling safe()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70c76d514184b31b1dd57890aeb3a84276089b3bc9500a3cf8ebff8b7406f4cc","typeString":"literal_string \"SAFETESTTOOLS: Test Safe has not been deployed, use _setupSafe() calling safe()\""}],"id":66249,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"23827:6:95","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":66251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23827:89:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66252,"nodeType":"ExpressionStatement","src":"23827:89:95"}]}},{"expression":{"baseExpression":{"id":66255,"name":"instances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"23943:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage","typeString":"struct SafeInstance storage ref[] storage ref"}},"id":66257,"indexExpression":{"hexValue":"30","id":66256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23953:1:95","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23943:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage","typeString":"struct SafeInstance storage ref"}},"functionReturnParameters":66244,"id":66258,"nodeType":"Return","src":"23936:19:95"}]},"documentation":{"id":66239,"nodeType":"StructuredDocumentation","src":"23628:82:95","text":"@dev Returns the first Safe instance.\n @return The first Safe instance."},"functionSelector":"68bc573e","implemented":true,"kind":"function","modifiers":[],"name":"getSafe","nameLocation":"23724:7:95","parameters":{"id":66240,"nodeType":"ParameterList","parameters":[],"src":"23731:2:95"},"returnParameters":{"id":66244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66243,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66260,"src":"23755:19:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":66242,"nodeType":"UserDefinedTypeName","pathNode":{"id":66241,"name":"SafeInstance","nameLocations":["23755:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"23755:12:95"},"referencedDeclaration":64538,"src":"23755:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"}],"src":"23754:21:95"},"scope":66301,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":66300,"nodeType":"FunctionDefinition","src":"24154:276:95","nodes":[],"body":{"id":66299,"nodeType":"Block","src":"24228:202:95","nodes":[],"statements":[{"body":{"id":66293,"nodeType":"Block","src":"24281:85:95","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":66281,"name":"instances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"24307:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage","typeString":"struct SafeInstance storage ref[] storage ref"}},"id":66283,"indexExpression":{"id":66282,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66270,"src":"24317:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24307:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage","typeString":"struct SafeInstance storage ref"}},"id":66284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24320:4:95","memberName":"safe","nodeType":"MemberAccess","referencedDeclaration":64537,"src":"24307:17:95","typeDescriptions":{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_DeployedSafe_$64507","typeString":"contract DeployedSafe"}],"id":66280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24299:7:95","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66279,"name":"address","nodeType":"ElementaryTypeName","src":"24299:7:95","typeDescriptions":{}}},"id":66285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24299:26:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":66286,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66263,"src":"24329:5:95","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24299:35:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66292,"nodeType":"IfStatement","src":"24295:60:95","trueBody":{"expression":{"baseExpression":{"id":66288,"name":"instances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"24343:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage","typeString":"struct SafeInstance storage ref[] storage ref"}},"id":66290,"indexExpression":{"id":66289,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66270,"src":"24353:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24343:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage","typeString":"struct SafeInstance storage ref"}},"functionReturnParameters":66268,"id":66291,"nodeType":"Return","src":"24336:19:95"}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66272,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66270,"src":"24254:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":66273,"name":"instances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65896,"src":"24258:9:95","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SafeInstance_$64538_storage_$dyn_storage","typeString":"struct SafeInstance storage ref[] storage ref"}},"id":66274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24268:6:95","memberName":"length","nodeType":"MemberAccess","src":"24258:16:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24254:20:95","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66294,"initializationExpression":{"assignments":[66270],"declarations":[{"constant":false,"id":66270,"mutability":"mutable","name":"i","nameLocation":"24251:1:95","nodeType":"VariableDeclaration","scope":66294,"src":"24243:9:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66269,"name":"uint256","nodeType":"ElementaryTypeName","src":"24243:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66271,"nodeType":"VariableDeclarationStatement","src":"24243:9:95"},"loopExpression":{"expression":{"id":66277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"24276:3:95","subExpression":{"id":66276,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66270,"src":"24278:1:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66278,"nodeType":"ExpressionStatement","src":"24276:3:95"},"nodeType":"ForStatement","src":"24238:128:95"},{"expression":{"arguments":[{"hexValue":"5341464554455354544f4f4c533a205361666520696e7374616e6365206e6f7420666f756e64","id":66296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24382:40:95","typeDescriptions":{"typeIdentifier":"t_stringliteral_d30daa68fc5f2a1522adc0723531fd1b7c0e6aa179fbe4e886c38a90f6fdf59b","typeString":"literal_string \"SAFETESTTOOLS: Safe instance not found\""},"value":"SAFETESTTOOLS: Safe instance not found"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d30daa68fc5f2a1522adc0723531fd1b7c0e6aa179fbe4e886c38a90f6fdf59b","typeString":"literal_string \"SAFETESTTOOLS: Safe instance not found\""}],"id":66295,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"24375:6:95","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":66297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24375:48:95","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66298,"nodeType":"ExpressionStatement","src":"24375:48:95"}]},"documentation":{"id":66261,"nodeType":"StructuredDocumentation","src":"23968:181:95","text":"@dev Returns the Safe instance with the given address.\n @param _safe The address of the Safe instance to return.\n @return The Safe instance with the given address."},"functionSelector":"894adc65","implemented":true,"kind":"function","modifiers":[],"name":"getSafe","nameLocation":"24163:7:95","parameters":{"id":66264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66263,"mutability":"mutable","name":"_safe","nameLocation":"24179:5:95","nodeType":"VariableDeclaration","scope":66300,"src":"24171:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66262,"name":"address","nodeType":"ElementaryTypeName","src":"24171:7:95","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24170:15:95"},"returnParameters":{"id":66268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66267,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66300,"src":"24207:19:95","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_memory_ptr","typeString":"struct SafeInstance"},"typeName":{"id":66266,"nodeType":"UserDefinedTypeName","pathNode":{"id":66265,"name":"SafeInstance","nameLocations":["24207:12:95"],"nodeType":"IdentifierPath","referencedDeclaration":64538,"src":"24207:12:95"},"referencedDeclaration":64538,"src":"24207:12:95","typeDescriptions":{"typeIdentifier":"t_struct$_SafeInstance_$64538_storage_ptr","typeString":"struct SafeInstance"}},"visibility":"internal"}],"src":"24206:21:95"},"scope":66301,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeTestTools","contractDependencies":[49761,51572,64440],"contractKind":"contract","documentation":{"id":65867,"nodeType":"StructuredDocumentation","src":"17924:88:95","text":"@dev SafeTestTools implements a set of helper functions for testing Safe contracts."},"fullyImplemented":true,"linearizedBaseContracts":[66301],"name":"SafeTestTools","nameLocation":"18021:13:95","scope":66302,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":95}