2018-05-10 11:12:13 +00:00
{
"contractName" : "GnosisSafeStateChannelEdition" ,
"abi" : [
{
"constant" : true ,
"inputs" : [
{
"name" : "" ,
"type" : "uint256"
}
] ,
"name" : "owners" ,
"outputs" : [
{
"name" : "" ,
"type" : "address"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "owner" ,
"type" : "address"
} ,
{
"name" : "_threshold" ,
"type" : "uint8"
}
] ,
"name" : "addOwner" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "module" ,
"type" : "address"
}
] ,
"name" : "addModule" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"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" : "threshold" ,
"outputs" : [
{
"name" : "" ,
"type" : "uint8"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [
{
"name" : "" ,
"type" : "address"
}
] ,
"name" : "isModule" ,
"outputs" : [
{
"name" : "" ,
"type" : "bool"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "oldOwnerIndex" ,
"type" : "uint256"
} ,
{
"name" : "oldOwner" ,
"type" : "address"
} ,
{
"name" : "newOwner" ,
"type" : "address"
}
] ,
"name" : "replaceOwner" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "moduleIndex" ,
"type" : "uint256"
} ,
{
"name" : "module" ,
"type" : "address"
}
] ,
"name" : "removeModule" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "_masterCopy" ,
"type" : "address"
}
] ,
"name" : "changeMasterCopy" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [
{
"name" : "" ,
"type" : "uint256"
}
] ,
"name" : "modules" ,
"outputs" : [
{
"name" : "" ,
"type" : "address"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "ownerIndex" ,
"type" : "uint256"
} ,
{
"name" : "owner" ,
"type" : "address"
} ,
{
"name" : "_threshold" ,
"type" : "uint8"
}
] ,
"name" : "removeOwner" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "_owners" ,
"type" : "address[]"
} ,
{
"name" : "_threshold" ,
"type" : "uint8"
} ,
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "data" ,
"type" : "bytes"
}
] ,
"name" : "setup" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "getOwners" ,
"outputs" : [
{
"name" : "" ,
"type" : "address[]"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "NAME" ,
"outputs" : [
{
"name" : "" ,
"type" : "string"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
} ,
{
"name" : "data" ,
"type" : "bytes"
} ,
{
"name" : "operation" ,
"type" : "uint8"
}
] ,
"name" : "executeModule" ,
"outputs" : [
{
"name" : "success" ,
"type" : "bool"
}
] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "getModules" ,
"outputs" : [
{
"name" : "" ,
"type" : "address[]"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "_threshold" ,
"type" : "uint8"
}
] ,
"name" : "changeThreshold" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [
{
"name" : "" ,
"type" : "bytes32"
}
] ,
"name" : "isExecuted" ,
"outputs" : [
{
"name" : "" ,
"type" : "bool"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "VERSION" ,
"outputs" : [
{
"name" : "" ,
"type" : "string"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"payable" : true ,
"stateMutability" : "payable" ,
"type" : "fallback"
} ,
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : false ,
"name" : "newContract" ,
"type" : "address"
}
] ,
"name" : "ContractCreation" ,
"type" : "event"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
} ,
{
"name" : "data" ,
"type" : "bytes"
} ,
{
"name" : "operation" ,
"type" : "uint8"
} ,
{
"name" : "nonce" ,
"type" : "uint256"
} ,
{
"name" : "v" ,
"type" : "uint8[]"
} ,
{
"name" : "r" ,
"type" : "bytes32[]"
} ,
{
"name" : "s" ,
"type" : "bytes32[]"
}
] ,
"name" : "executeTransaction" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
} ,
{
"name" : "data" ,
"type" : "bytes"
} ,
{
"name" : "operation" ,
"type" : "uint8"
} ,
{
"name" : "nonce" ,
"type" : "uint256"
}
] ,
"name" : "getTransactionHash" ,
"outputs" : [
{
"name" : "" ,
"type" : "bytes32"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
}
] ,
"bytecode" : " 0 x 608060405234801561001057600080 f d 5 b 50612177806100206000396000 f 30060806040526004361061011 d 576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 168063025e7 c 271461011 f 5780630e5229 b 0 1461018 c 5780631 e d 86 f 19146101 d c 5780632 b 5000411461021 f 5780632 f 54 b f 6e146102 e 557806342 c d e 4e81461034057806342 f 6e3891461037157806354 e 99 c 6e146103 c c 578063782e46 b e 146104395780637 c 6401 d 3146105 a c 5780637 d e 7 e d e f 146105 f 957806381 b 2248 a 1461063 c 578063842 b 954e146106 a 9578063 a 0 4222e114610703578063 a 0e67 e 2 b 146107 d c 578063 a 3 f 4 d f 7e14610848578063 b 0 21640 a 146108 d 8578063 b 2494 d f 314610990578063 b 7 f 3358 d 146109 f c 578063e52 c b 36 a 14610 a 2 c 578063 f f a 1 a d 7414610 a 75575 b 0 0 5 b 34801561012 b 57600080 f d 5 b 5061014 a 60048036038101908080359060200190929190505050610 b 0 5565 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 34801561019857600080 f d 5 b 506101 d a 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 169060200190929190803560 f f 169060200190929190505050610 b 43565 b 0 0 5 b 3480156101e857600080 f d 5 b 5061021 d 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 169060200190929190505050610 c e 6565 b 0 0 5 b 34801561022 b 57600080 f d 5 b 506102 c 7600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560 f f 16906020019092919080359060200190929190505050610e60565 b 60405180826000191660001916815260200191505060405180910390 f 35 b 3480156102 f 157600080 f d 5 b 50610326600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919050505061107 c 565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561034 c 57600080 f d 5 b 506103556110 d 2565 b 604051808260 f f 1660 f f 16815260200191505060405180910390 f 35 b 34801561037 d 57600080 f d 5 b 506103 b 2600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1690602001909291905050506110e9565 b 604051808215151515815260200191505060405180910390 f 35 b 3480156103 d 857600080 f d 5 b 5061043760048036038101908080359060200190929190803573 f f f f f f f f f f f f f f f f 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 169060200190929190505050611109565 b 0 0 5 b 34801561044557600080 f d 5 b 506105 a a 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 16906020019092919080359060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560 f f 16906020019092919080359060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611342565 b 0 0 5 b 3480156105 b 857600080 f d 5 b 506105 f 760048036038101908080359060200190929190803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1690602001909291905050506113 e b 565 b 0 0 5 b 34801561060557600080 f d 5 b 5061063 a 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 1690602001909291905050506115 a 1565 b 0 0 5 b 34801561064857600080 f d 5 b 5061066760048036038101908080359060200190929190505050611644565 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 3480156106 b 557600080 f d 5 b 5061070160048036038101908080359060200190929190803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190803560 f f 169060200190929190505050611682565 b 0 0 5 b 34801561070 f 57600080 f d 5 b 506107 d a 60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803560 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 169060200190929190803590602001908201803590602001908080601 f 0 16020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061
"deployedBytecode" : " 0 x 60806040526004361061011 d 576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 168063025e7 c 271461011 f 5780630e5229 b 0 1461018 c 5780631 e d 86 f 19146101 d c 5780632 b 5000411461021 f 5780632 f 54 b f 6e146102 e 557806342 c d e 4e81461034057806342 f 6e3891461037157806354 e 99 c 6e146103 c c 578063782e46 b e 146104395780637 c 6401 d 3146105 a c 5780637 d e 7 e d e f 146105 f 957806381 b 2248 a 1461063 c 578063842 b 954e146106 a 9578063 a 0 4222e114610703578063 a 0e67 e 2 b 146107 d c 578063 a 3 f 4 d f 7e14610848578063 b 0 21640 a 146108 d 8578063 b 2494 d f 314610990578063 b 7 f 3358 d 146109 f c 578063e52 c b 36 a 14610 a 2 c 578063 f f a 1 a d 7414610 a 75575 b 0 0 5 b 34801561012 b 57600080 f d 5 b 5061014 a 60048036038101908080359060200190929190505050610 b 0 5565 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 34801561019857600080 f d 5 b 506101 d a 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 169060200190929190803560 f f 169060200190929190505050610 b 43565 b 0 0 5 b 3480156101e857600080 f d 5 b 5061021 d 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 169060200190929190505050610 c e 6565 b 0 0 5 b 34801561022 b 57600080 f d 5 b 506102 c 7600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560 f f 16906020019092919080359060200190929190505050610e60565 b 60405180826000191660001916815260200191505060405180910390 f 35 b 3480156102 f 157600080 f d 5 b 50610326600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919050505061107 c 565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561034 c 57600080 f d 5 b 506103556110 d 2565 b 604051808260 f f 1660 f f 16815260200191505060405180910390 f 35 b 34801561037 d 57600080 f d 5 b 506103 b 2600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1690602001909291905050506110e9565 b 604051808215151515815260200191505060405180910390 f 35 b 3480156103 d 857600080 f d 5 b 5061043760048036038101908080359060200190929190803573 f f f f f f f f f f f f f f f f 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 169060200190929190505050611109565 b 0 0 5 b 34801561044557600080 f d 5 b 506105 a a 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 16906020019092919080359060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560 f f 16906020019092919080359060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611342565 b 0 0 5 b 3480156105 b 857600080 f d 5 b 506105 f 760048036038101908080359060200190929190803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1690602001909291905050506113 e b 565 b 0 0 5 b 34801561060557600080 f d 5 b 5061063 a 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 1690602001909291905050506115 a 1565 b 0 0 5 b 34801561064857600080 f d 5 b 5061066760048036038101908080359060200190929190505050611644565 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 3480156106 b 557600080 f d 5 b 5061070160048036038101908080359060200190929190803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190803560 f f 169060200190929190505050611682565 b 0 0 5 b 34801561070 f 57600080 f d 5 b 506107 d a 60048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803560 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 169060200190929190803590602001908201803590602001908080601 f 0 16020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061187 d 565 b 0 0 5 b 3480156107e857600080 f d 5 b 506107 f 1611897565 b 60
"sourceMap" : "281:2670:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;281:2670:4;;;;;;;" ,
"deployedSourceMap" : " 281 : 2670 : 4 : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 287 : 23 : 10 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 287 : 23 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1737 : 431 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1737 : 431 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1166 : 300 : 9 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1166 : 300 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2638 : 311 : 4 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2638 : 311 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4552 : 125 : 10 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 4552 : 125 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4436 : 110 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 4436 : 110 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 599 : 41 : 9 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 599 : 41 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3419 : 501 : 10 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 3419 : 501 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1205 : 590 : 4 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1205 : 590 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1722 : 336 : 9 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1722 : 336 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 626 : 208 : 6 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 626 : 208 : 6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 500 : 23 : 9 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 500 : 23 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2499 : 599 : 10 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2499 : 599 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 693 : 301 : 2 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 693 : 301 : 2 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4759 : 111 : 10 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 4759 : 111 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 ; 4759 : 111 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 353 : 65 : 4 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 353 : 65 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 ; 353 : 65 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2394 : 361 : 9 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2394 : 361 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4279 : 112 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 4279 : 112 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 23 : 1 : -1 ; 8 : 100 ; 33 : 3 ; 30 : 1 ; 27 : 10 ; 8 : 100 ; ; ; 99 : 1 ; 94 : 3 ; 90 : 11 ; 84 : 18 ; 80 : 1 ; 75 : 3 ; 71 : 11 ; 64 : 39 ; 52 : 2 ; 49 : 1 ; 45 : 10 ; 40 : 15 ; ; 8 : 100 ; ; ; 12 : 14 ; 4279 : 112 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4109 : 321 : 10 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 4109 : 321 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 562 : 43 : 4 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 562 : 43 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 424 : 40 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 424 : 40 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 ; 424 : 40 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 287 : 23 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 1737 : 431 : : - ; 244 : 4 : 14 ; 222 : 27 ; ; : 10 ; : 27 ; ; ; 214 : 36 ; ; ; ; ; ; ; ; 1894 : 1 : 10 ; 1885 : 5 ; : 10 ; ; ; ; 1877 : 19 ; ; ; ; ; ; ; ; 1955 : 7 ; : 14 ; 1963 : 5 ; 1955 : 14 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1954 : 15 ; 1946 : 24 ; ; ; ; ; ; ; ; 1980 : 6 ; 1992 : 5 ; 1980 : 18 ; ; 39 : 1 : -1 ; 33 : 3 ; 27 : 10 ; 23 : 18 ; 57 : 10 ; 52 : 3 ; 45 : 23 ; 79 : 10 ; 72 : 17 ; ; 0 : 93 ; 1980 : 18 : 10 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2025 : 4 ; 2008 : 7 ; : 14 ; 2016 : 5 ; 2008 : 14 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 21 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2110 : 10 ; 2097 : 23 ; ; : 9 ; ; ; ; ; ; ; ; ; ; ; : 23 ; ; ; ; 2093 : 68 ; ; ; 2134 : 27 ; 2150 : 10 ; 2134 : 15 ; : 27 : : i ; : : : - ; 2093 : 68 ; 1737 : 431 ; ; : : : o ; 1166 : 300 : 9 : - ; 244 : 4 : 14 ; 222 : 27 ; ; : 10 ; : 27 ; ; ; 214 : 36 ; ; ; ; ; ; ; ; 1317 : 1 : 9 ; 1306 : 6 ; 1298 : 20 ; ; ; ; 1290 : 29 ; ; ; ; ; ; ; ; 1379 : 8 ; : 16 ; 1388 : 6 ; 1379 : 16 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1378 : 17 ; 1370 : 26 ; ; ; ; ; ; ; ; 1406 : 7 ; 1419 : 6 ; 1406 : 20 ; ; 39 : 1 : -1 ; 33 : 3 ; 27 : 10 ; 23 : 18 ; 57 : 10 ; 52 : 3 ; 45 : 23 ; 79 : 10 ; 72 : 17 ; ; 0 : 93 ; 1406 : 20 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
"source" : "pragma solidity 0.4.23;\nimport \"./GnosisSafe.sol\";\nimport \"./MasterCopy.sol\";\n\n\n/// @title Gnosis Safe State Channel Edition - A multisignature wallet with support for confirmations.\n/// @author Stefan George - <stefan@gnosis.pm>\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract GnosisSafeStateChannelEdition is MasterCopy, GnosisSafe {\n\n string public constant NAME = \"Gnosis Safe State Channel Edition\";\n string public constant VERSION = \"0.0.1\";\n\n // isExecuted mapping allows to check if a transaction (by hash) was already executed.\n mapping (bytes32 => bool) public isExecuted;\n\n /// @dev Allows to execute a Safe transaction confirmed by required number of owners.\n /// @param to Destination address of Safe transaction.\n /// @param value Ether value of Safe transaction.\n /// @param data Data payload of Safe transaction.\n /// @param operation Operation type of Safe transaction.\n /// @param nonce Nonce used for this Safe transaction.\n /// @param v Array of signature V values sorted by owner addresses.\n /// @param r Array of signature R values sorted by owner addresses.\n /// @param s Array of signature S values sorted by owner addresses.\n function executeTransaction(\n address to, \n uint256 value, \n bytes data, \n Enum.Operation operation, \n uint256 nonce,\n uint8[] v, \n bytes32[] r, \n bytes32[] s\n )\n public\n {\n bytes32 transactionHash = getTransactionHash(to, value, data, operation, nonce);\n require(!isExecuted[transactionHash]);\n checkHash(transactionHash, v, r, s);\n // Mark as executed and execute transaction.\n isExecuted[transactionHash] = true;\n require(execute(to, value, data, operation, gasleft()));\n }\n\n function checkHash(bytes32 transactionHash, uint8[] v, bytes32[] r, bytes32[] s)\n internal\n view\n {\n // There cannot be an owner with address 0.\n address lastOwner = address(0);\n address currentOwner;\n uint256 i;\n // Validate threshold is reached.\n for (i = 0; i < threshold; i++) {\n currentOwner = ecrecover(transactionHash, v[i], r[i], s[i]);\n require(isOwner[currentOwner]);\n require(currentOwner > lastOwner);\n lastOwner = currentOwner;\n }\n }\n\n /// @dev Returns hash to be signed by owners.\n /// @param to Destination address.\n /// @param value Ether value.\n /// @param data Data payload.\n /// @param operation Operation type.\n /// @param nonce Transaction nonce.\n /// @return Transaction hash.\n function getTransactionHash(\n address to, \n uint256 value, \n bytes data, \n Enum.Operation operation, \n uint256 nonce\n )\n public\n view\n returns (bytes32)\n {\n return keccak256(byte(0x19), byte(0), this, to, value, data, operation, nonce);\n }\n}\n" ,
"sourcePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafeStateChannelEdition.sol" ,
"ast" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafeStateChannelEdition.sol" ,
"exportedSymbols" : {
"GnosisSafeStateChannelEdition" : [
530
]
} ,
"id" : 531 ,
"nodeType" : "SourceUnit" ,
"nodes" : [
{
"id" : 348 ,
"literals" : [
"solidity" ,
"0.4" ,
".23"
] ,
"nodeType" : "PragmaDirective" ,
"src" : "0:23:4"
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol" ,
"file" : "./GnosisSafe.sol" ,
"id" : 349 ,
"nodeType" : "ImportDirective" ,
"scope" : 531 ,
"sourceUnit" : 64 ,
"src" : "24:26:4" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol" ,
"file" : "./MasterCopy.sol" ,
"id" : 350 ,
"nodeType" : "ImportDirective" ,
"scope" : 531 ,
"sourceUnit" : 780 ,
"src" : "51:26:4" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 351 ,
"name" : "MasterCopy" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 779 ,
"src" : "323:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_MasterCopy_$779" ,
"typeString" : "contract MasterCopy"
}
} ,
"id" : 352 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "323:10:4"
} ,
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 353 ,
"name" : "GnosisSafe" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 63 ,
"src" : "335:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_GnosisSafe_$63" ,
"typeString" : "contract GnosisSafe"
}
} ,
"id" : 354 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "335:10:4"
}
] ,
"contractDependencies" : [
63 ,
779 ,
1142 ,
1438 ,
1559
] ,
"contractKind" : "contract" ,
"documentation" : "@title Gnosis Safe State Channel Edition - A multisignature wallet with support for confirmations.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>" ,
"fullyImplemented" : true ,
"id" : 530 ,
"linearizedBaseContracts" : [
530 ,
63 ,
1438 ,
1142 ,
779 ,
1559
] ,
"name" : "GnosisSafeStateChannelEdition" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
"id" : 357 ,
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 530 ,
"src" : "353:65:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 355 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "353:6:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "476e6f7369732053616665205374617465204368616e6e656c2045646974696f6e" ,
"id" : 356 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "383:35:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_8ed77695330a1e702d7599137bd776e333a5b5bdc777b481e480866a9eb5edc4" ,
"typeString" : "literal_string \"Gnosis Safe State Channel Edition\""
} ,
"value" : "Gnosis Safe State Channel Edition"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
"id" : 360 ,
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 530 ,
"src" : "424:40:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 358 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "424:6:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
"id" : 359 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "457:7:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
"id" : 364 ,
"name" : "isExecuted" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 530 ,
"src" : "562:43:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"typeName" : {
"id" : 363 ,
"keyType" : {
"id" : 361 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "571:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "Mapping" ,
"src" : "562:25:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"valueType" : {
"id" : 362 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "582:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
} ,
"value" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 427 ,
"nodeType" : "Block" ,
"src" : "1445:350:4" ,
"statements" : [
{
"assignments" : [
387
] ,
"declarations" : [
{
"constant" : false ,
"id" : 387 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1455:23:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 386 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1455:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 395 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 389 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 366 ,
"src" : "1500:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 390 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 368 ,
"src" : "1504:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 391 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 370 ,
"src" : "1511:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 392 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 372 ,
"src" : "1517:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 393 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 374 ,
"src" : "1528:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 388 ,
"name" : "getTransactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 529 ,
"src" : "1481:18:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
} ,
"id" : 394 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1481:53:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "1455:79:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 400 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1552:28:4" ,
"subExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 397 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 364 ,
"src" : "1553:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 399 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 398 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 387 ,
"src" : "1564:15:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1553:27:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 396 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2468 ,
2469
] ,
"referencedDeclaration" : 2468 ,
"src" : "1544:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 401 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1544:37:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 402 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1544:37:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 404 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 387 ,
"src" : "1601:15:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"id" : 405 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 377 ,
"src" : "1618:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 406 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 380 ,
"src" : "1621:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 407 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 383 ,
"src" : "1624:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
{
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
} ,
{
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
} ,
{
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
] ,
"id" : 403 ,
"name" : "checkHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 498 ,
"src" : "1591:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$_t_bytes32_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$" ,
"typeString" : "function (bytes32,uint8[] memory,bytes32[] memory,bytes32[] memory) view"
}
} ,
"id" : 408 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1591:35:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 409 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1591:35:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 414 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 410 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 364 ,
"src" : "1689:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 412 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 411 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 387 ,
"src" : "1700:15:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1689:27:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 413 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1719:4:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"src" : "1689:34:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 415 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1689:34:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 418 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 366 ,
"src" : "1749:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 419 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 368 ,
"src" : "1753:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 420 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 370 ,
"src" : "1760:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 421 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 372 ,
"src" : "1766:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
"id" : 422 ,
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2458 ,
"src" : "1777:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
"id" : 423 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1777:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 417 ,
"name" : "execute" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1095 ,
"src" : "1741:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
}
} ,
"id" : 424 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1741:46:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 416 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2468 ,
2469
] ,
"referencedDeclaration" : 2468 ,
"src" : "1733:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 425 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1733:55:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 426 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1733:55:4"
}
]
} ,
"documentation" : "@dev Allows to execute a Safe transaction confirmed by required number of owners.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.\n @param v Array of signature V values sorted by owner addresses.\n @param r Array of signature R values sorted by owner addresses.\n @param s Array of signature S values sorted by owner addresses." ,
"id" : 428 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeTransaction" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 384 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 366 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1242:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 365 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1242:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 368 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1263:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 367 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1263:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 370 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1287:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 369 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1287:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 372 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1308:24:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 371 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 29 ,
"src" : "1308:14:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 374 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1343:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 373 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1343:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 377 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1366:9:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 375 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1366:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 376 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1366:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 380 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1386:11:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 378 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1386:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 379 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1386:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 383 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1408:11:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 381 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1408:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 382 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1408:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1232:193:4"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 385 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "1445:0:4"
} ,
"scope" : 530 ,
"src" : "1205:590:4" ,
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 497 ,
"nodeType" : "Block" ,
"src" : "1916:444:4" ,
"statements" : [
{
"assignments" : [
443
] ,
"declarations" : [
{
"constant" : false ,
"id" : 443 ,
"name" : "lastOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "1978:17:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 442 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1978:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 447 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 445 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2006:1:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
}
] ,
"id" : 444 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "1998:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
"id" : 446 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1998:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "1978:30:4"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 449 ,
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "2018:20:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 448 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2018:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 450 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2018:20:4"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 452 ,
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "2048:9:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 451 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2048:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 453 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2048:9:4"
} ,
{
"body" : {
"id" : 495 ,
"nodeType" : "Block" ,
"src" : "2141:213:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"id" : 477 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 464 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 449 ,
"src" : "2155:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 466 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 430 ,
"src" : "2180:15:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 467 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 433 ,
"src" : "2197:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
"id" : 469 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 468 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2199:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2197:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 470 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 436 ,
"src" : "2203:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 472 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 471 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2205:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2203:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 473 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 439 ,
"src" : "2209:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 475 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 474 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2211:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2209:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
{
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
} ,
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
] ,
"id" : 465 ,
"name" : "ecrecover" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2457 ,
"src" : "2170:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$" ,
"typeString" : "function (bytes32,uint8,bytes32,bytes32) pure returns (address)"
}
} ,
"id" : 476 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2170:44:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2155:59:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 478 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2155:59:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 480 ,
"name" : "isOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
1156
] ,
"referencedDeclaration" : 1156 ,
"src" : "2236:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_bool_$" ,
"typeString" : "mapping(address => bool)"
}
} ,
"id" : 482 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 481 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 449 ,
"src" : "2244:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2236:21:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 479 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2468 ,
2469
] ,
"referencedDeclaration" : 2468 ,
"src" : "2228:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 483 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2228:30:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 484 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2228:30:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"id" : 488 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 486 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 449 ,
"src" : "2280:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 487 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 443 ,
"src" : "2295:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2280:24:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 485 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2468 ,
2469
] ,
"referencedDeclaration" : 2468 ,
"src" : "2272:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 489 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2272:33:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 490 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2272:33:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 493 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 491 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 443 ,
"src" : "2319:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 492 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 449 ,
"src" : "2331:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2319:24:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 494 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2319:24:4"
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"id" : 460 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 458 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2121:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 459 ,
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
1152
] ,
"referencedDeclaration" : 1152 ,
"src" : "2125:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"src" : "2121:13:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 496 ,
"initializationExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 456 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 454 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2114:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 455 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2118:1:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"src" : "2114:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 457 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2114:5:4"
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 462 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
"src" : "2136:3:4" ,
"subExpression" : {
"argumentTypes" : null ,
"id" : 461 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2136:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 463 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2136:3:4"
} ,
"nodeType" : "ForStatement" ,
"src" : "2109:245:4"
}
]
} ,
"documentation" : null ,
"id" : 498 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "checkHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 440 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 430 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "1820:23:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 429 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1820:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 433 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "1845:9:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 431 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1845:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 432 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1845:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 436 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "1856:11:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 434 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1856:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 435 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1856:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 439 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "1869:11:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 437 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1869:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 438 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1869:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1819:62:4"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 441 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "1916:0:4"
} ,
"scope" : 530 ,
"src" : "1801:559:4" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
"id" : 528 ,
"nodeType" : "Block" ,
"src" : "2854:95:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30783139" ,
"id" : 515 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2886:4:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_25_by_1" ,
"typeString" : "int_const 25"
} ,
"value" : "0x19"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_rational_25_by_1" ,
"typeString" : "int_const 25"
}
] ,
"id" : 514 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2881:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 516 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2881:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 518 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2898:1:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
}
] ,
"id" : 517 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2893:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 519 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2893:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"id" : 520 ,
"name" : "this" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2498 ,
"src" : "2902:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_GnosisSafeStateChannelEdition_$530" ,
"typeString" : "contract GnosisSafeStateChannelEdition"
}
} ,
{
"argumentTypes" : null ,
"id" : 521 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 500 ,
"src" : "2908:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 522 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 502 ,
"src" : "2912:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 523 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 504 ,
"src" : "2919:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 524 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 506 ,
"src" : "2925:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 525 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 508 ,
"src" : "2936:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_contract$_GnosisSafeStateChannelEdition_$530" ,
"typeString" : "contract GnosisSafeStateChannelEdition"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 513 ,
"name" : "keccak256" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2459 ,
"src" : "2871:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_sha3_pure$__$returns$_t_bytes32_$" ,
"typeString" : "function () pure returns (bytes32)"
}
} ,
"id" : 526 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2871:71:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"functionReturnParameters" : 512 ,
"id" : 527 ,
"nodeType" : "Return" ,
"src" : "2864:78:4"
}
]
} ,
"documentation" : "@dev Returns hash to be signed by owners.\n @param to Destination address.\n @param value Ether value.\n @param data Data payload.\n @param operation Operation type.\n @param nonce Transaction nonce.\n @return Transaction hash." ,
"id" : 529 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getTransactionHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 509 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 500 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2675:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 499 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2675:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 502 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2696:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 501 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2696:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 504 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2720:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 503 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2720:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 506 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2741:24:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 505 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 29 ,
"src" : "2741:14:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 508 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2776:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 507 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2776:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2665:130:4"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 512 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 511 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2841:7:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 510 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2841:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2840:9:4"
} ,
"scope" : 530 ,
"src" : "2638:311:4" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
"scope" : 531 ,
"src" : "281:2670:4"
}
] ,
"src" : "0:2952:4"
} ,
"legacyAST" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafeStateChannelEdition.sol" ,
"exportedSymbols" : {
"GnosisSafeStateChannelEdition" : [
530
]
} ,
"id" : 531 ,
"nodeType" : "SourceUnit" ,
"nodes" : [
{
"id" : 348 ,
"literals" : [
"solidity" ,
"0.4" ,
".23"
] ,
"nodeType" : "PragmaDirective" ,
"src" : "0:23:4"
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol" ,
"file" : "./GnosisSafe.sol" ,
"id" : 349 ,
"nodeType" : "ImportDirective" ,
"scope" : 531 ,
"sourceUnit" : 64 ,
"src" : "24:26:4" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol" ,
"file" : "./MasterCopy.sol" ,
"id" : 350 ,
"nodeType" : "ImportDirective" ,
"scope" : 531 ,
"sourceUnit" : 780 ,
"src" : "51:26:4" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 351 ,
"name" : "MasterCopy" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 779 ,
"src" : "323:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_MasterCopy_$779" ,
"typeString" : "contract MasterCopy"
}
} ,
"id" : 352 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "323:10:4"
} ,
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 353 ,
"name" : "GnosisSafe" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 63 ,
"src" : "335:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_GnosisSafe_$63" ,
"typeString" : "contract GnosisSafe"
}
} ,
"id" : 354 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "335:10:4"
}
] ,
"contractDependencies" : [
63 ,
779 ,
1142 ,
1438 ,
1559
] ,
"contractKind" : "contract" ,
"documentation" : "@title Gnosis Safe State Channel Edition - A multisignature wallet with support for confirmations.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>" ,
"fullyImplemented" : true ,
"id" : 530 ,
"linearizedBaseContracts" : [
530 ,
63 ,
1438 ,
1142 ,
779 ,
1559
] ,
"name" : "GnosisSafeStateChannelEdition" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
"id" : 357 ,
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 530 ,
"src" : "353:65:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 355 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "353:6:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "476e6f7369732053616665205374617465204368616e6e656c2045646974696f6e" ,
"id" : 356 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "383:35:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_8ed77695330a1e702d7599137bd776e333a5b5bdc777b481e480866a9eb5edc4" ,
"typeString" : "literal_string \"Gnosis Safe State Channel Edition\""
} ,
"value" : "Gnosis Safe State Channel Edition"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
"id" : 360 ,
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 530 ,
"src" : "424:40:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 358 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "424:6:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
"id" : 359 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "457:7:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
"id" : 364 ,
"name" : "isExecuted" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 530 ,
"src" : "562:43:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"typeName" : {
"id" : 363 ,
"keyType" : {
"id" : 361 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "571:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "Mapping" ,
"src" : "562:25:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"valueType" : {
"id" : 362 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "582:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
} ,
"value" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 427 ,
"nodeType" : "Block" ,
"src" : "1445:350:4" ,
"statements" : [
{
"assignments" : [
387
] ,
"declarations" : [
{
"constant" : false ,
"id" : 387 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1455:23:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 386 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1455:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 395 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 389 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 366 ,
"src" : "1500:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 390 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 368 ,
"src" : "1504:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 391 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 370 ,
"src" : "1511:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 392 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 372 ,
"src" : "1517:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 393 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 374 ,
"src" : "1528:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 388 ,
"name" : "getTransactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 529 ,
"src" : "1481:18:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
} ,
"id" : 394 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1481:53:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "1455:79:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 400 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1552:28:4" ,
"subExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 397 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 364 ,
"src" : "1553:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 399 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 398 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 387 ,
"src" : "1564:15:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1553:27:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 396 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2468 ,
2469
] ,
"referencedDeclaration" : 2468 ,
"src" : "1544:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 401 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1544:37:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 402 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1544:37:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 404 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 387 ,
"src" : "1601:15:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"id" : 405 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 377 ,
"src" : "1618:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 406 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 380 ,
"src" : "1621:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 407 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 383 ,
"src" : "1624:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
{
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
} ,
{
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
} ,
{
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
] ,
"id" : 403 ,
"name" : "checkHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 498 ,
"src" : "1591:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$_t_bytes32_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$" ,
"typeString" : "function (bytes32,uint8[] memory,bytes32[] memory,bytes32[] memory) view"
}
} ,
"id" : 408 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1591:35:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 409 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1591:35:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 414 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 410 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 364 ,
"src" : "1689:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 412 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 411 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 387 ,
"src" : "1700:15:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1689:27:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 413 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1719:4:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"src" : "1689:34:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 415 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1689:34:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 418 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 366 ,
"src" : "1749:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 419 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 368 ,
"src" : "1753:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 420 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 370 ,
"src" : "1760:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 421 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 372 ,
"src" : "1766:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
"id" : 422 ,
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2458 ,
"src" : "1777:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
"id" : 423 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1777:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 417 ,
"name" : "execute" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1095 ,
"src" : "1741:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
}
} ,
"id" : 424 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1741:46:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 416 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2468 ,
2469
] ,
"referencedDeclaration" : 2468 ,
"src" : "1733:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 425 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1733:55:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 426 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1733:55:4"
}
]
} ,
"documentation" : "@dev Allows to execute a Safe transaction confirmed by required number of owners.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.\n @param v Array of signature V values sorted by owner addresses.\n @param r Array of signature R values sorted by owner addresses.\n @param s Array of signature S values sorted by owner addresses." ,
"id" : 428 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "executeTransaction" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 384 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 366 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1242:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 365 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1242:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 368 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1263:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 367 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1263:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 370 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1287:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 369 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1287:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 372 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1308:24:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 371 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 29 ,
"src" : "1308:14:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 374 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1343:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 373 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1343:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 377 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1366:9:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 375 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1366:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 376 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1366:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 380 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1386:11:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 378 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1386:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 379 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1386:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 383 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 428 ,
"src" : "1408:11:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 381 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1408:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 382 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1408:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1232:193:4"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 385 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "1445:0:4"
} ,
"scope" : 530 ,
"src" : "1205:590:4" ,
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 497 ,
"nodeType" : "Block" ,
"src" : "1916:444:4" ,
"statements" : [
{
"assignments" : [
443
] ,
"declarations" : [
{
"constant" : false ,
"id" : 443 ,
"name" : "lastOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "1978:17:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 442 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1978:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 447 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 445 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2006:1:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
}
] ,
"id" : 444 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "1998:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
"id" : 446 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1998:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "1978:30:4"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 449 ,
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "2018:20:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 448 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2018:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 450 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2018:20:4"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 452 ,
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "2048:9:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 451 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2048:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 453 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2048:9:4"
} ,
{
"body" : {
"id" : 495 ,
"nodeType" : "Block" ,
"src" : "2141:213:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"id" : 477 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 464 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 449 ,
"src" : "2155:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 466 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 430 ,
"src" : "2180:15:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 467 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 433 ,
"src" : "2197:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
"id" : 469 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 468 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2199:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2197:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 470 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 436 ,
"src" : "2203:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 472 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 471 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2205:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2203:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 473 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 439 ,
"src" : "2209:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 475 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 474 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2211:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2209:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
{
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
} ,
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
] ,
"id" : 465 ,
"name" : "ecrecover" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2457 ,
"src" : "2170:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$" ,
"typeString" : "function (bytes32,uint8,bytes32,bytes32) pure returns (address)"
}
} ,
"id" : 476 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2170:44:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2155:59:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 478 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2155:59:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 480 ,
"name" : "isOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
1156
] ,
"referencedDeclaration" : 1156 ,
"src" : "2236:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_bool_$" ,
"typeString" : "mapping(address => bool)"
}
} ,
"id" : 482 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 481 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 449 ,
"src" : "2244:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2236:21:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 479 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2468 ,
2469
] ,
"referencedDeclaration" : 2468 ,
"src" : "2228:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 483 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2228:30:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 484 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2228:30:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"id" : 488 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 486 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 449 ,
"src" : "2280:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 487 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 443 ,
"src" : "2295:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2280:24:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 485 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2468 ,
2469
] ,
"referencedDeclaration" : 2468 ,
"src" : "2272:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 489 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2272:33:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 490 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2272:33:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 493 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 491 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 443 ,
"src" : "2319:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 492 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 449 ,
"src" : "2331:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2319:24:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 494 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2319:24:4"
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"id" : 460 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 458 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2121:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 459 ,
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
1152
] ,
"referencedDeclaration" : 1152 ,
"src" : "2125:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"src" : "2121:13:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 496 ,
"initializationExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 456 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 454 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2114:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 455 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2118:1:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"src" : "2114:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 457 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2114:5:4"
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 462 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
"src" : "2136:3:4" ,
"subExpression" : {
"argumentTypes" : null ,
"id" : 461 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 452 ,
"src" : "2136:1:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 463 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2136:3:4"
} ,
"nodeType" : "ForStatement" ,
"src" : "2109:245:4"
}
]
} ,
"documentation" : null ,
"id" : 498 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "checkHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 440 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 430 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "1820:23:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 429 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1820:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 433 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "1845:9:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 431 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1845:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 432 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1845:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 436 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "1856:11:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 434 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1856:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 435 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1856:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 439 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 498 ,
"src" : "1869:11:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 437 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1869:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 438 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1869:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1819:62:4"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 441 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "1916:0:4"
} ,
"scope" : 530 ,
"src" : "1801:559:4" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
"id" : 528 ,
"nodeType" : "Block" ,
"src" : "2854:95:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30783139" ,
"id" : 515 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2886:4:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_25_by_1" ,
"typeString" : "int_const 25"
} ,
"value" : "0x19"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_rational_25_by_1" ,
"typeString" : "int_const 25"
}
] ,
"id" : 514 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2881:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 516 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2881:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 518 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2898:1:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
}
] ,
"id" : 517 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2893:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 519 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2893:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"id" : 520 ,
"name" : "this" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2498 ,
"src" : "2902:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_GnosisSafeStateChannelEdition_$530" ,
"typeString" : "contract GnosisSafeStateChannelEdition"
}
} ,
{
"argumentTypes" : null ,
"id" : 521 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 500 ,
"src" : "2908:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 522 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 502 ,
"src" : "2912:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 523 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 504 ,
"src" : "2919:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 524 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 506 ,
"src" : "2925:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 525 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 508 ,
"src" : "2936:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_contract$_GnosisSafeStateChannelEdition_$530" ,
"typeString" : "contract GnosisSafeStateChannelEdition"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 513 ,
"name" : "keccak256" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2459 ,
"src" : "2871:9:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_sha3_pure$__$returns$_t_bytes32_$" ,
"typeString" : "function () pure returns (bytes32)"
}
} ,
"id" : 526 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2871:71:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"functionReturnParameters" : 512 ,
"id" : 527 ,
"nodeType" : "Return" ,
"src" : "2864:78:4"
}
]
} ,
"documentation" : "@dev Returns hash to be signed by owners.\n @param to Destination address.\n @param value Ether value.\n @param data Data payload.\n @param operation Operation type.\n @param nonce Transaction nonce.\n @return Transaction hash." ,
"id" : 529 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getTransactionHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 509 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 500 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2675:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 499 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2675:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 502 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2696:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 501 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2696:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 504 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2720:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 503 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2720:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 506 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2741:24:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 505 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 29 ,
"src" : "2741:14:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 508 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2776:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 507 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2776:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2665:130:4"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 512 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 511 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 529 ,
"src" : "2841:7:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 510 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2841:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2840:9:4"
} ,
"scope" : 530 ,
"src" : "2638:311:4" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
"scope" : 531 ,
"src" : "281:2670:4"
}
] ,
"src" : "0:2952:4"
} ,
"compiler" : {
"name" : "solc" ,
"version" : "0.4.23+commit.124ca40d.Emscripten.clang"
} ,
"networks" : {
"4" : {
"events" : { } ,
"links" : { } ,
"address" : "0xa6f1efbaf462946058ef6086fd562f7ddaf84dda" ,
"transactionHash" : "0xc96d3c71f8b88c6649e4b95ad2f30eadf63f8c4bd58da57a856a3b7931bbbf4f"
} ,
"1525950336085" : {
"events" : { } ,
"links" : { } ,
"address" : "0x9327970e8e29e8dba16b28acb177906a92447a0c" ,
"transactionHash" : "0x8b91e38b0bbafe43309aca9832bcd234b82d7ac9f81abe94891cd406a735549c"
2018-05-14 07:48:41 +00:00
} ,
"1526283540628" : {
"events" : { } ,
"links" : { } ,
"address" : "0xf2eb76d41d54cc58f9a8e86e2b42d41ccd22a8fa" ,
"transactionHash" : "0x8b91e38b0bbafe43309aca9832bcd234b82d7ac9f81abe94891cd406a735549c"
2018-05-10 11:12:13 +00:00
}
} ,
"schemaVersion" : "2.0.0" ,
2018-05-14 07:48:41 +00:00
"updatedAt" : "2018-05-14T07:39:37.959Z"
2018-05-10 11:12:13 +00:00
}