2018-05-16 15:46:33 +02:00
{
"contractName" : "StateChannelModule" ,
"abi" : [
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "manager" ,
"outputs" : [
{
"name" : "" ,
"type" : "address"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "_masterCopy" ,
"type" : "address"
}
] ,
"name" : "changeMasterCopy" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "NAME" ,
"outputs" : [
{
"name" : "" ,
"type" : "string"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"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"
} ,
{
"constant" : false ,
"inputs" : [ ] ,
"name" : "setup" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
} ,
{
"name" : "data" ,
"type" : "bytes"
} ,
{
"name" : "operation" ,
"type" : "uint8"
} ,
{
"name" : "nonce" ,
"type" : "uint256"
} ,
{
"name" : "v" ,
"type" : "uint8[]"
} ,
{
"name" : "r" ,
"type" : "bytes32[]"
} ,
{
"name" : "s" ,
"type" : "bytes32[]"
}
] ,
"name" : "execTransaction" ,
"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 50610e5 a 806100206000396000 f 30060806040526004361061008e576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 16806319604647146100935780632 b 50004114610206578063481 c 6 a 75146102 c c 5780637 d e 7 e d e f 14610323578063 a 3 f 4 d f 7e14610366578063 b a 0 b b a 40146103 f 6578063e52 c b 36 a 1461040 d 578063 f f a 1 a d 7414610456575 b 600080 f d 5 b 34801561009 f 57600080 f d 5 b 50610204600480360381019080803573 f f f f f f f f f f f f f f f f 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 169060200190929190803590602001909291908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506104e6565 b 0 0 5 b 34801561021257600080 f d 5 b 506102 a e 600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560 f f 16906020019092919080359060200190929190505050610705565 b 60405180826000191660001916815260200191505060405180910390 f 35 b 3480156102 d 857600080 f d 5 b 506102e1610921565 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 34801561032 f 57600080 f d 5 b 50610364600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190505050610947565 b 0 0 5 b 34801561037257600080 f d 5 b 5061037 b 610 a 0 c 565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156103 b b 5780820151818401526020810190506103 a 0 565 b 50505050905090810190601 f 1680156103e85780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 34801561040257600080 f d 5 b 5061040 b 610 a 45565 b 0 0 5 b 34801561041957600080 f d 5 b 5061043 c 6004803603810190808035600019169060200190929190505050610 a 4 f 565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561046257600080 f d 5 b 5061046 b 610 a 6 f 565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156104 a b 578082015181840152602081019050610490565 b 50505050905090810190601 f 1680156104 d 85780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 60006104 f 58989898989610705565 b 905060026000826000191660001916815260200190815260200160002060009054906101000 a 900460 f f 1615151561052 c 57600080 f d 5 b 61053881858585610 a a 8565 b 600160026000836000191660001916815260200190815260200160002060006101000 a 81548160 f f 0 21916908315150217905550600160009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1663468721 a 78 a 8 a 8 a 8 a 6040518563 f f f f f f f f 167 c 0 100000000000000000000000000000000000000000000000000000000028152600401808573 f f f f f f f f f f f f f f f f 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 1681526020018481526020018060200183600281111561062557 f e 5 b 60 f f 168152602001828103825284818151815260200191508051906020019080838360005 b 8381101561066557808201518184015260208101905061064 a 565 b 50505050905090810190601 f 1680156106925780820380516001836020036101000 a 0 31916815260200191505 b 5095505050505050602060405180830381600087803 b 1580156106 b 457600080 f d 5 b 505 a f 11580156106 c 8573 d 6000803e3 d 6000 f d 5 b 505050506040513 d 60208110156106 d e 57600080 f d 5 b 810190808051906020019092919050505015156106 f a 57600080 f d 5 b 505050505050505050565 b 600060197 f 0 1000000000000000000000000000000000000000000000000000000000000000260007 f 0 1000000000000000000000000000000000000000000000000000000000000000230888888888860405180897 e f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 19167 e f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 19168152600101887 e f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 19167 e f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f
"deployedBytecode" : " 0 x 60806040526004361061008e576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 16806319604647146100935780632 b 50004114610206578063481 c 6 a 75146102 c c 5780637 d e 7 e d e f 14610323578063 a 3 f 4 d f 7e14610366578063 b a 0 b b a 40146103 f 6578063e52 c b 36 a 1461040 d 578063 f f a 1 a d 7414610456575 b 600080 f d 5 b 34801561009 f 57600080 f d 5 b 50610204600480360381019080803573 f f f f f f f f f f f f f f f f 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 169060200190929190803590602001909291908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506104e6565 b 0 0 5 b 34801561021257600080 f d 5 b 506102 a e 600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560 f f 16906020019092919080359060200190929190505050610705565 b 60405180826000191660001916815260200191505060405180910390 f 35 b 3480156102 d 857600080 f d 5 b 506102e1610921565 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 34801561032 f 57600080 f d 5 b 50610364600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190505050610947565 b 0 0 5 b 34801561037257600080 f d 5 b 5061037 b 610 a 0 c 565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156103 b b 5780820151818401526020810190506103 a 0 565 b 50505050905090810190601 f 1680156103e85780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 34801561040257600080 f d 5 b 5061040 b 610 a 45565 b 0 0 5 b 34801561041957600080 f d 5 b 5061043 c 6004803603810190808035600019169060200190929190505050610 a 4 f 565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561046257600080 f d 5 b 5061046 b 610 a 6 f 565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156104 a b 578082015181840152602081019050610490565 b 50505050905090810190601 f 1680156104 d 85780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 60006104 f 58989898989610705565 b 905060026000826000191660001916815260200190815260200160002060009054906101000 a 900460 f f 1615151561052 c 57600080 f d 5 b 61053881858585610 a a 8565 b 600160026000836000191660001916815260200190815260200160002060006101000 a 81548160 f f 0 21916908315150217905550600160009054906101000 a 900473 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1663468721 a 78 a 8 a 8 a 8 a 6040518563 f f f f f f f f 167 c 0 100000000000000000000000000000000000000000000000000000000028152600401808573 f f f f f f f f f f f f f f f f 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 1681526020018481526020018060200183600281111561062557 f e 5 b 60 f f 168152602001828103825284818151815260200191508051906020019080838360005 b 8381101561066557808201518184015260208101905061064 a 565 b 50505050905090810190601 f 1680156106925780820380516001836020036101000 a 0 31916815260200191505 b 5095505050505050602060405180830381600087803 b 1580156106 b 457600080 f d 5 b 505 a f 11580156106 c 8573 d 6000803e3 d 6000 f d 5 b 505050506040513 d 60208110156106 d e 57600080 f d 5 b 810190808051906020019092919050505015156106 f a 57600080 f d 5 b 505050505050505050565 b 600060197 f 0 1000000000000000000000000000000000000000000000000000000000000000260007 f 0 1000000000000000000000000000000000000000000000000000000000000000230888888888860405180897 e f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 19167 e f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 19168152600101887 e f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 19167 e f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 191681526001018773 f f f f f f
"sourceMap" : "269:2840:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;269:2840:13;;;;;;;" ,
"deployedSourceMap" : " 269 : 2840 : 13 : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1265 : 602 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1265 : 602 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2796 : 311 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2796 : 311 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 262 : 28 : 5 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 262 : 28 : 5 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 626 : 208 : 4 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 626 : 208 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 314 : 52 : 13 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 314 : 52 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 ; 314 : 52 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 601 : 65 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 601 : 65 : 13 ; ; ; ; ; ; 510 : 43 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 510 : 43 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 372 : 40 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 372 : 40 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 ; 372 : 40 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1265 : 602 ; 1512 : 23 ; 1538 : 53 ; 1557 : 2 ; 1561 : 5 ; 1568 : 4 ; 1574 : 9 ; 1585 : 5 ; 1538 : 18 ; : 53 : : i ; : : : - ; 1512 : 79 ; ; 1610 : 10 ; : 27 ; 1621 : 15 ; 1610 : 27 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1609 : 28 ; 1601 : 37 ; ; ; ; ; ; ; ; 1648 : 35 ; 1658 : 15 ; 1675 : 1 ; 1678 ; 1681 ; 1648 : 9 ; : 35 : : i ; : : : - ; 1776 : 4 ; 1746 : 10 ; : 27 ; 1757 : 15 ; 1746 : 27 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 34 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1798 : 7 ; ; ; ; ; ; ; ; ; ; ; : 33 ; ; ; 1832 : 2 ; 1836 : 5 ; 1843 : 4 ; 1849 : 9 ; 1798 : 61 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 ; 1798 : 61 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1798 : 61 : 13 ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 45 : 16 ; 42 : 1 ; 39 ; 24 : 38 ; 77 : 16 ; 74 : 1 ; 67 : 27 ; 5 : 2 ; 1798 : 61 : 13 ; ; ; ; ; ; ; 13 : 2 : -1 ; 8 : 3 ; 5 : 11 ; 2 : 2 ; ; ; 29 : 1 ; 26 ; 19 : 12 ; 2 : 2 ; 1798 : 61 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1790 : 70 ; ; ; ; ; ; ; ; 1265 : 602 ; ; ; ; ; ; ; ; ; : : : o ; 2796 : 311 : : - ; 2999 : 7 ; 3044 : 4 ; 3039 : 10 ; ; 3056 : 1 ; 3051 : 7 ; ; 3060 : 4 ; 3066 : 2 ; 3070 : 5 ; 3077 : 4 ; 3083 : 9 ; 3094 : 5 ; 3029 : 71 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 36 : 153 : -1 ; 66 : 2 ; 61 : 3 ; 58 : 11 ; 51 : 19 ; 36 : 153 ; ; ; 182 : 3 ; 176 : 10 ; 171 : 3 ; 164 : 23 ; 98 : 2 ; 93 : 3 ; 89 : 12 ; 82 : 19 ; ; 123 : 2 ; 118 : 3 ; 114 : 12 ; 107 : 19 ; ; 148 : 2 ; 143 : 3 ; 139 : 12 ; 132 : 19 ; ; 36 : 153 ; ; ; 274 : 1 ; 267 : 3 ; 263 : 2 ; 259 : 12 ; 254 : 3 ; 250 : 22 ; 246 : 30 ; 315 : 4 ; 311 : 9 ; 305 : 3 ; 299 : 10 ; 295 : 26 ; 356 : 4 ; 350 : 3 ; 344 : 10 ; 340 : 21 ; 389 : 7 ; 380 ; 377 : 20 ; 372 : 3 ; 365 : 33 ; 3 : 399 ; ; ; 3029 : 71 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3022 : 78 ; ; 2796 : 311 ; ; ; ; ; ; ; : : : o ; 262 : 28 : 5 : - ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 626 : 208 : 4 : - ; 359 : 7 : 5 ; ; ; ; ; ; ; ; ; ; ; 337 : 30 ; ; : 10 ; : 30 ; ; ; 329 : 39 ; ; ; ; ; ; ; ; 791 : 1 : 4 ; 776 : 11 ; : 16 ; ; ; ; 768 : 25 ; ; ; ; ; ; ; ; 816 : 11 ; 803 : 10 ; ; : 24 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 626 : 208 ; : : : o ; 314 : 52 : 13 : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 601 : 65 : : - ; 647 : 12 ; : 10 ; : 12 : : i ; : : : - ; 601 : 65 : : o ; 510 : 43 : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 372 : 40 : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 1873 : 645 : : - ; 2050 : 17 ; 2090 : 20 ; 2120 : 9 ; 2139 : 15 ; 2078 : 1 ; 2050 : 30 ; ; 2170 : 7 ; ; ; ; ; ; ; ; ; ; ; 2157 : 34 ; ; ; : 36 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2157 : 36 : 13 ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 45 : 16 ; 42 : 1 ; 39 ; 24 : 38 ; 77 : 16 ; 74 : 1 ; 67 : 27 ; 5 : 2 ; 2157 : 36 : 13 ; ; ; ; ; ; ; 13 : 2 : -1 ; 8 : 3 ; 5 : 11 ; 2 : 2 ; ; ; 29 : 1 ; 26 ; 19 : 12 ; 2 : 2 ; 2157 : 36 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2139 : 54 ; ; 2254 : 1 ; 2250 : 5 ; ; 2245 : 267 ; 2261 : 9 ; 2257 : 13 ; ; : 1 ; : 13 ; 2245 : 267 ; ; ; 2306 : 44 ; 2316 : 15 ; 2333 : 1 ; 2335 ; 2333 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2339 : 1 ; 2341 ; 2339 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2345 : 1 ; 2347 ; 2345 : 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2306 : 44 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 45 : 16 ; 42 : 1 ; 39 ; 24 : 38 ; 77 : 16 ; 74 : 1 ; 67 : 27 ; 5 : 2 ; 2306 : 44 : 13 ; ; ; ; ; ; ; ; 2291 : 59 ; ; 2385 : 7 ; ; ; ; ; ; ; ; ; ; ; 2372 : 29 ; ; ; 2402 : 12 ; 2372 : 43 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2372 : 43 : 13 ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 45 : 16 ; 42 : 1 ; 39 ; 24 : 38 ; 77 : 16 ; 74 : 1 ; 67 : 27 ; 5 : 2 ; 2372 : 43 : 13 ; ; ; ; ; ; ; 13 : 2 : -1 ; 8 : 3 ; 5 : 11 ; 2 : 2 ; ; ; 29 : 1 ; 26 ; 19 : 12 ; 2 : 2 ; 2372 : 43 : 13 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2364 : 52 ; ; ; ; ; ; ; ; 2453 : 9 ; 2438 : 24 ; ; : 1
"source" : "pragma solidity 0.4.23;\nimport \"../Module.sol\";\nimport \"../OwnerManager.sol\";\n\n\n/// @title Gnosis Safe State Module - A module that allows interaction with statechannels.\n/// @author Stefan George - <stefan@gnosis.pm>\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract StateChannelModule is Module {\n\n string public constant NAME = \"State Channel Module\";\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 Setup function sets manager\n function setup()\n public\n {\n setManager();\n }\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 execTransaction(\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(manager.execTransactionFromModule(to, value, data, operation));\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 uint8 threshold = OwnerManager(manager).getThreshold();\n // Validate threshold is reached.\n for (i = 0; i < threshold; i++) {\n currentOwner = ecrecover(transactionHash, v[i], r[i], s[i]);\n require(OwnerManager(manager).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/modules/StateChannelModule.sol" ,
"ast" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/StateChannelModule.sol" ,
"exportedSymbols" : {
"StateChannelModule" : [
2234
]
} ,
"id" : 2235 ,
"nodeType" : "SourceUnit" ,
"nodes" : [
{
"id" : 2037 ,
"literals" : [
"solidity" ,
"0.4" ,
".23"
] ,
"nodeType" : "PragmaDirective" ,
"src" : "0:23:13"
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol" ,
"file" : "../Module.sol" ,
"id" : 2038 ,
"nodeType" : "ImportDirective" ,
"scope" : 2235 ,
"sourceUnit" : 622 ,
"src" : "24:23:13" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol" ,
"file" : "../OwnerManager.sol" ,
"id" : 2039 ,
"nodeType" : "ImportDirective" ,
"scope" : 2235 ,
"sourceUnit" : 1344 ,
"src" : "48:29:13" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 2040 ,
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 621 ,
"src" : "300:6:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_Module_$621" ,
"typeString" : "contract Module"
}
} ,
"id" : 2041 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "300:6:13"
}
] ,
"contractDependencies" : [
580 ,
621 ,
1359
] ,
"contractKind" : "contract" ,
"documentation" : "@title Gnosis Safe State Module - A module that allows interaction with statechannels.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>" ,
"fullyImplemented" : true ,
"id" : 2234 ,
"linearizedBaseContracts" : [
2234 ,
621 ,
580 ,
1359
] ,
"name" : "StateChannelModule" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
"id" : 2044 ,
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2234 ,
"src" : "314:52:13" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 2042 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "314:6:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "5374617465204368616e6e656c204d6f64756c65" ,
"id" : 2043 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "344:22:13" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_e66fa361bdba11103aaf2321b03707a79b393abf1f410f3f609398777fd3a713" ,
"typeString" : "literal_string \"State Channel Module\""
} ,
"value" : "State Channel Module"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
"id" : 2047 ,
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2234 ,
"src" : "372:40:13" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 2045 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "372:6:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
"id" : 2046 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "405:7:13" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
"id" : 2051 ,
"name" : "isExecuted" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2234 ,
"src" : "510:43:13" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"typeName" : {
"id" : 2050 ,
"keyType" : {
"id" : 2048 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "519:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "Mapping" ,
"src" : "510:25:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"valueType" : {
"id" : 2049 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "530:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
} ,
"value" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2057 ,
"nodeType" : "Block" ,
"src" : "637:29:13" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
"id" : 2054 ,
"name" : "setManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 620 ,
"src" : "647:10:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$__$returns$__$" ,
"typeString" : "function ()"
}
} ,
"id" : 2055 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "647:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2056 ,
"nodeType" : "ExpressionStatement" ,
"src" : "647:12:13"
}
]
} ,
"documentation" : "@dev Setup function sets manager" ,
"id" : 2058 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setup" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2052 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "615:2:13"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2053 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "637:0:13"
} ,
"scope" : 2234 ,
"src" : "601:65:13" ,
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2120 ,
"nodeType" : "Block" ,
"src" : "1502:365:13" ,
"statements" : [
{
"assignments" : [
2081
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2081 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1512:23:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2080 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1512:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2089 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2083 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2060 ,
"src" : "1557:2:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2084 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2062 ,
"src" : "1561:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2085 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2064 ,
"src" : "1568:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2086 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2066 ,
"src" : "1574:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 2087 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2068 ,
"src" : "1585:5:13" ,
"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_$5" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 2082 ,
"name" : "getTransactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2233 ,
"src" : "1538:18:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$5_$_t_uint256_$returns$_t_bytes32_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
} ,
"id" : 2088 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1538:53:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "1512:79:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2094 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1609:28:13" ,
"subExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2091 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2051 ,
"src" : "1610:10:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 2093 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2092 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2081 ,
"src" : "1621:15:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1610:27:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 2090 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2399 ,
2400
] ,
"referencedDeclaration" : 2399 ,
"src" : "1601:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 2095 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1601:37:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2096 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1601:37:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2098 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2081 ,
"src" : "1658:15:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"id" : 2099 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2071 ,
"src" : "1675:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2100 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2074 ,
"src" : "1678:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2101 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2077 ,
"src" : "1681:1:13" ,
"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" : 2097 ,
"name" : "checkHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2202 ,
"src" : "1648:9:13" ,
"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" : 2102 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1648:35:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2103 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1648:35:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 2108 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2104 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2051 ,
"src" : "1746:10:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 2106 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2105 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2081 ,
"src" : "1757:15:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1746:27:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 2107 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1776:4:13" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"src" : "1746:34:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 2109 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1746:34:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2113 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2060 ,
"src" : "1832:2:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2114 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2062 ,
"src" : "1836:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2115 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2064 ,
"src" : "1843:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2116 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2066 ,
"src" : "1849:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
] ,
"expression" : {
"argumentTypes" : null ,
"id" : 2111 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 588 ,
"src" : "1798:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
}
} ,
"id" : 2112 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "execTransactionFromModule" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 798 ,
"src" : "1798:33:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$5_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
}
} ,
"id" : 2117 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1798:61:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 2110 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2399 ,
2400
] ,
"referencedDeclaration" : 2399 ,
"src" : "1790:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 2118 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1790:70:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2119 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1790:70:13"
}
]
} ,
"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" : 2121 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execTransaction" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2078 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2060 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1299:10:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2059 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1299:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2062 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1320:13:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2061 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1320:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2064 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1344:10:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 2063 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1344:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2066 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1365:24:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 2065 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 5 ,
"src" : "1365:14:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2068 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1400:13:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2067 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1400:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2071 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1423:9:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2069 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1423:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 2070 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1423:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2074 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1443:11:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2072 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1443:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2073 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1443:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2077 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1465:11:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2075 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1465:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2076 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1465:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1289:193:13"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2079 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "1502:0:13"
} ,
"scope" : 2234 ,
"src" : "1265:602:13" ,
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2201 ,
"nodeType" : "Block" ,
"src" : "1988:530:13" ,
"statements" : [
{
"assignments" : [
2136
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2136 ,
"name" : "lastOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "2050:17:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2135 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2050:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2140 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2138 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2078:1:13" ,
"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" : 2137 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2070:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
"id" : 2139 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2070:10:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2050:30:13"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 2142 ,
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "2090:20:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2141 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2090:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2143 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2090:20:13"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 2145 ,
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "2120:9:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2144 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2120:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2146 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2120:9:13"
} ,
{
"assignments" : [
2148
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2148 ,
"name" : "threshold" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "2139:15:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
} ,
"typeName" : {
"id" : 2147 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2139:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2154 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2150 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 588 ,
"src" : "2170:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
}
] ,
"id" : 2149 ,
"name" : "OwnerManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1343 ,
"src" : "2157:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_OwnerManager_$1343_$" ,
"typeString" : "type(contract OwnerManager)"
}
} ,
"id" : 2151 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2157:21:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_OwnerManager_$1343" ,
"typeString" : "contract OwnerManager"
}
} ,
"id" : 2152 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "getThreshold" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1279 ,
"src" : "2157:34:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_view$__$returns$_t_uint8_$" ,
"typeString" : "function () view external returns (uint8)"
}
} ,
"id" : 2153 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2157:36:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2139:54:13"
} ,
{
"body" : {
"id" : 2199 ,
"nodeType" : "Block" ,
"src" : "2277:235:13" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"id" : 2178 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2165 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2142 ,
"src" : "2291:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2167 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2123 ,
"src" : "2316:15:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2168 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2126 ,
"src" : "2333:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
"id" : 2170 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2169 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2335:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2333:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2171 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2129 ,
"src" : "2339:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 2173 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2172 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2341:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2339:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2174 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2132 ,
"src" : "2345:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 2176 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2175 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2347:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2345:4:13" ,
"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" : 2166 ,
"name" : "ecrecover" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2388 ,
"src" : "2306:9:13" ,
"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" : 2177 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2306:44:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2291:59:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 2179 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2291:59:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2185 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2142 ,
"src" : "2402:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2182 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 588 ,
"src" : "2385:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
}
] ,
"id" : 2181 ,
"name" : "OwnerManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1343 ,
"src" : "2372:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_OwnerManager_$1343_$" ,
"typeString" : "type(contract OwnerManager)"
}
} ,
"id" : 2183 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2372:21:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_OwnerManager_$1343" ,
"typeString" : "contract OwnerManager"
}
} ,
"id" : 2184 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "isOwner" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1293 ,
"src" : "2372:29:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_view$_t_address_$returns$_t_bool_$" ,
"typeString" : "function (address) view external returns (bool)"
}
} ,
"id" : 2186 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2372:43:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 2180 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2399 ,
2400
] ,
"referencedDeclaration" : 2399 ,
"src" : "2364:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 2187 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2364:52:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2188 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2364:52:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"id" : 2192 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 2190 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2142 ,
"src" : "2438:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 2191 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2136 ,
"src" : "2453:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2438:24:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 2189 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2399 ,
2400
] ,
"referencedDeclaration" : 2399 ,
"src" : "2430:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 2193 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2430:33:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2194 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2430:33:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 2197 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2195 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2136 ,
"src" : "2477:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 2196 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2142 ,
"src" : "2489:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2477:24:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 2198 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2477:24:13"
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"id" : 2161 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 2159 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2257:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 2160 ,
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2148 ,
"src" : "2261:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"src" : "2257:13:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 2200 ,
"initializationExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 2157 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2155 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2250:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2156 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2254:1:13" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"src" : "2250:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 2158 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2250:5:13"
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 2163 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
"src" : "2272:3:13" ,
"subExpression" : {
"argumentTypes" : null ,
"id" : 2162 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2272:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 2164 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2272:3:13"
} ,
"nodeType" : "ForStatement" ,
"src" : "2245:267:13"
}
]
} ,
"documentation" : null ,
"id" : 2202 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "checkHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2133 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2123 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "1892:23:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2122 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1892:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2126 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "1917:9:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2124 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1917:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 2125 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1917:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2129 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "1928:11:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2127 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1928:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2128 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1928:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2132 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "1941:11:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2130 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1941:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2131 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1941:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1891:62:13"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2134 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "1988:0:13"
} ,
"scope" : 2234 ,
"src" : "1873:645:13" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
"id" : 2232 ,
"nodeType" : "Block" ,
"src" : "3012:95:13" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30783139" ,
"id" : 2219 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "3044:4:13" ,
"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" : 2218 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "3039:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 2220 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3039:10:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2222 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "3056:1:13" ,
"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" : 2221 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "3051:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 2223 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3051:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"id" : 2224 ,
"name" : "this" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2435 ,
"src" : "3060:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_StateChannelModule_$2234" ,
"typeString" : "contract StateChannelModule"
}
} ,
{
"argumentTypes" : null ,
"id" : 2225 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2204 ,
"src" : "3066:2:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2226 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2206 ,
"src" : "3070:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2227 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2208 ,
"src" : "3077:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2228 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2210 ,
"src" : "3083:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 2229 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2212 ,
"src" : "3094:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_contract$_StateChannelModule_$2234" ,
"typeString" : "contract StateChannelModule"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 2217 ,
"name" : "keccak256" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2390 ,
"src" : "3029:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_sha3_pure$__$returns$_t_bytes32_$" ,
"typeString" : "function () pure returns (bytes32)"
}
} ,
"id" : 2230 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3029:71:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"functionReturnParameters" : 2216 ,
"id" : 2231 ,
"nodeType" : "Return" ,
"src" : "3022:78:13"
}
]
} ,
"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" : 2233 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getTransactionHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2213 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2204 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2833:10:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2203 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2833:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2206 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2854:13:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2205 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2854:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2208 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2878:10:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 2207 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2878:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2210 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2899:24:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 2209 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 5 ,
"src" : "2899:14:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2212 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2934:13:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2211 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2934:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2823:130:13"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2216 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2215 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2999:7:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2214 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2999:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2998:9:13"
} ,
"scope" : 2234 ,
"src" : "2796:311:13" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
"scope" : 2235 ,
"src" : "269:2840:13"
}
] ,
"src" : "0:3110:13"
} ,
"legacyAST" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/StateChannelModule.sol" ,
"exportedSymbols" : {
"StateChannelModule" : [
2234
]
} ,
"id" : 2235 ,
"nodeType" : "SourceUnit" ,
"nodes" : [
{
"id" : 2037 ,
"literals" : [
"solidity" ,
"0.4" ,
".23"
] ,
"nodeType" : "PragmaDirective" ,
"src" : "0:23:13"
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol" ,
"file" : "../Module.sol" ,
"id" : 2038 ,
"nodeType" : "ImportDirective" ,
"scope" : 2235 ,
"sourceUnit" : 622 ,
"src" : "24:23:13" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol" ,
"file" : "../OwnerManager.sol" ,
"id" : 2039 ,
"nodeType" : "ImportDirective" ,
"scope" : 2235 ,
"sourceUnit" : 1344 ,
"src" : "48:29:13" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 2040 ,
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 621 ,
"src" : "300:6:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_Module_$621" ,
"typeString" : "contract Module"
}
} ,
"id" : 2041 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "300:6:13"
}
] ,
"contractDependencies" : [
580 ,
621 ,
1359
] ,
"contractKind" : "contract" ,
"documentation" : "@title Gnosis Safe State Module - A module that allows interaction with statechannels.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>" ,
"fullyImplemented" : true ,
"id" : 2234 ,
"linearizedBaseContracts" : [
2234 ,
621 ,
580 ,
1359
] ,
"name" : "StateChannelModule" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
"id" : 2044 ,
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2234 ,
"src" : "314:52:13" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 2042 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "314:6:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "5374617465204368616e6e656c204d6f64756c65" ,
"id" : 2043 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "344:22:13" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_e66fa361bdba11103aaf2321b03707a79b393abf1f410f3f609398777fd3a713" ,
"typeString" : "literal_string \"State Channel Module\""
} ,
"value" : "State Channel Module"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
"id" : 2047 ,
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2234 ,
"src" : "372:40:13" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 2045 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "372:6:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
"id" : 2046 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "405:7:13" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
"id" : 2051 ,
"name" : "isExecuted" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2234 ,
"src" : "510:43:13" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"typeName" : {
"id" : 2050 ,
"keyType" : {
"id" : 2048 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "519:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "Mapping" ,
"src" : "510:25:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"valueType" : {
"id" : 2049 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "530:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
} ,
"value" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2057 ,
"nodeType" : "Block" ,
"src" : "637:29:13" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
"id" : 2054 ,
"name" : "setManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 620 ,
"src" : "647:10:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$__$returns$__$" ,
"typeString" : "function ()"
}
} ,
"id" : 2055 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "647:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2056 ,
"nodeType" : "ExpressionStatement" ,
"src" : "647:12:13"
}
]
} ,
"documentation" : "@dev Setup function sets manager" ,
"id" : 2058 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setup" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2052 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "615:2:13"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2053 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "637:0:13"
} ,
"scope" : 2234 ,
"src" : "601:65:13" ,
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2120 ,
"nodeType" : "Block" ,
"src" : "1502:365:13" ,
"statements" : [
{
"assignments" : [
2081
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2081 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1512:23:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2080 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1512:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2089 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2083 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2060 ,
"src" : "1557:2:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2084 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2062 ,
"src" : "1561:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2085 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2064 ,
"src" : "1568:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2086 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2066 ,
"src" : "1574:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 2087 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2068 ,
"src" : "1585:5:13" ,
"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_$5" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 2082 ,
"name" : "getTransactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2233 ,
"src" : "1538:18:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$5_$_t_uint256_$returns$_t_bytes32_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
} ,
"id" : 2088 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1538:53:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "1512:79:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2094 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1609:28:13" ,
"subExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2091 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2051 ,
"src" : "1610:10:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 2093 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2092 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2081 ,
"src" : "1621:15:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1610:27:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 2090 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2399 ,
2400
] ,
"referencedDeclaration" : 2399 ,
"src" : "1601:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 2095 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1601:37:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2096 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1601:37:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2098 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2081 ,
"src" : "1658:15:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"id" : 2099 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2071 ,
"src" : "1675:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2100 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2074 ,
"src" : "1678:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2101 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2077 ,
"src" : "1681:1:13" ,
"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" : 2097 ,
"name" : "checkHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2202 ,
"src" : "1648:9:13" ,
"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" : 2102 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1648:35:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2103 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1648:35:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 2108 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2104 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2051 ,
"src" : "1746:10:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 2106 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2105 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2081 ,
"src" : "1757:15:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1746:27:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 2107 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1776:4:13" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"src" : "1746:34:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 2109 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1746:34:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2113 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2060 ,
"src" : "1832:2:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2114 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2062 ,
"src" : "1836:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2115 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2064 ,
"src" : "1843:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2116 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2066 ,
"src" : "1849:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
] ,
"expression" : {
"argumentTypes" : null ,
"id" : 2111 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 588 ,
"src" : "1798:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
}
} ,
"id" : 2112 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "execTransactionFromModule" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 798 ,
"src" : "1798:33:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$5_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
}
} ,
"id" : 2117 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1798:61:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 2110 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2399 ,
2400
] ,
"referencedDeclaration" : 2399 ,
"src" : "1790:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 2118 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1790:70:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2119 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1790:70:13"
}
]
} ,
"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" : 2121 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execTransaction" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2078 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2060 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1299:10:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2059 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1299:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2062 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1320:13:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2061 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1320:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2064 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1344:10:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 2063 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1344:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2066 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1365:24:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 2065 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 5 ,
"src" : "1365:14:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2068 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1400:13:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2067 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1400:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2071 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1423:9:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2069 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1423:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 2070 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1423:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2074 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1443:11:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2072 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1443:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2073 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1443:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2077 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2121 ,
"src" : "1465:11:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2075 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1465:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2076 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1465:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1289:193:13"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2079 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "1502:0:13"
} ,
"scope" : 2234 ,
"src" : "1265:602:13" ,
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2201 ,
"nodeType" : "Block" ,
"src" : "1988:530:13" ,
"statements" : [
{
"assignments" : [
2136
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2136 ,
"name" : "lastOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "2050:17:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2135 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2050:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2140 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2138 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2078:1:13" ,
"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" : 2137 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2070:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
"id" : 2139 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2070:10:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2050:30:13"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 2142 ,
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "2090:20:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2141 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2090:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2143 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2090:20:13"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 2145 ,
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "2120:9:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2144 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2120:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2146 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2120:9:13"
} ,
{
"assignments" : [
2148
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2148 ,
"name" : "threshold" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "2139:15:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
} ,
"typeName" : {
"id" : 2147 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2139:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2154 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2150 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 588 ,
"src" : "2170:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
}
] ,
"id" : 2149 ,
"name" : "OwnerManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1343 ,
"src" : "2157:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_OwnerManager_$1343_$" ,
"typeString" : "type(contract OwnerManager)"
}
} ,
"id" : 2151 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2157:21:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_OwnerManager_$1343" ,
"typeString" : "contract OwnerManager"
}
} ,
"id" : 2152 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "getThreshold" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1279 ,
"src" : "2157:34:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_view$__$returns$_t_uint8_$" ,
"typeString" : "function () view external returns (uint8)"
}
} ,
"id" : 2153 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2157:36:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2139:54:13"
} ,
{
"body" : {
"id" : 2199 ,
"nodeType" : "Block" ,
"src" : "2277:235:13" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"id" : 2178 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2165 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2142 ,
"src" : "2291:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2167 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2123 ,
"src" : "2316:15:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2168 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2126 ,
"src" : "2333:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
"id" : 2170 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2169 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2335:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2333:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2171 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2129 ,
"src" : "2339:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 2173 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2172 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2341:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2339:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2174 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2132 ,
"src" : "2345:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 2176 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2175 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2347:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2345:4:13" ,
"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" : 2166 ,
"name" : "ecrecover" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2388 ,
"src" : "2306:9:13" ,
"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" : 2177 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2306:44:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2291:59:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 2179 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2291:59:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2185 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2142 ,
"src" : "2402:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2182 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 588 ,
"src" : "2385:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_ModuleManager_$971" ,
"typeString" : "contract ModuleManager"
}
] ,
"id" : 2181 ,
"name" : "OwnerManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1343 ,
"src" : "2372:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_OwnerManager_$1343_$" ,
"typeString" : "type(contract OwnerManager)"
}
} ,
"id" : 2183 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2372:21:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_OwnerManager_$1343" ,
"typeString" : "contract OwnerManager"
}
} ,
"id" : 2184 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "isOwner" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1293 ,
"src" : "2372:29:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_view$_t_address_$returns$_t_bool_$" ,
"typeString" : "function (address) view external returns (bool)"
}
} ,
"id" : 2186 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2372:43:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 2180 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2399 ,
2400
] ,
"referencedDeclaration" : 2399 ,
"src" : "2364:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 2187 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2364:52:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2188 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2364:52:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"id" : 2192 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 2190 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2142 ,
"src" : "2438:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 2191 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2136 ,
"src" : "2453:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2438:24:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
"id" : 2189 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2399 ,
2400
] ,
"referencedDeclaration" : 2399 ,
"src" : "2430:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
"id" : 2193 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2430:33:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2194 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2430:33:13"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 2197 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2195 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2136 ,
"src" : "2477:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 2196 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2142 ,
"src" : "2489:12:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2477:24:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 2198 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2477:24:13"
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"id" : 2161 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 2159 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2257:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 2160 ,
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2148 ,
"src" : "2261:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"src" : "2257:13:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 2200 ,
"initializationExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 2157 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2155 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2250:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2156 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2254:1:13" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"src" : "2250:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 2158 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2250:5:13"
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 2163 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
"src" : "2272:3:13" ,
"subExpression" : {
"argumentTypes" : null ,
"id" : 2162 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2145 ,
"src" : "2272:1:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 2164 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2272:3:13"
} ,
"nodeType" : "ForStatement" ,
"src" : "2245:267:13"
}
]
} ,
"documentation" : null ,
"id" : 2202 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "checkHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2133 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2123 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "1892:23:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2122 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1892:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2126 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "1917:9:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2124 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1917:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 2125 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1917:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2129 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "1928:11:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2127 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1928:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2128 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1928:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2132 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2202 ,
"src" : "1941:11:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2130 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1941:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2131 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1941:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1891:62:13"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2134 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "1988:0:13"
} ,
"scope" : 2234 ,
"src" : "1873:645:13" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
"id" : 2232 ,
"nodeType" : "Block" ,
"src" : "3012:95:13" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30783139" ,
"id" : 2219 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "3044:4:13" ,
"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" : 2218 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "3039:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 2220 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3039:10:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2222 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "3056:1:13" ,
"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" : 2221 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "3051:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 2223 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3051:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"id" : 2224 ,
"name" : "this" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2435 ,
"src" : "3060:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_StateChannelModule_$2234" ,
"typeString" : "contract StateChannelModule"
}
} ,
{
"argumentTypes" : null ,
"id" : 2225 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2204 ,
"src" : "3066:2:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2226 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2206 ,
"src" : "3070:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2227 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2208 ,
"src" : "3077:4:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2228 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2210 ,
"src" : "3083:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 2229 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2212 ,
"src" : "3094:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_contract$_StateChannelModule_$2234" ,
"typeString" : "contract StateChannelModule"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 2217 ,
"name" : "keccak256" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2390 ,
"src" : "3029:9:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_sha3_pure$__$returns$_t_bytes32_$" ,
"typeString" : "function () pure returns (bytes32)"
}
} ,
"id" : 2230 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3029:71:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"functionReturnParameters" : 2216 ,
"id" : 2231 ,
"nodeType" : "Return" ,
"src" : "3022:78:13"
}
]
} ,
"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" : 2233 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getTransactionHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2213 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2204 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2833:10:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2203 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2833:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2206 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2854:13:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2205 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2854:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2208 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2878:10:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 2207 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2878:5:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2210 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2899:24:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 2209 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 5 ,
"src" : "2899:14:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$5" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2212 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2934:13:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2211 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2934:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2823:130:13"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2216 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2215 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2233 ,
"src" : "2999:7:13" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2214 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2999:7:13" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2998:9:13"
} ,
"scope" : 2234 ,
"src" : "2796:311:13" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
"scope" : 2235 ,
"src" : "269:2840:13"
}
] ,
"src" : "0:3110:13"
} ,
"compiler" : {
"name" : "solc" ,
"version" : "0.4.23+commit.124ca40d.Emscripten.clang"
} ,
"networks" : {
"4" : {
"events" : { } ,
"links" : { } ,
"address" : "0xe8ebcab56a44488742278fe3e5ed241b6b786032" ,
"transactionHash" : "0x8285395632164bd2429394e47473065a620bcea7c066595b3b4e2eb1c8457d17"
} ,
"1526478212260" : {
"events" : { } ,
"links" : { } ,
"address" : "0xb9597dbd8ed0c4c481d1677b3200b8c4d342750c" ,
"transactionHash" : "0x7f1b3b4ba4694670b29675af571cb4a96b1c2d78d09d210e27482419aa6fff79"
2018-05-22 09:22:38 +02:00
} ,
"1526973574996" : {
"events" : { } ,
"links" : { } ,
"address" : "0x79933939f70a2707380e371524050ecf6477da74" ,
"transactionHash" : "0x7f1b3b4ba4694670b29675af571cb4a96b1c2d78d09d210e27482419aa6fff79"
2018-05-26 09:36:34 +02:00
} ,
"1527316019334" : {
"events" : { } ,
"links" : { } ,
"address" : "0x07ef92f7b5ff64dc4d0757790281c23d54871b9a" ,
"transactionHash" : "0x7f1b3b4ba4694670b29675af571cb4a96b1c2d78d09d210e27482419aa6fff79"
2018-05-16 15:46:33 +02:00
}
} ,
"schemaVersion" : "2.0.0" ,
2018-05-26 09:36:34 +02:00
"updatedAt" : "2018-05-26T06:28:28.355Z"
2018-05-16 15:46:33 +02:00
}