2018-05-31 15:01:02 +02:00
{
"contractName" : "OwnerManager" ,
"abi" : [
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "SENTINEL_OWNERS" ,
"outputs" : [
{
"name" : "" ,
"type" : "address"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
2018-09-26 11:19:53 +02:00
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : false ,
"name" : "owner" ,
"type" : "address"
}
] ,
"name" : "AddedOwner" ,
"type" : "event"
} ,
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : false ,
"name" : "owner" ,
"type" : "address"
}
] ,
"name" : "RemovedOwner" ,
"type" : "event"
} ,
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : false ,
"name" : "threshold" ,
"type" : "uint256"
}
] ,
"name" : "ChangedThreshold" ,
"type" : "event"
} ,
2018-05-31 15:01:02 +02:00
{
"constant" : false ,
"inputs" : [
{
"name" : "owner" ,
"type" : "address"
} ,
{
"name" : "_threshold" ,
2018-06-28 19:13:59 +02:00
"type" : "uint256"
2018-05-31 15:01:02 +02: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 19:13:59 +02:00
"type" : "uint256"
2018-05-31 15:01:02 +02: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 19:13:59 +02:00
"type" : "uint256"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "changeThreshold" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "getThreshold" ,
"outputs" : [
{
"name" : "" ,
2018-06-28 19:13:59 +02:00
"type" : "uint256"
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"bytecode" : " 0 x 608060405234801561001057600080 f d 5 b 5061189 b 806100206000396000 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 1690602001909291905050506107 a b 565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561014757600080 f d 5 b 506101666004803603810190808035906020019092919050505061082 c 565 b 0 0 5 b 34801561017457600080 f d 5 b 5061017 d 610 a 77565 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 4610 a 7 c 565 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 c 15565 b 0 0 5 b 3480156102 b a 57600080 f d 5 b 506102 c 3611322565 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 1690602001909291908035906020019092919050505061132 c 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 1602179055506001600081548092919060010191905055507 f 9465 f a 0 c 962 c c 76958e6373 a 993326400 c 1 c 94 f 8 b e 2 f e 3 a 952 a d f a 7 f 60 b 2 e a 2682604051808273 f f f f f f f f f f f f f f f f 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 a 1806002541415156107 a 7576107 a 68161082 c 565 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
"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 1690602001909291905050506107 a b 565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561014757600080 f d 5 b 506101666004803603810190808035906020019092919050505061082 c 565 b 0 0 5 b 34801561017457600080 f d 5 b 5061017 d 610 a 77565 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 4610 a 7 c 565 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 c 15565 b 0 0 5 b 3480156102 b a 57600080 f d 5 b 506102 c 3611322565 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 1690602001909291908035906020019092919050505061132 c 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 1602179055506001600081548092919060010191905055507 f 9465 f a 0 c 962 c c 76958e6373 a 993326400 c 1 c 94 f 8 b e 2 f e 3 a 952 a d f a 7 f 60 b 2 e a 2682604051808273 f f f f f f f f f f f f f f f f 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 a 1806002541415156107 a 7576107 a 68161082 c 565 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 168152602001908152602001600020600090549061
"sourceMap" : "248:6348:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;248:6348:6;;;;;;;" ,
"deployedSourceMap" : " 248 : 6348 : 6 : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2225 : 627 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2225 : 627 : 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5925 : 129 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 5925 : 129 : 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5357 : 441 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 5357 : 441 : 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 419 : 54 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 419 : 54 : 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 6136 : 458 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 6136 : 458 : 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 23 : 1 : -1 ; 8 : 100 ; 33 : 3 ; 30 : 1 ; 27 : 10 ; 8 : 100 ; ; ; 99 : 1 ; 94 : 3 ; 90 : 11 ; 84 : 18 ; 80 : 1 ; 75 : 3 ; 71 : 11 ; 64 : 39 ; 52 : 2 ; 49 : 1 ; 45 : 10 ; 40 : 15 ; ; 8 : 100 ; ; ; 12 : 14 ; 6136 : 458 : 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4345 : 823 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 4345 : 823 : 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5804 : 115 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 5804 : 115 : 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3194 : 817 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 3194 : 817 : 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2225 : 627 ; 244 : 4 : 11 ; 222 : 27 ; ; : 10 ; : 27 ; ; ; 214 : 84 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2397 : 1 : 6 ; 2388 : 5 ; : 10 ; ; ; ; : 38 ; ; ; ; ; 469 : 3 ; 2402 : 24 ; ; : 5 ; : 24 ; ; ; ; 2388 : 38 ; 2380 : 81 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2536 : 1 ; 2519 : 6 ; : 13 ; 2526 : 5 ; 2519 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 18 ; ; ; 2511 : 58 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2595 : 6 ; : 23 ; 469 : 3 ; 2595 : 23 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2579 : 6 ; : 13 ; 2586 : 5 ; 2579 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 39 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2654 : 5 ; 2628 : 6 ; : 23 ; 469 : 3 ; 2628 : 23 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 31 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2669 : 10 ; ; : 12 ; ; ; ; ; ; ; ; ; ; ; ; ; 2696 : 17 ; 2707 : 5 ; 2696 : 17 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2794 : 10 ; 2781 : 9 ; ; : 23 ; ; 2777 : 68 ; ; ; 2818 : 27 ; 2834 : 10 ; 2818 : 15 ; : 27 : : i ; : : : - ; 2777 : 68 ; 2225 : 627 ; ; : : : o ; 5925 : 129 : : - ; 6002 : 4 ; 6046 : 1 ; 6029 : 6 ; : 13 ; 6036 : 5 ; 6029 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 18 ; ; ; ; 6022 : 25 ; ; 5925 : 129 ; ; ; : : : o ; 5357 : 441 : : - ; 244 : 4 : 11 ; 222 : 27 ; ; : 10 ; : 27 ; ; ; 214 : 84 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5541 : 10 : 6 ; ; 5527 ; : 24 ; ; 5519 : 72 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5675 : 1 ; 5661 : 10 ; : 15 ; ; 5653 : 64 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5739 : 10 ; 5727 : 9 ; : 22 ; ; ; ; 5764 : 27 ; 5781 : 9 ; ; 5764 : 27 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5357 : 441 ; : : : o ; 419 : 54 : : - ; 469 : 3 ; 419 : 54 ; : : : o ; 6136 : 458 : : - ; 6202 : 9 ; 6227 : 22 ; 6321 : 13 ; 6348 : 20 ; 6266 : 10 ; ; 6252 : 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 ; 6252 : 25 : 6 ; ; ; ; 6227 : 50 ; ; 6337 : 1 ; 6321 : 17 ; ; 6371 : 6 ; : 23 ; 469 : 3 ; 6371 : 23 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 6348 : 46 ; ; 6404 : 162 ; 469 : 3 ; 6410 : 31 ; ; : 12 ; : 31 ; ; ; ; 6404 : 162 ; ; ; 6472 : 12 ; 6457 : 5 ; 6463 ; 6457 : 12 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 27 ; ; ; ; ; ; ; ; ; ; ; 6513 : 6 ; : 20 ; 6520 : 12 ; 6513 : 20 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 6498 : 35 ; ; 6547 : 8 ; ; ; ; ; ; ; 6404 : 162 ; ; ; 6582 : 5 ; 6575 : 12 ; ; 6136 : 458 ; ; ; ; : : : o ; 4345 : 823 : : - ; 244 : 4 : 11 ; 222 : 27 ; ; : 10 ; : 27 ; ; ; 214 : 84 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4528 : 1 : 6 ; 4516 : 8 ; : 13 ; ; ; ; : 44 ; ; ; ; ; 469 : 3 ; 4533 : 27 ; ; : 8 ; : 27 ; ; ; ; 4516 : 44 ; 4508 : 87 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4673 : 1 ; 4653 : 6 ; : 16 ; 4660 : 8 ; 4653 : 16 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 21 ; ; ; 4645 : 61 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4819 : 1 ; 4807 : 8 ; : 13 ; ; ; ; : 44 ; ; ; ; ; 469 : 3 ; 4824 : 27 ; ; : 8 ; : 27 ; ; ; ; 4807 : 44 ; 4799 : 87 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4925 : 8 ; 4904 : 29 ; ; : 6 ; : 17 ; 4911 : 9 ; 4904 : 17 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 29 ; ; ; 4896 : 80 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5005 : 6 ; : 16 ; 5012 : 8 ; 5005 : 16 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4986 : 6 ; : 16 ; 4993 : 8 ; 4986 : 16 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 35 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5051 : 8 ; 5031 : 6 ; : 17 ; 5038 : 9 ; 5031 : 17 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 28 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5088 : 1 ; 5069 : 6 ; : 16 ; 5076 : 8 ; 5069 : 16 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 20 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5104 : 22 ; 5117 : 8 ; 5104 : 22 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5141 : 20 ; 5152 : 8 ; 5141 : 20 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4345 : 823 ; ; ; : : : o ; 5804 : 115 : : - ; 5873 : 7 ; 5903 : 9 ; ; 5896 : 16 ; ; 5804 : 115 ; : : : o ; 3194 : 817 : : - ; 244 : 4 : 11 ; 222 : 27 ; ; : 10 ; : 27 ; ; ; 214 : 84 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3420 : 10 : 6 ; 3415 : 1 ; 3402 : 10 ; ; : 14 ; : 28 ; ; 3394 : 94 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3595 : 1 ; 3586 : 5 ; : 10 ; ; ; ; : 38 ; ; ; ; ; 469 : 3 ; 3600 : 24 ; ; : 5 ; : 24 ; ; ; ; 3586 : 38 ; 3578 : 81 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3698 : 5 ; 3677 : 26 ; ; : 6 ; : 17 ; 3684 : 9 ; 3677 : 17 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 26 ; ; ; 3669 : 77 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3776 : 6 ; : 13 ; 3783 : 5 ; 3776 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3756 : 6 ; : 17 ; 3763 : 9 ; 3756 : 17 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 33 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3815 : 1 ; 3799 : 6 ; : 13 ; 3806 : 5 ; 3799 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 17 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3826 : 10 ; ;
"source" : "pragma solidity 0.4.24;\nimport \"../common/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 event AddedOwner(address owner);\n event RemovedOwner(address owner);\n event ChangedThreshold(uint256 threshold);\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 emit AddedOwner(owner);\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 e m i t R e m o v e d O w n e r ( o w n e r ) ; \ n // Change threshold if threshold was changed.\n if (threshold != _threshold)\n
"sourcePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/base/OwnerManager.sol" ,
2018-05-31 15:01:02 +02:00
"ast" : {
2018-09-26 11:19:53 +02:00
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/base/OwnerManager.sol" ,
2018-05-31 15:01:02 +02:00
"exportedSymbols" : {
"OwnerManager" : [
2018-09-26 11:19:53 +02:00
1652
2018-05-31 15:01:02 +02:00
]
} ,
2018-09-26 11:19:53 +02:00
"id" : 1653 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-09-26 11:19:53 +02:00
"id" : 1214 ,
2018-05-31 15:01:02 +02:00
"literals" : [
"solidity" ,
"0.4" ,
".24"
] ,
"nodeType" : "PragmaDirective" ,
2018-09-26 11:19:53 +02:00
"src" : "0:23:6"
2018-05-31 15:01:02 +02:00
} ,
{
2018-09-26 11:19:53 +02:00
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/common/SelfAuthorized.sol" ,
"file" : "../common/SelfAuthorized.sol" ,
"id" : 1215 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ImportDirective" ,
2018-09-26 11:19:53 +02:00
"scope" : 1653 ,
"sourceUnit" : 1736 ,
"src" : "24:38:6" ,
2018-05-31 15:01:02 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1216 ,
2018-05-31 15:01:02 +02:00
"name" : "SelfAuthorized" ,
"nodeType" : "UserDefinedTypeName" ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1735 ,
"src" : "273:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-09-26 11:19:53 +02:00
"typeIdentifier" : "t_contract$_SelfAuthorized_$1735" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract SelfAuthorized"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1217 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "InheritanceSpecifier" ,
2018-09-26 11:19:53 +02:00
"src" : "273:14:6"
2018-05-31 15:01:02 +02:00
}
] ,
"contractDependencies" : [
2018-09-26 11:19:53 +02:00
1735
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1652 ,
2018-05-31 15:01:02 +02:00
"linearizedBaseContracts" : [
2018-09-26 11:19:53 +02:00
1652 ,
1735
2018-05-31 15:01:02 +02:00
] ,
"name" : "OwnerManager" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
2018-09-26 11:19:53 +02:00
{
"anonymous" : false ,
"documentation" : null ,
"id" : 1221 ,
"name" : "AddedOwner" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
"id" : 1220 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 1219 ,
"indexed" : false ,
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 1221 ,
"src" : "312:13:6" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 1218 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "312:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "311:15:6"
} ,
"src" : "295:32:6"
} ,
{
"anonymous" : false ,
"documentation" : null ,
"id" : 1225 ,
"name" : "RemovedOwner" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
"id" : 1224 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 1223 ,
"indexed" : false ,
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 1225 ,
"src" : "351:13:6" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 1222 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "351:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "350:15:6"
} ,
"src" : "332:34:6"
} ,
{
"anonymous" : false ,
"documentation" : null ,
"id" : 1229 ,
"name" : "ChangedThreshold" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
"id" : 1228 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 1227 ,
"indexed" : false ,
"name" : "threshold" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 1229 ,
"src" : "394:17:6" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 1226 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "394:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "393:19:6"
} ,
"src" : "371:42:6"
} ,
2018-05-31 15:01:02 +02:00
{
"constant" : true ,
2018-09-26 11:19:53 +02:00
"id" : 1234 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "419:54:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1230 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "419:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "307831" ,
2018-09-26 11:19:53 +02:00
"id" : 1232 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "469:3:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "0x1"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1231 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-09-26 11:19:53 +02:00
"src" : "461:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1233 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "461:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1238 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "480:43:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1237 ,
2018-05-31 15:01:02 +02:00
"keyType" : {
2018-09-26 11:19:53 +02:00
"id" : 1235 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "488:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
2018-09-26 11:19:53 +02:00
"src" : "480:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"valueType" : {
2018-09-26 11:19:53 +02:00
"id" : 1236 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "499:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1240 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "529:18:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1239 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "529:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1242 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "553:26:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1241 ,
2018-06-20 10:09:14 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "553:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1340 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "856:1129:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1253 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1251 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "998:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1252 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1011:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "998:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4f776e657273206861766520616c7265616479206265656e207365747570" ,
2018-09-26 11:19:53 +02:00
"id" : 1254 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1014:32:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1250 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "990:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1255 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "990:57:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1256 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "990:57:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1261 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1258 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1247 ,
"src" : "1140:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<=" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1259 ,
2018-05-31 15:01:02 +02:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1245 ,
"src" : "1154:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1260 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-09-26 11:19:53 +02:00
"src" : "1154:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1140:28:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f756e74" ,
2018-09-26 11:19:53 +02:00
"id" : 1262 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1170:37:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1257 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "1132:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1263 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "1132:76:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1264 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1132:76:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1268 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1266 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1247 ,
"src" : "1278:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-09-26 11:19:53 +02:00
"id" : 1267 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1292:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-09-26 11:19:53 +02:00
"src" : "1278:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c64206e6565647320746f2062652067726561746572207468616e2030" ,
2018-09-26 11:19:53 +02:00
"id" : 1269 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1295:38:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1265 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "1270:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1270 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "1270:64:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1271 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1270:64:6"
2018-05-31 15:01:02 +02:00
} ,
{
"assignments" : [
2018-09-26 11:19:53 +02:00
1273
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1273 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1341 ,
"src" : "1381:20:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1272 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "1381:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1275 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1274 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "1404:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1381:38:6"
2018-05-31 15:01:02 +02:00
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1323 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "1474:388:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"assignments" : [
2018-09-26 11:19:53 +02:00
1288
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1288 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1341 ,
"src" : "1533:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1287 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "1533:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1292 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1289 ,
2018-05-31 15:01:02 +02:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1245 ,
"src" : "1549:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1291 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1290 ,
2018-05-31 15:01:02 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1277 ,
"src" : "1557:1:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "1549:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1533:26:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1300 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1296 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1294 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1288 ,
"src" : "1581:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1295 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1590:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "1581:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1299 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1297 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1288 ,
"src" : "1595:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1298 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "1604:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1595:24:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1581:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1301 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1621:32:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1293 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "1573:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1302 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "1573:81:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1303 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1573:81:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1309 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1305 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "1720:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1307 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1306 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1288 ,
"src" : "1727:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "1720:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1308 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1737:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "1720:18:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4475706c6963617465206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1310 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1740:34:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1304 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "1712:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1311 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "1712:63:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1312 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1712:63:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1317 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1313 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "1789:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1315 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1314 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1273 ,
"src" : "1796:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "1789:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1316 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1288 ,
"src" : "1812:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1789:28:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1318 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1789:28:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1321 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1319 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1273 ,
"src" : "1831:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1320 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1288 ,
"src" : "1846:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1831:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1322 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1831:20:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1283 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1280 ,
2018-05-31 15:01:02 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1277 ,
"src" : "1449:1:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1281 ,
2018-05-31 15:01:02 +02:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1245 ,
"src" : "1453:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1282 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-09-26 11:19:53 +02:00
"src" : "1453:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1449:18:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1324 ,
2018-05-31 15:01:02 +02:00
"initializationExpression" : {
"assignments" : [
2018-09-26 11:19:53 +02:00
1277
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1277 ,
2018-05-31 15:01:02 +02:00
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1341 ,
"src" : "1434:9:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1276 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "1434:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1279 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1278 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1446:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1434:13:6"
2018-05-31 15:01:02 +02:00
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1285 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-09-26 11:19:53 +02:00
"src" : "1469:3:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1284 ,
2018-05-31 15:01:02 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1277 ,
"src" : "1469:1:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1286 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1469:3:6"
2018-05-31 15:01:02 +02:00
} ,
"nodeType" : "ForStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1429:433:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1329 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1325 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "1871:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1327 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1326 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1273 ,
"src" : "1878:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "1871:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1328 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "1894:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1871:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1330 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1871:38:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1334 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1331 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "1919:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1332 ,
2018-05-31 15:01:02 +02:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1245 ,
"src" : "1932:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1333 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-09-26 11:19:53 +02:00
"src" : "1932:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1919:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1335 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1919:27:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1338 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1336 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "1956:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1337 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1247 ,
"src" : "1968:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1956:22:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1339 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1956:22:6"
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1341 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setupOwners" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1248 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1245 ,
2018-05-31 15:01:02 +02:00
"name" : "_owners" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1341 ,
"src" : "796:17:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-09-26 11:19:53 +02:00
"id" : 1243 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "796:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1244 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "796:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1247 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1341 ,
"src" : "815:18:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1246 ,
2018-06-28 19:13:59 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "815:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "795:39:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1249 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "856:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "775:1210:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1399 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "2329:523:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1357 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1353 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1351 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1343 ,
"src" : "2388:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1352 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "2397:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "2388:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1356 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1354 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1343 ,
"src" : "2402:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1355 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "2411:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "2402:24:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "2388:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1358 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "2428:32:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1350 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "2380:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1359 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "2380:81:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1360 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2380:81:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1366 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1362 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "2519:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1364 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1363 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1343 ,
"src" : "2526:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "2519:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1365 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "2536:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "2519:18:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4164647265737320697320616c726561647920616e206f776e6572" ,
2018-09-26 11:19:53 +02:00
"id" : 1367 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "2539:29:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1361 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "2511:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1368 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "2511:58:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1369 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2511:58:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1376 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1370 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "2579:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1372 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1371 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1343 ,
"src" : "2586:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "2579:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1373 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "2595:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1375 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1374 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "2602:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "2595:23:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "2579:39:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1377 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2579:39:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1382 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1378 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "2628:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1380 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1379 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "2635:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "2628:23:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1381 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1343 ,
"src" : "2654:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "2628:31:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1383 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2628:31:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1385 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-09-26 11:19:53 +02:00
"src" : "2669:12:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1384 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "2669:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1386 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2669:12:6"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1388 ,
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1343 ,
"src" : "2707:5:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"id" : 1387 ,
"name" : "AddedOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1221 ,
"src" : "2696:10:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
"id" : 1389 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2696:17:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 1390 ,
"nodeType" : "EmitStatement" ,
"src" : "2691:22:6"
2018-05-31 15:01:02 +02:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1393 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1391 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "2781:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1392 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1345 ,
"src" : "2794:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "2781:23:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1398 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "IfStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2777:68:6" ,
2018-05-31 15:01:02 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1395 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1345 ,
"src" : "2834:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1394 ,
2018-05-31 15:01:02 +02:00
"name" : "changeThreshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1580 ,
"src" : "2818:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_uint256_$returns$__$" ,
"typeString" : "function (uint256)"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1396 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "2818:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1397 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2818:27:6"
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1400 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1348 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1347 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1734 ,
"src" : "2314:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-09-26 11:19:53 +02:00
"src" : "2314:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "addOwnerWithThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1346 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1343 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1400 ,
"src" : "2256:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1342 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "2256:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1345 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1400 ,
"src" : "2271:18:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1344 ,
2018-06-28 19:13:59 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "2271:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "2255:35:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1349 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "2329:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "2225:627:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1469 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "3307:704:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1416 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1414 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1412 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "3402:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "-" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-09-26 11:19:53 +02:00
"id" : 1413 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3415:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-09-26 11:19:53 +02:00
"src" : "3402:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1415 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1406 ,
"src" : "3420:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3402:28:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4e6577206f776e657220636f756e74206e6565647320746f206265206c6172676572207468616e206e6577207468726573686f6c64" ,
2018-09-26 11:19:53 +02:00
"id" : 1417 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3432:55:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1411 ,
2018-06-20 10:09:14 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-06-20 10:09:14 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "3394:7:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1418 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "3394:94:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1419 ,
2018-06-20 10:09:14 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3394:94:6"
2018-06-20 10:09:14 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1427 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1423 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1421 ,
2018-06-20 10:09:14 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1404 ,
"src" : "3586:5:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1422 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3595:1:6" ,
2018-06-20 10:09:14 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "3586:10:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1426 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1424 ,
2018-06-20 10:09:14 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1404 ,
"src" : "3600:5:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1425 ,
2018-06-20 10:09:14 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "3609:15:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3600:24:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3586:38:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1428 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3626:32:6" ,
2018-06-20 10:09:14 +02: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-09-26 11:19:53 +02:00
"id" : 1420 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "3578:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1429 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "3578:81:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1430 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3578:81:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1436 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1432 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "3677:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1434 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1433 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1402 ,
"src" : "3684:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "3677:17:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1435 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1404 ,
"src" : "3698:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3677:26:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764f776e65722c206f776e657220706169722070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1437 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3705:40:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1431 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "3669:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1438 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "3669:77:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1439 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3669:77:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1446 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1440 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "3756:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1442 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1441 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1402 ,
"src" : "3763:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "3756:17:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1443 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "3776:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1445 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1444 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1404 ,
"src" : "3783:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "3776:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3756:33:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1447 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3756:33:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1452 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1448 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "3799:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1450 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1449 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1404 ,
"src" : "3806:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "3799:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1451 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3815:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "3799:17:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1453 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3799:17:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1455 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "--" ,
"prefix" : false ,
2018-09-26 11:19:53 +02:00
"src" : "3826:12:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1454 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "3826:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1456 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3826:12:6"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1458 ,
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1404 ,
"src" : "3866:5:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"id" : 1457 ,
"name" : "RemovedOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1225 ,
"src" : "3853:12:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
"id" : 1459 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3853:19:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 1460 ,
"nodeType" : "EmitStatement" ,
"src" : "3848:24:6"
2018-05-31 15:01:02 +02:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1463 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1461 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "3940:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1462 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1406 ,
"src" : "3953:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3940:23:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1468 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "IfStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3936:68:6" ,
2018-05-31 15:01:02 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1465 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1406 ,
"src" : "3993:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1464 ,
2018-05-31 15:01:02 +02:00
"name" : "changeThreshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1580 ,
"src" : "3977:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_uint256_$returns$__$" ,
"typeString" : "function (uint256)"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1466 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "3977:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1467 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3977:27:6"
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1470 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1409 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1408 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1734 ,
"src" : "3292:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-09-26 11:19:53 +02:00
"src" : "3292:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "removeOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1407 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1402 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1470 ,
"src" : "3215:17:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1401 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "3215:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1404 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1470 ,
"src" : "3234:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1403 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "3234:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1406 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1470 ,
"src" : "3249:18:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1405 ,
2018-06-28 19:13:59 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "3249:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "3214:54:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1410 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "3307:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "3194:817:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1549 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "4457:711:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1488 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1484 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1482 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1476 ,
"src" : "4516:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1483 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4528:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "4516:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1487 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1485 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1476 ,
"src" : "4533:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1486 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "4545:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4533:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4516:44:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1489 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4562:32:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1481 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "4508:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1490 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "4508:87:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1491 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "4508:87:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1497 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1493 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "4653:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1495 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1494 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1476 ,
"src" : "4660:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "4653:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1496 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4673:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "4653:21:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4164647265737320697320616c726561647920616e206f776e6572" ,
2018-09-26 11:19:53 +02:00
"id" : 1498 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4676:29:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1492 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "4645:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1499 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "4645:61:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1500 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "4645:61:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1508 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 10:09:14 +02:00
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1504 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1502 ,
2018-06-20 10:09:14 +02:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1474 ,
"src" : "4807:8:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1503 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4819:1:6" ,
2018-06-20 10:09:14 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "4807:13:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1507 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1505 ,
2018-06-20 10:09:14 +02:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1474 ,
"src" : "4824:8:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1506 ,
2018-06-20 10:09:14 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "4836:15:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4824:27:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4807:44:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1509 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4853:32:6" ,
2018-06-20 10:09:14 +02: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-09-26 11:19:53 +02:00
"id" : 1501 ,
2018-06-20 10:09:14 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-06-20 10:09:14 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "4799:7:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1510 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "4799:87:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1511 ,
2018-06-20 10:09:14 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "4799:87:6"
2018-06-20 10:09:14 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1517 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1513 ,
2018-06-20 10:09:14 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
2018-05-31 15:01:02 +02:00
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "4904:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1515 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1514 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1472 ,
"src" : "4911:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "4904:17:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1516 ,
2018-05-31 15:01:02 +02:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1474 ,
"src" : "4925:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4904:29:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764f776e65722c206f776e657220706169722070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1518 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4935:40:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1512 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "4896:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1519 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "4896:80:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1520 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "4896:80:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1527 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1521 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "4986:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1523 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1522 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1476 ,
"src" : "4993:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "4986:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1524 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "5005:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1526 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1525 ,
2018-05-31 15:01:02 +02:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1474 ,
"src" : "5012:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "5005:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4986:35:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1528 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "4986:35:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1533 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1529 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "5031:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1531 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1530 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1472 ,
"src" : "5038:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "5031:17:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1532 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1476 ,
"src" : "5051:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "5031:28:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1534 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "5031:28:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1539 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1535 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "5069:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1537 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1536 ,
2018-05-31 15:01:02 +02:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1474 ,
"src" : "5076:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "5069:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1538 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "5088:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "5069:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1540 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "5069:20:6"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1542 ,
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1474 ,
"src" : "5117:8:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"id" : 1541 ,
"name" : "RemovedOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1225 ,
"src" : "5104:12:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
"id" : 1543 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "5104:22:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 1544 ,
"nodeType" : "EmitStatement" ,
"src" : "5099:27:6"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1546 ,
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1476 ,
"src" : "5152:8:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"id" : 1545 ,
"name" : "AddedOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1221 ,
"src" : "5141:10:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
"id" : 1547 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "5141:20:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 1548 ,
"nodeType" : "EmitStatement" ,
"src" : "5136:25:6"
}
]
} ,
"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." ,
"id" : 1550 ,
"implemented" : true ,
2018-05-31 15:01:02 +02:00
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1479 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1478 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1734 ,
"src" : "4442:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-09-26 11:19:53 +02:00
"src" : "4442:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "swapOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1477 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1472 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1550 ,
"src" : "4364:17:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1471 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "4364:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1474 ,
2018-05-31 15:01:02 +02:00
"name" : "oldOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1550 ,
"src" : "4383:16:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1473 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "4383:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1476 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1550 ,
"src" : "4401:16:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1475 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "4401:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "4363:55:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1480 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "4457:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "4345:823:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1579 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "5440:358:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1560 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1558 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1552 ,
"src" : "5527:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1559 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "5541:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "5527:24:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f756e74" ,
2018-09-26 11:19:53 +02:00
"id" : 1561 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "5553:37:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1557 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "5519:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1562 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "5519:72:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1563 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "5519:72:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1567 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1565 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1552 ,
"src" : "5661:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-09-26 11:19:53 +02:00
"id" : 1566 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "5675:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-09-26 11:19:53 +02:00
"src" : "5661:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c64206e6565647320746f2062652067726561746572207468616e2030" ,
2018-09-26 11:19:53 +02:00
"id" : 1568 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "5678:38:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1564 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "5653:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1569 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "5653:64:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1570 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "5653:64:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1573 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1571 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "5727:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1572 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1552 ,
"src" : "5739:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "5727:22:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1574 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "5727:22:6"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1576 ,
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1242 ,
"src" : "5781:9:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 1575 ,
"name" : "ChangedThreshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1229 ,
"src" : "5764:16:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_uint256_$returns$__$" ,
"typeString" : "function (uint256)"
}
} ,
"id" : 1577 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "5764:27:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 1578 ,
"nodeType" : "EmitStatement" ,
"src" : "5759:32:6"
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1580 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1555 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1554 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1734 ,
"src" : "5425:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-09-26 11:19:53 +02:00
"src" : "5425:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "changeThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1553 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1552 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1580 ,
"src" : "5382:18:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1551 ,
2018-06-28 19:13:59 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "5382:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "5381:20:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1556 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "5440:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "5357:441:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1587 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "5886:33:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1585 ,
2018-06-28 19:13:59 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "5903:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"functionReturnParameters" : 1584 ,
"id" : 1586 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Return" ,
2018-09-26 11:19:53 +02:00
"src" : "5896:16:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1588 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1581 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "5825:2:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1584 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1583 ,
2018-05-31 15:01:02 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1588 ,
"src" : "5873:7:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1582 ,
2018-06-28 19:13:59 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "5873:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "5872:9:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "5804:115:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1601 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "6012:42:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1599 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1595 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "6029:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1597 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1596 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1590 ,
"src" : "6036:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "6029:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1598 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "6046:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "6029:18:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"functionReturnParameters" : 1594 ,
"id" : 1600 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Return" ,
2018-09-26 11:19:53 +02:00
"src" : "6022:25:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1602 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "isOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1591 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1590 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1602 ,
"src" : "5942:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1589 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "5942:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "5941:15:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1594 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1593 ,
2018-05-31 15:01:02 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1602 ,
"src" : "6002:4:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1592 ,
2018-05-31 15:01:02 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6002:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "6001:6:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "5925:129:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1650 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "6217:377:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"assignments" : [
2018-09-26 11:19:53 +02:00
1611
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1611 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1651 ,
"src" : "6227:22:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-09-26 11:19:53 +02:00
"id" : 1609 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6227:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1610 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6227:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1617 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1615 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "6266:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1614 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "NewExpression" ,
2018-09-26 11:19:53 +02:00
"src" : "6252:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$" ,
"typeString" : "function (uint256) pure returns (address[] memory)"
} ,
"typeName" : {
"baseType" : {
2018-09-26 11:19:53 +02:00
"id" : 1612 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6256:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1613 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6256:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1616 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "6252:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory" ,
"typeString" : "address[] memory"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6227:50:6"
2018-05-31 15:01:02 +02:00
} ,
{
"assignments" : [
2018-09-26 11:19:53 +02:00
1619
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1619 ,
2018-05-31 15:01:02 +02:00
"name" : "index" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1651 ,
"src" : "6321:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1618 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6321:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1621 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1620 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "6337:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6321:17:6"
2018-05-31 15:01:02 +02:00
} ,
{
"assignments" : [
2018-09-26 11:19:53 +02:00
1623
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1623 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1651 ,
"src" : "6348:20:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1622 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6348:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1627 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1624 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "6371:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1626 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1625 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "6378:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "6371:23:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6348:46:6"
2018-05-31 15:01:02 +02:00
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1646 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "6443:123:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1635 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1631 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1611 ,
"src" : "6457:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1633 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1632 ,
2018-05-31 15:01:02 +02:00
"name" : "index" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1619 ,
"src" : "6463:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "6457:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1634 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1623 ,
"src" : "6472:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "6457:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1636 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6457:27:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1641 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1637 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1623 ,
"src" : "6498:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1638 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "6513:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1640 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1639 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1623 ,
"src" : "6520:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "6513:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "6498:35:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1642 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6498:35:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1644 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-09-26 11:19:53 +02:00
"src" : "6547:8:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1643 ,
2018-05-31 15:01:02 +02:00
"name" : "index" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1619 ,
"src" : "6547:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1645 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6547:8:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1630 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1628 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1623 ,
"src" : "6410:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1629 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "6426:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "6410:31:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1647 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "WhileStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6404:162:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1648 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1611 ,
"src" : "6582:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"functionReturnParameters" : 1607 ,
"id" : 1649 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Return" ,
2018-09-26 11:19:53 +02:00
"src" : "6575:12:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : "@dev Returns array of owners.\n @return Array of Safe owners." ,
2018-09-26 11:19:53 +02:00
"id" : 1651 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getOwners" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1603 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "6154:2:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1607 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1606 ,
2018-05-31 15:01:02 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1651 ,
"src" : "6202:9:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-09-26 11:19:53 +02:00
"id" : 1604 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6202:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1605 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6202:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "6201:11:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "6136:458:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-09-26 11:19:53 +02:00
"scope" : 1653 ,
"src" : "248:6348:6"
2018-05-31 15:01:02 +02:00
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "0:6597:6"
2018-05-31 15:01:02 +02:00
} ,
"legacyAST" : {
2018-09-26 11:19:53 +02:00
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/base/OwnerManager.sol" ,
2018-05-31 15:01:02 +02:00
"exportedSymbols" : {
"OwnerManager" : [
2018-09-26 11:19:53 +02:00
1652
2018-05-31 15:01:02 +02:00
]
} ,
2018-09-26 11:19:53 +02:00
"id" : 1653 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-09-26 11:19:53 +02:00
"id" : 1214 ,
2018-05-31 15:01:02 +02:00
"literals" : [
"solidity" ,
"0.4" ,
".24"
] ,
"nodeType" : "PragmaDirective" ,
2018-09-26 11:19:53 +02:00
"src" : "0:23:6"
2018-05-31 15:01:02 +02:00
} ,
{
2018-09-26 11:19:53 +02:00
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/common/SelfAuthorized.sol" ,
"file" : "../common/SelfAuthorized.sol" ,
"id" : 1215 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ImportDirective" ,
2018-09-26 11:19:53 +02:00
"scope" : 1653 ,
"sourceUnit" : 1736 ,
"src" : "24:38:6" ,
2018-05-31 15:01:02 +02:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1216 ,
2018-05-31 15:01:02 +02:00
"name" : "SelfAuthorized" ,
"nodeType" : "UserDefinedTypeName" ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1735 ,
"src" : "273:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-09-26 11:19:53 +02:00
"typeIdentifier" : "t_contract$_SelfAuthorized_$1735" ,
2018-05-31 15:01:02 +02:00
"typeString" : "contract SelfAuthorized"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1217 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "InheritanceSpecifier" ,
2018-09-26 11:19:53 +02:00
"src" : "273:14:6"
2018-05-31 15:01:02 +02:00
}
] ,
"contractDependencies" : [
2018-09-26 11:19:53 +02:00
1735
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1652 ,
2018-05-31 15:01:02 +02:00
"linearizedBaseContracts" : [
2018-09-26 11:19:53 +02:00
1652 ,
1735
2018-05-31 15:01:02 +02:00
] ,
"name" : "OwnerManager" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
2018-09-26 11:19:53 +02:00
{
"anonymous" : false ,
"documentation" : null ,
"id" : 1221 ,
"name" : "AddedOwner" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
"id" : 1220 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 1219 ,
"indexed" : false ,
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 1221 ,
"src" : "312:13:6" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 1218 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "312:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "311:15:6"
} ,
"src" : "295:32:6"
} ,
{
"anonymous" : false ,
"documentation" : null ,
"id" : 1225 ,
"name" : "RemovedOwner" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
"id" : 1224 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 1223 ,
"indexed" : false ,
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 1225 ,
"src" : "351:13:6" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 1222 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "351:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "350:15:6"
} ,
"src" : "332:34:6"
} ,
{
"anonymous" : false ,
"documentation" : null ,
"id" : 1229 ,
"name" : "ChangedThreshold" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
"id" : 1228 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 1227 ,
"indexed" : false ,
"name" : "threshold" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 1229 ,
"src" : "394:17:6" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 1226 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "394:7:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "393:19:6"
} ,
"src" : "371:42:6"
} ,
2018-05-31 15:01:02 +02:00
{
"constant" : true ,
2018-09-26 11:19:53 +02:00
"id" : 1234 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "419:54:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1230 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "419:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "307831" ,
2018-09-26 11:19:53 +02:00
"id" : 1232 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "469:3:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "0x1"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1231 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-09-26 11:19:53 +02:00
"src" : "461:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1233 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "461:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1238 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "480:43:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1237 ,
2018-05-31 15:01:02 +02:00
"keyType" : {
2018-09-26 11:19:53 +02:00
"id" : 1235 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "488:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
2018-09-26 11:19:53 +02:00
"src" : "480:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
} ,
"valueType" : {
2018-09-26 11:19:53 +02:00
"id" : 1236 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "499:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1240 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "529:18:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1239 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "529:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1242 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "553:26:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1241 ,
2018-06-20 10:09:14 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "553:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1340 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "856:1129:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1253 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1251 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "998:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1252 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1011:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "998:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4f776e657273206861766520616c7265616479206265656e207365747570" ,
2018-09-26 11:19:53 +02:00
"id" : 1254 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1014:32:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1250 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "990:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1255 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "990:57:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1256 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "990:57:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1261 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1258 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1247 ,
"src" : "1140:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<=" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1259 ,
2018-05-31 15:01:02 +02:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1245 ,
"src" : "1154:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1260 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-09-26 11:19:53 +02:00
"src" : "1154:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1140:28:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f756e74" ,
2018-09-26 11:19:53 +02:00
"id" : 1262 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1170:37:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1257 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "1132:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1263 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "1132:76:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1264 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1132:76:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1268 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1266 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1247 ,
"src" : "1278:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-09-26 11:19:53 +02:00
"id" : 1267 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1292:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-09-26 11:19:53 +02:00
"src" : "1278:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c64206e6565647320746f2062652067726561746572207468616e2030" ,
2018-09-26 11:19:53 +02:00
"id" : 1269 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1295:38:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1265 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "1270:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1270 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "1270:64:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1271 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1270:64:6"
2018-05-31 15:01:02 +02:00
} ,
{
"assignments" : [
2018-09-26 11:19:53 +02:00
1273
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1273 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1341 ,
"src" : "1381:20:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1272 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "1381:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1275 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1274 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "1404:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1381:38:6"
2018-05-31 15:01:02 +02:00
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1323 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "1474:388:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"assignments" : [
2018-09-26 11:19:53 +02:00
1288
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1288 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1341 ,
"src" : "1533:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1287 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "1533:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1292 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1289 ,
2018-05-31 15:01:02 +02:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1245 ,
"src" : "1549:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1291 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1290 ,
2018-05-31 15:01:02 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1277 ,
"src" : "1557:1:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "1549:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1533:26:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1300 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1296 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1294 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1288 ,
"src" : "1581:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1295 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1590:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "1581:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1299 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1297 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1288 ,
"src" : "1595:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1298 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "1604:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1595:24:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1581:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1301 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1621:32:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1293 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "1573:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1302 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "1573:81:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1303 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1573:81:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1309 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1305 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "1720:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1307 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1306 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1288 ,
"src" : "1727:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "1720:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1308 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1737:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "1720:18:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4475706c6963617465206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1310 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1740:34:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1304 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "1712:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1311 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "1712:63:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1312 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1712:63:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1317 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1313 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "1789:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1315 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1314 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1273 ,
"src" : "1796:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "1789:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1316 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1288 ,
"src" : "1812:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1789:28:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1318 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1789:28:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1321 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1319 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1273 ,
"src" : "1831:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1320 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1288 ,
"src" : "1846:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1831:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1322 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1831:20:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1283 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1280 ,
2018-05-31 15:01:02 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1277 ,
"src" : "1449:1:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1281 ,
2018-05-31 15:01:02 +02:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1245 ,
"src" : "1453:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1282 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-09-26 11:19:53 +02:00
"src" : "1453:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1449:18:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1324 ,
2018-05-31 15:01:02 +02:00
"initializationExpression" : {
"assignments" : [
2018-09-26 11:19:53 +02:00
1277
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1277 ,
2018-05-31 15:01:02 +02:00
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1341 ,
"src" : "1434:9:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1276 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "1434:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1279 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1278 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "1446:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1434:13:6"
2018-05-31 15:01:02 +02:00
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1285 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-09-26 11:19:53 +02:00
"src" : "1469:3:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1284 ,
2018-05-31 15:01:02 +02:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1277 ,
"src" : "1469:1:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1286 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1469:3:6"
2018-05-31 15:01:02 +02:00
} ,
"nodeType" : "ForStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1429:433:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1329 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1325 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "1871:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1327 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1326 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1273 ,
"src" : "1878:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "1871:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1328 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "1894:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1871:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1330 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1871:38:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1334 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1331 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "1919:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1332 ,
2018-05-31 15:01:02 +02:00
"name" : "_owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1245 ,
"src" : "1932:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1333 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "length" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-09-26 11:19:53 +02:00
"src" : "1932:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1919:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1335 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1919:27:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1338 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1336 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "1956:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1337 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1247 ,
"src" : "1968:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "1956:22:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1339 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "1956:22:6"
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1341 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setupOwners" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1248 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1245 ,
2018-05-31 15:01:02 +02:00
"name" : "_owners" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1341 ,
"src" : "796:17:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-09-26 11:19:53 +02:00
"id" : 1243 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "796:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1244 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "796:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1247 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1341 ,
"src" : "815:18:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1246 ,
2018-06-28 19:13:59 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "815:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "795:39:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1249 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "856:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "775:1210:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1399 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "2329:523:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1357 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1353 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1351 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1343 ,
"src" : "2388:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1352 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "2397:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "2388:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1356 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1354 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1343 ,
"src" : "2402:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1355 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "2411:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "2402:24:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "2388:38:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1358 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "2428:32:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1350 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "2380:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1359 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "2380:81:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1360 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2380:81:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1366 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1362 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "2519:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1364 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1363 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1343 ,
"src" : "2526:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "2519:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1365 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "2536:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "2519:18:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4164647265737320697320616c726561647920616e206f776e6572" ,
2018-09-26 11:19:53 +02:00
"id" : 1367 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "2539:29:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1361 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "2511:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1368 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "2511:58:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1369 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2511:58:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1376 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1370 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "2579:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1372 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1371 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1343 ,
"src" : "2586:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "2579:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1373 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "2595:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1375 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1374 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "2602:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "2595:23:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "2579:39:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1377 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2579:39:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1382 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1378 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "2628:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1380 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1379 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "2635:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "2628:23:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1381 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1343 ,
"src" : "2654:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "2628:31:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1383 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2628:31:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1385 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-09-26 11:19:53 +02:00
"src" : "2669:12:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1384 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "2669:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1386 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2669:12:6"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1388 ,
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1343 ,
"src" : "2707:5:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"id" : 1387 ,
"name" : "AddedOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1221 ,
"src" : "2696:10:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
"id" : 1389 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2696:17:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 1390 ,
"nodeType" : "EmitStatement" ,
"src" : "2691:22:6"
2018-05-31 15:01:02 +02:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1393 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1391 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "2781:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1392 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1345 ,
"src" : "2794:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "2781:23:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1398 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "IfStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2777:68:6" ,
2018-05-31 15:01:02 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1395 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1345 ,
"src" : "2834:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1394 ,
2018-05-31 15:01:02 +02:00
"name" : "changeThreshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1580 ,
"src" : "2818:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_uint256_$returns$__$" ,
"typeString" : "function (uint256)"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1396 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "2818:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1397 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "2818:27:6"
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1400 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1348 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1347 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1734 ,
"src" : "2314:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-09-26 11:19:53 +02:00
"src" : "2314:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "addOwnerWithThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1346 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1343 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1400 ,
"src" : "2256:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1342 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "2256:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1345 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1400 ,
"src" : "2271:18:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1344 ,
2018-06-28 19:13:59 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "2271:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "2255:35:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1349 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "2329:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "2225:627:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1469 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "3307:704:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1416 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1414 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1412 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "3402:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "-" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-09-26 11:19:53 +02:00
"id" : 1413 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3415:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-09-26 11:19:53 +02:00
"src" : "3402:14:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1415 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1406 ,
"src" : "3420:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3402:28:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4e6577206f776e657220636f756e74206e6565647320746f206265206c6172676572207468616e206e6577207468726573686f6c64" ,
2018-09-26 11:19:53 +02:00
"id" : 1417 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3432:55:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1411 ,
2018-06-20 10:09:14 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-06-20 10:09:14 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "3394:7:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1418 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "3394:94:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1419 ,
2018-06-20 10:09:14 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3394:94:6"
2018-06-20 10:09:14 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1427 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1423 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1421 ,
2018-06-20 10:09:14 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1404 ,
"src" : "3586:5:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1422 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3595:1:6" ,
2018-06-20 10:09:14 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "3586:10:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1426 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1424 ,
2018-06-20 10:09:14 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1404 ,
"src" : "3600:5:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1425 ,
2018-06-20 10:09:14 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "3609:15:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3600:24:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3586:38:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1428 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3626:32:6" ,
2018-06-20 10:09:14 +02: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-09-26 11:19:53 +02:00
"id" : 1420 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "3578:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1429 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "3578:81:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1430 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3578:81:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1436 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1432 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "3677:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1434 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1433 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1402 ,
"src" : "3684:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "3677:17:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1435 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1404 ,
"src" : "3698:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3677:26:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764f776e65722c206f776e657220706169722070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1437 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3705:40:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1431 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "3669:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1438 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "3669:77:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1439 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3669:77:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1446 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1440 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "3756:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1442 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1441 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1402 ,
"src" : "3763:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "3756:17:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1443 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "3776:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1445 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1444 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1404 ,
"src" : "3783:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "3776:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3756:33:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1447 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3756:33:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1452 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1448 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "3799:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1450 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1449 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1404 ,
"src" : "3806:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "3799:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1451 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "3815:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "3799:17:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1453 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3799:17:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1455 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "--" ,
"prefix" : false ,
2018-09-26 11:19:53 +02:00
"src" : "3826:12:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1454 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "3826:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1456 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3826:12:6"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1458 ,
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1404 ,
"src" : "3866:5:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"id" : 1457 ,
"name" : "RemovedOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1225 ,
"src" : "3853:12:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
"id" : 1459 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3853:19:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 1460 ,
"nodeType" : "EmitStatement" ,
"src" : "3848:24:6"
2018-05-31 15:01:02 +02:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1463 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1461 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "3940:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1462 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1406 ,
"src" : "3953:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "3940:23:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1468 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "IfStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3936:68:6" ,
2018-05-31 15:01:02 +02:00
"trueBody" : {
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1465 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1406 ,
"src" : "3993:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1464 ,
2018-05-31 15:01:02 +02:00
"name" : "changeThreshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1580 ,
"src" : "3977:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_uint256_$returns$__$" ,
"typeString" : "function (uint256)"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1466 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "3977:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1467 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "3977:27:6"
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1470 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1409 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1408 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1734 ,
"src" : "3292:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-09-26 11:19:53 +02:00
"src" : "3292:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "removeOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1407 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1402 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1470 ,
"src" : "3215:17:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1401 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "3215:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1404 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1470 ,
"src" : "3234:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1403 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "3234:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1406 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1470 ,
"src" : "3249:18:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1405 ,
2018-06-28 19:13:59 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "3249:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "3214:54:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1410 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "3307:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "3194:817:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1549 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "4457:711:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1488 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1484 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1482 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1476 ,
"src" : "4516:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1483 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4528:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "4516:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1487 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1485 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1476 ,
"src" : "4533:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1486 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "4545:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4533:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4516:44:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1489 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4562:32:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1481 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "4508:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1490 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "4508:87:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1491 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "4508:87:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1497 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1493 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "4653:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1495 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1494 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1476 ,
"src" : "4660:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "4653:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1496 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4673:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "4653:21:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4164647265737320697320616c726561647920616e206f776e6572" ,
2018-09-26 11:19:53 +02:00
"id" : 1498 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4676:29:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1492 ,
2018-06-20 10:09:14 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-06-20 10:09:14 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "4645:7:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1499 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "4645:61:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1500 ,
2018-06-20 10:09:14 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "4645:61:6"
2018-06-20 10:09:14 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1508 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1504 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1502 ,
2018-06-20 10:09:14 +02:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1474 ,
"src" : "4807:8:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1503 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4819:1:6" ,
2018-06-20 10:09:14 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "4807:13:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "&&" ,
"rightExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1507 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1505 ,
2018-06-20 10:09:14 +02:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1474 ,
"src" : "4824:8:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1506 ,
2018-06-20 10:09:14 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "4836:15:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4824:27:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4807:44:6" ,
2018-06-20 10:09:14 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c6964206f776e657220616464726573732070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1509 ,
2018-06-20 10:09:14 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4853:32:6" ,
2018-06-20 10:09:14 +02: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-09-26 11:19:53 +02:00
"id" : 1501 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "4799:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1510 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "4799:87:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1511 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "4799:87:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1517 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1513 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "4904:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1515 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1514 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1472 ,
"src" : "4911:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "4904:17:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1516 ,
2018-05-31 15:01:02 +02:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1474 ,
"src" : "4925:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4904:29:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "496e76616c696420707265764f776e65722c206f776e657220706169722070726f7669646564" ,
2018-09-26 11:19:53 +02:00
"id" : 1518 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "4935:40:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1512 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "4896:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1519 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "4896:80:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1520 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "4896:80:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1527 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1521 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "4986:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1523 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1522 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1476 ,
"src" : "4993:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "4986:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1524 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "5005:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1526 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1525 ,
2018-05-31 15:01:02 +02:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1474 ,
"src" : "5012:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "5005:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "4986:35:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1528 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "4986:35:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1533 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1529 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "5031:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1531 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1530 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1472 ,
"src" : "5038:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "5031:17:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1532 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1476 ,
"src" : "5051:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "5031:28:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1534 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "5031:28:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1539 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1535 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "5069:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1537 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1536 ,
2018-05-31 15:01:02 +02:00
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1474 ,
"src" : "5076:8:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "5069:16:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1538 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "5088:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "5069:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1540 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "5069:20:6"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1542 ,
"name" : "oldOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1474 ,
"src" : "5117:8:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"id" : 1541 ,
"name" : "RemovedOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1225 ,
"src" : "5104:12:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
"id" : 1543 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "5104:22:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 1544 ,
"nodeType" : "EmitStatement" ,
"src" : "5099:27:6"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1546 ,
"name" : "newOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1476 ,
"src" : "5152:8:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"id" : 1545 ,
"name" : "AddedOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1221 ,
"src" : "5141:10:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$returns$__$" ,
"typeString" : "function (address)"
}
} ,
"id" : 1547 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "5141:20:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 1548 ,
"nodeType" : "EmitStatement" ,
"src" : "5136:25:6"
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1550 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1479 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1478 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1734 ,
"src" : "4442:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-09-26 11:19:53 +02:00
"src" : "4442:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "swapOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1477 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1472 ,
2018-05-31 15:01:02 +02:00
"name" : "prevOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1550 ,
"src" : "4364:17:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1471 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "4364:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1474 ,
2018-05-31 15:01:02 +02:00
"name" : "oldOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1550 ,
"src" : "4383:16:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1473 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "4383:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1476 ,
2018-05-31 15:01:02 +02:00
"name" : "newOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1550 ,
"src" : "4401:16:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1475 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "4401:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "4363:55:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1480 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "4457:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "4345:823:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1579 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "5440:358:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1560 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1558 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1552 ,
"src" : "5527:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1559 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "5541:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "5527:24:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c642063616e6e6f7420657863656564206f776e657220636f756e74" ,
2018-09-26 11:19:53 +02:00
"id" : 1561 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "5553:37:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1557 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "5519:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1562 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "5519:72:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1563 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "5519:72:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"id" : 1567 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1565 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1552 ,
"src" : "5661:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "31" ,
2018-09-26 11:19:53 +02:00
"id" : 1566 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "5675:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_1_by_1" ,
"typeString" : "int_const 1"
} ,
"value" : "1"
} ,
2018-09-26 11:19:53 +02:00
"src" : "5661:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5468726573686f6c64206e6565647320746f2062652067726561746572207468616e2030" ,
2018-09-26 11:19:53 +02:00
"id" : 1568 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "5678:38:6" ,
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1564 ,
2018-05-31 15:01:02 +02:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-10-05 17:26:48 +02:00
4018 ,
4019
2018-05-31 15:01:02 +02:00
] ,
2018-10-05 17:26:48 +02:00
"referencedDeclaration" : 4019 ,
2018-09-26 11:19:53 +02:00
"src" : "5653:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1569 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "5653:64:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1570 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "5653:64:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1573 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1571 ,
2018-05-31 15:01:02 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "5727:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1572 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1552 ,
"src" : "5739:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "5727:22:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-20 10:09:14 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1574 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "5727:22:6"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 1576 ,
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1242 ,
"src" : "5781:9:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 1575 ,
"name" : "ChangedThreshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1229 ,
"src" : "5764:16:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_uint256_$returns$__$" ,
"typeString" : "function (uint256)"
}
} ,
"id" : 1577 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "5764:27:6" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 1578 ,
"nodeType" : "EmitStatement" ,
"src" : "5759:32:6"
2018-05-31 15:01:02 +02: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-09-26 11:19:53 +02:00
"id" : 1580 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1555 ,
2018-05-31 15:01:02 +02:00
"modifierName" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1554 ,
2018-05-31 15:01:02 +02:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1734 ,
"src" : "5425:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-09-26 11:19:53 +02:00
"src" : "5425:10:6"
2018-05-31 15:01:02 +02:00
}
] ,
"name" : "changeThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1553 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1552 ,
2018-05-31 15:01:02 +02:00
"name" : "_threshold" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1580 ,
"src" : "5382:18:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1551 ,
2018-06-28 19:13:59 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "5382:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "5381:20:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1556 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "5440:0:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "5357:441:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1587 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "5886:33:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1585 ,
2018-06-28 19:13:59 +02:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1242 ,
"src" : "5903:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
2018-09-26 11:19:53 +02:00
"functionReturnParameters" : 1584 ,
"id" : 1586 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Return" ,
2018-09-26 11:19:53 +02:00
"src" : "5896:16:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1588 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getThreshold" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1581 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "5825:2:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1584 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1583 ,
2018-05-31 15:01:02 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1588 ,
"src" : "5873:7:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1582 ,
2018-06-28 19:13:59 +02:00
"name" : "uint256" ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "5873:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
2018-06-28 19:13:59 +02:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 15:01:02 +02:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "5872:9:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "5804:115:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1601 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "6012:42:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1599 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1595 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "6029:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1597 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1596 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1590 ,
"src" : "6036:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "6029:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1598 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "6046:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-09-26 11:19:53 +02:00
"src" : "6029:18:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"functionReturnParameters" : 1594 ,
"id" : 1600 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Return" ,
2018-09-26 11:19:53 +02:00
"src" : "6022:25:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1602 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "isOwner" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1591 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1590 ,
2018-05-31 15:01:02 +02:00
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1602 ,
"src" : "5942:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1589 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "5942:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "5941:15:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1594 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1593 ,
2018-05-31 15:01:02 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1602 ,
"src" : "6002:4:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1592 ,
2018-05-31 15:01:02 +02:00
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6002:4:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "6001:6:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "5925:129:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1650 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "6217:377:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"assignments" : [
2018-09-26 11:19:53 +02:00
1611
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1611 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1651 ,
"src" : "6227:22:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "memory" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-09-26 11:19:53 +02:00
"id" : 1609 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6227:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1610 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6227:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1617 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1615 ,
2018-05-31 15:01:02 +02:00
"name" : "ownerCount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1240 ,
"src" : "6266:10:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1614 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "NewExpression" ,
2018-09-26 11:19:53 +02:00
"src" : "6252:13:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$" ,
"typeString" : "function (uint256) pure returns (address[] memory)"
} ,
"typeName" : {
"baseType" : {
2018-09-26 11:19:53 +02:00
"id" : 1612 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6256:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1613 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6256:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1616 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-09-26 11:19:53 +02:00
"src" : "6252:25:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory" ,
"typeString" : "address[] memory"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6227:50:6"
2018-05-31 15:01:02 +02:00
} ,
{
"assignments" : [
2018-09-26 11:19:53 +02:00
1619
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1619 ,
2018-05-31 15:01:02 +02:00
"name" : "index" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1651 ,
"src" : "6321:13:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1618 ,
2018-05-31 15:01:02 +02:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6321:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1621 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-09-26 11:19:53 +02:00
"id" : 1620 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-09-26 11:19:53 +02:00
"src" : "6337:1:6" ,
2018-05-31 15:01:02 +02:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6321:17:6"
2018-05-31 15:01:02 +02:00
} ,
{
"assignments" : [
2018-09-26 11:19:53 +02:00
1623
2018-05-31 15:01:02 +02:00
] ,
"declarations" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1623 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1651 ,
"src" : "6348:20:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-09-26 11:19:53 +02:00
"id" : 1622 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6348:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"id" : 1627 ,
2018-05-31 15:01:02 +02:00
"initialValue" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1624 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "6371:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1626 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1625 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "6378:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "6371:23:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6348:46:6"
2018-05-31 15:01:02 +02:00
} ,
{
"body" : {
2018-09-26 11:19:53 +02:00
"id" : 1646 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Block" ,
2018-09-26 11:19:53 +02:00
"src" : "6443:123:6" ,
2018-05-31 15:01:02 +02:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1635 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1631 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1611 ,
"src" : "6457:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1633 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1632 ,
2018-05-31 15:01:02 +02:00
"name" : "index" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1619 ,
"src" : "6463:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "6457:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1634 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1623 ,
"src" : "6472:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "6457:27:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1636 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6457:27:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1641 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1637 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1623 ,
"src" : "6498:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1638 ,
2018-05-31 15:01:02 +02:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1238 ,
"src" : "6513:6:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1640 ,
2018-05-31 15:01:02 +02:00
"indexExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1639 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1623 ,
"src" : "6520:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-09-26 11:19:53 +02:00
"src" : "6513:20:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "6498:35:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1642 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6498:35:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1644 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-09-26 11:19:53 +02:00
"src" : "6547:8:6" ,
2018-05-31 15:01:02 +02:00
"subExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1643 ,
2018-05-31 15:01:02 +02:00
"name" : "index" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1619 ,
"src" : "6547:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1645 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ExpressionStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6547:8:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-09-26 11:19:53 +02:00
"id" : 1630 ,
2018-05-31 15:01:02 +02:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1628 ,
2018-05-31 15:01:02 +02:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1623 ,
"src" : "6410:12:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1629 ,
2018-05-31 15:01:02 +02:00
"name" : "SENTINEL_OWNERS" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1234 ,
"src" : "6426:15:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"src" : "6410:31:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1647 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "WhileStatement" ,
2018-09-26 11:19:53 +02:00
"src" : "6404:162:6"
2018-05-31 15:01:02 +02:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-09-26 11:19:53 +02:00
"id" : 1648 ,
2018-05-31 15:01:02 +02:00
"name" : "array" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-09-26 11:19:53 +02:00
"referencedDeclaration" : 1611 ,
"src" : "6582:5:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[] memory"
}
} ,
2018-09-26 11:19:53 +02:00
"functionReturnParameters" : 1607 ,
"id" : 1649 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "Return" ,
2018-09-26 11:19:53 +02:00
"src" : "6575:12:6"
2018-05-31 15:01:02 +02:00
}
]
} ,
"documentation" : "@dev Returns array of owners.\n @return Array of Safe owners." ,
2018-09-26 11:19:53 +02:00
"id" : 1651 ,
2018-05-31 15:01:02 +02:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getOwners" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1603 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-09-26 11:19:53 +02:00
"src" : "6154:2:6"
2018-05-31 15:01:02 +02:00
} ,
"payable" : false ,
"returnParameters" : {
2018-09-26 11:19:53 +02:00
"id" : 1607 ,
2018-05-31 15:01:02 +02:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-09-26 11:19:53 +02:00
"id" : 1606 ,
2018-05-31 15:01:02 +02:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-09-26 11:19:53 +02:00
"scope" : 1651 ,
"src" : "6202:9:6" ,
2018-05-31 15:01:02 +02:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_memory_ptr" ,
"typeString" : "address[]"
} ,
"typeName" : {
"baseType" : {
2018-09-26 11:19:53 +02:00
"id" : 1604 ,
2018-05-31 15:01:02 +02:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6202:7:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-09-26 11:19:53 +02:00
"id" : 1605 ,
2018-05-31 15:01:02 +02:00
"length" : null ,
"nodeType" : "ArrayTypeName" ,
2018-09-26 11:19:53 +02:00
"src" : "6202:9:6" ,
2018-05-31 15:01:02 +02:00
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_address_$dyn_storage_ptr" ,
"typeString" : "address[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "6201:11:6"
2018-05-31 15:01:02 +02:00
} ,
2018-09-26 11:19:53 +02:00
"scope" : 1652 ,
"src" : "6136:458:6" ,
2018-05-31 15:01:02 +02:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-09-26 11:19:53 +02:00
"scope" : 1653 ,
"src" : "248:6348:6"
2018-05-31 15:01:02 +02:00
}
] ,
2018-09-26 11:19:53 +02:00
"src" : "0:6597:6"
2018-05-31 15:01:02 +02:00
} ,
"compiler" : {
"name" : "solc" ,
"version" : "0.4.24+commit.e67f0147.Emscripten.clang"
} ,
"networks" : { } ,
2018-06-29 13:23:01 +02:00
"schemaVersion" : "2.0.0" ,
2018-10-05 17:26:48 +02:00
"updatedAt" : "2018-10-05T14:25:58.918Z"
2018-05-31 15:01:02 +02:00
}