2018-05-31 13:01:02 +00:00
{
"contractName" : "OwnerManager" ,
"abi" : [
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "SENTINEL_OWNERS" ,
"outputs" : [
{
"name" : "" ,
"type" : "address"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "owner" ,
"type" : "address"
} ,
{
"name" : "_threshold" ,
2018-06-28 17:13:59 +00:00
"type" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "addOwnerWithThreshold" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "prevOwner" ,
"type" : "address"
} ,
{
"name" : "owner" ,
"type" : "address"
} ,
{
"name" : "_threshold" ,
2018-06-28 17:13:59 +00:00
"type" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "removeOwner" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "prevOwner" ,
"type" : "address"
} ,
{
"name" : "oldOwner" ,
"type" : "address"
} ,
{
"name" : "newOwner" ,
"type" : "address"
}
] ,
"name" : "swapOwner" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "_threshold" ,
2018-06-28 17:13:59 +00:00
"type" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "changeThreshold" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "getThreshold" ,
"outputs" : [
{
"name" : "" ,
2018-06-28 17:13:59 +00:00
"type" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [
{
"name" : "owner" ,
"type" : "address"
}
] ,
"name" : "isOwner" ,
"outputs" : [
{
"name" : "" ,
"type" : "bool"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "getOwners" ,
"outputs" : [
{
"name" : "" ,
"type" : "address[]"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
}
] ,
2018-06-28 17:13:59 +00:00
"bytecode" : " 0 x 608060405234801561001057600080 f d 5 b 506116 d 6806100206000396000 f 30060806040526004361061008e576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 1680630 d 582 f 13146100935780632 f 54 b f 6e146100 e 0 578063694e80 c 31461013 b 5780638 c f f 635514610168578063 a 0e67 e 2 b 146101 b f 578063e318 b 52 b 1461022 b 578063e75235 b 8146102 a e 578063 f 8 d c 5 d d 9146102 d 9575 b 600080 f d 5 b 34801561009 f 57600080 f d 5 b 506100 d e 600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190505050610346565 b 0 0 5 b 3480156100 e c 57600080 f d 5 b 50610121600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190505050610748565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561014757600080 f d 5 b 50610166600480360381019080803590602001909291905050506107 c 9565 b 0 0 5 b 34801561017457600080 f d 5 b 5061017 d 6109 d 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 3480156101 c b 57600080 f d 5 b 506101 d 46109e0565 b 6040518080602001828103825283818151815260200191508051906020019060200280838360005 b 838110156102175780820151818401526020810190506101 f c 565 b 505050509050019250505060405180910390 f 35 b 34801561023757600080 f d 5 b 506102 a c 600480360381019080803573 f f f f f f f f f f f f f f f f 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 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 79565 b 0 0 5 b 3480156102 b a 57600080 f d 5 b 506102 c 36111 c 0 565 b 6040518082815260200191505060405180910390 f 35 b 3480156102e557600080 f d 5 b 50610344600480360381019080803573 f f f f f f f f f f f f f f f f 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 169060200190929190803590602001909291905050506111 c a 565 b 0 0 5 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 1614151561040 f 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 60008273 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16141580156104635750600173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 168273 f f f f f f f f f f f f f f f f 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 15156104 d 7576040517 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 815260040180806020018281038252601e8152602001807 f 496e76616 c 6964206 f 776e657220616464726573732070726 f 7669646564000081525060200191505060405180910390 f d 5 b 60008060008473 f f f f f f f f f f f f f f f f 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 161415156105 c 3576040517 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 b 8152602001807 f 4164647265737320697320616 c 726561647920616e206 f 776e6572000000000081525060200191505060405180910390 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 166000808473 f f f f f f f f f f f f f f f f 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 16815260200190815260200160002060006101000 a 81548173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 0 21916908373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16021790555081600080600173 f f f f f f f f f f f f f f f f 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 16815260200190815260200160002060006101000 a 81548173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 0 21916908373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1602179055506001600081548092919060010191905055508060025414151561074457610743816107 c 9565 b 5 b 5050565 b 6000806000808473 f f f f f f f f f f f f f f f f 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 1614159050919050565 b 3073 f f f f f f f f f f f f f f f f f f f f f f
"deployedBytecode" : " 0 x 60806040526004361061008e576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 1680630 d 582 f 13146100935780632 f 54 b f 6e146100 e 0 578063694e80 c 31461013 b 5780638 c f f 635514610168578063 a 0e67 e 2 b 146101 b f 578063e318 b 52 b 1461022 b 578063e75235 b 8146102 a e 578063 f 8 d c 5 d d 9146102 d 9575 b 600080 f d 5 b 34801561009 f 57600080 f d 5 b 506100 d e 600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190505050610346565 b 0 0 5 b 3480156100 e c 57600080 f d 5 b 50610121600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190505050610748565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561014757600080 f d 5 b 50610166600480360381019080803590602001909291905050506107 c 9565 b 0 0 5 b 34801561017457600080 f d 5 b 5061017 d 6109 d 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 3480156101 c b 57600080 f d 5 b 506101 d 46109e0565 b 6040518080602001828103825283818151815260200191508051906020019060200280838360005 b 838110156102175780820151818401526020810190506101 f c 565 b 505050509050019250505060405180910390 f 35 b 34801561023757600080 f d 5 b 506102 a c 600480360381019080803573 f f f f f f f f f f f f f f f f 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 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 79565 b 0 0 5 b 3480156102 b a 57600080 f d 5 b 506102 c 36111 c 0 565 b 6040518082815260200191505060405180910390 f 35 b 3480156102e557600080 f d 5 b 50610344600480360381019080803573 f f f f f f f f f f f f f f f f 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 169060200190929190803590602001909291905050506111 c a 565 b 0 0 5 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 1614151561040 f 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 60008273 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16141580156104635750600173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 168273 f f f f f f f f f f f f f f f f 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 15156104 d 7576040517 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 815260040180806020018281038252601e8152602001807 f 496e76616 c 6964206 f 776e657220616464726573732070726 f 7669646564000081525060200191505060405180910390 f d 5 b 60008060008473 f f f f f f f f f f f f f f f f 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 161415156105 c 3576040517 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 b 8152602001807 f 4164647265737320697320616 c 726561647920616e206 f 776e6572000000000081525060200191505060405180910390 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 166000808473 f f f f f f f f f f f f f f f f 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 16815260200190815260200160002060006101000 a 81548173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 0 21916908373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16021790555081600080600173 f f f f f f f f f f f f f f f f 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 16815260200190815260200160002060006101000 a 81548173 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 0 21916908373 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1602179055506001600081548092919060010191905055508060025414151561074457610743816107 c 9565 b 5 b 5050565 b 6000806000808473 f f f f f f f f f f f f f f f f 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 1614159050919050565 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
2018-06-29 11:23:01 +00:00
"sourceMap" : "240:6044:11:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;240:6044:11;;;;;;;" ,
"deployedSourceMap" : "240:6044:11:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2093:595;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2093:595:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5613:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5613:129:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:399;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5087:399:11;;;;;;;;;;;;;;;;;;;;;;;;;;287:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:54:11;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:458;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5824:458:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5824:458:11;;;;;;;;;;;;;;;;;4147:751;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4147:751:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5492:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5492:115:11;;;;;;;;;;;;;;;;;;;;;;;3030:783;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3030:783:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2093:595;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2265:1:11;2256:5;:10;;;;:38;;;;;337:3;2270:24;;:5;:24;;;;2256:38;2248:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2404:1;2387:6;:13;2394:5;2387:13;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;2379:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2463:6;:23;337:3;2463:23;;;;;;;;;;;;;;;;;;;;;;;;;2447:6;:13;2454:5;2447:13;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;2522:5;2496:6;:23;337:3;2496:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;2537:10;;:12;;;;;;;;;;;;;2630:10;2617:9;;:23;;2613:68;;;2654:27;2670:10;2654:15;:27::i;:::-;2613:68;2093:595;;:::o;5613:129::-;5690:4;5734:1;5717:6;:13;5724:5;5717:13;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;;5710:25;;5613:129;;;:::o;5087:399::-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5271:10:11;;5257;:24;;5249:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5405:1;5391:10;:15;;5383:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5469:10;5457:9;:22;;;;5087:399;:::o;287:54::-;337:3;287:54;:::o;5824:458::-;5890:9;5915:22;6009:13;6036:20;5954:10;;5940:25;;;;;;;;;;;;;;;;;;;;;;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;5940:25:11;;;;5915:50;;6025:1;6009:17;;6059:6;:23;337:3;6059:23;;;;;;;;;;;;;;;;;;;;;;;;;6036:46;;6092:162;337:3;6098:31;;:12;:31;;;;6092:162;;;6160:12;6145:5;6151;6145:12;;;;;;;;;;;;;;;;;:27;;;;;;;;;;;6201:6;:20;6208:12;6201:20;;;;;;;;;;;;;;;;;;;;;;;;;6186:35;;6235:8;;;;;;;6092:162;;;6270:5;6263:12;;5824:458;;;;:::o;4147:751::-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4330:1:11;4318:8;:13;;;;:44;;;;;337:3;4335:27;;:8;:27;;;;4318:44;4310:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4475:1;4455:6;:16;4462:8;4455:16;;;;;;;;;;;;;;;;;;;;;;;;;:21;;;4447:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4621:1;4609:8;:13;;;;:44;;;;;337:3;4626:27;;:8;:27;;;;4609:44;4601:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4727:8;4706:29;;:6;:17;4713:9;4706:17;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;4698:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4807:6;:16;4814:8;4807:16;;;;;;;;;;;;;;;;;;;;;;;;;4788:6;:16;4795:8;4788:16;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;4853:8;4833:6;:17;4840:9;4833:17;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;4890:1;4871:6;:16;4878:8;4871:16;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;4147:751;;;:::o;5492:115::-;5561:7;5591:9;;5584:16;;5492:115;:::o;3030:783::-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3256:10:11;3251:1;3238:10;;:14;:28;;3230:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3431:1;3422:5;:10;;;;:38;;;;;337:3;3436:24;;:5;:24;;;;3422:38;3414:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:5;3513:26;;:6;:17;3520:9;3513:17;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;3505:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3612:6;:13;3619:5;3612:13;;;;;;;;;;;;;;;;;;;;;;;;;3592:6;:17;3599:9;3592:17;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;3651:1;3635:6;:13;3642:5;3635:13;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;3662:10;;:12;;;;;;;;;;;;;;3755:10;3742:9;;:23;;3738:68;;;3779:27;3795:10;3779:15;:27::i;:::-;3738:68;3030:783;;;:::o" ,
2018-06-28 17:13:59 +00:00
"source" : "pragma solidity 0.4.24;\nimport \"./SelfAuthorized.sol\";\n\n/// @title OwnerManager - Manages a set of owners and a threshold to perform actions.\n/// @author Stefan George - <stefan@gnosis.pm>\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract OwnerManager is SelfAuthorized {\n\n address public constant SENTINEL_OWNERS = address(0x1);\n\n mapping(address => address) internal owners;\n uint256 ownerCount;\n uint256 internal threshold;\n\n /// @dev Setup function sets initial storage of contract.\n /// @param _owners List of Safe owners.\n /// @param _threshold Number of required confirmations for a Safe transaction.\n function setupOwners(address[] _owners, uint256 _threshold)\n internal\n {\n // Threshold can only be 0 at initialization.\n // Check ensures that setup function can only be called once.\n require(threshold == 0, \"Owners have already been setup\");\n // Validate that threshold is smaller than number of added owners.\n require(_threshold <= _owners.length, \"Threshold cannot exceed owner count\");\n // There has to be at least one Safe owner.\n require(_threshold >= 1, \"Threshold needs to be greater than 0\");\n // Initializing Safe owners.\n address currentOwner = SENTINEL_OWNERS;\n for (uint256 i = 0; i < _owners.length; i++) {\n // Owner address cannot be null.\n address owner = _owners[i];\n require(owner != 0 && owner != SENTINEL_OWNERS, \"Invalid owner address provided\");\n // No duplicate owners allowed.\n require(owners[owner] == 0, \"Duplicate owner address provided\");\n owners[currentOwner] = owner;\n currentOwner = owner;\n }\n owners[currentOwner] = SENTINEL_OWNERS;\n ownerCount = _owners.length;\n threshold = _threshold;\n }\n\n /// @dev Allows to add a new owner to the Safe and update the threshold at the same time.\n /// This can only be done via a Safe transaction.\n /// @param owner New owner address.\n /// @param _threshold New threshold.\n function addOwnerWithThreshold(address owner, uint256 _threshold)\n public\n authorized\n {\n // Owner address cannot be null.\n require(owner != 0 && owner != SENTINEL_OWNERS, \"Invalid owner address provided\");\n // No duplicate owners allowed.\n require(owners[owner] == 0, \"Address is already an owner\");\n owners[owner] = owners[SENTINEL_OWNERS];\n owners[SENTINEL_OWNERS] = owner;\n ownerCount++;\n // Change threshold if threshold was changed.\n if (threshold != _threshold)\n changeThreshold(_threshold);\n }\n\n /// @dev Allows to remove an owner from the Safe and update the threshold at the same time.\n /// This can only be done via a Safe transaction.\n /// @param prevOwner Owner that pointed to the owner to be removed in the linked list\n /// @param owner Owner address to be removed.\n /// @param _threshold New threshold.\n function removeOwner(address prevOwner, address owner, uint256 _threshold)\n public\n authorized\n {\n // Only allow to remove an owner, if threshold can still be reached.\n require(ownerCount - 1 >= _threshold, \"New owner count needs to be larger than new threshold\");\n // Validate owner address and check that it corresponds to owner index.\n require(owner != 0 && owner != SENTINEL_OWNERS, \"Invalid owner address provided\");\n require(owners[prevOwner] == owner, \"Invalid prevOwner, owner pair provided\" ) ; \ n o w n e r s [ p r e v O w n e r ] = o w n e r s [ o w n e r ] ; \ n o w n e r s [ o w n e r ] = 0 ; \ n o w n e r C o u n t - - ; \ n // Change threshold if threshold was changed.\n if (threshold != _threshold)\n changeThreshold(_threshold);\n }\n\n /// @dev Allows to swap/replace an owner from the Safe with another address.\n /// This can only be done via a Safe transaction.\n /// @param pre
2018-05-31 13:01:02 +00:00
"sourcePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol" ,
"ast" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol" ,
"exportedSymbols" : {
"OwnerManager" : [
2018-08-20 07:59:16 +00:00
1588
2018-05-31 13:01:02 +00:00
]
} ,
2018-08-20 07:59:16 +00:00
"id" : 1589 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-08-20 07:59:16 +00:00
"id" : 1182 ,
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:11"
2018-05-31 13:01:02 +00:00
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol" ,
"file" : "./SelfAuthorized.sol" ,
2018-08-20 07:59:16 +00:00
"id" : 1183 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-08-20 07:59:16 +00:00
"scope" : 1589 ,
"sourceUnit" : 1766 ,
2018-06-29 11:23:01 +00:00
"src" : "24:30:11" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1184 ,
2018-05-31 13:01:02 +00:00
"name" : "SelfAuthorized" ,
"nodeType" : "UserDefinedTypeName" ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1765 ,
2018-06-29 11:23:01 +00:00
"src" : "265:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-08-20 07:59:16 +00:00
"typeIdentifier" : "t_contract$_SelfAuthorized_$1765" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract SelfAuthorized"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1185 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-29 11:23:01 +00:00
"src" : "265:14:11"
2018-05-31 13:01:02 +00:00
}
] ,
"contractDependencies" : [
2018-08-20 07:59:16 +00:00
1765
2018-05-31 13:01:02 +00:00
] ,
"contractKind" : "contract" ,
"documentation" : "@title OwnerManager - Manages a set of owners and a threshold to perform actions.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>" ,
"fullyImplemented" : true ,
2018-08-20 07:59:16 +00:00
"id" : 1588 ,
2018-05-31 13:01:02 +00:00
"linearizedBaseContracts" : [
2018-08-20 07:59:16 +00:00
1588 ,
1765
2018-05-31 13:01:02 +00:00
] ,
"name" : "OwnerManager" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
2018-08-20 07:59:16 +00:00
"id" : 1190 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "287:54:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1186 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "287:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "307831" ,
2018-08-20 07:59:16 +00:00
"id" : 1188 ,
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" : "337:3:11" ,
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-08-20 07:59:16 +00:00
"id" : 1187 ,
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" : "329:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1189 ,
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" : "329:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1194 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "348:43:11" ,
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-08-20 07:59:16 +00:00
"id" : 1193 ,
2018-05-31 13:01:02 +00:00
"keyType" : {
2018-08-20 07:59:16 +00:00
"id" : 1191 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "356:7:11" ,
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" : "348:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"valueType" : {
2018-08-20 07:59:16 +00:00
"id" : 1192 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "367:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1196 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "397:18:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1195 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "397:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1198 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "421:26:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1197 ,
2018-06-20 08:09:14 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "421:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1296 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "724:1129:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1209 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1207 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "866:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1208 ,
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" : "879:1:11" ,
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" : "866:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4f776e657273206861766520616c7265616479206265656e207365747570" ,
2018-08-20 07:59:16 +00:00
"id" : 1210 ,
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" : "882:32:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_9a45ae898fbe2bd07a0b33b5a6c421f76198e9deb66843b8d827b0b9e4a16f86" ,
"typeString" : "literal_string \"Owners have already been setup\""
} ,
"value" : "Owners have already been setup"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_9a45ae898fbe2bd07a0b33b5a6c421f76198e9deb66843b8d827b0b9e4a16f86" ,
"typeString" : "literal_string \"Owners have already been setup\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1206 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "858:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1211 ,
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" : "858:57:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1212 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "858:57:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1217 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1214 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1203 ,
2018-06-29 11:23:01 +00:00
"src" : "1008:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<=" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1215 ,
2018-05-31 13:01:02 +00:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1201 ,
2018-06-29 11:23:01 +00:00
"src" : "1022:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1216 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "1022:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1008:28:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f756e74" ,
2018-08-20 07:59:16 +00:00
"id" : 1218 ,
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" : "1038:37:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_63d26a9feb8568677e5c255c04e4da88e86a25137d5152a9a089790b7e710e86" ,
"typeString" : "literal_string \"Threshold cannot exceed owner count\""
} ,
"value" : "Threshold cannot exceed owner count"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_63d26a9feb8568677e5c255c04e4da88e86a25137d5152a9a089790b7e710e86" ,
"typeString" : "literal_string \"Threshold cannot exceed owner count\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1213 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "1000:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1219 ,
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" : "1000:76:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1220 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1000:76:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1224 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1222 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1203 ,
2018-06-29 11:23:01 +00:00
"src" : "1146:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-08-20 07:59:16 +00:00
"id" : 1223 ,
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" : "1160:1:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-06-29 11:23:01 +00:00
"src" : "1146:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c64206e6565647320746f2062652067726561746572207468616e2030" ,
2018-08-20 07:59:16 +00:00
"id" : 1225 ,
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" : "1163:38:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_b995394ed6031392a784e6dd5e04285cca83077a8dc3873d2fb7fcb090297ab4" ,
"typeString" : "literal_string \"Threshold needs to be greater than 0\""
} ,
"value" : "Threshold needs to be greater than 0"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_b995394ed6031392a784e6dd5e04285cca83077a8dc3873d2fb7fcb090297ab4" ,
"typeString" : "literal_string \"Threshold needs to be greater than 0\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1221 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "1138:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1226 ,
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" : "1138:64:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1227 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1138:64:11"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-08-20 07:59:16 +00:00
1229
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1229 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1297 ,
2018-06-29 11:23:01 +00:00
"src" : "1249:20:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1228 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "1249:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1231 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1230 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "1272:15:11" ,
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" : "1249:38:11"
2018-05-31 13:01:02 +00:00
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1279 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "1342:388:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-08-20 07:59:16 +00:00
1244
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1244 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1297 ,
2018-06-29 11:23:01 +00:00
"src" : "1401:13:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1243 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "1401:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1248 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1245 ,
2018-05-31 13:01:02 +00:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1201 ,
2018-06-29 11:23:01 +00:00
"src" : "1417:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1247 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1246 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1233 ,
2018-06-29 11:23:01 +00:00
"src" : "1425:1:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "1417:10:11" ,
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" : "1401:26:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1256 ,
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-08-20 07:59:16 +00:00
"id" : 1252 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1250 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1244 ,
2018-06-29 11:23:01 +00:00
"src" : "1449:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1251 ,
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" : "1458:1:11" ,
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" : "1449:10:11" ,
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-08-20 07:59:16 +00:00
"id" : 1255 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1253 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1244 ,
2018-06-29 11:23:01 +00:00
"src" : "1463:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1254 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "1472:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1463:24:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1449:38:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1257 ,
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" : "1489:32:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
} ,
"value" : "Invalid owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1249 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "1441:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1258 ,
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" : "1441:81:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1259 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1441:81:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1265 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1261 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "1588:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1263 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1262 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1244 ,
2018-06-29 11:23:01 +00:00
"src" : "1595:5:11" ,
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" : "1588:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1264 ,
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" : "1605:1:11" ,
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" : "1588:18:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4475706c6963617465206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1266 ,
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" : "1608:34:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_a803fa289679098e38a7f1f6fe43056918c5ab5af07441cb8db77b949c165ca1" ,
"typeString" : "literal_string \"Duplicate owner address provided\""
} ,
"value" : "Duplicate owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_a803fa289679098e38a7f1f6fe43056918c5ab5af07441cb8db77b949c165ca1" ,
"typeString" : "literal_string \"Duplicate owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1260 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "1580:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1267 ,
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" : "1580:63:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1268 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1580:63:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1273 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1269 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "1657:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1271 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1270 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1229 ,
2018-06-29 11:23:01 +00:00
"src" : "1664:12:11" ,
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" : "1657:20:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1272 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1244 ,
2018-06-29 11:23:01 +00:00
"src" : "1680:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1657:28:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1274 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1657:28:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1277 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1275 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1229 ,
2018-06-29 11:23:01 +00:00
"src" : "1699:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1276 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1244 ,
2018-06-29 11:23:01 +00:00
"src" : "1714:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1699:20:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1278 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1699:20:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1239 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1236 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1233 ,
2018-06-29 11:23:01 +00:00
"src" : "1317:1:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1237 ,
2018-05-31 13:01:02 +00:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1201 ,
2018-06-29 11:23:01 +00:00
"src" : "1321:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1238 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "1321:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1317:18:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1280 ,
2018-05-31 13:01:02 +00:00
"initializationExpression" : {
"assignments" : [
2018-08-20 07:59:16 +00:00
1233
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1233 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1297 ,
2018-06-29 11:23:01 +00:00
"src" : "1302:9:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1232 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "1302:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1235 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1234 ,
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" : "1314:1:11" ,
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" : "1302:13:11"
2018-05-31 13:01:02 +00:00
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1241 ,
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" : "1337:3:11" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1240 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1233 ,
2018-06-29 11:23:01 +00:00
"src" : "1337:1:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1242 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1337:3:11"
2018-05-31 13:01:02 +00:00
} ,
"nodeType" : "ForStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1297:433:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1285 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1281 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "1739:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1283 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1282 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1229 ,
2018-06-29 11:23:01 +00:00
"src" : "1746:12:11" ,
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" : "1739:20:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1284 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "1762:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1739:38:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1286 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1739:38:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1290 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1287 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "1787:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1288 ,
2018-05-31 13:01:02 +00:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1201 ,
2018-06-29 11:23:01 +00:00
"src" : "1800:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1289 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "1800:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1787:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1291 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1787:27:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1294 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1292 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "1824:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1293 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1203 ,
2018-06-29 11:23:01 +00:00
"src" : "1836:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1824:22:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1295 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1824:22:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : "@dev Setup function sets initial storage of contract.\n @param _owners List of Safe owners.\n @param _threshold Number of required confirmations for a Safe transaction." ,
2018-08-20 07:59:16 +00:00
"id" : 1297 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setupOwners" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1204 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1201 ,
2018-05-31 13:01:02 +00:00
"name" : "_owners" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1297 ,
2018-06-29 11:23:01 +00:00
"src" : "664:17:11" ,
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-08-20 07:59:16 +00:00
"id" : 1199 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "664:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1200 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "664:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1203 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1297 ,
2018-06-29 11:23:01 +00:00
"src" : "683:18:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1202 ,
2018-06-28 17:13:59 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "683:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "663:39:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1205 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "724:0:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "643:1210:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1351 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "2197:491:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1313 ,
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-08-20 07:59:16 +00:00
"id" : 1309 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1307 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1299 ,
2018-06-29 11:23:01 +00:00
"src" : "2256:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1308 ,
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" : "2265:1:11" ,
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" : "2256:10:11" ,
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-08-20 07:59:16 +00:00
"id" : 1312 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1310 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1299 ,
2018-06-29 11:23:01 +00:00
"src" : "2270:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1311 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "2279:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2270:24:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2256:38:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1314 ,
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" : "2296:32:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
} ,
"value" : "Invalid owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1306 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "2248:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1315 ,
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" : "2248:81:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1316 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2248:81:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1322 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1318 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "2387:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1320 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1319 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1299 ,
2018-06-29 11:23:01 +00:00
"src" : "2394:5:11" ,
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" : "2387:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1321 ,
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" : "2404:1:11" ,
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" : "2387:18:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4164647265737320697320616c726561647920616e206f776e6572" ,
2018-08-20 07:59:16 +00:00
"id" : 1323 ,
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" : "2407:29:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_9d461d71e19b25cd406798d062d7e61f961ad52541d3077a543e857810427d47" ,
"typeString" : "literal_string \"Address is already an owner\""
} ,
"value" : "Address is already an owner"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_9d461d71e19b25cd406798d062d7e61f961ad52541d3077a543e857810427d47" ,
"typeString" : "literal_string \"Address is already an owner\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1317 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "2379:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1324 ,
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" : "2379:58:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1325 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2379:58:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1332 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1326 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "2447:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1328 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1327 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1299 ,
2018-06-29 11:23:01 +00:00
"src" : "2454:5:11" ,
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" : "2447:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1329 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "2463:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1331 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1330 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "2470:15:11" ,
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" : "2463:23:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2447:39:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1333 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2447:39:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1338 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1334 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "2496:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1336 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1335 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "2503:15:11" ,
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" : "2496:23:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1337 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1299 ,
2018-06-29 11:23:01 +00:00
"src" : "2522:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2496:31:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1339 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2496:31:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1341 ,
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" : "2537:12:11" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1340 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "2537:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1342 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2537:12:11"
2018-05-31 13:01:02 +00:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1345 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1343 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "2617:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1344 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1301 ,
2018-06-29 11:23:01 +00:00
"src" : "2630:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2617:23:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1350 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2613:68:11" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1347 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1301 ,
2018-06-29 11:23:01 +00:00
"src" : "2670:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1346 ,
2018-05-31 13:01:02 +00:00
"name" : "changeThreshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1516 ,
2018-06-29 11:23:01 +00:00
"src" : "2654:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_uint256_$returns$__$" ,
"typeString" : "function (uint256)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1348 ,
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" : "2654:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1349 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2654:27:11"
2018-05-31 13:01:02 +00:00
}
}
]
} ,
"documentation" : "@dev Allows to add a new owner to the Safe and update the threshold at the same time.\n This can only be done via a Safe transaction.\n @param owner New owner address.\n @param _threshold New threshold." ,
2018-08-20 07:59:16 +00:00
"id" : 1352 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1304 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1303 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1764 ,
2018-06-29 11:23:01 +00:00
"src" : "2182:10:11" ,
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" : "2182:10:11"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "addOwnerWithThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1302 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1299 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1352 ,
2018-06-29 11:23:01 +00:00
"src" : "2124:13:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1298 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2124:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1301 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1352 ,
2018-06-29 11:23:01 +00:00
"src" : "2139:18:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1300 ,
2018-06-28 17:13:59 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2139:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "2123:35:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1305 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "2197:0:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "2093:595:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1417 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "3143:670:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1368 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1366 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1364 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "3238:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "-" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-08-20 07:59:16 +00:00
"id" : 1365 ,
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" : "3251:1:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-06-29 11:23:01 +00:00
"src" : "3238:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1367 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1358 ,
2018-06-29 11:23:01 +00:00
"src" : "3256:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3238:28:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4e6577206f776e657220636f756e74206e6565647320746f206265206c6172676572207468616e206e6577207468726573686f6c64" ,
2018-08-20 07:59:16 +00:00
"id" : 1369 ,
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" : "3268:55:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_839b4c4db845de24ec74ef067d85431087d6987a4c904418ee4f6ec699c02482" ,
"typeString" : "literal_string \"New owner count needs to be larger than new threshold\""
} ,
"value" : "New owner count needs to be larger than new threshold"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_839b4c4db845de24ec74ef067d85431087d6987a4c904418ee4f6ec699c02482" ,
"typeString" : "literal_string \"New owner count needs to be larger than new threshold\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1363 ,
2018-06-20 08:09:14 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-06-20 08:09:14 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "3230:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1370 ,
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" : "3230:94:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1371 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3230:94:11"
2018-06-20 08:09:14 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1379 ,
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-08-20 07:59:16 +00:00
"id" : 1375 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1373 ,
2018-06-20 08:09:14 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1356 ,
2018-06-29 11:23:01 +00:00
"src" : "3422:5:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1374 ,
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" : "3431:1:11" ,
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" : "3422:10:11" ,
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-08-20 07:59:16 +00:00
"id" : 1378 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1376 ,
2018-06-20 08:09:14 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1356 ,
2018-06-29 11:23:01 +00:00
"src" : "3436:5:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1377 ,
2018-06-20 08:09:14 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "3445:15:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3436:24:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3422:38:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1380 ,
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" : "3462:32:11" ,
2018-06-20 08:09:14 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
} ,
"value" : "Invalid owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1372 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "3414:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1381 ,
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" : "3414:81:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1382 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3414:81:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1388 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1384 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "3513:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1386 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1385 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1354 ,
2018-06-29 11:23:01 +00:00
"src" : "3520:9:11" ,
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" : "3513:17:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1387 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1356 ,
2018-06-29 11:23:01 +00:00
"src" : "3534:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3513:26:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764f776e65722c206f776e657220706169722070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1389 ,
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" : "3541:40:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_960698caed81fce71c9b7d572ab2e035b6014a5b812b51df8462ea9817fc4ebc" ,
"typeString" : "literal_string \"Invalid prevOwner, owner pair provided\""
} ,
"value" : "Invalid prevOwner, owner pair provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_960698caed81fce71c9b7d572ab2e035b6014a5b812b51df8462ea9817fc4ebc" ,
"typeString" : "literal_string \"Invalid prevOwner, owner pair provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1383 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "3505:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1390 ,
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" : "3505:77:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1391 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3505:77:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1398 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1392 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "3592:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1394 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1393 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1354 ,
2018-06-29 11:23:01 +00:00
"src" : "3599:9:11" ,
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" : "3592:17:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1395 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "3612:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1397 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1396 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1356 ,
2018-06-29 11:23:01 +00:00
"src" : "3619:5:11" ,
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" : "3612:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3592:33:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1399 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3592:33:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1404 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1400 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "3635:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1402 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1401 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1356 ,
2018-06-29 11:23:01 +00:00
"src" : "3642:5:11" ,
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" : "3635:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1403 ,
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" : "3651:1:11" ,
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" : "3635:17:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1405 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3635:17:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1407 ,
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" : "3662:12:11" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1406 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "3662:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1408 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3662:12:11"
2018-05-31 13:01:02 +00:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1411 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1409 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "3742:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1410 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1358 ,
2018-06-29 11:23:01 +00:00
"src" : "3755:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3742:23:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1416 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3738:68:11" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1413 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1358 ,
2018-06-29 11:23:01 +00:00
"src" : "3795:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1412 ,
2018-05-31 13:01:02 +00:00
"name" : "changeThreshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1516 ,
2018-06-29 11:23:01 +00:00
"src" : "3779:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_uint256_$returns$__$" ,
"typeString" : "function (uint256)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1414 ,
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" : "3779:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1415 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3779:27:11"
2018-05-31 13:01:02 +00:00
}
}
]
} ,
"documentation" : "@dev Allows to remove an owner from the Safe and update the threshold at the same time.\n This can only be done via a Safe transaction.\n @param prevOwner Owner that pointed to the owner to be removed in the linked list\n @param owner Owner address to be removed.\n @param _threshold New threshold." ,
2018-08-20 07:59:16 +00:00
"id" : 1418 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1361 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1360 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1764 ,
2018-06-29 11:23:01 +00:00
"src" : "3128:10:11" ,
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" : "3128:10:11"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "removeOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1359 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1354 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1418 ,
2018-06-29 11:23:01 +00:00
"src" : "3051:17:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1353 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3051:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1356 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1418 ,
2018-06-29 11:23:01 +00:00
"src" : "3070:13:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1355 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3070:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1358 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1418 ,
2018-06-29 11:23:01 +00:00
"src" : "3085:18:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1357 ,
2018-06-28 17:13:59 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3085:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "3050:54:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1362 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "3143:0:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "3030:783:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1489 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "4259:639:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1436 ,
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-08-20 07:59:16 +00:00
"id" : 1432 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1430 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1424 ,
2018-06-29 11:23:01 +00:00
"src" : "4318:8:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1431 ,
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" : "4330:1:11" ,
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" : "4318:13:11" ,
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-08-20 07:59:16 +00:00
"id" : 1435 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1433 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1424 ,
2018-06-29 11:23:01 +00:00
"src" : "4335:8:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1434 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "4347:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4335:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4318:44:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1437 ,
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" : "4364:32:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
} ,
"value" : "Invalid owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1429 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "4310:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1438 ,
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" : "4310:87:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1439 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4310:87:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1445 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1441 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4455:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1443 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1442 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1424 ,
2018-06-29 11:23:01 +00:00
"src" : "4462:8:11" ,
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" : "4455:16:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1444 ,
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" : "4475:1:11" ,
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" : "4455:21:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4164647265737320697320616c726561647920616e206f776e6572" ,
2018-08-20 07:59:16 +00:00
"id" : 1446 ,
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" : "4478:29:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_9d461d71e19b25cd406798d062d7e61f961ad52541d3077a543e857810427d47" ,
"typeString" : "literal_string \"Address is already an owner\""
} ,
"value" : "Address is already an owner"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_9d461d71e19b25cd406798d062d7e61f961ad52541d3077a543e857810427d47" ,
"typeString" : "literal_string \"Address is already an owner\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1440 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "4447:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1447 ,
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" : "4447:61:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1448 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4447:61:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1456 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1452 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1450 ,
2018-06-20 08:09:14 +00:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1422 ,
2018-06-29 11:23:01 +00:00
"src" : "4609:8:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1451 ,
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" : "4621:1:11" ,
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" : "4609:13:11" ,
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-08-20 07:59:16 +00:00
"id" : 1455 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1453 ,
2018-06-20 08:09:14 +00:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1422 ,
2018-06-29 11:23:01 +00:00
"src" : "4626:8:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1454 ,
2018-06-20 08:09:14 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "4638:15:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4626:27:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4609:44:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1457 ,
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" : "4655:32:11" ,
2018-06-20 08:09:14 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
} ,
"value" : "Invalid owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1449 ,
2018-06-20 08:09:14 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-06-20 08:09:14 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "4601:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1458 ,
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" : "4601:87:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1459 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4601:87:11"
2018-06-20 08:09:14 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1465 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1461 ,
2018-06-20 08:09:14 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
2018-05-31 13:01:02 +00:00
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4706:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1463 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1462 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1420 ,
2018-06-29 11:23:01 +00:00
"src" : "4713:9:11" ,
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" : "4706:17:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1464 ,
2018-05-31 13:01:02 +00:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1422 ,
2018-06-29 11:23:01 +00:00
"src" : "4727:8:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4706:29:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764f776e65722c206f776e657220706169722070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1466 ,
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" : "4737:40:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_960698caed81fce71c9b7d572ab2e035b6014a5b812b51df8462ea9817fc4ebc" ,
"typeString" : "literal_string \"Invalid prevOwner, owner pair provided\""
} ,
"value" : "Invalid prevOwner, owner pair provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_960698caed81fce71c9b7d572ab2e035b6014a5b812b51df8462ea9817fc4ebc" ,
"typeString" : "literal_string \"Invalid prevOwner, owner pair provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1460 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "4698:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1467 ,
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" : "4698:80:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1468 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4698:80:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1475 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1469 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4788:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1471 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1470 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1424 ,
2018-06-29 11:23:01 +00:00
"src" : "4795:8:11" ,
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" : "4788:16:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1472 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4807:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1474 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1473 ,
2018-05-31 13:01:02 +00:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1422 ,
2018-06-29 11:23:01 +00:00
"src" : "4814:8:11" ,
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" : "4807:16:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4788:35:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1476 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4788:35:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1481 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1477 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4833:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1479 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1478 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1420 ,
2018-06-29 11:23:01 +00:00
"src" : "4840:9:11" ,
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" : "4833:17:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1480 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1424 ,
2018-06-29 11:23:01 +00:00
"src" : "4853:8:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4833:28:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1482 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4833:28:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1487 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1483 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4871:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1485 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1484 ,
2018-05-31 13:01:02 +00:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1422 ,
2018-06-29 11:23:01 +00:00
"src" : "4878:8:11" ,
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" : "4871:16:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1486 ,
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" : "4890:1:11" ,
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" : "4871:20:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1488 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4871:20:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : "@dev Allows to swap/replace an owner from the Safe with another address.\n This can only be done via a Safe transaction.\n @param prevOwner Owner that pointed to the owner to be replaced in the linked list\n @param oldOwner Owner address to be replaced.\n @param newOwner New owner address." ,
2018-08-20 07:59:16 +00:00
"id" : 1490 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1427 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1426 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1764 ,
2018-06-29 11:23:01 +00:00
"src" : "4244:10:11" ,
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" : "4244:10:11"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "swapOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1425 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1420 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1490 ,
2018-06-29 11:23:01 +00:00
"src" : "4166:17:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1419 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4166:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1422 ,
2018-05-31 13:01:02 +00:00
"name" : "oldOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1490 ,
2018-06-29 11:23:01 +00:00
"src" : "4185:16:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1421 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4185:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1424 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1490 ,
2018-06-29 11:23:01 +00:00
"src" : "4203:16:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1423 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4203:7:11" ,
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" : "4165:55:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1428 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "4259:0:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "4147:751:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1515 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5170:316:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1500 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1498 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1492 ,
2018-06-29 11:23:01 +00:00
"src" : "5257:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1499 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "5271:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5257:24:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f756e74" ,
2018-08-20 07:59:16 +00:00
"id" : 1501 ,
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" : "5283:37:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_63d26a9feb8568677e5c255c04e4da88e86a25137d5152a9a089790b7e710e86" ,
"typeString" : "literal_string \"Threshold cannot exceed owner count\""
} ,
"value" : "Threshold cannot exceed owner count"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_63d26a9feb8568677e5c255c04e4da88e86a25137d5152a9a089790b7e710e86" ,
"typeString" : "literal_string \"Threshold cannot exceed owner count\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1497 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "5249:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1502 ,
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" : "5249:72:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1503 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5249:72:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1507 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1505 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1492 ,
2018-06-29 11:23:01 +00:00
"src" : "5391:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-08-20 07:59:16 +00:00
"id" : 1506 ,
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" : "5405:1:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-06-29 11:23:01 +00:00
"src" : "5391:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c64206e6565647320746f2062652067726561746572207468616e2030" ,
2018-08-20 07:59:16 +00:00
"id" : 1508 ,
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" : "5408:38:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_b995394ed6031392a784e6dd5e04285cca83077a8dc3873d2fb7fcb090297ab4" ,
"typeString" : "literal_string \"Threshold needs to be greater than 0\""
} ,
"value" : "Threshold needs to be greater than 0"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_b995394ed6031392a784e6dd5e04285cca83077a8dc3873d2fb7fcb090297ab4" ,
"typeString" : "literal_string \"Threshold needs to be greater than 0\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1504 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "5383:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1509 ,
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" : "5383:64:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1510 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5383:64:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1513 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1511 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "5457:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1512 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1492 ,
2018-06-29 11:23:01 +00:00
"src" : "5469:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5457:22:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1514 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5457:22:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : "@dev Allows to update the number of required confirmations by Safe owners.\n This can only be done via a Safe transaction.\n @param _threshold New threshold." ,
2018-08-20 07:59:16 +00:00
"id" : 1516 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1495 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1494 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1764 ,
2018-06-29 11:23:01 +00:00
"src" : "5155:10:11" ,
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" : "5155:10:11"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "changeThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1493 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1492 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1516 ,
2018-06-29 11:23:01 +00:00
"src" : "5112:18:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1491 ,
2018-06-28 17:13:59 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5112:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "5111:20:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1496 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "5170:0:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "5087:399:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1523 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5574:33:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1521 ,
2018-06-28 17:13:59 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "5591:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-08-20 07:59:16 +00:00
"functionReturnParameters" : 1520 ,
"id" : 1522 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Return" ,
2018-06-29 11:23:01 +00:00
"src" : "5584:16:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1524 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1517 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "5513:2:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1520 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1519 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1524 ,
2018-06-29 11:23:01 +00:00
"src" : "5561:7:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1518 ,
2018-06-28 17:13:59 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5561:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "5560:9:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "5492:115:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1537 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5700:42:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1535 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1531 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "5717:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1533 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1532 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1526 ,
2018-06-29 11:23:01 +00:00
"src" : "5724:5:11" ,
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" : "5717:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1534 ,
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" : "5734:1:11" ,
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" : "5717:18:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-08-20 07:59:16 +00:00
"functionReturnParameters" : 1530 ,
"id" : 1536 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Return" ,
2018-06-29 11:23:01 +00:00
"src" : "5710:25:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1538 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "isOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1527 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1526 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1538 ,
2018-06-29 11:23:01 +00:00
"src" : "5630:13:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1525 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5630:7:11" ,
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" : "5629:15:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1530 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1529 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1538 ,
2018-06-29 11:23:01 +00:00
"src" : "5690:4:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1528 ,
2018-05-31 13:01:02 +00:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5690:4:11" ,
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" : "5689:6:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "5613:129:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1586 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5905:377:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-08-20 07:59:16 +00:00
1547
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1547 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1587 ,
2018-06-29 11:23:01 +00:00
"src" : "5915:22:11" ,
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-08-20 07:59:16 +00:00
"id" : 1545 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5915:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1546 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5915:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1553 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1551 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "5954:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1550 ,
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" : "5940:13:11" ,
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-08-20 07:59:16 +00:00
"id" : 1548 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5944:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1549 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5944:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1552 ,
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" : "5940:25:11" ,
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" : "5915:50:11"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-08-20 07:59:16 +00:00
1555
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1555 ,
2018-05-31 13:01:02 +00:00
"name" : "index" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1587 ,
2018-06-29 11:23:01 +00:00
"src" : "6009:13:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1554 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "6009:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1557 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1556 ,
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" : "6025:1:11" ,
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" : "6009:17:11"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-08-20 07:59:16 +00:00
1559
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1559 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1587 ,
2018-06-29 11:23:01 +00:00
"src" : "6036:20:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1558 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "6036:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1563 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1560 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "6059:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1562 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1561 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "6066:15:11" ,
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" : "6059:23:11" ,
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" : "6036:46:11"
2018-05-31 13:01:02 +00:00
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1582 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "6131:123:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1571 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1567 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1547 ,
2018-06-29 11:23:01 +00:00
"src" : "6145:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1569 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1568 ,
2018-05-31 13:01:02 +00:00
"name" : "index" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1555 ,
2018-06-29 11:23:01 +00:00
"src" : "6151:5:11" ,
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" : "6145:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1570 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1559 ,
2018-06-29 11:23:01 +00:00
"src" : "6160:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "6145:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1572 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "6145:27:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1577 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1573 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1559 ,
2018-06-29 11:23:01 +00:00
"src" : "6186:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1574 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "6201:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1576 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1575 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1559 ,
2018-06-29 11:23:01 +00:00
"src" : "6208:12:11" ,
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" : "6201:20:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "6186:35:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1578 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "6186:35:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1580 ,
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" : "6235:8:11" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1579 ,
2018-05-31 13:01:02 +00:00
"name" : "index" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1555 ,
2018-06-29 11:23:01 +00:00
"src" : "6235:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1581 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "6235:8:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1566 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1564 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1559 ,
2018-06-29 11:23:01 +00:00
"src" : "6098:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1565 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "6114:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "6098:31:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1583 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "WhileStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "6092:162:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1584 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1547 ,
2018-06-29 11:23:01 +00:00
"src" : "6270:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"functionReturnParameters" : 1543 ,
"id" : 1585 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Return" ,
2018-06-29 11:23:01 +00:00
"src" : "6263:12:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : "@dev Returns array of owners.\n @return Array of Safe owners." ,
2018-08-20 07:59:16 +00:00
"id" : 1587 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getOwners" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1539 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "5842:2:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1543 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1542 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1587 ,
2018-06-29 11:23:01 +00:00
"src" : "5890:9:11" ,
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-08-20 07:59:16 +00:00
"id" : 1540 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5890:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1541 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5890:9:11" ,
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" : "5889:11:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "5824:458:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-08-20 07:59:16 +00:00
"scope" : 1589 ,
2018-06-29 11:23:01 +00:00
"src" : "240:6044:11"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "0:6285:11"
2018-05-31 13:01:02 +00:00
} ,
"legacyAST" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol" ,
"exportedSymbols" : {
"OwnerManager" : [
2018-08-20 07:59:16 +00:00
1588
2018-05-31 13:01:02 +00:00
]
} ,
2018-08-20 07:59:16 +00:00
"id" : 1589 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-08-20 07:59:16 +00:00
"id" : 1182 ,
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:11"
2018-05-31 13:01:02 +00:00
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol" ,
"file" : "./SelfAuthorized.sol" ,
2018-08-20 07:59:16 +00:00
"id" : 1183 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-08-20 07:59:16 +00:00
"scope" : 1589 ,
"sourceUnit" : 1766 ,
2018-06-29 11:23:01 +00:00
"src" : "24:30:11" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1184 ,
2018-05-31 13:01:02 +00:00
"name" : "SelfAuthorized" ,
"nodeType" : "UserDefinedTypeName" ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1765 ,
2018-06-29 11:23:01 +00:00
"src" : "265:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-08-20 07:59:16 +00:00
"typeIdentifier" : "t_contract$_SelfAuthorized_$1765" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract SelfAuthorized"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1185 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-29 11:23:01 +00:00
"src" : "265:14:11"
2018-05-31 13:01:02 +00:00
}
] ,
"contractDependencies" : [
2018-08-20 07:59:16 +00:00
1765
2018-05-31 13:01:02 +00:00
] ,
"contractKind" : "contract" ,
"documentation" : "@title OwnerManager - Manages a set of owners and a threshold to perform actions.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>" ,
"fullyImplemented" : true ,
2018-08-20 07:59:16 +00:00
"id" : 1588 ,
2018-05-31 13:01:02 +00:00
"linearizedBaseContracts" : [
2018-08-20 07:59:16 +00:00
1588 ,
1765
2018-05-31 13:01:02 +00:00
] ,
"name" : "OwnerManager" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
2018-08-20 07:59:16 +00:00
"id" : 1190 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "287:54:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1186 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "287:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "307831" ,
2018-08-20 07:59:16 +00:00
"id" : 1188 ,
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" : "337:3:11" ,
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-08-20 07:59:16 +00:00
"id" : 1187 ,
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" : "329:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1189 ,
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" : "329:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1194 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "348:43:11" ,
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-08-20 07:59:16 +00:00
"id" : 1193 ,
2018-05-31 13:01:02 +00:00
"keyType" : {
2018-08-20 07:59:16 +00:00
"id" : 1191 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "356:7:11" ,
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" : "348:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"valueType" : {
2018-08-20 07:59:16 +00:00
"id" : 1192 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "367:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1196 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "397:18:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1195 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "397:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1198 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "421:26:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1197 ,
2018-06-20 08:09:14 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "421:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1296 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "724:1129:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1209 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1207 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "866:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1208 ,
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" : "879:1:11" ,
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" : "866:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4f776e657273206861766520616c7265616479206265656e207365747570" ,
2018-08-20 07:59:16 +00:00
"id" : 1210 ,
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" : "882:32:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_9a45ae898fbe2bd07a0b33b5a6c421f76198e9deb66843b8d827b0b9e4a16f86" ,
"typeString" : "literal_string \"Owners have already been setup\""
} ,
"value" : "Owners have already been setup"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_9a45ae898fbe2bd07a0b33b5a6c421f76198e9deb66843b8d827b0b9e4a16f86" ,
"typeString" : "literal_string \"Owners have already been setup\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1206 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "858:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1211 ,
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" : "858:57:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1212 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "858:57:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1217 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1214 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1203 ,
2018-06-29 11:23:01 +00:00
"src" : "1008:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<=" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1215 ,
2018-05-31 13:01:02 +00:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1201 ,
2018-06-29 11:23:01 +00:00
"src" : "1022:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1216 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "1022:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1008:28:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f756e74" ,
2018-08-20 07:59:16 +00:00
"id" : 1218 ,
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" : "1038:37:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_63d26a9feb8568677e5c255c04e4da88e86a25137d5152a9a089790b7e710e86" ,
"typeString" : "literal_string \"Threshold cannot exceed owner count\""
} ,
"value" : "Threshold cannot exceed owner count"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_63d26a9feb8568677e5c255c04e4da88e86a25137d5152a9a089790b7e710e86" ,
"typeString" : "literal_string \"Threshold cannot exceed owner count\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1213 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "1000:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1219 ,
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" : "1000:76:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1220 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1000:76:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1224 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1222 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1203 ,
2018-06-29 11:23:01 +00:00
"src" : "1146:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-08-20 07:59:16 +00:00
"id" : 1223 ,
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" : "1160:1:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-06-29 11:23:01 +00:00
"src" : "1146:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c64206e6565647320746f2062652067726561746572207468616e2030" ,
2018-08-20 07:59:16 +00:00
"id" : 1225 ,
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" : "1163:38:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_b995394ed6031392a784e6dd5e04285cca83077a8dc3873d2fb7fcb090297ab4" ,
"typeString" : "literal_string \"Threshold needs to be greater than 0\""
} ,
"value" : "Threshold needs to be greater than 0"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_b995394ed6031392a784e6dd5e04285cca83077a8dc3873d2fb7fcb090297ab4" ,
"typeString" : "literal_string \"Threshold needs to be greater than 0\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1221 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "1138:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1226 ,
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" : "1138:64:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1227 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1138:64:11"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-08-20 07:59:16 +00:00
1229
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1229 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1297 ,
2018-06-29 11:23:01 +00:00
"src" : "1249:20:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1228 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "1249:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1231 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1230 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "1272:15:11" ,
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" : "1249:38:11"
2018-05-31 13:01:02 +00:00
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1279 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "1342:388:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-08-20 07:59:16 +00:00
1244
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1244 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1297 ,
2018-06-29 11:23:01 +00:00
"src" : "1401:13:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1243 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "1401:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1248 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1245 ,
2018-05-31 13:01:02 +00:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1201 ,
2018-06-29 11:23:01 +00:00
"src" : "1417:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1247 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1246 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1233 ,
2018-06-29 11:23:01 +00:00
"src" : "1425:1:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-29 11:23:01 +00:00
"src" : "1417:10:11" ,
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" : "1401:26:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1256 ,
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-08-20 07:59:16 +00:00
"id" : 1252 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1250 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1244 ,
2018-06-29 11:23:01 +00:00
"src" : "1449:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1251 ,
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" : "1458:1:11" ,
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" : "1449:10:11" ,
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-08-20 07:59:16 +00:00
"id" : 1255 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1253 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1244 ,
2018-06-29 11:23:01 +00:00
"src" : "1463:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1254 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "1472:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1463:24:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1449:38:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1257 ,
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" : "1489:32:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
} ,
"value" : "Invalid owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1249 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "1441:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1258 ,
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" : "1441:81:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1259 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1441:81:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1265 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1261 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "1588:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1263 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1262 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1244 ,
2018-06-29 11:23:01 +00:00
"src" : "1595:5:11" ,
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" : "1588:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1264 ,
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" : "1605:1:11" ,
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" : "1588:18:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4475706c6963617465206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1266 ,
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" : "1608:34:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_a803fa289679098e38a7f1f6fe43056918c5ab5af07441cb8db77b949c165ca1" ,
"typeString" : "literal_string \"Duplicate owner address provided\""
} ,
"value" : "Duplicate owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_a803fa289679098e38a7f1f6fe43056918c5ab5af07441cb8db77b949c165ca1" ,
"typeString" : "literal_string \"Duplicate owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1260 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "1580:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1267 ,
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" : "1580:63:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1268 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1580:63:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1273 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1269 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "1657:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1271 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1270 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1229 ,
2018-06-29 11:23:01 +00:00
"src" : "1664:12:11" ,
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" : "1657:20:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1272 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1244 ,
2018-06-29 11:23:01 +00:00
"src" : "1680:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1657:28:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1274 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1657:28:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1277 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1275 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1229 ,
2018-06-29 11:23:01 +00:00
"src" : "1699:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1276 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1244 ,
2018-06-29 11:23:01 +00:00
"src" : "1714:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1699:20:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1278 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1699:20:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1239 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1236 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1233 ,
2018-06-29 11:23:01 +00:00
"src" : "1317:1:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1237 ,
2018-05-31 13:01:02 +00:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1201 ,
2018-06-29 11:23:01 +00:00
"src" : "1321:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1238 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "1321:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1317:18:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1280 ,
2018-05-31 13:01:02 +00:00
"initializationExpression" : {
"assignments" : [
2018-08-20 07:59:16 +00:00
1233
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1233 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1297 ,
2018-06-29 11:23:01 +00:00
"src" : "1302:9:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1232 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "1302:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1235 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1234 ,
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" : "1314:1:11" ,
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" : "1302:13:11"
2018-05-31 13:01:02 +00:00
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1241 ,
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" : "1337:3:11" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1240 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1233 ,
2018-06-29 11:23:01 +00:00
"src" : "1337:1:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1242 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1337:3:11"
2018-05-31 13:01:02 +00:00
} ,
"nodeType" : "ForStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1297:433:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1285 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1281 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "1739:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1283 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1282 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1229 ,
2018-06-29 11:23:01 +00:00
"src" : "1746:12:11" ,
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" : "1739:20:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1284 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "1762:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1739:38:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1286 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1739:38:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1290 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1287 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "1787:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1288 ,
2018-05-31 13:01:02 +00:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1201 ,
2018-06-29 11:23:01 +00:00
"src" : "1800:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1289 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-29 11:23:01 +00:00
"src" : "1800:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1787:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1291 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1787:27:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1294 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1292 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "1824:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1293 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1203 ,
2018-06-29 11:23:01 +00:00
"src" : "1836:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "1824:22:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1295 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "1824:22:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : "@dev Setup function sets initial storage of contract.\n @param _owners List of Safe owners.\n @param _threshold Number of required confirmations for a Safe transaction." ,
2018-08-20 07:59:16 +00:00
"id" : 1297 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setupOwners" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1204 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1201 ,
2018-05-31 13:01:02 +00:00
"name" : "_owners" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1297 ,
2018-06-29 11:23:01 +00:00
"src" : "664:17:11" ,
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-08-20 07:59:16 +00:00
"id" : 1199 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "664:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1200 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "664:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1203 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1297 ,
2018-06-29 11:23:01 +00:00
"src" : "683:18:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1202 ,
2018-06-28 17:13:59 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "683:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "663:39:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1205 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "724:0:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "643:1210:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1351 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "2197:491:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1313 ,
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-08-20 07:59:16 +00:00
"id" : 1309 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1307 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1299 ,
2018-06-29 11:23:01 +00:00
"src" : "2256:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1308 ,
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" : "2265:1:11" ,
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" : "2256:10:11" ,
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-08-20 07:59:16 +00:00
"id" : 1312 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1310 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1299 ,
2018-06-29 11:23:01 +00:00
"src" : "2270:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1311 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "2279:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2270:24:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2256:38:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1314 ,
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" : "2296:32:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
} ,
"value" : "Invalid owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1306 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "2248:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1315 ,
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" : "2248:81:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1316 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2248:81:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1322 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1318 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "2387:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1320 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1319 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1299 ,
2018-06-29 11:23:01 +00:00
"src" : "2394:5:11" ,
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" : "2387:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1321 ,
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" : "2404:1:11" ,
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" : "2387:18:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4164647265737320697320616c726561647920616e206f776e6572" ,
2018-08-20 07:59:16 +00:00
"id" : 1323 ,
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" : "2407:29:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_9d461d71e19b25cd406798d062d7e61f961ad52541d3077a543e857810427d47" ,
"typeString" : "literal_string \"Address is already an owner\""
} ,
"value" : "Address is already an owner"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_9d461d71e19b25cd406798d062d7e61f961ad52541d3077a543e857810427d47" ,
"typeString" : "literal_string \"Address is already an owner\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1317 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "2379:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1324 ,
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" : "2379:58:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1325 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2379:58:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1332 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1326 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "2447:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1328 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1327 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1299 ,
2018-06-29 11:23:01 +00:00
"src" : "2454:5:11" ,
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" : "2447:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1329 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "2463:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1331 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1330 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "2470:15:11" ,
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" : "2463:23:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2447:39:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1333 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2447:39:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1338 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1334 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "2496:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1336 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1335 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "2503:15:11" ,
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" : "2496:23:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1337 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1299 ,
2018-06-29 11:23:01 +00:00
"src" : "2522:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2496:31:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1339 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2496:31:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1341 ,
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" : "2537:12:11" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1340 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "2537:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1342 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2537:12:11"
2018-05-31 13:01:02 +00:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1345 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1343 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "2617:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1344 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1301 ,
2018-06-29 11:23:01 +00:00
"src" : "2630:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "2617:23:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1350 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2613:68:11" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1347 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1301 ,
2018-06-29 11:23:01 +00:00
"src" : "2670:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1346 ,
2018-05-31 13:01:02 +00:00
"name" : "changeThreshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1516 ,
2018-06-29 11:23:01 +00:00
"src" : "2654:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_uint256_$returns$__$" ,
"typeString" : "function (uint256)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1348 ,
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" : "2654:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1349 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "2654:27:11"
2018-05-31 13:01:02 +00:00
}
}
]
} ,
"documentation" : "@dev Allows to add a new owner to the Safe and update the threshold at the same time.\n This can only be done via a Safe transaction.\n @param owner New owner address.\n @param _threshold New threshold." ,
2018-08-20 07:59:16 +00:00
"id" : 1352 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1304 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1303 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1764 ,
2018-06-29 11:23:01 +00:00
"src" : "2182:10:11" ,
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" : "2182:10:11"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "addOwnerWithThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1302 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1299 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1352 ,
2018-06-29 11:23:01 +00:00
"src" : "2124:13:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1298 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2124:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1301 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1352 ,
2018-06-29 11:23:01 +00:00
"src" : "2139:18:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1300 ,
2018-06-28 17:13:59 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "2139:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "2123:35:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1305 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "2197:0:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "2093:595:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1417 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "3143:670:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1368 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1366 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1364 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "3238:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "-" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-08-20 07:59:16 +00:00
"id" : 1365 ,
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" : "3251:1:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-06-29 11:23:01 +00:00
"src" : "3238:14:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1367 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1358 ,
2018-06-29 11:23:01 +00:00
"src" : "3256:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3238:28:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4e6577206f776e657220636f756e74206e6565647320746f206265206c6172676572207468616e206e6577207468726573686f6c64" ,
2018-08-20 07:59:16 +00:00
"id" : 1369 ,
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" : "3268:55:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_839b4c4db845de24ec74ef067d85431087d6987a4c904418ee4f6ec699c02482" ,
"typeString" : "literal_string \"New owner count needs to be larger than new threshold\""
} ,
"value" : "New owner count needs to be larger than new threshold"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_839b4c4db845de24ec74ef067d85431087d6987a4c904418ee4f6ec699c02482" ,
"typeString" : "literal_string \"New owner count needs to be larger than new threshold\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1363 ,
2018-06-20 08:09:14 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-06-20 08:09:14 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "3230:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1370 ,
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" : "3230:94:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1371 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3230:94:11"
2018-06-20 08:09:14 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1379 ,
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-08-20 07:59:16 +00:00
"id" : 1375 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1373 ,
2018-06-20 08:09:14 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1356 ,
2018-06-29 11:23:01 +00:00
"src" : "3422:5:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1374 ,
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" : "3431:1:11" ,
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" : "3422:10:11" ,
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-08-20 07:59:16 +00:00
"id" : 1378 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1376 ,
2018-06-20 08:09:14 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1356 ,
2018-06-29 11:23:01 +00:00
"src" : "3436:5:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1377 ,
2018-06-20 08:09:14 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "3445:15:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3436:24:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3422:38:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1380 ,
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" : "3462:32:11" ,
2018-06-20 08:09:14 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
} ,
"value" : "Invalid owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1372 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "3414:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1381 ,
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" : "3414:81:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1382 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3414:81:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1388 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1384 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "3513:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1386 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1385 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1354 ,
2018-06-29 11:23:01 +00:00
"src" : "3520:9:11" ,
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" : "3513:17:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1387 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1356 ,
2018-06-29 11:23:01 +00:00
"src" : "3534:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3513:26:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764f776e65722c206f776e657220706169722070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1389 ,
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" : "3541:40:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_960698caed81fce71c9b7d572ab2e035b6014a5b812b51df8462ea9817fc4ebc" ,
"typeString" : "literal_string \"Invalid prevOwner, owner pair provided\""
} ,
"value" : "Invalid prevOwner, owner pair provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_960698caed81fce71c9b7d572ab2e035b6014a5b812b51df8462ea9817fc4ebc" ,
"typeString" : "literal_string \"Invalid prevOwner, owner pair provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1383 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "3505:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1390 ,
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" : "3505:77:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1391 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3505:77:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1398 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1392 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "3592:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1394 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1393 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1354 ,
2018-06-29 11:23:01 +00:00
"src" : "3599:9:11" ,
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" : "3592:17:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1395 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "3612:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1397 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1396 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1356 ,
2018-06-29 11:23:01 +00:00
"src" : "3619:5:11" ,
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" : "3612:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3592:33:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1399 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3592:33:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1404 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1400 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "3635:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1402 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1401 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1356 ,
2018-06-29 11:23:01 +00:00
"src" : "3642:5:11" ,
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" : "3635:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1403 ,
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" : "3651:1:11" ,
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" : "3635:17:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1405 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3635:17:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1407 ,
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" : "3662:12:11" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1406 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "3662:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1408 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3662:12:11"
2018-05-31 13:01:02 +00:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1411 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1409 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "3742:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1410 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1358 ,
2018-06-29 11:23:01 +00:00
"src" : "3755:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "3742:23:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1416 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3738:68:11" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1413 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1358 ,
2018-06-29 11:23:01 +00:00
"src" : "3795:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1412 ,
2018-05-31 13:01:02 +00:00
"name" : "changeThreshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1516 ,
2018-06-29 11:23:01 +00:00
"src" : "3779:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_uint256_$returns$__$" ,
"typeString" : "function (uint256)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1414 ,
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" : "3779:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1415 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "3779:27:11"
2018-05-31 13:01:02 +00:00
}
}
]
} ,
"documentation" : "@dev Allows to remove an owner from the Safe and update the threshold at the same time.\n This can only be done via a Safe transaction.\n @param prevOwner Owner that pointed to the owner to be removed in the linked list\n @param owner Owner address to be removed.\n @param _threshold New threshold." ,
2018-08-20 07:59:16 +00:00
"id" : 1418 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1361 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1360 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1764 ,
2018-06-29 11:23:01 +00:00
"src" : "3128:10:11" ,
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" : "3128:10:11"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "removeOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1359 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1354 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1418 ,
2018-06-29 11:23:01 +00:00
"src" : "3051:17:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1353 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3051:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1356 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1418 ,
2018-06-29 11:23:01 +00:00
"src" : "3070:13:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1355 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3070:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1358 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1418 ,
2018-06-29 11:23:01 +00:00
"src" : "3085:18:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1357 ,
2018-06-28 17:13:59 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "3085:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "3050:54:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1362 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "3143:0:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "3030:783:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1489 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "4259:639:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1436 ,
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-08-20 07:59:16 +00:00
"id" : 1432 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1430 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1424 ,
2018-06-29 11:23:01 +00:00
"src" : "4318:8:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1431 ,
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" : "4330:1:11" ,
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" : "4318:13:11" ,
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-08-20 07:59:16 +00:00
"id" : 1435 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1433 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1424 ,
2018-06-29 11:23:01 +00:00
"src" : "4335:8:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1434 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "4347:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4335:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4318:44:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1437 ,
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" : "4364:32:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
} ,
"value" : "Invalid owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1429 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "4310:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1438 ,
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" : "4310:87:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1439 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4310:87:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1445 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1441 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4455:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1443 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1442 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1424 ,
2018-06-29 11:23:01 +00:00
"src" : "4462:8:11" ,
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" : "4455:16:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1444 ,
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" : "4475:1:11" ,
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" : "4455:21:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4164647265737320697320616c726561647920616e206f776e6572" ,
2018-08-20 07:59:16 +00:00
"id" : 1446 ,
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" : "4478:29:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_9d461d71e19b25cd406798d062d7e61f961ad52541d3077a543e857810427d47" ,
"typeString" : "literal_string \"Address is already an owner\""
} ,
"value" : "Address is already an owner"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_9d461d71e19b25cd406798d062d7e61f961ad52541d3077a543e857810427d47" ,
"typeString" : "literal_string \"Address is already an owner\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1440 ,
2018-06-20 08:09:14 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-06-20 08:09:14 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "4447:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1447 ,
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" : "4447:61:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1448 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4447:61:11"
2018-06-20 08:09:14 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1456 ,
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-08-20 07:59:16 +00:00
"id" : 1452 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1450 ,
2018-06-20 08:09:14 +00:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1422 ,
2018-06-29 11:23:01 +00:00
"src" : "4609:8:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1451 ,
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" : "4621:1:11" ,
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" : "4609:13:11" ,
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-08-20 07:59:16 +00:00
"id" : 1455 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1453 ,
2018-06-20 08:09:14 +00:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1422 ,
2018-06-29 11:23:01 +00:00
"src" : "4626:8:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1454 ,
2018-06-20 08:09:14 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "4638:15:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4626:27:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4609:44:11" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1457 ,
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" : "4655:32:11" ,
2018-06-20 08:09:14 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
} ,
"value" : "Invalid owner address provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_21a1cd38818adb750881fbf07c26ce7223dde608fdd9dadd31a0d41afeca2094" ,
"typeString" : "literal_string \"Invalid owner address provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1449 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "4601:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1458 ,
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" : "4601:87:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1459 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4601:87:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1465 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1461 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4706:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1463 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1462 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1420 ,
2018-06-29 11:23:01 +00:00
"src" : "4713:9:11" ,
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" : "4706:17:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1464 ,
2018-05-31 13:01:02 +00:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1422 ,
2018-06-29 11:23:01 +00:00
"src" : "4727:8:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4706:29:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764f776e65722c206f776e657220706169722070726f7669646564" ,
2018-08-20 07:59:16 +00:00
"id" : 1466 ,
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" : "4737:40:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_960698caed81fce71c9b7d572ab2e035b6014a5b812b51df8462ea9817fc4ebc" ,
"typeString" : "literal_string \"Invalid prevOwner, owner pair provided\""
} ,
"value" : "Invalid prevOwner, owner pair provided"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_960698caed81fce71c9b7d572ab2e035b6014a5b812b51df8462ea9817fc4ebc" ,
"typeString" : "literal_string \"Invalid prevOwner, owner pair provided\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1460 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "4698:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1467 ,
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" : "4698:80:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1468 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4698:80:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1475 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1469 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4788:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1471 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1470 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1424 ,
2018-06-29 11:23:01 +00:00
"src" : "4795:8:11" ,
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" : "4788:16:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1472 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4807:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1474 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1473 ,
2018-05-31 13:01:02 +00:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1422 ,
2018-06-29 11:23:01 +00:00
"src" : "4814:8:11" ,
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" : "4807:16:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4788:35:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1476 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4788:35:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1481 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1477 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4833:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1479 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1478 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1420 ,
2018-06-29 11:23:01 +00:00
"src" : "4840:9:11" ,
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" : "4833:17:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1480 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1424 ,
2018-06-29 11:23:01 +00:00
"src" : "4853:8:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "4833:28:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1482 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4833:28:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1487 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1483 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "4871:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1485 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1484 ,
2018-05-31 13:01:02 +00:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1422 ,
2018-06-29 11:23:01 +00:00
"src" : "4878:8:11" ,
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" : "4871:16:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1486 ,
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" : "4890:1:11" ,
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" : "4871:20:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1488 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "4871:20:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : "@dev Allows to swap/replace an owner from the Safe with another address.\n This can only be done via a Safe transaction.\n @param prevOwner Owner that pointed to the owner to be replaced in the linked list\n @param oldOwner Owner address to be replaced.\n @param newOwner New owner address." ,
2018-08-20 07:59:16 +00:00
"id" : 1490 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1427 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1426 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1764 ,
2018-06-29 11:23:01 +00:00
"src" : "4244:10:11" ,
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" : "4244:10:11"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "swapOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1425 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1420 ,
2018-05-31 13:01:02 +00:00
"name" : "prevOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1490 ,
2018-06-29 11:23:01 +00:00
"src" : "4166:17:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1419 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4166:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1422 ,
2018-05-31 13:01:02 +00:00
"name" : "oldOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1490 ,
2018-06-29 11:23:01 +00:00
"src" : "4185:16:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1421 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4185:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1424 ,
2018-05-31 13:01:02 +00:00
"name" : "newOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1490 ,
2018-06-29 11:23:01 +00:00
"src" : "4203:16:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1423 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "4203:7:11" ,
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" : "4165:55:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1428 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "4259:0:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "4147:751:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1515 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5170:316:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1500 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1498 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1492 ,
2018-06-29 11:23:01 +00:00
"src" : "5257:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1499 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "5271:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5257:24:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f756e74" ,
2018-08-20 07:59:16 +00:00
"id" : 1501 ,
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" : "5283:37:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_63d26a9feb8568677e5c255c04e4da88e86a25137d5152a9a089790b7e710e86" ,
"typeString" : "literal_string \"Threshold cannot exceed owner count\""
} ,
"value" : "Threshold cannot exceed owner count"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_63d26a9feb8568677e5c255c04e4da88e86a25137d5152a9a089790b7e710e86" ,
"typeString" : "literal_string \"Threshold cannot exceed owner count\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1497 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "5249:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1502 ,
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" : "5249:72:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1503 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5249:72:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"id" : 1507 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1505 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1492 ,
2018-06-29 11:23:01 +00:00
"src" : "5391:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-08-20 07:59:16 +00:00
"id" : 1506 ,
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" : "5405:1:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-06-29 11:23:01 +00:00
"src" : "5391:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c64206e6565647320746f2062652067726561746572207468616e2030" ,
2018-08-20 07:59:16 +00:00
"id" : 1508 ,
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" : "5408:38:11" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_b995394ed6031392a784e6dd5e04285cca83077a8dc3873d2fb7fcb090297ab4" ,
"typeString" : "literal_string \"Threshold needs to be greater than 0\""
} ,
"value" : "Threshold needs to be greater than 0"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_b995394ed6031392a784e6dd5e04285cca83077a8dc3873d2fb7fcb090297ab4" ,
"typeString" : "literal_string \"Threshold needs to be greater than 0\""
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1504 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-08-20 07:59:16 +00:00
3831 ,
3832
2018-05-31 13:01:02 +00:00
] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 3832 ,
2018-06-29 11:23:01 +00:00
"src" : "5383:7:11" ,
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-08-20 07:59:16 +00:00
"id" : 1509 ,
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" : "5383:64:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1510 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5383:64:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1513 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1511 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "5457:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1512 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1492 ,
2018-06-29 11:23:01 +00:00
"src" : "5469:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "5457:22:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1514 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "5457:22:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : "@dev Allows to update the number of required confirmations by Safe owners.\n This can only be done via a Safe transaction.\n @param _threshold New threshold." ,
2018-08-20 07:59:16 +00:00
"id" : 1516 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1495 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1494 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1764 ,
2018-06-29 11:23:01 +00:00
"src" : "5155:10:11" ,
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" : "5155:10:11"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "changeThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1493 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1492 ,
2018-05-31 13:01:02 +00:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1516 ,
2018-06-29 11:23:01 +00:00
"src" : "5112:18:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1491 ,
2018-06-28 17:13:59 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5112:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "5111:20:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1496 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "5170:0:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "5087:399:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1523 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5574:33:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1521 ,
2018-06-28 17:13:59 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1198 ,
2018-06-29 11:23:01 +00:00
"src" : "5591:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-08-20 07:59:16 +00:00
"functionReturnParameters" : 1520 ,
"id" : 1522 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Return" ,
2018-06-29 11:23:01 +00:00
"src" : "5584:16:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1524 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1517 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "5513:2:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1520 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1519 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1524 ,
2018-06-29 11:23:01 +00:00
"src" : "5561:7:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1518 ,
2018-06-28 17:13:59 +00:00
"name" : "uint256" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5561:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "5560:9:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "5492:115:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1537 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5700:42:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1535 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1531 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "5717:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1533 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1532 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1526 ,
2018-06-29 11:23:01 +00:00
"src" : "5724:5:11" ,
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" : "5717:13:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1534 ,
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" : "5734:1:11" ,
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" : "5717:18:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-08-20 07:59:16 +00:00
"functionReturnParameters" : 1530 ,
"id" : 1536 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Return" ,
2018-06-29 11:23:01 +00:00
"src" : "5710:25:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1538 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "isOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1527 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1526 ,
2018-05-31 13:01:02 +00:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1538 ,
2018-06-29 11:23:01 +00:00
"src" : "5630:13:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1525 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5630:7:11" ,
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" : "5629:15:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1530 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1529 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1538 ,
2018-06-29 11:23:01 +00:00
"src" : "5690:4:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1528 ,
2018-05-31 13:01:02 +00:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5690:4:11" ,
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" : "5689:6:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "5613:129:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1586 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "5905:377:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-08-20 07:59:16 +00:00
1547
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1547 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1587 ,
2018-06-29 11:23:01 +00:00
"src" : "5915:22:11" ,
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-08-20 07:59:16 +00:00
"id" : 1545 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5915:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1546 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5915:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1553 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1551 ,
2018-05-31 13:01:02 +00:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1196 ,
2018-06-29 11:23:01 +00:00
"src" : "5954:10:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1550 ,
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" : "5940:13:11" ,
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-08-20 07:59:16 +00:00
"id" : 1548 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5944:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1549 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5944:9:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1552 ,
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" : "5940:25:11" ,
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" : "5915:50:11"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-08-20 07:59:16 +00:00
1555
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1555 ,
2018-05-31 13:01:02 +00:00
"name" : "index" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1587 ,
2018-06-29 11:23:01 +00:00
"src" : "6009:13:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1554 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "6009:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1557 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-08-20 07:59:16 +00:00
"id" : 1556 ,
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" : "6025:1:11" ,
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" : "6009:17:11"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-08-20 07:59:16 +00:00
1559
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1559 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1587 ,
2018-06-29 11:23:01 +00:00
"src" : "6036:20:11" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-08-20 07:59:16 +00:00
"id" : 1558 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "6036:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-08-20 07:59:16 +00:00
"id" : 1563 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1560 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "6059:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1562 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1561 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "6066:15:11" ,
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" : "6059:23:11" ,
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" : "6036:46:11"
2018-05-31 13:01:02 +00:00
} ,
{
"body" : {
2018-08-20 07:59:16 +00:00
"id" : 1582 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-29 11:23:01 +00:00
"src" : "6131:123:11" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1571 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1567 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1547 ,
2018-06-29 11:23:01 +00:00
"src" : "6145:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1569 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1568 ,
2018-05-31 13:01:02 +00:00
"name" : "index" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1555 ,
2018-06-29 11:23:01 +00:00
"src" : "6151:5:11" ,
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" : "6145:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1570 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1559 ,
2018-06-29 11:23:01 +00:00
"src" : "6160:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "6145:27:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1572 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "6145:27:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1577 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1573 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1559 ,
2018-06-29 11:23:01 +00:00
"src" : "6186:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1574 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1194 ,
2018-06-29 11:23:01 +00:00
"src" : "6201:6:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1576 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1575 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1559 ,
2018-06-29 11:23:01 +00:00
"src" : "6208:12:11" ,
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" : "6201:20:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "6186:35:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1578 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "6186:35:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1580 ,
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" : "6235:8:11" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1579 ,
2018-05-31 13:01:02 +00:00
"name" : "index" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1555 ,
2018-06-29 11:23:01 +00:00
"src" : "6235:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1581 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "6235:8:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-08-20 07:59:16 +00:00
"id" : 1566 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1564 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1559 ,
2018-06-29 11:23:01 +00:00
"src" : "6098:12:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1565 ,
2018-05-31 13:01:02 +00:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1190 ,
2018-06-29 11:23:01 +00:00
"src" : "6114:15:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-29 11:23:01 +00:00
"src" : "6098:31:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1583 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "WhileStatement" ,
2018-06-29 11:23:01 +00:00
"src" : "6092:162:11"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-08-20 07:59:16 +00:00
"id" : 1584 ,
2018-05-31 13:01:02 +00:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-08-20 07:59:16 +00:00
"referencedDeclaration" : 1547 ,
2018-06-29 11:23:01 +00:00
"src" : "6270:5:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-08-20 07:59:16 +00:00
"functionReturnParameters" : 1543 ,
"id" : 1585 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Return" ,
2018-06-29 11:23:01 +00:00
"src" : "6263:12:11"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : "@dev Returns array of owners.\n @return Array of Safe owners." ,
2018-08-20 07:59:16 +00:00
"id" : 1587 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getOwners" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1539 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-29 11:23:01 +00:00
"src" : "5842:2:11"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-08-20 07:59:16 +00:00
"id" : 1543 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-08-20 07:59:16 +00:00
"id" : 1542 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-08-20 07:59:16 +00:00
"scope" : 1587 ,
2018-06-29 11:23:01 +00:00
"src" : "5890:9:11" ,
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-08-20 07:59:16 +00:00
"id" : 1540 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5890:7:11" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-08-20 07:59:16 +00:00
"id" : 1541 ,
2018-05-31 13:01:02 +00:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-06-29 11:23:01 +00:00
"src" : "5890:9:11" ,
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" : "5889:11:11"
2018-05-31 13:01:02 +00:00
} ,
2018-08-20 07:59:16 +00:00
"scope" : 1588 ,
2018-06-29 11:23:01 +00:00
"src" : "5824:458:11" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-08-20 07:59:16 +00:00
"scope" : 1589 ,
2018-06-29 11:23:01 +00:00
"src" : "240:6044:11"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-29 11:23:01 +00:00
"src" : "0:6285:11"
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" ,
2018-08-20 07:59:16 +00:00
"updatedAt" : "2018-08-20T07:44:41.090Z"
2018-05-31 13:01:02 +00:00
}