UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 128 kB
{"abi":[{"type":"function","name":"disableModule","inputs":[{"name":"prevModule","type":"address","internalType":"address"},{"name":"module","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enableModule","inputs":[{"name":"module","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"execTransactionFromModule","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"operation","type":"uint8","internalType":"enum Enum.Operation"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"execTransactionFromModuleReturnData","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"operation","type":"uint8","internalType":"enum Enum.Operation"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"getModulesPaginated","inputs":[{"name":"start","type":"address","internalType":"address"},{"name":"pageSize","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"array","type":"address[]","internalType":"address[]"},{"name":"next","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isModuleEnabled","inputs":[{"name":"module","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"DisabledModule","inputs":[{"name":"module","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"EnabledModule","inputs":[{"name":"module","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ExecutionFromModuleFailure","inputs":[{"name":"module","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ExecutionFromModuleSuccess","inputs":[{"name":"module","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610c0b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063610b592511610050578063610b5925146100d3578063cc2f8452146100e8578063e009cfde1461010957600080fd5b80632d9ad53d14610077578063468721a71461009f5780635229073f146100b2575b600080fd5b61008a610085366004610896565b61011c565b60405190151581526020015b60405180910390f35b61008a6100ad3660046108f6565b610171565b6100c56100c03660046108f6565b61028c565b6040516100969291906109f0565b6100e66100e1366004610896565b6102c2565b005b6100fb6100f6366004610a6d565b6104b2565b604051610096929190610a97565b6100e6610117366004610b0e565b6105df565b6000600173ffffffffffffffffffffffffffffffffffffffff83161480159061016b575073ffffffffffffffffffffffffffffffffffffffff8281166000908152602081905260409020541615155b92915050565b6000336001148015906101a857503360009081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b610213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f475331303400000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610220858585855a6107bb565b905080156102585760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610284565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b6000606061029c86868686610171565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b6102ca610802565b73ffffffffffffffffffffffffffffffffffffffff811615801590610306575073ffffffffffffffffffffffffffffffffffffffff8116600114155b61036c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753313031000000000000000000000000000000000000000000000000000000604482015260640161020a565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526020819052604090205416156103fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753313032000000000000000000000000000000000000000000000000000000604482015260640161020a565b600060208181527fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d805473ffffffffffffffffffffffffffffffffffffffff85811680865260408087208054939094167fffffffffffffffffffffffff00000000000000000000000000000000000000009384161790935560019095528254168417909155519182527fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f8440910160405180910390a150565b606060008267ffffffffffffffff8111156104cf576104cf6108b8565b6040519080825280602002602001820160405280156104f8578160200160208202803683370190505b5073ffffffffffffffffffffffffffffffffffffffff80861660009081526020819052604081205492945091165b73ffffffffffffffffffffffffffffffffffffffff811615801590610562575073ffffffffffffffffffffffffffffffffffffffff8116600114155b801561056d57508482105b156105d1578084838151811061058557610585610b41565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920181019190915291811660009081529182905260409091205416816105c981610b70565b925050610526565b908352919491935090915050565b6105e7610802565b73ffffffffffffffffffffffffffffffffffffffff811615801590610623575073ffffffffffffffffffffffffffffffffffffffff8116600114155b610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753313031000000000000000000000000000000000000000000000000000000604482015260640161020a565b73ffffffffffffffffffffffffffffffffffffffff82811660009081526020819052604090205481169082161461071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753313033000000000000000000000000000000000000000000000000000000604482015260640161020a565b73ffffffffffffffffffffffffffffffffffffffff818116600081815260208181526040808320805488871685528285208054919097167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790965592849052825490941690915591519081527faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace4054276910160405180910390a15050565b600060018360018111156107d1576107d1610bcf565b036107e9576000808551602087018986f490506107f9565b600080855160208701888a87f190505b95945050505050565b33301461086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753303331000000000000000000000000000000000000000000000000000000604482015260640161020a565b565b803573ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b919050565b6000602082840312156108a857600080fd5b6108b18261086d565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80356002811061089157600080fd5b6000806000806080858703121561090c57600080fd5b6109158561086d565b935060208501359250604085013567ffffffffffffffff8082111561093957600080fd5b818701915087601f83011261094d57600080fd5b81358181111561095f5761095f6108b8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156109a5576109a56108b8565b816040528281528a60208487010111156109be57600080fd5b8260208601602083013760006020848301015280965050505050506109e5606086016108e7565b905092959194509250565b821515815260006020604081840152835180604085015260005b81811015610a2657858101830151858201606001528201610a0a565b81811115610a38576000606083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201606001949350505050565b60008060408385031215610a8057600080fd5b610a898361086d565b946020939093013593505050565b604080825283519082018190526000906020906060840190828701845b82811015610ae657815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101610ab4565b50505073ffffffffffffffffffffffffffffffffffffffff9490941692019190915250919050565b60008060408385031215610b2157600080fd5b610b2a8361086d565b9150610b386020840161086d565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610bc8577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c634300080f000a","sourceMap":"374:5660:82:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063610b592511610050578063610b5925146100d3578063cc2f8452146100e8578063e009cfde1461010957600080fd5b80632d9ad53d14610077578063468721a71461009f5780635229073f146100b2575b600080fd5b61008a610085366004610896565b61011c565b60405190151581526020015b60405180910390f35b61008a6100ad3660046108f6565b610171565b6100c56100c03660046108f6565b61028c565b6040516100969291906109f0565b6100e66100e1366004610896565b6102c2565b005b6100fb6100f6366004610a6d565b6104b2565b604051610096929190610a97565b6100e6610117366004610b0e565b6105df565b6000600173ffffffffffffffffffffffffffffffffffffffff83161480159061016b575073ffffffffffffffffffffffffffffffffffffffff8281166000908152602081905260409020541615155b92915050565b6000336001148015906101a857503360009081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b610213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f475331303400000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610220858585855a6107bb565b905080156102585760405133907f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb890600090a2610284565b60405133907facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37590600090a25b949350505050565b6000606061029c86868686610171565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b6102ca610802565b73ffffffffffffffffffffffffffffffffffffffff811615801590610306575073ffffffffffffffffffffffffffffffffffffffff8116600114155b61036c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753313031000000000000000000000000000000000000000000000000000000604482015260640161020a565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526020819052604090205416156103fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753313032000000000000000000000000000000000000000000000000000000604482015260640161020a565b600060208181527fada5013122d395ba3c54772283fb069b10426056ef8ca54750cb9bb552a59e7d805473ffffffffffffffffffffffffffffffffffffffff85811680865260408087208054939094167fffffffffffffffffffffffff00000000000000000000000000000000000000009384161790935560019095528254168417909155519182527fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f8440910160405180910390a150565b606060008267ffffffffffffffff8111156104cf576104cf6108b8565b6040519080825280602002602001820160405280156104f8578160200160208202803683370190505b5073ffffffffffffffffffffffffffffffffffffffff80861660009081526020819052604081205492945091165b73ffffffffffffffffffffffffffffffffffffffff811615801590610562575073ffffffffffffffffffffffffffffffffffffffff8116600114155b801561056d57508482105b156105d1578084838151811061058557610585610b41565b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920181019190915291811660009081529182905260409091205416816105c981610b70565b925050610526565b908352919491935090915050565b6105e7610802565b73ffffffffffffffffffffffffffffffffffffffff811615801590610623575073ffffffffffffffffffffffffffffffffffffffff8116600114155b610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753313031000000000000000000000000000000000000000000000000000000604482015260640161020a565b73ffffffffffffffffffffffffffffffffffffffff82811660009081526020819052604090205481169082161461071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753313033000000000000000000000000000000000000000000000000000000604482015260640161020a565b73ffffffffffffffffffffffffffffffffffffffff818116600081815260208181526040808320805488871685528285208054919097167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790965592849052825490941690915591519081527faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace4054276910160405180910390a15050565b600060018360018111156107d1576107d1610bcf565b036107e9576000808551602087018986f490506107f9565b600080855160208701888a87f190505b95945050505050565b33301461086b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753303331000000000000000000000000000000000000000000000000000000604482015260640161020a565b565b803573ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b919050565b6000602082840312156108a857600080fd5b6108b18261086d565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80356002811061089157600080fd5b6000806000806080858703121561090c57600080fd5b6109158561086d565b935060208501359250604085013567ffffffffffffffff8082111561093957600080fd5b818701915087601f83011261094d57600080fd5b81358181111561095f5761095f6108b8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156109a5576109a56108b8565b816040528281528a60208487010111156109be57600080fd5b8260208601602083013760006020848301015280965050505050506109e5606086016108e7565b905092959194509250565b821515815260006020604081840152835180604085015260005b81811015610a2657858101830151858201606001528201610a0a565b81811115610a38576000606083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201606001949350505050565b60008060408385031215610a8057600080fd5b610a898361086d565b946020939093013593505050565b604080825283519082018190526000906020906060840190828701845b82811015610ae657815173ffffffffffffffffffffffffffffffffffffffff1684529284019290840190600101610ab4565b50505073ffffffffffffffffffffffffffffffffffffffff9490941692019190915250919050565b60008060408385031215610b2157600080fd5b610b2a8361086d565b9150610b386020840161086d565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610bc8577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c634300080f000a","sourceMap":"374:5660:82:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4861:151;;;;;;:::i;:::-;;:::i;:::-;;;571:14:416;;564:22;546:41;;534:2;519:18;4861:151:82;;;;;;;;2868:586;;;;;;:::i;:::-;;:::i;3805:959::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1363:426::-;;;;;;:::i;:::-;;:::i;:::-;;5257:775;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2109:423::-;;;;;;:::i;:::-;;:::i;4861:151::-;4923:4;692:3;4946:26;;;;;;;:59;;-1:-1:-1;4976:29:82;:15;;;5003:1;4976:15;;;;;;;;;;;;:29;;4946:59;4939:66;4861:151;-1:-1:-1;;4861:151:82:o;2868:586::-;3037:12;3118:10;692:3;3118:30;;;;:67;;-1:-1:-1;3160:10:82;3183:1;3152:19;;;;;;;;;;;:33;:19;:33;;3118:67;3110:85;;;;;;;4440:2:416;3110:85:82;;;4422:21:416;4479:1;4459:18;;;4452:29;4517:7;4497:18;;;4490:35;4542:18;;3110:85:82;;;;;;;;;3277:46;3285:2;3289:5;3296:4;3302:9;3313;3277:7;:46::i;:::-;3267:56;;3337:7;3333:114;;;3351:38;;3378:10;;3351:38;;;;;3333:114;;;3409:38;;3436:10;;3409:38;;;;;3333:114;2868:586;;;;;;:::o;3805:959::-;3976:12;3990:23;4035:53;4061:2;4065:5;4072:4;4078:9;4035:25;:53::i;:::-;4025:63;;4235:4;4229:11;4477:4;4459:16;4455:27;4450:3;4446:37;4440:4;4433:51;4539:16;4534:3;4527:29;4633:16;4630:1;4623:4;4618:3;4614:14;4599:51;4745:3;4731:17;;;3805:959;;;;;;;:::o;1363:426::-;440:17:87;:15;:17::i;:::-;1491:20:82::1;::::0;::::1;::::0;;::::1;::::0;:50:::1;;-1:-1:-1::0;1515:26:82::1;::::0;::::1;692:3;1515:26;;1491:50;1483:68;;;::::0;::::1;::::0;;4773:2:416;1483:68:82::1;::::0;::::1;4755:21:416::0;4812:1;4792:18;;;4785:29;4850:7;4830:18;;;4823:35;4875:18;;1483:68:82::1;4571:328:416::0;1483:68:82::1;1610:29;:15:::0;;::::1;1637:1;1610:15:::0;;;::::1;::::0;;;;;;;::::1;:29:::0;1602:47:::1;;;::::0;::::1;::::0;;5106:2:416;1602:47:82::1;::::0;::::1;5088:21:416::0;5145:1;5125:18;;;5118:29;5183:7;5163:18;;;5156:35;5208:18;;1602:47:82::1;4904:328:416::0;1602:47:82::1;1677:7;:25;::::0;;;;;;::::1;1659:15:::0;;::::1;::::0;;;1677:25;1659:15;;;:43;;1677:25;;;::::1;1659:43:::0;;;::::1;;::::0;;;-1:-1:-1;1712:25:82;;;:34;;::::1;::::0;::::1;::::0;;;1761:21;5383:74:416;;;1761:21:82::1;::::0;5356:18:416;1761:21:82::1;;;;;;;1363:426:::0;:::o;5257:775::-;5342:22;5366:12;5453:8;5439:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5439:23:82;-1:-1:-1;5563:14:82;;;;5506:19;5563:14;;;;;;;;;;;5431:31;;-1:-1:-1;5506:19:82;5563:14;5587:239;5594:29;;;;;;;:66;;-1:-1:-1;5627:33:82;;;692:3;5627:33;;5594:66;:92;;;;;5678:8;5664:11;:22;5594:92;5587:239;;;5723:13;5702:5;5708:11;5702:18;;;;;;;;:::i;:::-;:34;;;;:18;;;;;;;;;;:34;;;;5766:22;;;:7;:22;;;;;;;;;;;;;5802:13;;;;:::i;:::-;;;;5587:239;;;5990:26;;;5997:5;;5842:13;;-1:-1:-1;5257:775:82;;-1:-1:-1;;5257:775:82:o;2109:423::-;440:17:87;:15;:17::i;:::-;2286:20:82::1;::::0;::::1;::::0;;::::1;::::0;:50:::1;;-1:-1:-1::0;2310:26:82::1;::::0;::::1;692:3;2310:26;;2286:50;2278:68;;;::::0;::::1;::::0;;4773:2:416;2278:68:82::1;::::0;::::1;4755:21:416::0;4812:1;4792:18;;;4785:29;4850:7;4830:18;;;4823:35;4875:18;;2278:68:82::1;4571:328:416::0;2278:68:82::1;2364:29;:19:::0;;::::1;:7;:19:::0;;;::::1;::::0;;;;;;;;::::1;:29:::0;;::::1;;2356:47;;;::::0;::::1;::::0;;6213:2:416;2356:47:82::1;::::0;::::1;6195:21:416::0;6252:1;6232:18;;;6225:29;6290:7;6270:18;;;6263:35;6315:18;;2356:47:82::1;6011:328:416::0;2356:47:82::1;2435:15;::::0;;::::1;:7;:15:::0;;;::::1;::::0;;;;;;;;;2413:19;;::::1;::::0;;;;;:37;;2435:15;;;::::1;2413:37:::0;;;::::1;;::::0;;;2460:15;;;;:28;;;;::::1;::::0;;;2503:22;;5383:74:416;;;2503:22:82::1;::::0;5356:18:416;2503:22:82::1;;;;;;;2109:423:::0;;:::o;242:639:79:-;410:12;451:27;438:9;:40;;;;;;;;:::i;:::-;;434:441;;649:1;646;639:4;633:11;626:4;620;616:15;612:2;605:5;592:59;581:70;;434:441;;;849:1;846;839:4;833:11;826:4;820;816:15;809:5;805:2;798:5;793:58;782:69;;434:441;242:639;;;;;;;:::o;231:102:87:-;289:10;311:4;289:27;281:45;;;;;;;6735:2:416;281:45:87;;;6717:21:416;6774:1;6754:18;;;6747:29;6812:7;6792:18;;;6785:35;6837:18;;281:45:87;6533:328:416;281:45:87;231:102::o;14:196:416:-;82:20;;142:42;131:54;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:186::-;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:29;385:9;366:29;:::i;:::-;356:39;215:186;-1:-1:-1;;;215:186:416:o;598:184::-;650:77;647:1;640:88;747:4;744:1;737:15;771:4;768:1;761:15;787:150;862:20;;911:1;901:12;;891:40;;927:1;924;917:12;942:1219;1052:6;1060;1068;1076;1129:3;1117:9;1108:7;1104:23;1100:33;1097:53;;;1146:1;1143;1136:12;1097:53;1169:29;1188:9;1169:29;:::i;:::-;1159:39;;1245:2;1234:9;1230:18;1217:32;1207:42;;1300:2;1289:9;1285:18;1272:32;1323:18;1364:2;1356:6;1353:14;1350:34;;;1380:1;1377;1370:12;1350:34;1418:6;1407:9;1403:22;1393:32;;1463:7;1456:4;1452:2;1448:13;1444:27;1434:55;;1485:1;1482;1475:12;1434:55;1521:2;1508:16;1543:2;1539;1536:10;1533:36;;;1549:18;;:::i;:::-;1683:2;1677:9;1745:4;1737:13;;1588:66;1733:22;;;1757:2;1729:31;1725:40;1713:53;;;1781:18;;;1801:22;;;1778:46;1775:72;;;1827:18;;:::i;:::-;1867:10;1863:2;1856:22;1902:2;1894:6;1887:18;1942:7;1937:2;1932;1928;1924:11;1920:20;1917:33;1914:53;;;1963:1;1960;1953:12;1914:53;2019:2;2014;2010;2006:11;2001:2;1993:6;1989:15;1976:46;2064:1;2059:2;2054;2046:6;2042:15;2038:24;2031:35;2085:6;2075:16;;;;;;;2110:45;2151:2;2140:9;2136:18;2110:45;:::i;:::-;2100:55;;942:1219;;;;;;;:::o;2166:735::-;2349:6;2342:14;2335:22;2324:9;2317:41;2298:4;2377:2;2415;2410;2399:9;2395:18;2388:30;2447:6;2441:13;2490:6;2485:2;2474:9;2470:18;2463:34;2515:1;2525:140;2539:6;2536:1;2533:13;2525:140;;;2634:14;;;2630:23;;2624:30;2600:17;;;2619:2;2596:26;2589:66;2554:10;;2525:140;;;2683:6;2680:1;2677:13;2674:91;;;2753:1;2748:2;2739:6;2728:9;2724:22;2720:31;2713:42;2674:91;-1:-1:-1;2817:2:416;2805:15;2822:66;2801:88;2786:104;;;;2892:2;2782:113;;2166:735;-1:-1:-1;;;;2166:735:416:o;2906:254::-;2974:6;2982;3035:2;3023:9;3014:7;3010:23;3006:32;3003:52;;;3051:1;3048;3041:12;3003:52;3074:29;3093:9;3074:29;:::i;:::-;3064:39;3150:2;3135:18;;;;3122:32;;-1:-1:-1;;;2906:254:416:o;3165:803::-;3383:2;3395:21;;;3465:13;;3368:18;;;3487:22;;;3335:4;;3562;;3540:2;3525:18;;;3589:15;;;3335:4;3632:218;3646:6;3643:1;3640:13;3632:218;;;3711:13;;3726:42;3707:62;3695:75;;3790:12;;;;3825:15;;;;3668:1;3661:9;3632:218;;;-1:-1:-1;;;3918:42:416;3906:55;;;;3886:18;;3879:83;;;;-1:-1:-1;3867:3:416;3165:803;-1:-1:-1;3165:803:416:o;3973:260::-;4041:6;4049;4102:2;4090:9;4081:7;4077:23;4073:32;4070:52;;;4118:1;4115;4108:12;4070:52;4141:29;4160:9;4141:29;:::i;:::-;4131:39;;4189:38;4223:2;4212:9;4208:18;4189:38;:::i;:::-;4179:48;;3973:260;;;;;:::o;5468:184::-;5520:77;5517:1;5510:88;5617:4;5614:1;5607:15;5641:4;5638:1;5631:15;5657:349;5696:3;5727:66;5720:5;5717:77;5714:257;;5827:77;5824:1;5817:88;5928:4;5925:1;5918:15;5956:4;5953:1;5946:15;5714:257;-1:-1:-1;5998:1:416;5987:13;;5657:349::o;6344:184::-;6396:77;6393:1;6386:88;6493:4;6490:1;6483:15;6517:4;6514:1;6507:15","linkReferences":{}},"methodIdentifiers":{"disableModule(address,address)":"e009cfde","enableModule(address)":"610b5925","execTransactionFromModule(address,uint256,bytes,uint8)":"468721a7","execTransactionFromModuleReturnData(address,uint256,bytes,uint8)":"5229073f","getModulesPaginated(address,uint256)":"cc2f8452","isModuleEnabled(address)":"2d9ad53d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"DisabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"EnabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleSuccess\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"disableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"enableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModuleReturnData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"start\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getModulesPaginated\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"array\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"next\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"isModuleEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Stefan George - <stefan@gnosis.pm>Richard Meissner - <richard@gnosis.pm>\",\"kind\":\"dev\",\"methods\":{\"disableModule(address,address)\":{\"details\":\"Allows to remove a module from the whitelist. This can only be done via a Safe transaction.\",\"params\":{\"module\":\"Module to be removed.\",\"prevModule\":\"Module that pointed to the module to be removed in the linked list\"}},\"enableModule(address)\":{\"details\":\"Allows to add a module to the whitelist. This can only be done via a Safe transaction.\",\"params\":{\"module\":\"Module to be whitelisted.\"}},\"execTransactionFromModule(address,uint256,bytes,uint8)\":{\"details\":\"Allows a Module to execute a Safe transaction without any further confirmations.\",\"params\":{\"data\":\"Data payload of module transaction.\",\"operation\":\"Operation type of module transaction.\",\"to\":\"Destination address of module transaction.\",\"value\":\"Ether value of module transaction.\"}},\"execTransactionFromModuleReturnData(address,uint256,bytes,uint8)\":{\"details\":\"Allows a Module to execute a Safe transaction without any further confirmations and return data\",\"params\":{\"data\":\"Data payload of module transaction.\",\"operation\":\"Operation type of module transaction.\",\"to\":\"Destination address of module transaction.\",\"value\":\"Ether value of module transaction.\"}},\"getModulesPaginated(address,uint256)\":{\"details\":\"Returns array of modules.\",\"params\":{\"pageSize\":\"Maximum number of modules that should be returned.\",\"start\":\"Start of the page.\"},\"returns\":{\"array\":\"Array of modules.\",\"next\":\"Start of the next page.\"}},\"isModuleEnabled(address)\":{\"details\":\"Returns if an module is enabled\",\"returns\":{\"_0\":\"True if the module is enabled\"}}},\"title\":\"Module Manager - A contract that manages modules that can execute transactions via this contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"disableModule(address,address)\":{\"notice\":\"Disables the module `module` for the Safe.\"},\"enableModule(address)\":{\"notice\":\"Enables the module `module` for the Safe.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/safe-contracts/contracts/base/ModuleManager.sol\":\"ModuleManager\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/safe-contracts/contracts/base/Executor.sol\":{\"keccak256\":\"0x4d3a900673473466bc27413fdbb11aae60b5580b792c49411f01544e0b24fe08\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://71ada0590998f47d1ee9759aa190c82d4b348d59a2f582747650d9720245a309\",\"dweb:/ipfs/Qmb9UudLoJpPutHVP9pXd1poP5CqFf5sxVFuYw14SYfRFk\"]},\"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/common/Enum.sol\":{\"keccak256\":\"0x473e45b1a5cc47be494b0e123c9127f0c11c1e0992a321ae5a644c0bfdb2c14f\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://948e6d5a8bd7377f7795b6e28584eab9be5c0a8db240bf5e606744a175238c3d\",\"dweb:/ipfs/QmQQaUmQfpuejV41jbxKSTgEBYYCcVTjCsDMgf2htgz6ej\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0x59d36efca578b75541a776f62a0d0ef03712fc27b6647c3915c14b572106d7bc\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8530c6e0392415d42486847cd4368d30f6cac42051596330692a571fcdbb9e29\",\"dweb:/ipfs/QmWw51Pshw5t2sMKANzxtfNdBSQUyQQpfTr3Mi7oNJGk7U\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"module","type":"address","indexed":false}],"type":"event","name":"DisabledModule","anonymous":false},{"inputs":[{"internalType":"address","name":"module","type":"address","indexed":false}],"type":"event","name":"EnabledModule","anonymous":false},{"inputs":[{"internalType":"address","name":"module","type":"address","indexed":true}],"type":"event","name":"ExecutionFromModuleFailure","anonymous":false},{"inputs":[{"internalType":"address","name":"module","type":"address","indexed":true}],"type":"event","name":"ExecutionFromModuleSuccess","anonymous":false},{"inputs":[{"internalType":"address","name":"prevModule","type":"address"},{"internalType":"address","name":"module","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"disableModule"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"enableModule"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"execTransactionFromModule","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"execTransactionFromModuleReturnData","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"start","type":"address"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"stateMutability":"view","type":"function","name":"getModulesPaginated","outputs":[{"internalType":"address[]","name":"array","type":"address[]"},{"internalType":"address","name":"next","type":"address"}]},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"stateMutability":"view","type":"function","name":"isModuleEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"disableModule(address,address)":{"details":"Allows to remove a module from the whitelist. This can only be done via a Safe transaction.","params":{"module":"Module to be removed.","prevModule":"Module that pointed to the module to be removed in the linked list"}},"enableModule(address)":{"details":"Allows to add a module to the whitelist. This can only be done via a Safe transaction.","params":{"module":"Module to be whitelisted."}},"execTransactionFromModule(address,uint256,bytes,uint8)":{"details":"Allows a Module to execute a Safe transaction without any further confirmations.","params":{"data":"Data payload of module transaction.","operation":"Operation type of module transaction.","to":"Destination address of module transaction.","value":"Ether value of module transaction."}},"execTransactionFromModuleReturnData(address,uint256,bytes,uint8)":{"details":"Allows a Module to execute a Safe transaction without any further confirmations and return data","params":{"data":"Data payload of module transaction.","operation":"Operation type of module transaction.","to":"Destination address of module transaction.","value":"Ether value of module transaction."}},"getModulesPaginated(address,uint256)":{"details":"Returns array of modules.","params":{"pageSize":"Maximum number of modules that should be returned.","start":"Start of the page."},"returns":{"array":"Array of modules.","next":"Start of the next page."}},"isModuleEnabled(address)":{"details":"Returns if an module is enabled","returns":{"_0":"True if the module is enabled"}}},"version":1},"userdoc":{"kind":"user","methods":{"disableModule(address,address)":{"notice":"Disables the module `module` for the Safe."},"enableModule(address)":{"notice":"Enables the module `module` for the Safe."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/safe-contracts/contracts/base/ModuleManager.sol":"ModuleManager"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"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/ModuleManager.sol":{"keccak256":"0x5512760a0328309f82a71cbe2ac14e0942501b9d44d5fb417bd02174546672e5","urls":["bzz-raw://763cf803a98a921d62ed51d7876a13aed63968c828f026ce2beb747d2631c0bc","dweb:/ipfs/QmbHZoYsbkxC2kVCs4pQ4nRaFrcgU5X8FuLX7vV3qDR9Y5"],"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/SelfAuthorized.sol":{"keccak256":"0x59d36efca578b75541a776f62a0d0ef03712fc27b6647c3915c14b572106d7bc","urls":["bzz-raw://8530c6e0392415d42486847cd4368d30f6cac42051596330692a571fcdbb9e29","dweb:/ipfs/QmWw51Pshw5t2sMKANzxtfNdBSQUyQQpfTr3Mi7oNJGk7U"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":59266,"contract":"lib/safe-contracts/contracts/base/ModuleManager.sol:ModuleManager","label":"modules","offset":0,"slot":"0","type":"t_mapping(t_address,t_address)"}],"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"}}},"userdoc":{"version":1,"kind":"user","methods":{"disableModule(address,address)":{"notice":"Disables the module `module` for the Safe."},"enableModule(address)":{"notice":"Enables the module `module` for the Safe."}}},"devdoc":{"version":1,"kind":"dev","author":"Stefan George - <stefan@gnosis.pm>Richard Meissner - <richard@gnosis.pm>","methods":{"disableModule(address,address)":{"details":"Allows to remove a module from the whitelist. This can only be done via a Safe transaction.","params":{"module":"Module to be removed.","prevModule":"Module that pointed to the module to be removed in the linked list"}},"enableModule(address)":{"details":"Allows to add a module to the whitelist. This can only be done via a Safe transaction.","params":{"module":"Module to be whitelisted."}},"execTransactionFromModule(address,uint256,bytes,uint8)":{"details":"Allows a Module to execute a Safe transaction without any further confirmations.","params":{"data":"Data payload of module transaction.","operation":"Operation type of module transaction.","to":"Destination address of module transaction.","value":"Ether value of module transaction."}},"execTransactionFromModuleReturnData(address,uint256,bytes,uint8)":{"details":"Allows a Module to execute a Safe transaction without any further confirmations and return data","params":{"data":"Data payload of module transaction.","operation":"Operation type of module transaction.","to":"Destination address of module transaction.","value":"Ether value of module transaction."}},"getModulesPaginated(address,uint256)":{"details":"Returns array of modules.","params":{"pageSize":"Maximum number of modules that should be returned.","start":"Start of the page."},"returns":{"array":"Array of modules.","next":"Start of the next page."}},"isModuleEnabled(address)":{"details":"Returns if an module is enabled","returns":{"_0":"True if the module is enabled"}}},"title":"Module Manager - A contract that manages modules that can execute transactions via this contract"},"ast":{"absolutePath":"lib/safe-contracts/contracts/base/ModuleManager.sol","id":59598,"exportedSymbols":{"Enum":[60115],"Executor":[59101],"ModuleManager":[59597],"SelfAuthorized":[60190]},"nodeType":"SourceUnit","src":"42:5993:82","nodes":[{"id":59232,"nodeType":"PragmaDirective","src":"42:31:82","nodes":[],"literals":["solidity",">=","0.7",".0","<","0.9",".0"]},{"id":59233,"nodeType":"ImportDirective","src":"74:28:82","nodes":[],"absolutePath":"lib/safe-contracts/contracts/common/Enum.sol","file":"../common/Enum.sol","nameLocation":"-1:-1:-1","scope":59598,"sourceUnit":60116,"symbolAliases":[],"unitAlias":""},{"id":59234,"nodeType":"ImportDirective","src":"103:38:82","nodes":[],"absolutePath":"lib/safe-contracts/contracts/common/SelfAuthorized.sol","file":"../common/SelfAuthorized.sol","nameLocation":"-1:-1:-1","scope":59598,"sourceUnit":60191,"symbolAliases":[],"unitAlias":""},{"id":59235,"nodeType":"ImportDirective","src":"142:24:82","nodes":[],"absolutePath":"lib/safe-contracts/contracts/base/Executor.sol","file":"./Executor.sol","nameLocation":"-1:-1:-1","scope":59598,"sourceUnit":59102,"symbolAliases":[],"unitAlias":""},{"id":59597,"nodeType":"ContractDefinition","src":"374:5660:82","nodes":[{"id":59244,"nodeType":"EventDefinition","src":"431:36:82","nodes":[],"anonymous":false,"eventSelector":"ecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f8440","name":"EnabledModule","nameLocation":"437:13:82","parameters":{"id":59243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59242,"indexed":false,"mutability":"mutable","name":"module","nameLocation":"459:6:82","nodeType":"VariableDeclaration","scope":59244,"src":"451:14:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59241,"name":"address","nodeType":"ElementaryTypeName","src":"451:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"450:16:82"}},{"id":59248,"nodeType":"EventDefinition","src":"472:37:82","nodes":[],"anonymous":false,"eventSelector":"aab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace4054276","name":"DisabledModule","nameLocation":"478:14:82","parameters":{"id":59247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59246,"indexed":false,"mutability":"mutable","name":"module","nameLocation":"501:6:82","nodeType":"VariableDeclaration","scope":59248,"src":"493:14:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59245,"name":"address","nodeType":"ElementaryTypeName","src":"493:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"492:16:82"}},{"id":59252,"nodeType":"EventDefinition","src":"514:57:82","nodes":[],"anonymous":false,"eventSelector":"6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8","name":"ExecutionFromModuleSuccess","nameLocation":"520:26:82","parameters":{"id":59251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59250,"indexed":true,"mutability":"mutable","name":"module","nameLocation":"563:6:82","nodeType":"VariableDeclaration","scope":59252,"src":"547:22:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59249,"name":"address","nodeType":"ElementaryTypeName","src":"547:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"546:24:82"}},{"id":59256,"nodeType":"EventDefinition","src":"576:57:82","nodes":[],"anonymous":false,"eventSelector":"acd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd375","name":"ExecutionFromModuleFailure","nameLocation":"582:26:82","parameters":{"id":59255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59254,"indexed":true,"mutability":"mutable","name":"module","nameLocation":"625:6:82","nodeType":"VariableDeclaration","scope":59256,"src":"609:22:82","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59253,"name":"address","nodeType":"ElementaryTypeName","src":"609:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"608:24:82"}},{"id":59262,"nodeType":"VariableDeclaration","src":"639:57:82","nodes":[],"constant":true,"mutability":"constant","name":"SENTINEL_MODULES","nameLocation":"665:16:82","scope":59597,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59257,"name":"address","nodeType":"ElementaryTypeName","src":"639:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307831","id":59260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"692:3:82","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":59259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"684:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59258,"name":"address","nodeType":"ElementaryTypeName","src":"684:7:82","typeDescriptions":{}}},"id":59261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"684:12:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":59266,"nodeType":"VariableDeclaration","src":"703:44:82","nodes":[],"constant":false,"mutability":"mutable","name":"modules","nameLocation":"740:7:82","scope":59597,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":59265,"keyType":{"id":59263,"name":"address","nodeType":"ElementaryTypeName","src":"711:7:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"703:27:82","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueType":{"id":59264,"name":"address","nodeType":"ElementaryTypeName","src":"722:7:82","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"id":59313,"nodeType":"FunctionDefinition","src":"754:384:82","nodes":[],"body":{"id":59312,"nodeType":"Block","src":"816:322:82","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":59281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":59274,"name":"modules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59266,"src":"834:7:82","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":59276,"indexExpression":{"id":59275,"name":"SENTINEL_MODULES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59262,"src":"842:16:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"834:25:82","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":59279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"871:1:82","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":59278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"863:7:82","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":59277,"name":"address","nodeType":"ElementaryTypeName","src":"863:7:82","typeDescriptions":{}}},"id":59280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"863:10:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"834:39:82","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4753313030","id":59282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"875:7:82","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c9c6f726a0896ef73f47c5bcc7192641db350a8b0b2e1f61e0f0c694ec59426","typeString":"literal_string \"GS100\""},"value":"GS100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8c9c6f726a0896ef73f47c5bcc7192641db350a8b0b2e1f61e0f0c694ec59426","typeString":"literal_string \"GS100\""}],"id":59273,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"826:7:82","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":59283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"n