2018-05-31 13:01:02 +00: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 08:09:14 +00: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
2018-06-29 11:23:01 +00:00
"sourceMap" : "303:5231:9:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;303:5231:9;;;;;;;" ,
"deployedSourceMap" : "303:5231:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2841:429;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2841:429:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1311:459;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1311:459:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;499:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;499:55:9;;;;;;;;;;;;;;;;;;;;;;;;;;;401:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;401:46:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4794:738;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4794:738:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:9;;;;;;;;;;;;;;;;;2031:474;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2031:474:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;453:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;453:40:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1477:1:9;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:9;;;;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:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2245:1:9;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" ,
2018-06-20 08:09:14 +00:00
"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 13:01:02 +00: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-29 11:23:01 +00:00
2232
2018-05-31 13:01:02 +00:00
]
} ,
2018-06-29 11:23:01 +00:00
"id" : 2233 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-06-29 11:23:01 +00:00
"id" : 1863 ,
2018-05-31 13:01:02 +00:00
"literals" : [
"solidity" ,
"0.4" ,
".24"
] ,
"nodeType" : "PragmaDirective" ,
2018-06-29 11:23:01 +00:00
"src" : "0:23:9"
2018-05-31 13:01:02 +00:00
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol" ,
"file" : "./Module.sol" ,
2018-06-29 11:23:01 +00:00
"id" : 1864 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-06-29 11:23:01 +00:00
"scope" : 2233 ,
"sourceUnit" : 1862 ,
"src" : "24:22:9" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol" ,
"file" : "./MasterCopy.sol" ,
2018-06-29 11:23:01 +00:00
"id" : 1865 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-06-29 11:23:01 +00:00
"scope" : 2233 ,
2018-06-28 17:13:59 +00:00
"sourceUnit" : 633 ,
2018-06-29 11:23:01 +00:00
"src" : "47:26:9" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Enum.sol" ,
"file" : "./Enum.sol" ,
2018-06-29 11:23:01 +00:00
"id" : 1866 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-06-29 11:23:01 +00:00
"scope" : 2233 ,
2018-06-28 17:13:59 +00:00
"sourceUnit" : 31 ,
2018-06-29 11:23:01 +00:00
"src" : "74:20:9" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1867 ,
2018-05-31 13:01:02 +00:00
"name" : "SelfAuthorized" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3065 ,
"src" : "329:14:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_SelfAuthorized_$3065" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract SelfAuthorized"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1868 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-29 11:23:01 +00:00
"src" : "329:14:9"
2018-05-31 13:01:02 +00:00
}
] ,
"contractDependencies" : [
2018-06-29 11:23:01 +00:00
3065
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2232 ,
2018-05-31 13:01:02 +00:00
"linearizedBaseContracts" : [
2018-06-29 11:23:01 +00:00
2232 ,
3065
2018-05-31 13:01:02 +00:00
] ,
"name" : "ModuleManager" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"anonymous" : false ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1872 ,
2018-05-31 13:01:02 +00:00
"name" : "ContractCreation" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1871 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1870 ,
2018-05-31 13:01:02 +00:00
"indexed" : false ,
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 1872 ,
"src" : "374:19:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1869 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "374:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "373:21:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"src" : "351:44:9"
2018-05-31 13:01:02 +00:00
} ,
{
"constant" : true ,
2018-06-29 11:23:01 +00:00
"id" : 1875 ,
2018-05-31 13:01:02 +00:00
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "401:46:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1873 ,
2018-05-31 13:01:02 +00:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "401:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "4d6f64756c65204d616e61676572" ,
2018-06-29 11:23:01 +00:00
"id" : 1874 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "431:16:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_12aaa44a1bae367a1e1d9881f5d80283afded6373c2a1ca586db420944084efb" ,
"typeString" : "literal_string \"Module Manager\""
} ,
"value" : "Module Manager"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-06-29 11:23:01 +00:00
"id" : 1878 ,
2018-05-31 13:01:02 +00:00
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "453:40:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1876 ,
2018-05-31 13:01:02 +00:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "453:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
2018-06-29 11:23:01 +00:00
"id" : 1877 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "486:7:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-06-29 11:23:01 +00:00
"id" : 1883 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "499:55:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1879 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "499:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "307831" ,
2018-06-29 11:23:01 +00:00
"id" : 1881 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "550:3:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1880 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "542:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1882 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "542:12:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1887 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "561:45:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1886 ,
2018-05-31 13:01:02 +00:00
"keyType" : {
2018-06-29 11:23:01 +00:00
"id" : 1884 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "570:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
2018-06-29 11:23:01 +00:00
"src" : "561:28:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"valueType" : {
2018-06-29 11:23:01 +00:00
"id" : 1885 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "581:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 1890 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "721:8:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [ ]
} ,
"documentation" : "@dev Fallback function accepts Ether transactions." ,
2018-06-29 11:23:01 +00:00
"id" : 1891 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1888 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "681:2:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : true ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1889 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "721:0:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "672:57:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "payable" ,
"superFunction" : null ,
"visibility" : "external"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 1927 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "802:342:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1903 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1899 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "820:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1901 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1900 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "828:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "820:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 1902 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "849:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "820:30:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6f64756c6573206861766520616c7265616479206265656e20696e697469616c697a6564" ,
2018-06-29 11:23:01 +00:00
"id" : 1904 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "852:39:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1898 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "812:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1905 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "812:80:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1906 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "812:80:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1911 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1907 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "902:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1909 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1908 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "910:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "902:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1910 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "930:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "902:44:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1912 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "902:44:9"
2018-05-31 13:01:02 +00:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1915 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1913 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1893 ,
"src" : "960:2:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 1914 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "966:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "960:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1926 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "956:181:9" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1918 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1893 ,
"src" : "1081:2:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1919 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1895 ,
"src" : "1085:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-29 11:23:01 +00:00
"id" : 1920 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
"src" : "1091:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1921 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1091:9:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1917 ,
2018-05-31 13:01:02 +00:00
"name" : "executeDelegateCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2149 ,
"src" : "1061:19:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1922 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1061:40:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "436f756c64206e6f742066696e69736820696e697469616c697a6174696f6e" ,
2018-06-29 11:23:01 +00:00
"id" : 1923 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "1103:33:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1916 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "1053:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1924 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1053:84:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1925 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1053:84:9"
2018-05-31 13:01:02 +00:00
}
}
]
} ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1928 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setupModules" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1896 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1893 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 1928 ,
"src" : "757:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1892 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "757:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1895 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 1928 ,
"src" : "769:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1894 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "769:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "756:24:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1897 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "802:0:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "735:409:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 1973 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "1386:384:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1946 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1940 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1937 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1930 ,
"src" : "1466:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 1936 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "1458:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1938 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1458:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 1939 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "1477:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "1458:20:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1945 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1942 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1930 ,
"src" : "1490:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 1941 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "1482:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1943 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1482:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1944 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "1501:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1482:35:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1458:59:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206d6f64756c6520616464726573732070726f7669646564" ,
2018-06-29 11:23:01 +00:00
"id" : 1947 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "1519:33:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1935 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "1450:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1948 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1450:103:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1949 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1450:103:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1955 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1951 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "1612:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1953 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1952 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1930 ,
"src" : "1620:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "1612:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 1954 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "1631:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "1612:20:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6f64756c652068617320616c7265616479206265656e206164646564" ,
2018-06-29 11:23:01 +00:00
"id" : 1956 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "1634:31:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1950 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "1604:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1957 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1604:62:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1958 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1604:62:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1965 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1959 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "1676:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1961 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1960 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1930 ,
"src" : "1684:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "1676:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1962 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "1694:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1964 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1963 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "1702:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "1694:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1676:43:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1966 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1676:43:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1971 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1967 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "1729:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1969 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1968 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "1737:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "1729:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1970 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1930 ,
"src" : "1757:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1729:34:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1972 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1729:34:9"
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1974 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1933 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1932 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3064 ,
"src" : "1371:10:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-06-29 11:23:01 +00:00
"src" : "1371:10:9"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "enableModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1931 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1930 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 1974 ,
"src" : "1333:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1929 ,
2018-05-31 13:01:02 +00:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1861 ,
"src" : "1333:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "1332:15:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1934 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "1386:0:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "1311:459:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2023 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "2126:379:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
2018-06-20 08:09:14 +00:00
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1994 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1988 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1985 ,
2018-06-20 08:09:14 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1978 ,
"src" : "2234:6:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract Module"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 1984 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "2226:7:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1986 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "2226:15:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 1987 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "2245:1:9" ,
2018-06-20 08:09:14 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "2226:20:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1993 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1990 ,
2018-06-20 08:09:14 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1978 ,
"src" : "2258:6:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract Module"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 1989 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "2250:7:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1991 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "2250:15:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1992 ,
2018-06-20 08:09:14 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "2269:16:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2250:35:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2226:59:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206d6f64756c6520616464726573732070726f7669646564" ,
2018-06-29 11:23:01 +00:00
"id" : 1995 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "2287:33:9" ,
2018-06-20 08:09:14 +00: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-29 11:23:01 +00:00
"id" : 1983 ,
2018-06-20 08:09:14 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-06-20 08:09:14 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "2218:7:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1996 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "2218:103:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1997 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2218:103:9"
2018-06-20 08:09:14 +00:00
} ,
2018-05-31 13:01:02 +00:00
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2005 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1999 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "2339:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2001 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2000 ,
2018-05-31 13:01:02 +00:00
"name" : "prevModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1976 ,
"src" : "2347:10:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "2339:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2003 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1978 ,
"src" : "2370:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2002 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "2362:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2004 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "2362:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2339:38:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764d6f64756c652c206d6f64756c6520706169722070726f7669646564" ,
2018-06-29 11:23:01 +00:00
"id" : 2006 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "2379:42:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1998 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "2331:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2007 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "2331:91:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2008 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2331:91:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2015 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2009 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "2432:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2011 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2010 ,
2018-05-31 13:01:02 +00:00
"name" : "prevModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1976 ,
"src" : "2440:10:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "2432:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2012 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "2454:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2014 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2013 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1978 ,
"src" : "2462:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "2454:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2432:37:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2016 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2432:37:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2021 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2017 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "2479:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2019 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2018 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1978 ,
"src" : "2487:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "2479:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 2020 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "2497:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "2479:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2022 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2479:19:9"
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2024 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1981 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1980 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3064 ,
"src" : "2111:10:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-06-29 11:23:01 +00:00
"src" : "2111:10:9"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "disableModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1979 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1976 ,
2018-05-31 13:01:02 +00:00
"name" : "prevModule" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2024 ,
"src" : "2054:17:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1975 ,
2018-05-31 13:01:02 +00:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1861 ,
"src" : "2054:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1978 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2024 ,
"src" : "2073:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1977 ,
2018-05-31 13:01:02 +00:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1861 ,
"src" : "2073:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "2053:34:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1982 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "2126:0:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "2031:474:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2058 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "2991:279:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2043 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2038 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "3058:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2041 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2039 ,
2018-05-31 13:01:02 +00:00
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4036 ,
"src" : "3066:3:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2040 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "3066:10:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "3058:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 2042 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "3081:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "3058:24:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d20616e20656e61626c6564206d6f64756c65" ,
2018-06-29 11:23:01 +00:00
"id" : 2044 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "3084:50:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2037 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "3050:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2045 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3050:85:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2046 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3050:85:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2056 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2047 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2035 ,
"src" : "3207:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2049 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2026 ,
"src" : "3225:2:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2050 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2028 ,
"src" : "3229:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2051 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2030 ,
"src" : "3236:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2052 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2032 ,
"src" : "3242:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-29 11:23:01 +00:00
"id" : 2053 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
"src" : "3253:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2054 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3253:9:9" ,
2018-05-31 13:01:02 +00: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-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2048 ,
2018-05-31 13:01:02 +00:00
"name" : "execute" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2121 ,
"src" : "3217:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bool_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2055 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3217:46:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3207:56:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2057 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3207:56:9"
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2059 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execTransactionFromModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2033 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2026 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2059 ,
"src" : "2876:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2025 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2876:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2028 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2059 ,
"src" : "2888:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2027 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2888:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2030 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2059 ,
"src" : "2903:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2029 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2903:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2032 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2059 ,
"src" : "2915:24:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2031 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
2018-06-29 11:23:01 +00:00
"src" : "2915:14:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "2875:65:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2036 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2035 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2059 ,
"src" : "2973:12:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2034 ,
2018-05-31 13:01:02 +00:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2973:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "2972:14:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "2841:429:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2120 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "3425:399:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2078 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2074 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2067 ,
"src" : "3439:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2075 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 30 ,
2018-06-29 11:23:01 +00:00
"src" : "3452:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_type$_t_contract$_Enum_$30_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "type(contract Enum)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2076 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "Operation" ,
"nodeType" : "MemberAccess" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
2018-06-29 11:23:01 +00:00
"src" : "3452:14:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_type$_t_enum$_Operation_$29_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "type(enum Enum.Operation)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2077 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "Call" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "3452:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3439:32:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2092 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2088 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2067 ,
"src" : "3549:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2089 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 30 ,
2018-06-29 11:23:01 +00:00
"src" : "3562:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_type$_t_contract$_Enum_$30_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "type(contract Enum)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2090 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "Operation" ,
"nodeType" : "MemberAccess" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
2018-06-29 11:23:01 +00:00
"src" : "3562:14:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_type$_t_enum$_Operation_$29_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "type(enum Enum.Operation)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2091 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "DelegateCall" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "3562:27:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3549:40:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
2018-06-29 11:23:01 +00:00
"id" : 2117 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "3664:154:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-29 11:23:01 +00:00
2102
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2102 ,
2018-05-31 13:01:02 +00:00
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3678:19:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2101 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3678:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2106 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2104 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2065 ,
"src" : "3714:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2103 ,
2018-05-31 13:01:02 +00:00
"name" : "executeCreate" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2158 ,
"src" : "3700:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_address_$" ,
"typeString" : "function (bytes memory) returns (address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2105 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3700:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3678:41:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2111 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2107 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2072 ,
"src" : "3733:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2110 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2108 ,
2018-05-31 13:01:02 +00:00
"name" : "newContract" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2102 ,
"src" : "3743:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 2109 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "3758:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "3743:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3733:26:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2112 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3733:26:9"
2018-05-31 13:01:02 +00:00
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2114 ,
2018-05-31 13:01:02 +00:00
"name" : "newContract" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2102 ,
"src" : "3795:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2113 ,
2018-05-31 13:01:02 +00:00
"name" : "ContractCreation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1872 ,
"src" : "3778:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2115 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3778:29:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2116 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "EmitStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3773:34:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
2018-06-29 11:23:01 +00:00
"id" : 2118 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3545:273:9" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2099 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2093 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2072 ,
"src" : "3603:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2095 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2061 ,
"src" : "3633:2:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2096 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2065 ,
"src" : "3637:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2097 ,
2018-05-31 13:01:02 +00:00
"name" : "txGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2069 ,
"src" : "3643:5:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2094 ,
2018-05-31 13:01:02 +00:00
"name" : "executeDelegateCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2149 ,
"src" : "3613:19:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2098 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3613:36:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3603:46:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2100 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3603:46:9"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2119 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3435:383:9" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2086 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2079 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2072 ,
"src" : "3485:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2081 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2061 ,
"src" : "3507:2:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2082 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2063 ,
"src" : "3511:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2083 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2065 ,
"src" : "3518:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2084 ,
2018-05-31 13:01:02 +00:00
"name" : "txGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2069 ,
"src" : "3524:5:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2080 ,
2018-05-31 13:01:02 +00:00
"name" : "executeCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2136 ,
"src" : "3495:11:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2085 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3495:35:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3485:45:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2087 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3485:45:9"
2018-05-31 13:01:02 +00:00
}
}
]
} ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2121 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execute" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2070 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2061 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3293:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2060 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3293:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2063 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3305:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2062 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3305:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2065 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3320:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2064 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3320:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2067 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3332:24:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2066 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
2018-06-29 11:23:01 +00:00
"src" : "3332:14:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2069 ,
2018-05-31 13:01:02 +00:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3358:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2068 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3358:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "3292:80:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2073 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2072 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3407:12:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2071 ,
2018-05-31 13:01:02 +00:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3407:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "3406:14:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "3276:548:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2135 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "3957:182:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"externalReferences" : [
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2127 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4111:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2127 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4092:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"success" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2132 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4054:7:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"txGas" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2129 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4070:5:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"to" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2123 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4077:2:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"value" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2125 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4081:5:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2134 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n success := call(txGas, to, value, add(data, 0x20), mload(data), 0, 0)\n}" ,
2018-06-29 11:23:01 +00:00
"src" : "4031:108:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2136 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeCall" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2130 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2123 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2136 ,
"src" : "3851:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2122 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3851:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2125 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2136 ,
"src" : "3863:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2124 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3863:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2127 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2136 ,
"src" : "3878:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2126 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3878:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2129 ,
2018-05-31 13:01:02 +00:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2136 ,
"src" : "3890:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2128 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3890:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "3850:54:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2133 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2132 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2136 ,
"src" : "3939:12:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2131 ,
2018-05-31 13:01:02 +00:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3939:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "3938:14:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "3830:309:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2148 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "4265:183:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"externalReferences" : [
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2140 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4420:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2140 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4401:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"success" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2145 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4362:7:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"txGas" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2142 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4386:5:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"to" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2138 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4393:2:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2147 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n success := delegatecall(txGas, to, add(data, 0x20), mload(data), 0, 0)\n}" ,
2018-06-29 11:23:01 +00:00
"src" : "4339:109:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2149 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeDelegateCall" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2143 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2138 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2149 ,
"src" : "4174:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2137 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4174:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2140 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2149 ,
"src" : "4186:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2139 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4186:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2142 ,
2018-05-31 13:01:02 +00:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2149 ,
"src" : "4198:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2141 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4198:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "4173:39:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2146 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2145 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2149 ,
"src" : "4247:12:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2144 ,
2018-05-31 13:01:02 +00:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4247:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "4246:14:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "4145:303:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2157 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "4548:167:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"externalReferences" : [
{
"newContract" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2154 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4645:11:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2151 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4674:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2151 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4693:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2156 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n newContract := create(0, add(data, 0x20), mload(data))\n}" ,
2018-06-29 11:23:01 +00:00
"src" : "4622:93:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2158 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeCreate" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2152 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2151 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2158 ,
"src" : "4477:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2150 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4477:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "4476:12:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2155 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2154 ,
2018-05-31 13:01:02 +00:00
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2158 ,
"src" : "4523:19:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2153 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4523:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "4522:21:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "4454:261:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2230 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "4876:656:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-29 11:23:01 +00:00
2165
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2165 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2231 ,
"src" : "4920:19:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2164 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4920:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2167 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 2166 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "4942:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4920:23:9"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-06-29 11:23:01 +00:00
2169
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2169 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2231 ,
"src" : "4953:21:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2168 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4953:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2173 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2170 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "4977:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2172 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2171 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "4985:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "4977:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4953:49:9"
2018-05-31 13:01:02 +00:00
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2186 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5053:91:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2181 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2177 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5067:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2178 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "5083:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2180 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2179 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5091:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "5083:22:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5067:38:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2182 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5067:38:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2184 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-29 11:23:01 +00:00
"src" : "5119:14:9" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2183 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2165 ,
"src" : "5119:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2185 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5119:14:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2176 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2174 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5018:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2175 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "5035:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5018:33:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2187 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "WhileStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5012:132:9"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-06-29 11:23:01 +00:00
2191
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2191 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2231 ,
"src" : "5153:22:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-06-29 11:23:01 +00:00
"id" : 2189 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5153:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2190 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5153:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2197 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2195 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2165 ,
"src" : "5192:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2194 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "NewExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "5178:13:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2192 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5182:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2193 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5182:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2196 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "5178:26:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory" ,
"typeString" : "address[] memory"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5153:51:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2200 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2198 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2165 ,
"src" : "5248:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 2199 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "5262:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "5248:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2201 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5248:15:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2206 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2202 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5273:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2203 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "5289:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2205 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2204 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "5297:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "5289:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5273:41:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2207 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5273:41:9"
2018-05-31 13:01:02 +00:00
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2226 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5365:139:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2215 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2211 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2191 ,
"src" : "5379:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2213 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2212 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2165 ,
"src" : "5385:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "5379:18:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2214 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5400:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5379:34:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2216 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5379:34:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2221 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2217 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5427:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2218 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "5443:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2220 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2219 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5451:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "5443:22:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5427:38:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2222 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5427:38:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2224 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-29 11:23:01 +00:00
"src" : "5479:14:9" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2223 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2165 ,
"src" : "5479:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2225 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5479:14:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2210 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2208 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5330:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2209 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "5347:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5330:33:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2227 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "WhileStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5324:180:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2228 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2191 ,
"src" : "5520:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-06-29 11:23:01 +00:00
"functionReturnParameters" : 2163 ,
"id" : 2229 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Return" ,
2018-06-29 11:23:01 +00:00
"src" : "5513:12:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : "@dev Returns array of modules.\n @return Array of modules." ,
2018-06-29 11:23:01 +00:00
"id" : 2231 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getModules" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2159 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "4813:2:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2163 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2162 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2231 ,
"src" : "4861:9:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-06-29 11:23:01 +00:00
"id" : 2160 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4861:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2161 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4861:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "4860:11:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "4794:738:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-06-29 11:23:01 +00:00
"scope" : 2233 ,
"src" : "303:5231:9"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "0:5535:9"
2018-05-31 13:01:02 +00:00
} ,
"legacyAST" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/ModuleManager.sol" ,
"exportedSymbols" : {
"ModuleManager" : [
2018-06-29 11:23:01 +00:00
2232
2018-05-31 13:01:02 +00:00
]
} ,
2018-06-29 11:23:01 +00:00
"id" : 2233 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-06-29 11:23:01 +00:00
"id" : 1863 ,
2018-05-31 13:01:02 +00:00
"literals" : [
"solidity" ,
"0.4" ,
".24"
] ,
"nodeType" : "PragmaDirective" ,
2018-06-29 11:23:01 +00:00
"src" : "0:23:9"
2018-05-31 13:01:02 +00:00
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol" ,
"file" : "./Module.sol" ,
2018-06-29 11:23:01 +00:00
"id" : 1864 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-06-29 11:23:01 +00:00
"scope" : 2233 ,
"sourceUnit" : 1862 ,
"src" : "24:22:9" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol" ,
"file" : "./MasterCopy.sol" ,
2018-06-29 11:23:01 +00:00
"id" : 1865 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-06-29 11:23:01 +00:00
"scope" : 2233 ,
2018-06-28 17:13:59 +00:00
"sourceUnit" : 633 ,
2018-06-29 11:23:01 +00:00
"src" : "47:26:9" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Enum.sol" ,
"file" : "./Enum.sol" ,
2018-06-29 11:23:01 +00:00
"id" : 1866 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-06-29 11:23:01 +00:00
"scope" : 2233 ,
2018-06-28 17:13:59 +00:00
"sourceUnit" : 31 ,
2018-06-29 11:23:01 +00:00
"src" : "74:20:9" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1867 ,
2018-05-31 13:01:02 +00:00
"name" : "SelfAuthorized" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3065 ,
"src" : "329:14:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_SelfAuthorized_$3065" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract SelfAuthorized"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1868 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-29 11:23:01 +00:00
"src" : "329:14:9"
2018-05-31 13:01:02 +00:00
}
] ,
"contractDependencies" : [
2018-06-29 11:23:01 +00:00
3065
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2232 ,
2018-05-31 13:01:02 +00:00
"linearizedBaseContracts" : [
2018-06-29 11:23:01 +00:00
2232 ,
3065
2018-05-31 13:01:02 +00:00
] ,
"name" : "ModuleManager" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"anonymous" : false ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1872 ,
2018-05-31 13:01:02 +00:00
"name" : "ContractCreation" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1871 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1870 ,
2018-05-31 13:01:02 +00:00
"indexed" : false ,
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 1872 ,
"src" : "374:19:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1869 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "374:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "373:21:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"src" : "351:44:9"
2018-05-31 13:01:02 +00:00
} ,
{
"constant" : true ,
2018-06-29 11:23:01 +00:00
"id" : 1875 ,
2018-05-31 13:01:02 +00:00
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "401:46:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1873 ,
2018-05-31 13:01:02 +00:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "401:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "4d6f64756c65204d616e61676572" ,
2018-06-29 11:23:01 +00:00
"id" : 1874 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "431:16:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_12aaa44a1bae367a1e1d9881f5d80283afded6373c2a1ca586db420944084efb" ,
"typeString" : "literal_string \"Module Manager\""
} ,
"value" : "Module Manager"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-06-29 11:23:01 +00:00
"id" : 1878 ,
2018-05-31 13:01:02 +00:00
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "453:40:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1876 ,
2018-05-31 13:01:02 +00:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "453:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
2018-06-29 11:23:01 +00:00
"id" : 1877 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "486:7:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-06-29 11:23:01 +00:00
"id" : 1883 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "499:55:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1879 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "499:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "307831" ,
2018-06-29 11:23:01 +00:00
"id" : 1881 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "550:3:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1880 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "542:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1882 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "542:12:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1887 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "561:45:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1886 ,
2018-05-31 13:01:02 +00:00
"keyType" : {
2018-06-29 11:23:01 +00:00
"id" : 1884 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "570:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
2018-06-29 11:23:01 +00:00
"src" : "561:28:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"valueType" : {
2018-06-29 11:23:01 +00:00
"id" : 1885 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "581:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 1890 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "721:8:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [ ]
} ,
"documentation" : "@dev Fallback function accepts Ether transactions." ,
2018-06-29 11:23:01 +00:00
"id" : 1891 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1888 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "681:2:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : true ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1889 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "721:0:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "672:57:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "payable" ,
"superFunction" : null ,
"visibility" : "external"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 1927 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "802:342:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1903 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1899 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "820:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1901 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1900 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "828:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "820:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 1902 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "849:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "820:30:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6f64756c6573206861766520616c7265616479206265656e20696e697469616c697a6564" ,
2018-06-29 11:23:01 +00:00
"id" : 1904 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "852:39:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1898 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "812:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1905 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "812:80:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1906 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "812:80:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1911 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1907 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "902:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1909 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1908 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "910:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "902:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1910 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "930:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "902:44:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1912 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "902:44:9"
2018-05-31 13:01:02 +00:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1915 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1913 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1893 ,
"src" : "960:2:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 1914 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "966:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "960:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1926 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "956:181:9" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1918 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1893 ,
"src" : "1081:2:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1919 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1895 ,
"src" : "1085:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-29 11:23:01 +00:00
"id" : 1920 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
"src" : "1091:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1921 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1091:9:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1917 ,
2018-05-31 13:01:02 +00:00
"name" : "executeDelegateCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2149 ,
"src" : "1061:19:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1922 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1061:40:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "436f756c64206e6f742066696e69736820696e697469616c697a6174696f6e" ,
2018-06-29 11:23:01 +00:00
"id" : 1923 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "1103:33:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1916 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "1053:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1924 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1053:84:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1925 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1053:84:9"
2018-05-31 13:01:02 +00:00
}
}
]
} ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1928 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setupModules" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1896 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1893 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 1928 ,
"src" : "757:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1892 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "757:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1895 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 1928 ,
"src" : "769:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 1894 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "769:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "756:24:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1897 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "802:0:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "735:409:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 1973 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "1386:384:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1946 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1940 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1937 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1930 ,
"src" : "1466:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 1936 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "1458:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1938 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1458:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 1939 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "1477:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "1458:20:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1945 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1942 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1930 ,
"src" : "1490:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 1941 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "1482:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1943 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1482:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1944 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "1501:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1482:35:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1458:59:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206d6f64756c6520616464726573732070726f7669646564" ,
2018-06-29 11:23:01 +00:00
"id" : 1947 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "1519:33:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1935 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "1450:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1948 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1450:103:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1949 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1450:103:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1955 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1951 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "1612:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1953 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1952 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1930 ,
"src" : "1620:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "1612:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 1954 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "1631:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "1612:20:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6f64756c652068617320616c7265616479206265656e206164646564" ,
2018-06-29 11:23:01 +00:00
"id" : 1956 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "1634:31:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1950 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "1604:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1957 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "1604:62:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1958 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1604:62:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1965 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1959 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "1676:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1961 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1960 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1930 ,
"src" : "1684:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "1676:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1962 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "1694:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1964 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1963 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "1702:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "1694:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1676:43:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1966 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1676:43:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1971 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1967 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "1729:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1969 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1968 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "1737:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "1729:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1970 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1930 ,
"src" : "1757:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1729:34:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1972 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1729:34:9"
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1974 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1933 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1932 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3064 ,
"src" : "1371:10:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-06-29 11:23:01 +00:00
"src" : "1371:10:9"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "enableModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1931 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1930 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 1974 ,
"src" : "1333:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1929 ,
2018-05-31 13:01:02 +00:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1861 ,
"src" : "1333:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "1332:15:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1934 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "1386:0:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "1311:459:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2023 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "2126:379:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
2018-06-20 08:09:14 +00:00
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1994 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1988 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1985 ,
2018-06-20 08:09:14 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1978 ,
"src" : "2234:6:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract Module"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 1984 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "2226:7:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1986 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "2226:15:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 1987 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "2245:1:9" ,
2018-06-20 08:09:14 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "2226:20:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1993 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1990 ,
2018-06-20 08:09:14 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1978 ,
"src" : "2258:6:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract Module"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 1989 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "2250:7:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 1991 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "2250:15:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1992 ,
2018-06-20 08:09:14 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "2269:16:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2250:35:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2226:59:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206d6f64756c6520616464726573732070726f7669646564" ,
2018-06-29 11:23:01 +00:00
"id" : 1995 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "2287:33:9" ,
2018-06-20 08:09:14 +00: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-29 11:23:01 +00:00
"id" : 1983 ,
2018-06-20 08:09:14 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-06-20 08:09:14 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "2218:7:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1996 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "2218:103:9" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 1997 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2218:103:9"
2018-06-20 08:09:14 +00:00
} ,
2018-05-31 13:01:02 +00:00
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2005 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1999 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "2339:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2001 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2000 ,
2018-05-31 13:01:02 +00:00
"name" : "prevModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1976 ,
"src" : "2347:10:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "2339:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2003 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1978 ,
"src" : "2370:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2002 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "2362:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2004 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "2362:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2339:38:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764d6f64756c652c206d6f64756c6520706169722070726f7669646564" ,
2018-06-29 11:23:01 +00:00
"id" : 2006 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "2379:42:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 1998 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "2331:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2007 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "2331:91:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2008 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2331:91:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2015 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2009 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "2432:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2011 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2010 ,
2018-05-31 13:01:02 +00:00
"name" : "prevModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1976 ,
"src" : "2440:10:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "2432:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2012 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "2454:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2014 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2013 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1978 ,
"src" : "2462:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "2454:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2432:37:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2016 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2432:37:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2021 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2017 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "2479:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2019 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2018 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1978 ,
"src" : "2487:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "2479:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 2020 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "2497:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "2479:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2022 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2479:19:9"
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2024 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1981 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1980 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3064 ,
"src" : "2111:10:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-06-29 11:23:01 +00:00
"src" : "2111:10:9"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "disableModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1979 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1976 ,
2018-05-31 13:01:02 +00:00
"name" : "prevModule" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2024 ,
"src" : "2054:17:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1975 ,
2018-05-31 13:01:02 +00:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1861 ,
"src" : "2054:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 1978 ,
2018-05-31 13:01:02 +00:00
"name" : "module" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2024 ,
"src" : "2073:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 1977 ,
2018-05-31 13:01:02 +00:00
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1861 ,
"src" : "2073:6:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_Module_$1861" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract Module"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "2053:34:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 1982 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "2126:0:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "2031:474:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2058 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "2991:279:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2043 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2038 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "3058:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2041 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2039 ,
2018-05-31 13:01:02 +00:00
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4036 ,
"src" : "3066:3:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2040 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "3066:10:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "3058:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 2042 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "3081:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "3058:24:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d20616e20656e61626c6564206d6f64756c65" ,
2018-06-29 11:23:01 +00:00
"id" : 2044 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "3084:50:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2037 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
"src" : "3050:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2045 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3050:85:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2046 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3050:85:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2056 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2047 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2035 ,
"src" : "3207:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2049 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2026 ,
"src" : "3225:2:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2050 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2028 ,
"src" : "3229:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2051 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2030 ,
"src" : "3236:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2052 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2032 ,
"src" : "3242:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-29 11:23:01 +00:00
"id" : 2053 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
"src" : "3253:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2054 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3253:9:9" ,
2018-05-31 13:01:02 +00: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-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2048 ,
2018-05-31 13:01:02 +00:00
"name" : "execute" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2121 ,
"src" : "3217:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bool_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2055 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3217:46:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3207:56:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2057 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3207:56:9"
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2059 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execTransactionFromModule" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2033 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2026 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2059 ,
"src" : "2876:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2025 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2876:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2028 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2059 ,
"src" : "2888:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2027 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2888:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2030 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2059 ,
"src" : "2903:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2029 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2903:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2032 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2059 ,
"src" : "2915:24:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2031 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
2018-06-29 11:23:01 +00:00
"src" : "2915:14:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "2875:65:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2036 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2035 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2059 ,
"src" : "2973:12:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2034 ,
2018-05-31 13:01:02 +00:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2973:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "2972:14:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "2841:429:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2120 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "3425:399:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2078 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2074 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2067 ,
"src" : "3439:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2075 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 30 ,
2018-06-29 11:23:01 +00:00
"src" : "3452:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_type$_t_contract$_Enum_$30_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "type(contract Enum)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2076 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "Operation" ,
"nodeType" : "MemberAccess" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
2018-06-29 11:23:01 +00:00
"src" : "3452:14:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_type$_t_enum$_Operation_$29_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "type(enum Enum.Operation)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2077 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "Call" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "3452:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3439:32:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2092 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2088 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2067 ,
"src" : "3549:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2089 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 30 ,
2018-06-29 11:23:01 +00:00
"src" : "3562:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_type$_t_contract$_Enum_$30_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "type(contract Enum)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2090 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "Operation" ,
"nodeType" : "MemberAccess" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
2018-06-29 11:23:01 +00:00
"src" : "3562:14:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_type$_t_enum$_Operation_$29_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "type(enum Enum.Operation)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2091 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "DelegateCall" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "3562:27:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3549:40:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
2018-06-29 11:23:01 +00:00
"id" : 2117 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "3664:154:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-29 11:23:01 +00:00
2102
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2102 ,
2018-05-31 13:01:02 +00:00
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3678:19:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2101 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3678:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2106 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2104 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2065 ,
"src" : "3714:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2103 ,
2018-05-31 13:01:02 +00:00
"name" : "executeCreate" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2158 ,
"src" : "3700:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_address_$" ,
"typeString" : "function (bytes memory) returns (address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2105 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3700:19:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3678:41:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2111 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2107 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2072 ,
"src" : "3733:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2110 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2108 ,
2018-05-31 13:01:02 +00:00
"name" : "newContract" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2102 ,
"src" : "3743:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 2109 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "3758:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "3743:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3733:26:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2112 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3733:26:9"
2018-05-31 13:01:02 +00:00
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2114 ,
2018-05-31 13:01:02 +00:00
"name" : "newContract" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2102 ,
"src" : "3795:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2113 ,
2018-05-31 13:01:02 +00:00
"name" : "ContractCreation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1872 ,
"src" : "3778:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2115 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3778:29:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2116 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "EmitStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3773:34:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
2018-06-29 11:23:01 +00:00
"id" : 2118 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3545:273:9" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2099 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2093 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2072 ,
"src" : "3603:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2095 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2061 ,
"src" : "3633:2:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2096 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2065 ,
"src" : "3637:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2097 ,
2018-05-31 13:01:02 +00:00
"name" : "txGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2069 ,
"src" : "3643:5:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2094 ,
2018-05-31 13:01:02 +00:00
"name" : "executeDelegateCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2149 ,
"src" : "3613:19:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2098 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3613:36:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3603:46:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2100 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3603:46:9"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2119 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3435:383:9" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2086 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2079 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2072 ,
"src" : "3485:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2081 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2061 ,
"src" : "3507:2:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2082 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2063 ,
"src" : "3511:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2083 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2065 ,
"src" : "3518:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2084 ,
2018-05-31 13:01:02 +00:00
"name" : "txGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2069 ,
"src" : "3524:5:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2080 ,
2018-05-31 13:01:02 +00:00
"name" : "executeCall" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2136 ,
"src" : "3495:11:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2085 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "3495:35:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3485:45:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2087 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3485:45:9"
2018-05-31 13:01:02 +00:00
}
}
]
} ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2121 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execute" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2070 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2061 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3293:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2060 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3293:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2063 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3305:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2062 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3305:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2065 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3320:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2064 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3320:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2067 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3332:24:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2066 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
2018-06-29 11:23:01 +00:00
"src" : "3332:14:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2069 ,
2018-05-31 13:01:02 +00:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3358:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2068 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3358:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "3292:80:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2073 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2072 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2121 ,
"src" : "3407:12:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2071 ,
2018-05-31 13:01:02 +00:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3407:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "3406:14:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "3276:548:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2135 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "3957:182:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"externalReferences" : [
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2127 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4111:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2127 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4092:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"success" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2132 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4054:7:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"txGas" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2129 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4070:5:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"to" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2123 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4077:2:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"value" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2125 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4081:5:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2134 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n success := call(txGas, to, value, add(data, 0x20), mload(data), 0, 0)\n}" ,
2018-06-29 11:23:01 +00:00
"src" : "4031:108:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2136 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeCall" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2130 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2123 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2136 ,
"src" : "3851:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2122 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3851:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2125 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2136 ,
"src" : "3863:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2124 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3863:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2127 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2136 ,
"src" : "3878:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2126 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3878:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2129 ,
2018-05-31 13:01:02 +00:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2136 ,
"src" : "3890:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2128 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3890:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "3850:54:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2133 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2132 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2136 ,
"src" : "3939:12:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2131 ,
2018-05-31 13:01:02 +00:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3939:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "3938:14:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "3830:309:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2148 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "4265:183:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"externalReferences" : [
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2140 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4420:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2140 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4401:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"success" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2145 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4362:7:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"txGas" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2142 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4386:5:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"to" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2138 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4393:2:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2147 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n success := delegatecall(txGas, to, add(data, 0x20), mload(data), 0, 0)\n}" ,
2018-06-29 11:23:01 +00:00
"src" : "4339:109:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2149 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeDelegateCall" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2143 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2138 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2149 ,
"src" : "4174:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2137 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4174:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2140 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2149 ,
"src" : "4186:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2139 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4186:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2142 ,
2018-05-31 13:01:02 +00:00
"name" : "txGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2149 ,
"src" : "4198:13:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2141 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4198:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "4173:39:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2146 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2145 ,
2018-05-31 13:01:02 +00:00
"name" : "success" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2149 ,
"src" : "4247:12:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2144 ,
2018-05-31 13:01:02 +00:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4247:4:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "4246:14:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "4145:303:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2157 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "4548:167:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"externalReferences" : [
{
"newContract" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2154 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4645:11:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2151 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4674:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
} ,
{
"data" : {
2018-06-29 11:23:01 +00:00
"declaration" : 2151 ,
2018-05-31 13:01:02 +00:00
"isOffset" : false ,
"isSlot" : false ,
2018-06-29 11:23:01 +00:00
"src" : "4693:4:9" ,
2018-05-31 13:01:02 +00:00
"valueSize" : 1
}
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2156 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InlineAssembly" ,
"operations" : "{\n newContract := create(0, add(data, 0x20), mload(data))\n}" ,
2018-06-29 11:23:01 +00:00
"src" : "4622:93:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2158 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeCreate" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2152 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2151 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2158 ,
"src" : "4477:10:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2150 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4477:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "4476:12:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2155 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2154 ,
2018-05-31 13:01:02 +00:00
"name" : "newContract" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2158 ,
"src" : "4523:19:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2153 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4523:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "4522:21:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "4454:261:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2230 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "4876:656:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-29 11:23:01 +00:00
2165
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2165 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2231 ,
"src" : "4920:19:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2164 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4920:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2167 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 2166 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "4942:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4920:23:9"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-06-29 11:23:01 +00:00
2169
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2169 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2231 ,
"src" : "4953:21:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-29 11:23:01 +00:00
"id" : 2168 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4953:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2173 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2170 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "4977:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2172 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2171 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "4985:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "4977:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4953:49:9"
2018-05-31 13:01:02 +00:00
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2186 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5053:91:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2181 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2177 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5067:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2178 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "5083:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2180 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2179 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5091:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "5083:22:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5067:38:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2182 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5067:38:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2184 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-29 11:23:01 +00:00
"src" : "5119:14:9" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2183 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2165 ,
"src" : "5119:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2185 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5119:14:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2176 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2174 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5018:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2175 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "5035:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5018:33:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2187 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "WhileStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5012:132:9"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-06-29 11:23:01 +00:00
2191
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2191 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2231 ,
"src" : "5153:22:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-06-29 11:23:01 +00:00
"id" : 2189 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5153:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2190 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5153:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2197 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2195 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2165 ,
"src" : "5192:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-29 11:23:01 +00:00
"id" : 2194 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "NewExpression" ,
2018-06-29 11:23:01 +00:00
"src" : "5178:13:9" ,
2018-05-31 13:01:02 +00: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-29 11:23:01 +00:00
"id" : 2192 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5182:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2193 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5182:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2196 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-29 11:23:01 +00:00
"src" : "5178:26:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory" ,
"typeString" : "address[] memory"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5153:51:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2200 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2198 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2165 ,
"src" : "5248:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-29 11:23:01 +00:00
"id" : 2199 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-29 11:23:01 +00:00
"src" : "5262:1:9" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-29 11:23:01 +00:00
"src" : "5248:15:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2201 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5248:15:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2206 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2202 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5273:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2203 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "5289:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2205 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2204 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "5297:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "5289:25:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5273:41:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2207 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5273:41:9"
2018-05-31 13:01:02 +00:00
} ,
{
"body" : {
2018-06-29 11:23:01 +00:00
"id" : 2226 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5365:139:9" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2215 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2211 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2191 ,
"src" : "5379:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2213 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2212 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2165 ,
"src" : "5385:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "5379:18:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2214 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5400:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5379:34:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2216 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5379:34:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2221 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2217 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5427:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2218 ,
2018-05-31 13:01:02 +00:00
"name" : "modules" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1887 ,
"src" : "5443:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2220 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2219 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5451:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "5443:22:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5427:38:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2222 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5427:38:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2224 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-29 11:23:01 +00:00
"src" : "5479:14:9" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2223 ,
2018-05-31 13:01:02 +00:00
"name" : "moduleCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2165 ,
"src" : "5479:11:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2225 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5479:14:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-29 11:23:01 +00:00
"id" : 2210 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2208 ,
2018-05-31 13:01:02 +00:00
"name" : "currentModule" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2169 ,
"src" : "5330:13:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2209 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_MODULES" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 1883 ,
"src" : "5347:16:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5330:33:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2227 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "WhileStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5324:180:9"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-29 11:23:01 +00:00
"id" : 2228 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2191 ,
"src" : "5520:5:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-06-29 11:23:01 +00:00
"functionReturnParameters" : 2163 ,
"id" : 2229 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Return" ,
2018-06-29 11:23:01 +00:00
"src" : "5513:12:9"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : "@dev Returns array of modules.\n @return Array of modules." ,
2018-06-29 11:23:01 +00:00
"id" : 2231 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getModules" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2159 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "4813:2:9"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-29 11:23:01 +00:00
"id" : 2163 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-29 11:23:01 +00:00
"id" : 2162 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-06-29 11:23:01 +00:00
"scope" : 2231 ,
"src" : "4861:9:9" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-06-29 11:23:01 +00:00
"id" : 2160 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4861:7:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"id" : 2161 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4861:9:9" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "4860:11:9"
2018-05-31 13:01:02 +00:00
} ,
2018-06-29 11:23:01 +00:00
"scope" : 2232 ,
"src" : "4794:738:9" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-06-29 11:23:01 +00:00
"scope" : 2233 ,
"src" : "303:5231:9"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "0:5535:9"
2018-05-31 13:01:02 +00:00
} ,
"compiler" : {
"name" : "solc" ,
"version" : "0.4.24+commit.e67f0147.Emscripten.clang"
} ,
"networks" : { } ,
2018-06-29 11:23:01 +00:00
"schemaVersion" : "2.0.0" ,
"updatedAt" : "2018-06-29T09:01:22.064Z"
2018-05-31 13:01:02 +00:00
}