2018-05-31 15:01:02 +02:00
{
"contractName" : "ModuleManager" ,
"abi" : [
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "SENTINEL_MODULES" ,
"outputs" : [
{
"name" : "" ,
"type" : "address"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "NAME" ,
"outputs" : [
{
"name" : "" ,
"type" : "string"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "VERSION" ,
"outputs" : [
{
"name" : "" ,
"type" : "string"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"payable" : true ,
"stateMutability" : "payable" ,
"type" : "fallback"
} ,
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : false ,
"name" : "newContract" ,
"type" : "address"
}
] ,
"name" : "ContractCreation" ,
"type" : "event"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "module" ,
"type" : "address"
}
] ,
"name" : "enableModule" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "prevModule" ,
"type" : "address"
} ,
{
"name" : "module" ,
"type" : "address"
}
] ,
"name" : "disableModule" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
} ,
{
"name" : "data" ,
"type" : "bytes"
} ,
{
"name" : "operation" ,
"type" : "uint8"
}
] ,
"name" : "execTransactionFromModule" ,
"outputs" : [
{
"name" : "success" ,
"type" : "bool"
}
] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "getModules" ,
"outputs" : [
{
"name" : "" ,
"type" : "address[]"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
}
] ,
2018-06-20 10:09:14 +02:00
"bytecode" : " 0 x 608060405234801561001057600080 f d 5 b 50611165806100206000396000 f 300608060405260043610610083576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 168063468721 a 714610085578063610 b 59251461013 d 57806385e332 c d 14610180578063 a 3 f 4 d f 7e146101 d 7578063 b 2494 d f 314610267578063e009 c f d e 146102 d 3578063 f f a 1 a d 7414610336575 b 0 0 5 b 34801561009157600080 f d 5 b 50610123600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560 f f 1690602001909291905050506103 c 6565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561014957600080 f d 5 b 5061017e600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1690602001909291905050506104 f 1565 b 0 0 5 b 34801561018 c 57600080 f d 5 b 506101956108 c b 565 b 604051808273 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200191505060405180910390 f 35 b 3480156101e357600080 f d 5 b 506101 e c 6108 d 0 565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 8381101561022 c 578082015181840152602081019050610211565 b 50505050905090810190601 f 1680156102595780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 34801561027357600080 f d 5 b 5061027 c 610909565 b 6040518080602001828103825283818151815260200191508051906020019060200280838360005 b 838110156102 b f 5780820151818401526020810190506102 a 4565 b 505050509050019250505060405180910390 f 35 b 3480156102 d f 57600080 f d 5 b 50610334600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190505050610 b a c 565 b 0 0 5 b 34801561034257600080 f d 5 b 5061034 b 610 f c 1565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 8381101561038 b 578082015181840152602081019050610370565 b 50505050905090810190601 f 1680156103 b 85780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 6000806000803373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200190815260200160002060009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16141515156104 d a 576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81526004018080602001828103825260308152602001807 f 4 d 6574686 f 642063616e206 f 6e6 c 792062652063616 c 6 c 65642066726 f 6 d 206181526020017 f 6e20656 e 61626 c 6564206 d 6 f 64756 c 650000000000000000000000000000000081525060400191505060405180910390 f d 5 b 6104e7858585855 a 610 f f a 565 b 9050949350505050565 b 3073 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 163373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 161415156105 b a 576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815260040180806020018281038252602 c 8152602001807 f 4 d 6574686 f 642063616e206 f 6e6 c 792062652063616 c 6 c 65642066726 f 6 d 207481526020017 f 68697320636 f 6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390 f d 5 b 60008173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 161415801561060e5750600173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 168173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1614155 b 1515610682576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815260040180806020018281038252601 f 8152602001807 f 496e76616 c 6964206 d 6 f 64756 c 6520616464726573732070726 f 76696465640081525060200191505060405180910390 f d 5 b 60008060008373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200190815260200160002060009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1614151561076e576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815260040180806020018281038252601 d 8152602001807 f 4 d 6 f 64756 c 652068617320616 c 7265616479206265656e20616464656400000081525060200191505060405180910390 f d 5 b 600080600173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200190815260200160002060009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 166000808373 f f f f f f
"deployedBytecode" : " 0 x 608060405260043610610083576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 168063468721 a 714610085578063610 b 59251461013 d 57806385e332 c d 14610180578063 a 3 f 4 d f 7e146101 d 7578063 b 2494 d f 314610267578063e009 c f d e 146102 d 3578063 f f a 1 a d 7414610336575 b 0 0 5 b 34801561009157600080 f d 5 b 50610123600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560 f f 1690602001909291905050506103 c 6565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561014957600080 f d 5 b 5061017e600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1690602001909291905050506104 f 1565 b 0 0 5 b 34801561018 c 57600080 f d 5 b 506101956108 c b 565 b 604051808273 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200191505060405180910390 f 35 b 3480156101e357600080 f d 5 b 506101 e c 6108 d 0 565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 8381101561022 c 578082015181840152602081019050610211565 b 50505050905090810190601 f 1680156102595780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 34801561027357600080 f d 5 b 5061027 c 610909565 b 6040518080602001828103825283818151815260200191508051906020019060200280838360005 b 838110156102 b f 5780820151818401526020810190506102 a 4565 b 505050509050019250505060405180910390 f 35 b 3480156102 d f 57600080 f d 5 b 50610334600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190505050610 b a c 565 b 0 0 5 b 34801561034257600080 f d 5 b 5061034 b 610 f c 1565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 8381101561038 b 578082015181840152602081019050610370565 b 50505050905090810190601 f 1680156103 b 85780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 6000806000803373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200190815260200160002060009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16141515156104 d a 576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81526004018080602001828103825260308152602001807 f 4 d 6574686 f 642063616e206 f 6e6 c 792062652063616 c 6 c 65642066726 f 6 d 206181526020017 f 6e20656 e 61626 c 6564206 d 6 f 64756 c 650000000000000000000000000000000081525060400191505060405180910390 f d 5 b 6104e7858585855 a 610 f f a 565 b 9050949350505050565 b 3073 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 163373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 161415156105 b a 576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815260040180806020018281038252602 c 8152602001807 f 4 d 6574686 f 642063616e206 f 6e6 c 792062652063616 c 6 c 65642066726 f 6 d 207481526020017 f 68697320636 f 6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390 f d 5 b 60008173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 161415801561060e5750600173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 168173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1614155 b 1515610682576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815260040180806020018281038252601 f 8152602001807 f 496e76616 c 6964206 d 6 f 64756 c 6520616464726573732070726 f 76696465640081525060200191505060405180910390 f d 5 b 60008060008373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200190815260200160002060009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1614151561076e576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815260040180806020018281038252601 d 8152602001807 f 4 d 6 f 64756 c 652068617320616 c 7265616479206265656e20616464656400000081525060200191505060405180910390 f d 5 b 600080600173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200190815260200160002060009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 166000808373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f
"sourceMap" : "303:5231:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;303:5231:6;;;;;;;" ,
"deployedSourceMap" : "303:5231:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2841:429;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2841:429:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1311:459;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1311:459:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;499:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;499:55:6;;;;;;;;;;;;;;;;;;;;;;;;;;;401:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;401:46:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;401:46:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4794:738;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4794:738:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4794:738:6;;;;;;;;;;;;;;;;;2031:474;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2031:474:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;453:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;453:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;453:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2841:429;2973:12;3081:1;3058:7;:19;3066:10;3058:19;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;;3050:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3217:46;3225:2;3229:5;3236:4;3242:9;3253;3217:7;:46::i;:::-;3207:56;;2841:429;;;;;;:::o;1311:459::-;244:4:8;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1477:1:6;1466:6;1458:20;;;;:59;;;;;550:3;1482:35;;1490:6;1482:35;;;;1458:59;1450:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1631:1;1612:7;:15;1620:6;1612:15;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;1604:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1694:7;:25;550:3;1694:25;;;;;;;;;;;;;;;;;;;;;;;;;1676:7;:15;1684:6;1676:15;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;1757:6;1729:7;:25;550:3;1729:25;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;1311:459;:::o;499:55::-;550:3;499:55;:::o;401:46::-;;;;;;;;;;;;;;;;;;;;:::o;4794:738::-;4861:9;4920:19;4953:21;5153:22;4942:1;4920:23;;4977:7;:25;550:3;4977:25;;;;;;;;;;;;;;;;;;;;;;;;;4953:49;;5012:132;550:3;5018:33;;:13;:33;;;;5012:132;;;5083:7;:22;5091:13;5083:22;;;;;;;;;;;;;;;;;;;;;;;;;5067:38;;5119:14;;;;;;;5012:132;;;5192:11;5178:26;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5178:26:6;;;;5153:51;;5262:1;5248:15;;5289:7;:25;550:3;5289:25;;;;;;;;;;;;;;;;;;;;;;;;;5273:41;;5324:180;550:3;5330:33;;:13;:33;;;;5324:180;;;5400:13;5379:5;5385:11;5379:18;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;5443:7;:22;5451:13;5443:22;;;;;;;;;;;;;;;;;;;;;;;;;5427:38;;5479:14;;;;;;;5324:180;;;5520:5;5513:12;;4794:738;;;;:::o;2031:474::-;244:4:8;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2245:1:6;2234:6;2226:20;;;;:59;;;;;550:3;2250:35;;2258:6;2250:35;;;;2226:59;2218:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2370:6;2339:38;;:7;:19;2347:10;2339:19;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;2331:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2454:7;:15;2462:6;2454:15;;;;;;;;;;;;;;;;;;;;;;;;;2432:7;:19;2440:10;2432:19;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;2497:1;2479:7;:15;2487:6;2479:15;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;2031:474;;:::o;453:40::-;;;;;;;;;;;;;;;;;;;;:::o;3276:548::-;3407:12;3678:19;3452;3439:32;;;;;;;;:9;:32;;;;;;;;;3435:383;;;3495:35;3507:2;3511:5;3518:4;3524:5;3495:11;:35::i;:::-;3485:45;;3435:383;;;3562:27;3549:40;;;;;;;;:9;:40;;;;;;;;;3545:273;;;3613:36;3633:2;3637:4;3643:5;3613:19;:36::i;:::-;3603:46;;3545:273;;;3700:19;3714:4;3700:13;:19::i;:::-;3678:41;;3758:1;3743:11;:16;;;;3733:26;;3778:29;3795:11;3778:29;;;;;;;;;;;;;;;;;;;;;;3545:273;3435:383;3276:548;;;;;;;;:::o;3830:309::-;3939:12;4121:1;4118;4111:4;4105:11;4098:4;4092;4088:15;4081:5;4077:2;4070:5;4065:58;4054:69;;4040:93;;;;;;:::o;4145:303::-;4247:12;4430:1;4427;4420:4;4414:11;4407:4;4401;4397:15;4393:2;4386:5;4373:59;4362:70;;4348:94;;;;;:::o;4454:261::-;4523:19;4693:4;4687:11;4680:4;4674;4670:15;4667:1;4660:39;4645:54;;4631:78;;;:::o" ,
"source" : "pragma solidity 0.4.24;\nimport \"./Module.sol\";\nimport \"./MasterCopy.sol\";\nimport \"./Enum.sol\";\n\n\n/// @title Module Manager - A contract that manages modules that can execute transactions via this contract\n/// @author Stefan George - <stefan@gnosis.pm>\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract ModuleManager is SelfAuthorized {\n\n event ContractCreation(address newContract);\n\n string public constant NAME = \"Module Manager\";\n string public constant VERSION = \"0.0.1\";\n address public constant SENTINEL_MODULES = address(0x1);\n\n mapping (address => address) internal modules;\n\n /// @dev Fallback function accepts Ether transactions.\n function ()\n external\n payable\n {\n\n }\n\n function setupModules(address to, bytes data)\n internal\n {\n require(modules[SENTINEL_MODULES] == 0, \"Modules have already been initialized\");\n modules[SENTINEL_MODULES] = SENTINEL_MODULES;\n if (to != 0)\n // Setup has to complete successfully or transaction fails.\n require(executeDelegateCall(to, data, gasleft()), \"Could not finish initialization\");\n }\n\n /// @dev Allows to add a module to the whitelist.\n /// This can only be done via a Safe transaction.\n /// @param module Module to be whitelisted.\n function enableModule(Module module)\n public\n authorized\n {\n // Module address cannot be null or sentinel.\n require(address(module) != 0 && address(module) != SENTINEL_MODULES, \"Invalid module address provided\");\n // Module cannot be added twice.\n require(modules[module] == 0, \"Module has already been added\");\n modules[module] = modules[SENTINEL_MODULES];\n modules[SENTINEL_MODULES] = module;\n }\n\n /// @dev Allows to remove a module from the whitelist.\n /// This can only be done via a Safe transaction.\n /// @param prevModule Module that pointed to the module to be removed in the linked list\n /// @param module Module to be removed.\n function disableModule(Module prevModule, Module module)\n public\n authorized\n {\n // Validate module address and check that it corresponds to module index.\n require(address(module) != 0 && address(module) != SENTINEL_MODULES, \"Invalid module address provided\");\n require(modules[prevModule] == address(module), \"Invalid prevModule, module pair provided\");\n modules[prevModule] = modules[module];\n modules[module] = 0;\n }\n\n /// @dev Allows a Module to execute a Safe transaction without any further confirmations.\n /// @param to Destination address of module transaction.\n /// @param value Ether value of module transaction.\n /// @param data Data payload of module transaction.\n /// @param operation Operation type of module transaction.\n function execTransactionFromModule(address to, uint256 value, bytes data, Enum.Operation operation)\n public\n returns (bool success)\n {\n // Only whitelisted modules are allowed.\n require(modules[msg.sender] != 0, \"Method can only be called from an enabled module\" ) ; \ n // Execute transaction without further confirmations.\n success = execute(to, value, data, operation, gasleft());\n }\n\n function execute(address to, uint256 value, bytes data, Enum.Operation operation, uint256 txGas)\n internal\n returns (bool success)\n {\n if (operation == Enum.Operation.Call)\n success = executeCall(to, value, data, txGas);\n else if (operation == Enum.Operation.DelegateCall)\n success = executeDelegateCall(to, data, txGas);\n else {\n address newContract = executeCreate(data);\n success = newContract != 0;\n emit ContractCreation(newContract);\n }\n }\n\n function executeCall(address to, uint256 value, bytes data, uint256 txGas)\n internal\n returns (bool success)\n {
2018-05-31 15:01:02 +02:00
"sourcePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/ModuleManager.sol" ,
"ast" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/ModuleManager.sol" ,
"exportedSymbols" : {
"ModuleManager" : [
2018-06-20 10:09:14 +02:00
1022
2018-05-31 15:01:02 +02:00
]
} ,
2018-06-20 10:09:14 +02:00
"id" : 1023 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-06-20 10:09:14 +02:00
"id" : 653 ,
2018-05-31 15:01:02 +02:00
"literals" : [
"solidity" ,
"0.4" ,
".24"
] ,
"nodeType" : "PragmaDirective" ,
2018-06-20 10:09:14 +02:00
"src" : "0:23:6"
2018-05-31 15:01:02 +02:00
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol" ,
"file" : "./Module.sol" ,
2018-06-20 10:09:14 +02:00
"id" : 654 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ImportDirective" ,
2018-06-20 10:09:14 +02:00
"scope" : 1023 ,
"sourceUnit" : 652 ,
"src" : "24:22:6" ,
2018-05-31 15:01:02 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol" ,
"file" : "./MasterCopy.sol" ,
2018-06-20 10:09:14 +02:00
"id" : 655 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ImportDirective" ,
2018-06-20 10:09:14 +02:00
"scope" : 1023 ,
"sourceUnit" : 609 ,
"src" : "47:26:6" ,
2018-05-31 15:01:02 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Enum.sol" ,
"file" : "./Enum.sol" ,
2018-06-20 10:09:14 +02:00
"id" : 656 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ImportDirective" ,
2018-06-20 10:09:14 +02:00
"scope" : 1023 ,
"sourceUnit" : 7 ,
"src" : "74:20:6" ,
2018-05-31 15:01:02 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 657 ,
2018-05-31 15:01:02 +02:00
"name" : "SelfAuthorized" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1449 ,
"src" : "329:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_SelfAuthorized_$1449" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract SelfAuthorized"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 658 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-20 10:09:14 +02:00
"src" : "329:14:6"
2018-05-31 15:01:02 +02:00
}
] ,
"contractDependencies" : [
2018-06-20 10:09:14 +02:00
1449
2018-05-31 15:01:02 +02:00
] ,
"contractKind" : "contract" ,
"documentation" : "@title Module Manager - A contract that manages modules that can execute transactions via this contract\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>" ,
"fullyImplemented" : true ,
2018-06-20 10:09:14 +02:00
"id" : 1022 ,
2018-05-31 15:01:02 +02:00
"linearizedBaseContracts" : [
2018-06-20 10:09:14 +02:00
1022 ,
1449
2018-05-31 15:01:02 +02:00
] ,
"name" : "ModuleManager" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"anonymous" : false ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 662 ,
2018-05-31 15:01:02 +02:00
"name" : "ContractCreation" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 661 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 660 ,
2018-05-31 15:01:02 +02:00
"indexed" : false ,
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 662 ,
"src" : "374:19:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 659 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "374:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "373:21:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"src" : "351:44:6"
2018-05-31 15:01:02 +02:00
} ,
{
"constant" : true ,
2018-06-20 10:09:14 +02:00
"id" : 665 ,
2018-05-31 15:01:02 +02:00
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "401:46:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 663 ,
2018-05-31 15:01:02 +02:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "401:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "4d6f64756c65204d616e61676572" ,
2018-06-20 10:09:14 +02:00
"id" : 664 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "431:16:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_12aaa44a1bae367a1e1d9881f5d80283afded6373c2a1ca586db420944084efb" ,
"typeString" : "literal_string \"Module Manager\""
} ,
"value" : "Module Manager"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-06-20 10:09:14 +02:00
"id" : 668 ,
2018-05-31 15:01:02 +02:00
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "453:40:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 666 ,
2018-05-31 15:01:02 +02:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "453:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
2018-06-20 10:09:14 +02:00
"id" : 667 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "486:7:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-06-20 10:09:14 +02:00
"id" : 673 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "499:55:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 669 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "499:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "307831" ,
2018-06-20 10:09:14 +02:00
"id" : 671 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "550:3:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"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"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 670 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-20 10:09:14 +02:00
"src" : "542:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 672 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "542:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 677 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "561:45:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 676 ,
2018-05-31 15:01:02 +02:00
"keyType" : {
2018-06-20 10:09:14 +02:00
"id" : 674 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "570:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
2018-06-20 10:09:14 +02:00
"src" : "561:28:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"valueType" : {
2018-06-20 10:09:14 +02:00
"id" : 675 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "581:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 680 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "721:8:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [ ]
} ,
"documentation" : "@dev Fallback function accepts Ether transactions." ,
2018-06-20 10:09:14 +02:00
"id" : 681 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 678 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "681:2:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : true ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 679 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "721:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "672:57:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "payable" ,
"superFunction" : null ,
"visibility" : "external"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 717 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "802:342:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 693 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 689 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "820:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 691 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 690 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "828:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "820:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 692 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "849:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "820:30:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6f64756c6573206861766520616c7265616479206265656e20696e697469616c697a6564" ,
2018-06-20 10:09:14 +02:00
"id" : 694 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "852:39:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_1e0428ffa69bff65645154a36d5017c238f946ddaf89430d30eec813f30bdd77" ,
"typeString" : "literal_string \"Modules have already been initialized\""
} ,
"value" : "Modules have already been initialized"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_1e0428ffa69bff65645154a36d5017c238f946ddaf89430d30eec813f30bdd77" ,
"typeString" : "literal_string \"Modules have already been initialized\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 688 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "812:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 695 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "812:80:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 696 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "812:80:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 701 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 697 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "902:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 699 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 698 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "910:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "902:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 700 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "930:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "902:44:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 702 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "902:44:6"
2018-05-31 15:01:02 +02:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 705 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 703 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 683 ,
"src" : "960:2:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 704 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "966:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "960:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-06-20 10:09:14 +02:00
"id" : 716 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "IfStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "956:181:6" ,
2018-05-31 15:01:02 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 708 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 683 ,
"src" : "1081:2:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 709 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 685 ,
"src" : "1085:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-20 10:09:14 +02:00
"id" : 710 ,
2018-05-31 15:01:02 +02:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1766 ,
"src" : "1091:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 711 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1091:9:6" ,
2018-05-31 15:01:02 +02:00
"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"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 707 ,
2018-05-31 15:01:02 +02:00
"name" : "executeDelegateCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 939 ,
"src" : "1061:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,bytes memory,uint256) returns (bool)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 712 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1061:40:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "436f756c64206e6f742066696e69736820696e697469616c697a6174696f6e" ,
2018-06-20 10:09:14 +02:00
"id" : 713 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "1103:33:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_7913a3f9168bf3e458e3f42eb08db5c4b33f44228d345660887090b75e24c6aa" ,
"typeString" : "literal_string \"Could not finish initialization\""
} ,
"value" : "Could not finish initialization"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_7913a3f9168bf3e458e3f42eb08db5c4b33f44228d345660887090b75e24c6aa" ,
"typeString" : "literal_string \"Could not finish initialization\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 706 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "1053:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 714 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1053:84:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 715 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "1053:84:6"
2018-05-31 15:01:02 +02:00
}
}
]
} ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 718 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setupModules" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 686 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 683 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 718 ,
"src" : "757:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 682 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "757:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 685 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 718 ,
"src" : "769:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 684 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "769:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "756:24:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 687 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "802:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "735:409:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 763 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "1386:384:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-06-20 10:09:14 +02:00
"id" : 736 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 730 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 727 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 720 ,
"src" : "1466:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 726 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-20 10:09:14 +02:00
"src" : "1458:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 728 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1458:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 729 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "1477:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "1458:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 735 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 732 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 720 ,
"src" : "1490:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 731 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-20 10:09:14 +02:00
"src" : "1482:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 733 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1482:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 734 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "1501:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "1482:35:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "1458:59:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206d6f64756c6520616464726573732070726f7669646564" ,
2018-06-20 10:09:14 +02:00
"id" : 737 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "1519:33:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_8c2199b479423c52a835dfe8b0f2e9eb4c1ec1069ba198ccc38077a4a88a5c00" ,
"typeString" : "literal_string \"Invalid module address provided\""
} ,
"value" : "Invalid module address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_8c2199b479423c52a835dfe8b0f2e9eb4c1ec1069ba198ccc38077a4a88a5c00" ,
"typeString" : "literal_string \"Invalid module address provided\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 725 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "1450:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 738 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1450:103:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 739 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "1450:103:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 745 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 741 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "1612:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 743 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 742 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 720 ,
"src" : "1620:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "1612:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 744 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "1631:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "1612:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6f64756c652068617320616c7265616479206265656e206164646564" ,
2018-06-20 10:09:14 +02:00
"id" : 746 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "1634:31:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae2b4ea52eaf6de3fb2d8a64b7555be2dfd285b837a62821bf24e7dc6f329450" ,
"typeString" : "literal_string \"Module has already been added\""
} ,
"value" : "Module has already been added"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_ae2b4ea52eaf6de3fb2d8a64b7555be2dfd285b837a62821bf24e7dc6f329450" ,
"typeString" : "literal_string \"Module has already been added\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 740 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "1604:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 747 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1604:62:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 748 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "1604:62:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 755 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 749 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "1676:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 751 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 750 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 720 ,
"src" : "1684:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "1676:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 752 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "1694:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 754 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 753 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "1702:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "1694:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "1676:43:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 756 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "1676:43:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 761 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 757 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "1729:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 759 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 758 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "1737:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "1729:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 760 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 720 ,
"src" : "1757:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "1729:34:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 762 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "1729:34:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : "@dev Allows to add a module to the whitelist.\n This can only be done via a Safe transaction.\n @param module Module to be whitelisted." ,
2018-06-20 10:09:14 +02:00
"id" : 764 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-06-20 10:09:14 +02:00
"id" : 723 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 722 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1448 ,
"src" : "1371:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-06-20 10:09:14 +02:00
"src" : "1371:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "enableModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 721 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 720 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 764 ,
"src" : "1333:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 719 ,
2018-05-31 15:01:02 +02:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 651 ,
"src" : "1333:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "1332:15:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 724 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "1386:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "1311:459:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 813 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "2126:379:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
2018-06-20 10:09:14 +02:00
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"id" : 784 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"id" : 778 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 775 ,
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 768 ,
"src" : "2234:6:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_Module_$651" ,
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_Module_$651" ,
"typeString" : "contract Module"
}
] ,
"id" : 774 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2226:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
"id" : 776 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2226:15:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 777 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2245:1:6" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"src" : "2226:20:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"id" : 783 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 780 ,
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 768 ,
"src" : "2258:6:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_Module_$651" ,
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_Module_$651" ,
"typeString" : "contract Module"
}
] ,
"id" : 779 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2250:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
"id" : 781 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2250:15:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 782 ,
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 673 ,
"src" : "2269:16:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2250:35:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"src" : "2226:59:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206d6f64756c6520616464726573732070726f7669646564" ,
"id" : 785 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2287:33:6" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_8c2199b479423c52a835dfe8b0f2e9eb4c1ec1069ba198ccc38077a4a88a5c00" ,
"typeString" : "literal_string \"Invalid module address provided\""
} ,
"value" : "Invalid module address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_8c2199b479423c52a835dfe8b0f2e9eb4c1ec1069ba198ccc38077a4a88a5c00" ,
"typeString" : "literal_string \"Invalid module address provided\""
}
] ,
"id" : 773 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
1776 ,
1777
] ,
"referencedDeclaration" : 1777 ,
"src" : "2218:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
"id" : 786 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2218:103:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 787 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2218:103:6"
} ,
2018-05-31 15:01:02 +02:00
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 795 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 789 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "2339:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 791 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 790 ,
2018-05-31 15:01:02 +02:00
"name" : "prevModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 766 ,
"src" : "2347:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "2339:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 793 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 768 ,
"src" : "2370:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 792 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-20 10:09:14 +02:00
"src" : "2362:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 794 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "2362:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "2339:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764d6f64756c652c206d6f64756c6520706169722070726f7669646564" ,
2018-06-20 10:09:14 +02:00
"id" : 796 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "2379:42:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_5caa315f9c5cf61be71c182eef2dc9ef7b6ce6b42c320d36694e1d23e09c287e" ,
"typeString" : "literal_string \"Invalid prevModule, module pair provided\""
} ,
"value" : "Invalid prevModule, module pair provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_5caa315f9c5cf61be71c182eef2dc9ef7b6ce6b42c320d36694e1d23e09c287e" ,
"typeString" : "literal_string \"Invalid prevModule, module pair provided\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 788 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "2331:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 797 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "2331:91:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 798 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "2331:91:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 805 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 799 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "2432:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 801 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 800 ,
2018-05-31 15:01:02 +02:00
"name" : "prevModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 766 ,
"src" : "2440:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "2432:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 802 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "2454:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 804 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 803 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 768 ,
"src" : "2462:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "2454:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "2432:37:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 806 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "2432:37:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 811 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 807 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "2479:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 809 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 808 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 768 ,
"src" : "2487:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "2479:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 810 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "2497:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "2479:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 812 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "2479:19:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : "@dev Allows to remove a module from the whitelist.\n This can only be done via a Safe transaction.\n @param prevModule Module that pointed to the module to be removed in the linked list\n @param module Module to be removed." ,
2018-06-20 10:09:14 +02:00
"id" : 814 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-06-20 10:09:14 +02:00
"id" : 771 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 770 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1448 ,
"src" : "2111:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-06-20 10:09:14 +02:00
"src" : "2111:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "disableModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 769 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 766 ,
2018-05-31 15:01:02 +02:00
"name" : "prevModule" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 814 ,
"src" : "2054:17:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 765 ,
2018-05-31 15:01:02 +02:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 651 ,
"src" : "2054:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 768 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 814 ,
"src" : "2073:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 767 ,
2018-05-31 15:01:02 +02:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 651 ,
"src" : "2073:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "2053:34:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 772 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "2126:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "2031:474:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 848 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "2991:279:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 833 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 828 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "3058:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 831 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 829 ,
2018-05-31 15:01:02 +02:00
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1773 ,
"src" : "3066:3:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 830 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-20 10:09:14 +02:00
"src" : "3066:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "3058:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 832 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "3081:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "3058:24:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d20616e20656e61626c6564206d6f64756c65" ,
2018-06-20 10:09:14 +02:00
"id" : 834 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "3084:50:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_cd36462b17a97c5a3df33333c859d5933a4fb7f5e1a0750f5def8eb51f3272e4" ,
"typeString" : "literal_string \"Method can only be called from an enabled module\""
} ,
"value" : "Method can only be called from an enabled module"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_cd36462b17a97c5a3df33333c859d5933a4fb7f5e1a0750f5def8eb51f3272e4" ,
"typeString" : "literal_string \"Method can only be called from an enabled module\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 827 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "3050:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 835 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3050:85:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 836 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3050:85:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 846 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 837 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 825 ,
"src" : "3207:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 839 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 816 ,
"src" : "3225:2:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 840 ,
2018-05-31 15:01:02 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 818 ,
"src" : "3229:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 841 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 820 ,
"src" : "3236:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 842 ,
2018-05-31 15:01:02 +02:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 822 ,
"src" : "3242:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-20 10:09:14 +02:00
"id" : 843 ,
2018-05-31 15:01:02 +02:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1766 ,
"src" : "3253:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 844 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3253:9:6" ,
2018-05-31 15:01:02 +02:00
"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"
} ,
{
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 838 ,
2018-05-31 15:01:02 +02:00
"name" : "execute" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 911 ,
"src" : "3217:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$5_$_t_uint256_$returns$_t_bool_$" ,
2018-05-31 15:01:02 +02:00
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 845 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3217:46:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3207:56:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 847 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3207:56:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : "@dev Allows a Module to execute a Safe transaction without any further confirmations.\n @param to Destination address of module transaction.\n @param value Ether value of module transaction.\n @param data Data payload of module transaction.\n @param operation Operation type of module transaction." ,
2018-06-20 10:09:14 +02:00
"id" : 849 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execTransactionFromModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 823 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 816 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 849 ,
"src" : "2876:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 815 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "2876:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 818 ,
2018-05-31 15:01:02 +02:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 849 ,
"src" : "2888:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 817 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "2888:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 820 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 849 ,
"src" : "2903:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 819 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "2903:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 822 ,
2018-05-31 15:01:02 +02:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 849 ,
"src" : "2915:24:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 821 ,
2018-05-31 15:01:02 +02:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 5 ,
"src" : "2915:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "2875:65:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 826 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 825 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 849 ,
"src" : "2973:12:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 824 ,
2018-05-31 15:01:02 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "2973:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "2972:14:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "2841:429:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 910 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "3425:399:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
} ,
2018-06-20 10:09:14 +02:00
"id" : 868 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 864 ,
2018-05-31 15:01:02 +02:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 857 ,
"src" : "3439:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 865 ,
2018-05-31 15:01:02 +02:00
"name" : "Enum" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 6 ,
"src" : "3452:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_type$_t_contract$_Enum_$6_$" ,
2018-05-31 15:01:02 +02:00
"typeString" : "type(contract Enum)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 866 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "Operation" ,
"nodeType" : "MemberAccess" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 5 ,
"src" : "3452:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_type$_t_enum$_Operation_$5_$" ,
2018-05-31 15:01:02 +02:00
"typeString" : "type(enum Enum.Operation)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 867 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "Call" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-20 10:09:14 +02:00
"src" : "3452:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3439:32:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
} ,
2018-06-20 10:09:14 +02:00
"id" : 882 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 878 ,
2018-05-31 15:01:02 +02:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 857 ,
"src" : "3549:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 879 ,
2018-05-31 15:01:02 +02:00
"name" : "Enum" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 6 ,
"src" : "3562:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_type$_t_contract$_Enum_$6_$" ,
2018-05-31 15:01:02 +02:00
"typeString" : "type(contract Enum)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 880 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "Operation" ,
"nodeType" : "MemberAccess" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 5 ,
"src" : "3562:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_type$_t_enum$_Operation_$5_$" ,
2018-05-31 15:01:02 +02:00
"typeString" : "type(enum Enum.Operation)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 881 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "DelegateCall" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-20 10:09:14 +02:00
"src" : "3562:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3549:40:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
2018-06-20 10:09:14 +02:00
"id" : 907 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "3664:154:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"assignments" : [
2018-06-20 10:09:14 +02:00
892
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 892 ,
2018-05-31 15:01:02 +02:00
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3678:19:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 891 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3678:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 896 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 894 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 855 ,
"src" : "3714:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 893 ,
2018-05-31 15:01:02 +02:00
"name" : "executeCreate" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 948 ,
"src" : "3700:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_address_$" ,
"typeString" : "function (bytes memory) returns (address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 895 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3700:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3678:41:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 901 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 897 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 862 ,
"src" : "3733:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 900 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 898 ,
2018-05-31 15:01:02 +02:00
"name" : "newContract" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 892 ,
"src" : "3743:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 899 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "3758:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "3743:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3733:26:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 902 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3733:26:6"
2018-05-31 15:01:02 +02:00
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 904 ,
2018-05-31 15:01:02 +02:00
"name" : "newContract" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 892 ,
"src" : "3795:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 903 ,
2018-05-31 15:01:02 +02:00
"name" : "ContractCreation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 662 ,
"src" : "3778:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 905 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3778:29:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 906 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "EmitStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3773:34:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
2018-06-20 10:09:14 +02:00
"id" : 908 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "IfStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3545:273:6" ,
2018-05-31 15:01:02 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 889 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 883 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 862 ,
"src" : "3603:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 885 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 851 ,
"src" : "3633:2:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 886 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 855 ,
"src" : "3637:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 887 ,
2018-05-31 15:01:02 +02:00
"name" : "txGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 859 ,
"src" : "3643:5:6" ,
2018-05-31 15:01:02 +02:00
"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"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 884 ,
2018-05-31 15:01:02 +02:00
"name" : "executeDelegateCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 939 ,
"src" : "3613:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,bytes memory,uint256) returns (bool)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 888 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3613:36:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3603:46:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 890 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3603:46:6"
2018-05-31 15:01:02 +02:00
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 909 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "IfStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3435:383:6" ,
2018-05-31 15:01:02 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 876 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 869 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 862 ,
"src" : "3485:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 871 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 851 ,
"src" : "3507:2:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 872 ,
2018-05-31 15:01:02 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 853 ,
"src" : "3511:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 873 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 855 ,
"src" : "3518:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 874 ,
2018-05-31 15:01:02 +02:00
"name" : "txGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 859 ,
"src" : "3524:5:6" ,
2018-05-31 15:01:02 +02:00
"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_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 870 ,
2018-05-31 15:01:02 +02:00
"name" : "executeCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 926 ,
"src" : "3495:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256,bytes memory,uint256) returns (bool)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 875 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3495:35:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3485:45:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 877 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3485:45:6"
2018-05-31 15:01:02 +02:00
}
}
]
} ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 911 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execute" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 860 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 851 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3293:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 850 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3293:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 853 ,
2018-05-31 15:01:02 +02:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3305:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 852 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3305:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 855 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3320:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 854 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3320:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 857 ,
2018-05-31 15:01:02 +02:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3332:24:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 856 ,
2018-05-31 15:01:02 +02:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 5 ,
"src" : "3332:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 859 ,
2018-05-31 15:01:02 +02:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3358:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 858 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3358:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "3292:80:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 863 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 862 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3407:12:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 861 ,
2018-05-31 15:01:02 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3407:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "3406:14:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "3276:548:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 925 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "3957:182:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"externalReferences" : [
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 917 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4111:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 917 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4092:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"success" : {
2018-06-20 10:09:14 +02:00
"declaration" : 922 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4054:7:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"txGas" : {
2018-06-20 10:09:14 +02:00
"declaration" : 919 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4070:5:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"to" : {
2018-06-20 10:09:14 +02:00
"declaration" : 913 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4077:2:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"value" : {
2018-06-20 10:09:14 +02:00
"declaration" : 915 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4081:5:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 924 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n success := call(txGas, to, value, add(data, 0x20), mload(data), 0, 0)\n}" ,
2018-06-20 10:09:14 +02:00
"src" : "4031:108:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 926 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeCall" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 920 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 913 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 926 ,
"src" : "3851:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 912 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3851:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 915 ,
2018-05-31 15:01:02 +02:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 926 ,
"src" : "3863:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 914 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3863:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 917 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 926 ,
"src" : "3878:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 916 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3878:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 919 ,
2018-05-31 15:01:02 +02:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 926 ,
"src" : "3890:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 918 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3890:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "3850:54:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 923 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 922 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 926 ,
"src" : "3939:12:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 921 ,
2018-05-31 15:01:02 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3939:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "3938:14:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "3830:309:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 938 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "4265:183:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"externalReferences" : [
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 930 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4420:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 930 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4401:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"success" : {
2018-06-20 10:09:14 +02:00
"declaration" : 935 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4362:7:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"txGas" : {
2018-06-20 10:09:14 +02:00
"declaration" : 932 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4386:5:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"to" : {
2018-06-20 10:09:14 +02:00
"declaration" : 928 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4393:2:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 937 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n success := delegatecall(txGas, to, add(data, 0x20), mload(data), 0, 0)\n}" ,
2018-06-20 10:09:14 +02:00
"src" : "4339:109:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 939 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeDelegateCall" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 933 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 928 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 939 ,
"src" : "4174:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 927 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4174:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 930 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 939 ,
"src" : "4186:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 929 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4186:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 932 ,
2018-05-31 15:01:02 +02:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 939 ,
"src" : "4198:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 931 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4198:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "4173:39:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 936 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 935 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 939 ,
"src" : "4247:12:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 934 ,
2018-05-31 15:01:02 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4247:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "4246:14:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "4145:303:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 947 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "4548:167:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"externalReferences" : [
{
"newContract" : {
2018-06-20 10:09:14 +02:00
"declaration" : 944 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4645:11:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 941 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4674:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 941 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4693:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 946 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n newContract := create(0, add(data, 0x20), mload(data))\n}" ,
2018-06-20 10:09:14 +02:00
"src" : "4622:93:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 948 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeCreate" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 942 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 941 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 948 ,
"src" : "4477:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 940 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4477:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "4476:12:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 945 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 944 ,
2018-05-31 15:01:02 +02:00
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 948 ,
"src" : "4523:19:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 943 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4523:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "4522:21:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "4454:261:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 1020 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "4876:656:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"assignments" : [
2018-06-20 10:09:14 +02:00
955
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 955 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1021 ,
"src" : "4920:19:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 954 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4920:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 957 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 956 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "4942:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "4920:23:6"
2018-05-31 15:01:02 +02:00
} ,
{
"assignments" : [
2018-06-20 10:09:14 +02:00
959
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 959 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1021 ,
"src" : "4953:21:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 958 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4953:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 963 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 960 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "4977:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 962 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 961 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "4985:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "4977:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "4953:49:6"
2018-05-31 15:01:02 +02:00
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 976 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "5053:91:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 971 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 967 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5067:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 968 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "5083:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 970 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 969 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5091:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "5083:22:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5067:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 972 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5067:38:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 974 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-20 10:09:14 +02:00
"src" : "5119:14:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 973 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 955 ,
"src" : "5119:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 975 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5119:14:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 966 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 964 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5018:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 965 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "5035:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5018:33:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 977 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "WhileStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5012:132:6"
2018-05-31 15:01:02 +02:00
} ,
{
"assignments" : [
2018-06-20 10:09:14 +02:00
981
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 981 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1021 ,
"src" : "5153:22:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-06-20 10:09:14 +02:00
"id" : 979 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "5153:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 980 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "5153:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 987 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 985 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 955 ,
"src" : "5192:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 984 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "NewExpression" ,
2018-06-20 10:09:14 +02:00
"src" : "5178:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$" ,
"typeString" : "function (uint256) pure returns (address[] memory)"
} ,
"typeName" : {
"baseType" : {
2018-06-20 10:09:14 +02:00
"id" : 982 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "5182:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 983 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "5182:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 986 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "5178:26:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory" ,
"typeString" : "address[] memory"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5153:51:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 990 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 988 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 955 ,
"src" : "5248:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 989 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "5262:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "5248:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 991 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5248:15:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 996 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 992 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5273:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 993 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "5289:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 995 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 994 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "5297:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "5289:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5273:41:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 997 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5273:41:6"
2018-05-31 15:01:02 +02:00
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 1016 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "5365:139:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1005 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1001 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 981 ,
"src" : "5379:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1003 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1002 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 955 ,
"src" : "5385:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "5379:18:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1004 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5400:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5379:34:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1006 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5379:34:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1011 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1007 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5427:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1008 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "5443:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1010 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1009 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5451:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "5443:22:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5427:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1012 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5427:38:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1014 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-20 10:09:14 +02:00
"src" : "5479:14:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1013 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 955 ,
"src" : "5479:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1015 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5479:14:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 1000 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 998 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5330:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 999 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "5347:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5330:33:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1017 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "WhileStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5324:180:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1018 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 981 ,
"src" : "5520:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-06-20 10:09:14 +02:00
"functionReturnParameters" : 953 ,
"id" : 1019 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Return" ,
2018-06-20 10:09:14 +02:00
"src" : "5513:12:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : "@dev Returns array of modules.\n @return Array of modules." ,
2018-06-20 10:09:14 +02:00
"id" : 1021 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getModules" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 949 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "4813:2:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 953 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 952 ,
2018-05-31 15:01:02 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1021 ,
"src" : "4861:9:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-06-20 10:09:14 +02:00
"id" : 950 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4861:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 951 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4861:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "4860:11:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "4794:738:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-06-20 10:09:14 +02:00
"scope" : 1023 ,
"src" : "303:5231:6"
2018-05-31 15:01:02 +02:00
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "0:5535:6"
2018-05-31 15:01:02 +02:00
} ,
"legacyAST" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/ModuleManager.sol" ,
"exportedSymbols" : {
"ModuleManager" : [
2018-06-20 10:09:14 +02:00
1022
2018-05-31 15:01:02 +02:00
]
} ,
2018-06-20 10:09:14 +02:00
"id" : 1023 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-06-20 10:09:14 +02:00
"id" : 653 ,
2018-05-31 15:01:02 +02:00
"literals" : [
"solidity" ,
"0.4" ,
".24"
] ,
"nodeType" : "PragmaDirective" ,
2018-06-20 10:09:14 +02:00
"src" : "0:23:6"
2018-05-31 15:01:02 +02:00
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol" ,
"file" : "./Module.sol" ,
2018-06-20 10:09:14 +02:00
"id" : 654 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ImportDirective" ,
2018-06-20 10:09:14 +02:00
"scope" : 1023 ,
"sourceUnit" : 652 ,
"src" : "24:22:6" ,
2018-05-31 15:01:02 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol" ,
"file" : "./MasterCopy.sol" ,
2018-06-20 10:09:14 +02:00
"id" : 655 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ImportDirective" ,
2018-06-20 10:09:14 +02:00
"scope" : 1023 ,
"sourceUnit" : 609 ,
"src" : "47:26:6" ,
2018-05-31 15:01:02 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Enum.sol" ,
"file" : "./Enum.sol" ,
2018-06-20 10:09:14 +02:00
"id" : 656 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ImportDirective" ,
2018-06-20 10:09:14 +02:00
"scope" : 1023 ,
"sourceUnit" : 7 ,
"src" : "74:20:6" ,
2018-05-31 15:01:02 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 657 ,
2018-05-31 15:01:02 +02:00
"name" : "SelfAuthorized" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1449 ,
"src" : "329:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_SelfAuthorized_$1449" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract SelfAuthorized"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 658 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-20 10:09:14 +02:00
"src" : "329:14:6"
2018-05-31 15:01:02 +02:00
}
] ,
"contractDependencies" : [
2018-06-20 10:09:14 +02:00
1449
2018-05-31 15:01:02 +02:00
] ,
"contractKind" : "contract" ,
"documentation" : "@title Module Manager - A contract that manages modules that can execute transactions via this contract\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>" ,
"fullyImplemented" : true ,
2018-06-20 10:09:14 +02:00
"id" : 1022 ,
2018-05-31 15:01:02 +02:00
"linearizedBaseContracts" : [
2018-06-20 10:09:14 +02:00
1022 ,
1449
2018-05-31 15:01:02 +02:00
] ,
"name" : "ModuleManager" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"anonymous" : false ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 662 ,
2018-05-31 15:01:02 +02:00
"name" : "ContractCreation" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 661 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 660 ,
2018-05-31 15:01:02 +02:00
"indexed" : false ,
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 662 ,
"src" : "374:19:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 659 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "374:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "373:21:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"src" : "351:44:6"
2018-05-31 15:01:02 +02:00
} ,
{
"constant" : true ,
2018-06-20 10:09:14 +02:00
"id" : 665 ,
2018-05-31 15:01:02 +02:00
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "401:46:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 663 ,
2018-05-31 15:01:02 +02:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "401:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "4d6f64756c65204d616e61676572" ,
2018-06-20 10:09:14 +02:00
"id" : 664 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "431:16:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_12aaa44a1bae367a1e1d9881f5d80283afded6373c2a1ca586db420944084efb" ,
"typeString" : "literal_string \"Module Manager\""
} ,
"value" : "Module Manager"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-06-20 10:09:14 +02:00
"id" : 668 ,
2018-05-31 15:01:02 +02:00
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "453:40:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 666 ,
2018-05-31 15:01:02 +02:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "453:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
2018-06-20 10:09:14 +02:00
"id" : 667 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "486:7:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-06-20 10:09:14 +02:00
"id" : 673 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "499:55:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 669 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "499:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "307831" ,
2018-06-20 10:09:14 +02:00
"id" : 671 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "550:3:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"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"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 670 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-20 10:09:14 +02:00
"src" : "542:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 672 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "542:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 677 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "561:45:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 676 ,
2018-05-31 15:01:02 +02:00
"keyType" : {
2018-06-20 10:09:14 +02:00
"id" : 674 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "570:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
2018-06-20 10:09:14 +02:00
"src" : "561:28:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"valueType" : {
2018-06-20 10:09:14 +02:00
"id" : 675 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "581:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 680 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "721:8:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [ ]
} ,
"documentation" : "@dev Fallback function accepts Ether transactions." ,
2018-06-20 10:09:14 +02:00
"id" : 681 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 678 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "681:2:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : true ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 679 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "721:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "672:57:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "payable" ,
"superFunction" : null ,
"visibility" : "external"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 717 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "802:342:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 693 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 689 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "820:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 691 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 690 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "828:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "820:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 692 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "849:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "820:30:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6f64756c6573206861766520616c7265616479206265656e20696e697469616c697a6564" ,
2018-06-20 10:09:14 +02:00
"id" : 694 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "852:39:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_1e0428ffa69bff65645154a36d5017c238f946ddaf89430d30eec813f30bdd77" ,
"typeString" : "literal_string \"Modules have already been initialized\""
} ,
"value" : "Modules have already been initialized"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_1e0428ffa69bff65645154a36d5017c238f946ddaf89430d30eec813f30bdd77" ,
"typeString" : "literal_string \"Modules have already been initialized\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 688 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "812:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 695 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "812:80:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 696 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "812:80:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 701 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 697 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "902:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 699 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 698 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "910:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "902:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 700 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "930:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "902:44:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 702 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "902:44:6"
2018-05-31 15:01:02 +02:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 705 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 703 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 683 ,
"src" : "960:2:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 704 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "966:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "960:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-06-20 10:09:14 +02:00
"id" : 716 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "IfStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "956:181:6" ,
2018-05-31 15:01:02 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 708 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 683 ,
"src" : "1081:2:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 709 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 685 ,
"src" : "1085:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-20 10:09:14 +02:00
"id" : 710 ,
2018-05-31 15:01:02 +02:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1766 ,
"src" : "1091:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 711 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1091:9:6" ,
2018-05-31 15:01:02 +02:00
"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"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 707 ,
2018-05-31 15:01:02 +02:00
"name" : "executeDelegateCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 939 ,
"src" : "1061:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,bytes memory,uint256) returns (bool)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 712 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1061:40:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "436f756c64206e6f742066696e69736820696e697469616c697a6174696f6e" ,
2018-06-20 10:09:14 +02:00
"id" : 713 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "1103:33:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_7913a3f9168bf3e458e3f42eb08db5c4b33f44228d345660887090b75e24c6aa" ,
"typeString" : "literal_string \"Could not finish initialization\""
} ,
"value" : "Could not finish initialization"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_7913a3f9168bf3e458e3f42eb08db5c4b33f44228d345660887090b75e24c6aa" ,
"typeString" : "literal_string \"Could not finish initialization\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 706 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "1053:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 714 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1053:84:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 715 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "1053:84:6"
2018-05-31 15:01:02 +02:00
}
}
]
} ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 718 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setupModules" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 686 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 683 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 718 ,
"src" : "757:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 682 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "757:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 685 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 718 ,
"src" : "769:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 684 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "769:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "756:24:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 687 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "802:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "735:409:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 763 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "1386:384:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-06-20 10:09:14 +02:00
"id" : 736 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 730 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 727 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 720 ,
"src" : "1466:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 726 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-20 10:09:14 +02:00
"src" : "1458:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 728 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1458:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 729 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "1477:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "1458:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 735 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 732 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 720 ,
"src" : "1490:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 731 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-20 10:09:14 +02:00
"src" : "1482:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 733 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1482:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 734 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "1501:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "1482:35:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "1458:59:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206d6f64756c6520616464726573732070726f7669646564" ,
2018-06-20 10:09:14 +02:00
"id" : 737 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "1519:33:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_8c2199b479423c52a835dfe8b0f2e9eb4c1ec1069ba198ccc38077a4a88a5c00" ,
"typeString" : "literal_string \"Invalid module address provided\""
} ,
"value" : "Invalid module address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_8c2199b479423c52a835dfe8b0f2e9eb4c1ec1069ba198ccc38077a4a88a5c00" ,
"typeString" : "literal_string \"Invalid module address provided\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 725 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "1450:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 738 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1450:103:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 739 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "1450:103:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 745 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 741 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "1612:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 743 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 742 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 720 ,
"src" : "1620:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "1612:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 744 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "1631:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "1612:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6f64756c652068617320616c7265616479206265656e206164646564" ,
2018-06-20 10:09:14 +02:00
"id" : 746 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "1634:31:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae2b4ea52eaf6de3fb2d8a64b7555be2dfd285b837a62821bf24e7dc6f329450" ,
"typeString" : "literal_string \"Module has already been added\""
} ,
"value" : "Module has already been added"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_ae2b4ea52eaf6de3fb2d8a64b7555be2dfd285b837a62821bf24e7dc6f329450" ,
"typeString" : "literal_string \"Module has already been added\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 740 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "1604:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 747 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "1604:62:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 748 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "1604:62:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 755 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 749 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "1676:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 751 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 750 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 720 ,
"src" : "1684:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "1676:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 752 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "1694:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 754 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 753 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "1702:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "1694:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "1676:43:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 756 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "1676:43:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 761 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 757 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "1729:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 759 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 758 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "1737:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "1729:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 760 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 720 ,
"src" : "1757:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "1729:34:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 762 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "1729:34:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : "@dev Allows to add a module to the whitelist.\n This can only be done via a Safe transaction.\n @param module Module to be whitelisted." ,
2018-06-20 10:09:14 +02:00
"id" : 764 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-06-20 10:09:14 +02:00
"id" : 723 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 722 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1448 ,
"src" : "1371:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-06-20 10:09:14 +02:00
"src" : "1371:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "enableModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 721 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 720 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 764 ,
"src" : "1333:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 719 ,
2018-05-31 15:01:02 +02:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 651 ,
"src" : "1333:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "1332:15:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 724 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "1386:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "1311:459:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 813 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "2126:379:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
2018-06-20 10:09:14 +02:00
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"id" : 784 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"id" : 778 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 775 ,
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 768 ,
"src" : "2234:6:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_Module_$651" ,
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_Module_$651" ,
"typeString" : "contract Module"
}
] ,
"id" : 774 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2226:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
"id" : 776 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2226:15:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 777 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2245:1:6" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"src" : "2226:20:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"id" : 783 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 780 ,
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 768 ,
"src" : "2258:6:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_Module_$651" ,
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_Module_$651" ,
"typeString" : "contract Module"
}
] ,
"id" : 779 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2250:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
"id" : 781 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2250:15:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 782 ,
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 673 ,
"src" : "2269:16:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2250:35:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"src" : "2226:59:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206d6f64756c6520616464726573732070726f7669646564" ,
"id" : 785 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2287:33:6" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_8c2199b479423c52a835dfe8b0f2e9eb4c1ec1069ba198ccc38077a4a88a5c00" ,
"typeString" : "literal_string \"Invalid module address provided\""
} ,
"value" : "Invalid module address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_8c2199b479423c52a835dfe8b0f2e9eb4c1ec1069ba198ccc38077a4a88a5c00" ,
"typeString" : "literal_string \"Invalid module address provided\""
}
] ,
"id" : 773 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
1776 ,
1777
] ,
"referencedDeclaration" : 1777 ,
"src" : "2218:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
"id" : 786 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2218:103:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 787 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2218:103:6"
} ,
2018-05-31 15:01:02 +02:00
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 795 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 789 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "2339:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 791 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 790 ,
2018-05-31 15:01:02 +02:00
"name" : "prevModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 766 ,
"src" : "2347:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "2339:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 793 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 768 ,
"src" : "2370:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 792 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-20 10:09:14 +02:00
"src" : "2362:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 794 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "2362:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "2339:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764d6f64756c652c206d6f64756c6520706169722070726f7669646564" ,
2018-06-20 10:09:14 +02:00
"id" : 796 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "2379:42:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_5caa315f9c5cf61be71c182eef2dc9ef7b6ce6b42c320d36694e1d23e09c287e" ,
"typeString" : "literal_string \"Invalid prevModule, module pair provided\""
} ,
"value" : "Invalid prevModule, module pair provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_5caa315f9c5cf61be71c182eef2dc9ef7b6ce6b42c320d36694e1d23e09c287e" ,
"typeString" : "literal_string \"Invalid prevModule, module pair provided\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 788 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "2331:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 797 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "2331:91:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 798 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "2331:91:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 805 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 799 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "2432:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 801 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 800 ,
2018-05-31 15:01:02 +02:00
"name" : "prevModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 766 ,
"src" : "2440:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "2432:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 802 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "2454:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 804 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 803 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 768 ,
"src" : "2462:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "2454:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "2432:37:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 806 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "2432:37:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 811 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 807 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "2479:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 809 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 808 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 768 ,
"src" : "2487:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "2479:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 810 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "2497:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "2479:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 812 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "2479:19:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : "@dev Allows to remove a module from the whitelist.\n This can only be done via a Safe transaction.\n @param prevModule Module that pointed to the module to be removed in the linked list\n @param module Module to be removed." ,
2018-06-20 10:09:14 +02:00
"id" : 814 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-06-20 10:09:14 +02:00
"id" : 771 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 770 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1448 ,
"src" : "2111:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-06-20 10:09:14 +02:00
"src" : "2111:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "disableModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 769 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 766 ,
2018-05-31 15:01:02 +02:00
"name" : "prevModule" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 814 ,
"src" : "2054:17:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 765 ,
2018-05-31 15:01:02 +02:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 651 ,
"src" : "2054:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 768 ,
2018-05-31 15:01:02 +02:00
"name" : "module" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 814 ,
"src" : "2073:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 767 ,
2018-05-31 15:01:02 +02:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 651 ,
"src" : "2073:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_contract$_Module_$651" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "2053:34:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 772 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "2126:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "2031:474:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 848 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "2991:279:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 833 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 828 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "3058:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 831 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 829 ,
2018-05-31 15:01:02 +02:00
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1773 ,
"src" : "3066:3:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 830 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-20 10:09:14 +02:00
"src" : "3066:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "3058:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 832 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "3081:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "3058:24:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d20616e20656e61626c6564206d6f64756c65" ,
2018-06-20 10:09:14 +02:00
"id" : 834 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "3084:50:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_cd36462b17a97c5a3df33333c859d5933a4fb7f5e1a0750f5def8eb51f3272e4" ,
"typeString" : "literal_string \"Method can only be called from an enabled module\""
} ,
"value" : "Method can only be called from an enabled module"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_cd36462b17a97c5a3df33333c859d5933a4fb7f5e1a0750f5def8eb51f3272e4" ,
"typeString" : "literal_string \"Method can only be called from an enabled module\""
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 827 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-20 10:09:14 +02:00
1776 ,
1777
2018-05-31 15:01:02 +02:00
] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1777 ,
"src" : "3050:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 835 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3050:85:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 836 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3050:85:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 846 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 837 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 825 ,
"src" : "3207:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 839 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 816 ,
"src" : "3225:2:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 840 ,
2018-05-31 15:01:02 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 818 ,
"src" : "3229:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 841 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 820 ,
"src" : "3236:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 842 ,
2018-05-31 15:01:02 +02:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 822 ,
"src" : "3242:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-20 10:09:14 +02:00
"id" : 843 ,
2018-05-31 15:01:02 +02:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 1766 ,
"src" : "3253:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 844 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3253:9:6" ,
2018-05-31 15:01:02 +02:00
"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"
} ,
{
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 838 ,
2018-05-31 15:01:02 +02:00
"name" : "execute" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 911 ,
"src" : "3217:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$5_$_t_uint256_$returns$_t_bool_$" ,
2018-05-31 15:01:02 +02:00
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 845 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3217:46:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3207:56:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 847 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3207:56:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : "@dev Allows a Module to execute a Safe transaction without any further confirmations.\n @param to Destination address of module transaction.\n @param value Ether value of module transaction.\n @param data Data payload of module transaction.\n @param operation Operation type of module transaction." ,
2018-06-20 10:09:14 +02:00
"id" : 849 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execTransactionFromModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 823 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 816 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 849 ,
"src" : "2876:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 815 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "2876:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 818 ,
2018-05-31 15:01:02 +02:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 849 ,
"src" : "2888:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 817 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "2888:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 820 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 849 ,
"src" : "2903:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 819 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "2903:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 822 ,
2018-05-31 15:01:02 +02:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 849 ,
"src" : "2915:24:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 821 ,
2018-05-31 15:01:02 +02:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 5 ,
"src" : "2915:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "2875:65:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 826 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 825 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 849 ,
"src" : "2973:12:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 824 ,
2018-05-31 15:01:02 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "2973:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "2972:14:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "2841:429:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 910 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "3425:399:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
} ,
2018-06-20 10:09:14 +02:00
"id" : 868 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 864 ,
2018-05-31 15:01:02 +02:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 857 ,
"src" : "3439:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 865 ,
2018-05-31 15:01:02 +02:00
"name" : "Enum" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 6 ,
"src" : "3452:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_type$_t_contract$_Enum_$6_$" ,
2018-05-31 15:01:02 +02:00
"typeString" : "type(contract Enum)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 866 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "Operation" ,
"nodeType" : "MemberAccess" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 5 ,
"src" : "3452:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_type$_t_enum$_Operation_$5_$" ,
2018-05-31 15:01:02 +02:00
"typeString" : "type(enum Enum.Operation)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 867 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "Call" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-20 10:09:14 +02:00
"src" : "3452:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3439:32:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
} ,
2018-06-20 10:09:14 +02:00
"id" : 882 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 878 ,
2018-05-31 15:01:02 +02:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 857 ,
"src" : "3549:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 879 ,
2018-05-31 15:01:02 +02:00
"name" : "Enum" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 6 ,
"src" : "3562:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_type$_t_contract$_Enum_$6_$" ,
2018-05-31 15:01:02 +02:00
"typeString" : "type(contract Enum)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 880 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "Operation" ,
"nodeType" : "MemberAccess" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 5 ,
"src" : "3562:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_type$_t_enum$_Operation_$5_$" ,
2018-05-31 15:01:02 +02:00
"typeString" : "type(enum Enum.Operation)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 881 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "DelegateCall" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-20 10:09:14 +02:00
"src" : "3562:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3549:40:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
2018-06-20 10:09:14 +02:00
"id" : 907 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "3664:154:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"assignments" : [
2018-06-20 10:09:14 +02:00
892
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 892 ,
2018-05-31 15:01:02 +02:00
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3678:19:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 891 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3678:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 896 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 894 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 855 ,
"src" : "3714:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 893 ,
2018-05-31 15:01:02 +02:00
"name" : "executeCreate" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 948 ,
"src" : "3700:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_address_$" ,
"typeString" : "function (bytes memory) returns (address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 895 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3700:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3678:41:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 901 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 897 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 862 ,
"src" : "3733:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 900 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 898 ,
2018-05-31 15:01:02 +02:00
"name" : "newContract" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 892 ,
"src" : "3743:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 899 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "3758:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "3743:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3733:26:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 902 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3733:26:6"
2018-05-31 15:01:02 +02:00
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 904 ,
2018-05-31 15:01:02 +02:00
"name" : "newContract" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 892 ,
"src" : "3795:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 903 ,
2018-05-31 15:01:02 +02:00
"name" : "ContractCreation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 662 ,
"src" : "3778:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 905 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3778:29:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 906 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "EmitStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3773:34:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
2018-06-20 10:09:14 +02:00
"id" : 908 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "IfStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3545:273:6" ,
2018-05-31 15:01:02 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 889 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 883 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 862 ,
"src" : "3603:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 885 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 851 ,
"src" : "3633:2:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 886 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 855 ,
"src" : "3637:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 887 ,
2018-05-31 15:01:02 +02:00
"name" : "txGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 859 ,
"src" : "3643:5:6" ,
2018-05-31 15:01:02 +02:00
"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"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 884 ,
2018-05-31 15:01:02 +02:00
"name" : "executeDelegateCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 939 ,
"src" : "3613:19:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,bytes memory,uint256) returns (bool)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 888 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3613:36:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3603:46:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 890 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3603:46:6"
2018-05-31 15:01:02 +02:00
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 909 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "IfStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3435:383:6" ,
2018-05-31 15:01:02 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 876 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 869 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 862 ,
"src" : "3485:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 871 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 851 ,
"src" : "3507:2:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 872 ,
2018-05-31 15:01:02 +02:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 853 ,
"src" : "3511:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 873 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 855 ,
"src" : "3518:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 874 ,
2018-05-31 15:01:02 +02:00
"name" : "txGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 859 ,
"src" : "3524:5:6" ,
2018-05-31 15:01:02 +02:00
"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_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 870 ,
2018-05-31 15:01:02 +02:00
"name" : "executeCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 926 ,
"src" : "3495:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256,bytes memory,uint256) returns (bool)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 875 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "3495:35:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "3485:45:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 877 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "3485:45:6"
2018-05-31 15:01:02 +02:00
}
}
]
} ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 911 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execute" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 860 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 851 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3293:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 850 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3293:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 853 ,
2018-05-31 15:01:02 +02:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3305:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 852 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3305:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 855 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3320:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 854 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3320:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 857 ,
2018-05-31 15:01:02 +02:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3332:24:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-20 10:09:14 +02:00
"id" : 856 ,
2018-05-31 15:01:02 +02:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 5 ,
"src" : "3332:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_enum$_Operation_$5" ,
2018-05-31 15:01:02 +02:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 859 ,
2018-05-31 15:01:02 +02:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3358:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 858 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3358:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "3292:80:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 863 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 862 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 911 ,
"src" : "3407:12:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 861 ,
2018-05-31 15:01:02 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3407:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "3406:14:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "3276:548:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 925 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "3957:182:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"externalReferences" : [
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 917 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4111:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 917 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4092:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"success" : {
2018-06-20 10:09:14 +02:00
"declaration" : 922 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4054:7:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"txGas" : {
2018-06-20 10:09:14 +02:00
"declaration" : 919 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4070:5:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"to" : {
2018-06-20 10:09:14 +02:00
"declaration" : 913 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4077:2:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"value" : {
2018-06-20 10:09:14 +02:00
"declaration" : 915 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4081:5:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 924 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n success := call(txGas, to, value, add(data, 0x20), mload(data), 0, 0)\n}" ,
2018-06-20 10:09:14 +02:00
"src" : "4031:108:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 926 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeCall" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 920 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 913 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 926 ,
"src" : "3851:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 912 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3851:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 915 ,
2018-05-31 15:01:02 +02:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 926 ,
"src" : "3863:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 914 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3863:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 917 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 926 ,
"src" : "3878:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 916 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3878:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 919 ,
2018-05-31 15:01:02 +02:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 926 ,
"src" : "3890:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 918 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3890:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "3850:54:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 923 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 922 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 926 ,
"src" : "3939:12:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 921 ,
2018-05-31 15:01:02 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "3939:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "3938:14:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "3830:309:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 938 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "4265:183:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"externalReferences" : [
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 930 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4420:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 930 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4401:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"success" : {
2018-06-20 10:09:14 +02:00
"declaration" : 935 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4362:7:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"txGas" : {
2018-06-20 10:09:14 +02:00
"declaration" : 932 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4386:5:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"to" : {
2018-06-20 10:09:14 +02:00
"declaration" : 928 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4393:2:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 937 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n success := delegatecall(txGas, to, add(data, 0x20), mload(data), 0, 0)\n}" ,
2018-06-20 10:09:14 +02:00
"src" : "4339:109:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 939 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeDelegateCall" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 933 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 928 ,
2018-05-31 15:01:02 +02:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 939 ,
"src" : "4174:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 927 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4174:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 930 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 939 ,
"src" : "4186:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 929 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4186:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 932 ,
2018-05-31 15:01:02 +02:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 939 ,
"src" : "4198:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 931 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4198:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "4173:39:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 936 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 935 ,
2018-05-31 15:01:02 +02:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 939 ,
"src" : "4247:12:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 934 ,
2018-05-31 15:01:02 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4247:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "4246:14:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "4145:303:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 947 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "4548:167:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"externalReferences" : [
{
"newContract" : {
2018-06-20 10:09:14 +02:00
"declaration" : 944 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4645:11:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 941 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4674:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-20 10:09:14 +02:00
"declaration" : 941 ,
2018-05-31 15:01:02 +02:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-20 10:09:14 +02:00
"src" : "4693:4:6" ,
2018-05-31 15:01:02 +02:00
"valueSize" : 1
}
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 946 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n newContract := create(0, add(data, 0x20), mload(data))\n}" ,
2018-06-20 10:09:14 +02:00
"src" : "4622:93:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : null ,
2018-06-20 10:09:14 +02:00
"id" : 948 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeCreate" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 942 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 941 ,
2018-05-31 15:01:02 +02:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 948 ,
"src" : "4477:10:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 940 ,
2018-05-31 15:01:02 +02:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4477:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "4476:12:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 945 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 944 ,
2018-05-31 15:01:02 +02:00
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 948 ,
"src" : "4523:19:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 943 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4523:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "4522:21:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "4454:261:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 1020 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "4876:656:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"assignments" : [
2018-06-20 10:09:14 +02:00
955
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 955 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1021 ,
"src" : "4920:19:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 954 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4920:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 957 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 956 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "4942:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "4920:23:6"
2018-05-31 15:01:02 +02:00
} ,
{
"assignments" : [
2018-06-20 10:09:14 +02:00
959
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 959 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1021 ,
"src" : "4953:21:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-20 10:09:14 +02:00
"id" : 958 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4953:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 963 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 960 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "4977:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 962 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 961 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "4985:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "4977:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "4953:49:6"
2018-05-31 15:01:02 +02:00
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 976 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "5053:91:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 971 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 967 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5067:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 968 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "5083:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 970 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 969 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5091:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "5083:22:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5067:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 972 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5067:38:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 974 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-20 10:09:14 +02:00
"src" : "5119:14:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 973 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 955 ,
"src" : "5119:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 975 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5119:14:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 966 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 964 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5018:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 965 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "5035:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5018:33:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 977 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "WhileStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5012:132:6"
2018-05-31 15:01:02 +02:00
} ,
{
"assignments" : [
2018-06-20 10:09:14 +02:00
981
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 981 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1021 ,
"src" : "5153:22:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-06-20 10:09:14 +02:00
"id" : 979 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "5153:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 980 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "5153:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 987 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 985 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 955 ,
"src" : "5192:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-20 10:09:14 +02:00
"id" : 984 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "NewExpression" ,
2018-06-20 10:09:14 +02:00
"src" : "5178:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$" ,
"typeString" : "function (uint256) pure returns (address[] memory)"
} ,
"typeName" : {
"baseType" : {
2018-06-20 10:09:14 +02:00
"id" : 982 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "5182:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 983 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "5182:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 986 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-20 10:09:14 +02:00
"src" : "5178:26:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory" ,
"typeString" : "address[] memory"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5153:51:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 990 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 988 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 955 ,
"src" : "5248:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-20 10:09:14 +02:00
"id" : 989 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-20 10:09:14 +02:00
"src" : "5262:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-20 10:09:14 +02:00
"src" : "5248:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 991 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5248:15:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 996 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 992 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5273:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 993 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "5289:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 995 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 994 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "5297:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "5289:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5273:41:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 997 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5273:41:6"
2018-05-31 15:01:02 +02:00
} ,
{
"body" : {
2018-06-20 10:09:14 +02:00
"id" : 1016 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-06-20 10:09:14 +02:00
"src" : "5365:139:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1005 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1001 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 981 ,
"src" : "5379:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1003 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1002 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 955 ,
"src" : "5385:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "5379:18:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1004 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5400:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5379:34:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1006 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5379:34:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1011 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1007 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5427:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1008 ,
2018-05-31 15:01:02 +02:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 677 ,
"src" : "5443:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1010 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1009 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5451:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-20 10:09:14 +02:00
"src" : "5443:22:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5427:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1012 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5427:38:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1014 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-20 10:09:14 +02:00
"src" : "5479:14:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1013 ,
2018-05-31 15:01:02 +02:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 955 ,
"src" : "5479:11:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1015 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5479:14:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-20 10:09:14 +02:00
"id" : 1000 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 998 ,
2018-05-31 15:01:02 +02:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 959 ,
"src" : "5330:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 999 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 673 ,
"src" : "5347:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"src" : "5330:33:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 1017 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "WhileStatement" ,
2018-06-20 10:09:14 +02:00
"src" : "5324:180:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"id" : 1018 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-20 10:09:14 +02:00
"referencedDeclaration" : 981 ,
"src" : "5520:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-06-20 10:09:14 +02:00
"functionReturnParameters" : 953 ,
"id" : 1019 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Return" ,
2018-06-20 10:09:14 +02:00
"src" : "5513:12:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : "@dev Returns array of modules.\n @return Array of modules." ,
2018-06-20 10:09:14 +02:00
"id" : 1021 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getModules" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-20 10:09:14 +02:00
"id" : 949 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-20 10:09:14 +02:00
"src" : "4813:2:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-20 10:09:14 +02:00
"id" : 953 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-20 10:09:14 +02:00
"id" : 952 ,
2018-05-31 15:01:02 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-06-20 10:09:14 +02:00
"scope" : 1021 ,
"src" : "4861:9:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-06-20 10:09:14 +02:00
"id" : 950 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4861:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-20 10:09:14 +02:00
"id" : 951 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-20 10:09:14 +02:00
"src" : "4861:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "4860:11:6"
2018-05-31 15:01:02 +02:00
} ,
2018-06-20 10:09:14 +02:00
"scope" : 1022 ,
"src" : "4794:738:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-06-20 10:09:14 +02:00
"scope" : 1023 ,
"src" : "303:5231:6"
2018-05-31 15:01:02 +02:00
}
] ,
2018-06-20 10:09:14 +02:00
"src" : "0:5535:6"
2018-05-31 15:01:02 +02:00
} ,
"compiler" : {
"name" : "solc" ,
"version" : "0.4.24+commit.e67f0147.Emscripten.clang"
} ,
"networks" : { } ,
"schemaVersion" : "2.0.0" ,
2018-06-20 10:09:14 +02:00
"updatedAt" : "2018-06-20T07:57:27.009Z"
2018-05-31 15:01:02 +02:00
}