2018-05-31 13:01:02 +00: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 50611217806100206000396000 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 169060200190929190803590602001909291905050506107 d 7565 b 60405180826000191660001916815260200191505060405180910390 f 35 b 3480156102 d 857600080 f d 5 b 506102e1610 a 5 f 565 b 604051808273 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200191505060405180910390 f 35 b 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 169060200190929190505050610 a 85565 b 0 0 5 b 34801561037257600080 f d 5 b 5061037 b 610 c 68565 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 c a 1565 b 0 0 5 b 34801561041957600080 f d 5 b 5061043 c 6004803603810190808035600019169060200190929190505050610 c a b 565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561046257600080 f d 5 b 5061046 b 610 c c b 565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156104 a b 578082015181840152602081019050610490565 b 50505050905090810190601 f 1680156104 d 85780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 60006104 f 589898989896107 d 7565 b 905060026000826000191660001916815260200190815260200160002060009054906101000 a 900460 f f 16151515610595576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815260040180806020018281038252601 c 8152602001807 f 5472616e73616374696 f 6e20616 c 72656164792065786563757465640000000081525060200191505060405180910390 f d 5 b 6105 a 181858585610 d 0 4565 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 1681526020018481526020018060200183600281111561068e57 f e 5 b 60 f f 168152602001828103825284818151815260200191508051906020019080838360005 b 838110156106 c e 5780820151818401526020810190506106 b 3565 b 50505050905090810190601 f 1680156106 f b 5780820380516001836020036101000 a 0 31916815260200191505 b 5095505050505050602060405180830381600087803 b 15801561071 d 57600080 f d 5 b 505 a f 1158015610731573 d 6000803e3 d 6000 f d 5 b 505050506040513 d 602081101561074757600080 f d 5 b 810190808051906020019092919050505015156107 c c 576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815260040180806020018281038252601 d 8152602001807 f 436 f 756 c 64206e6 f 742065786563757465207472616e73616374696 f 6e00000081525060200191505060405180910390 f d 5 b 50505050505050505056
"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 169060200190929190803590602001909291905050506107 d 7565 b 60405180826000191660001916815260200191505060405180910390 f 35 b 3480156102 d 857600080 f d 5 b 506102e1610 a 5 f 565 b 604051808273 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200191505060405180910390 f 35 b 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 169060200190929190505050610 a 85565 b 0 0 5 b 34801561037257600080 f d 5 b 5061037 b 610 c 68565 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 c a 1565 b 0 0 5 b 34801561041957600080 f d 5 b 5061043 c 6004803603810190808035600019169060200190929190505050610 c a b 565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561046257600080 f d 5 b 5061046 b 610 c c b 565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156104 a b 578082015181840152602081019050610490565 b 50505050905090810190601 f 1680156104 d 85780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 60006104 f 589898989896107 d 7565 b 905060026000826000191660001916815260200190815260200160002060009054906101000 a 900460 f f 16151515610595576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815260040180806020018281038252601 c 8152602001807 f 5472616e73616374696 f 6e20616 c 72656164792065786563757465640000000081525060200191505060405180910390 f d 5 b 6105 a 181858585610 d 0 4565 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 1681526020018481526020018060200183600281111561068e57 f e 5 b 60 f f 168152602001828103825284818151815260200191508051906020019080838360005 b 838110156106 c e 5780820151818401526020810190506106 b 3565 b 50505050905090810190601 f 1680156106 f b 5780820380516001836020036101000 a 0 31916815260200191505 b 5095505050505050602060405180830381600087803 b 15801561071 d 57600080 f d 5 b 505 a f 1158015610731573 d 6000803e3 d 6000 f d 5 b 505050506040513 d 602081101561074757600080 f d 5 b 810190808051906020019092919050505015156107 c c 576040517 f 0 8 c 379 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815260040180806020018281038252601 d 8152602001807 f 436 f 756 c 64206e6 f 742065786563757465207472616e73616374696 f 6e00000081525060200191505060405180910390 f d 5 b 505050505050505050565 b 600060197 f 0 1000000000000000000000000000000000000000000
"sourceMap" : "269:3005:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;269:3005:19;;;;;;;" ,
"deployedSourceMap" : " 269 : 3005 : 19 : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1265 : 667 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1265 : 667 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2943 : 329 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2943 : 329 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 262 : 28 : 7 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 262 : 28 : 7 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 626 : 248 : 5 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 626 : 248 : 5 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 314 : 52 : 19 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 314 : 52 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 601 : 65 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 601 : 65 : 19 ; ; ; ; ; ; 510 : 43 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 510 : 43 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 372 : 40 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 372 : 40 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1265 : 667 ; 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 : 69 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1680 : 35 ; 1690 : 15 ; 1707 : 1 ; 1710 ; 1713 ; 1680 : 9 ; : 35 : : i ; : : : - ; 1808 : 4 ; 1778 : 10 ; : 27 ; 1789 : 15 ; 1778 : 27 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : 34 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1830 : 7 ; ; ; ; ; ; ; ; ; ; ; : 33 ; ; ; 1864 : 2 ; 1868 : 5 ; 1875 : 4 ; 1881 : 9 ; 1830 : 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 ; 1830 : 61 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1830 : 61 : 19 ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 45 : 16 ; 42 : 1 ; 39 ; 24 : 38 ; 77 : 16 ; 74 : 1 ; 67 : 27 ; 5 : 2 ; 1830 : 61 : 19 ; ; ; ; ; ; ; 13 : 2 : -1 ; 8 : 3 ; 5 : 11 ; 2 : 2 ; ; ; 29 : 1 ; 26 ; 19 : 12 ; 2 : 2 ; 1830 : 61 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1822 : 103 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1265 : 667 ; ; ; ; ; ; ; ; ; : : : o ; 2943 : 329 : : - ; 3146 : 7 ; 3208 : 4 ; 3203 : 10 ; ; 3220 : 1 ; 3215 : 7 ; ; 3224 : 4 ; 3230 : 2 ; 3234 : 5 ; 3241 : 4 ; 3247 : 9 ; 3258 : 5 ; 3186 : 78 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 ; ; ; 3186 : 78 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 49 : 4 : -1 ; 39 : 7 ; 30 ; 26 : 21 ; 22 : 32 ; 13 : 7 ; 6 : 49 ; 3186 : 78 : 19 ; ; ; 3176 : 89 ; ; ; ; ; ; ; ; ; ; ; ; ; 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 ; ; ; 3176 : 89 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3169 : 96 ; ; 2943 : 329 ; ; ; ; ; ; ; : : : o ; 262 : 28 : 7 : - ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 626 : 248 : 5 : - ; 359 : 7 : 7 ; ; ; ; ; ; ; ; ; ; ; 337 : 30 ; ; : 10 ; : 30 ; ; ; 329 : 81 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 791 : 1 : 5 ; 776 : 11 ; : 16 ; ; ; ; 768 : 65 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 856 : 11 ; 843 : 10 ; ; : 24 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 626 : 248 ; : : : o ; 314 : 52 : 19 : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 601 : 65 : : - ; 647 : 12 ; : 10 ; : 12 : : i ; : : : - ; 601 : 65 : : o ; 510 : 43 : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 372 : 40 : : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; : : : o ; 1938 : 727 : : - ; 2115 : 17 ; 2155 : 20 ; 2185 : 9 ; 2204 : 15 ; 2143 : 1 ; 2115 : 30 ; ; 2235 : 7 ; ; ; ; ; ; ; ; ; ; ; 2222 : 34 ; ; ; : 36 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2222 : 36 : 19 ; ; ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 45 : 16 ; 42 : 1 ; 39 ; 24 : 38 ; 77 : 16 ; 74 : 1 ; 67 : 27 ; 5 : 2 ; 2222 : 36 : 19 ; ; ; ; ; ; ; 13 : 2 : -1 ; 8 : 3 ; 5 : 11 ; 2 : 2 ; ; ; 29 : 1 ; 26 ; 19 : 12 ; 2 : 2 ; 2222 : 36 : 19 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2204 : 54 ; ; 2319 : 1 ; 2315 : 5 ; ; 2310 : 349 ; 2326 : 9 ; 2322 : 13 ; ; : 1 ; : 13 ; 2310 : 349 ; ; ; 2371 : 44 ; 2381 : 15 ; 2398 : 1 ; 2400 ; 2398 : 4 ; ; ; ; ; ; ; ; ;
"source" : "pragma solidity 0.4.24;\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], \"Transaction already executed\");\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), \"Could not execute transaction\");\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), \"Signature not provided by owner\");\n require(currentOwner > lastOwner, \"Signatures are not ordered by owner address\");\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(abi.encodePacked(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" : [
2485
]
} ,
"id" : 2486 ,
"nodeType" : "SourceUnit" ,
"nodes" : [
{
"id" : 2281 ,
"literals" : [
"solidity" ,
"0.4" ,
".24"
] ,
"nodeType" : "PragmaDirective" ,
"src" : "0:23:19"
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol" ,
"file" : "../Module.sol" ,
"id" : 2282 ,
"nodeType" : "ImportDirective" ,
"scope" : 2486 ,
"sourceUnit" : 763 ,
"src" : "24:23:19" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol" ,
"file" : "../OwnerManager.sol" ,
"id" : 2283 ,
"nodeType" : "ImportDirective" ,
"scope" : 2486 ,
"sourceUnit" : 1505 ,
"src" : "48:29:19" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 2284 ,
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 762 ,
"src" : "300:6:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_Module_$762" ,
"typeString" : "contract Module"
}
} ,
"id" : 2285 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "300:6:19"
}
] ,
"contractDependencies" : [
662 ,
762 ,
1654
] ,
"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" : 2485 ,
"linearizedBaseContracts" : [
2485 ,
762 ,
662 ,
1654
] ,
"name" : "StateChannelModule" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
"id" : 2288 ,
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2485 ,
"src" : "314:52:19" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 2286 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "314:6:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "5374617465204368616e6e656c204d6f64756c65" ,
"id" : 2287 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "344:22:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_e66fa361bdba11103aaf2321b03707a79b393abf1f410f3f609398777fd3a713" ,
"typeString" : "literal_string \"State Channel Module\""
} ,
"value" : "State Channel Module"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
"id" : 2291 ,
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2485 ,
"src" : "372:40:19" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 2289 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "372:6:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
"id" : 2290 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "405:7:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
"id" : 2295 ,
"name" : "isExecuted" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2485 ,
"src" : "510:43:19" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"typeName" : {
"id" : 2294 ,
"keyType" : {
"id" : 2292 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "519:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "Mapping" ,
"src" : "510:25:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"valueType" : {
"id" : 2293 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "530:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
} ,
"value" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2301 ,
"nodeType" : "Block" ,
"src" : "637:29:19" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
"id" : 2298 ,
"name" : "setManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 761 ,
"src" : "647:10:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$__$returns$__$" ,
"typeString" : "function ()"
}
} ,
"id" : 2299 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "647:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2300 ,
"nodeType" : "ExpressionStatement" ,
"src" : "647:12:19"
}
]
} ,
"documentation" : "@dev Setup function sets manager" ,
"id" : 2302 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setup" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2296 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "615:2:19"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2297 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "637:0:19"
} ,
"scope" : 2485 ,
"src" : "601:65:19" ,
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2366 ,
"nodeType" : "Block" ,
"src" : "1502:430:19" ,
"statements" : [
{
"assignments" : [
2325
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2325 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1512:23:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2324 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1512:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2333 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2327 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2304 ,
"src" : "1557:2:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2328 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2306 ,
"src" : "1561:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2329 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2308 ,
"src" : "1568:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2330 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2310 ,
"src" : "1574:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 2331 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2312 ,
"src" : "1585:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 2326 ,
"name" : "getTransactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2484 ,
"src" : "1538:18:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
} ,
"id" : 2332 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1538:53:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "1512:79:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2338 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1609:28:19" ,
"subExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2335 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2295 ,
"src" : "1610:10:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 2337 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2336 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2325 ,
"src" : "1621:15:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1610:27:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5472616e73616374696f6e20616c7265616479206578656375746564" ,
"id" : 2339 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1639:30:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_3c3f7cf602281cf7a98efd78d98ba46309975dadee18bcb57e640145699bd800" ,
"typeString" : "literal_string \"Transaction already executed\""
} ,
"value" : "Transaction already executed"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_3c3f7cf602281cf7a98efd78d98ba46309975dadee18bcb57e640145699bd800" ,
"typeString" : "literal_string \"Transaction already executed\""
}
] ,
"id" : 2334 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2657 ,
2658
] ,
"referencedDeclaration" : 2658 ,
"src" : "1601:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
"id" : 2340 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1601:69:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2341 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1601:69:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2343 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2325 ,
"src" : "1690:15:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"id" : 2344 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2315 ,
"src" : "1707:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2345 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2318 ,
"src" : "1710:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2346 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2321 ,
"src" : "1713:1:19" ,
"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" : 2342 ,
"name" : "checkHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2450 ,
"src" : "1680:9:19" ,
"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" : 2347 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1680:35:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2348 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1680:35:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 2353 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2349 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2295 ,
"src" : "1778:10:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 2351 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2350 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2325 ,
"src" : "1789:15:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1778:27:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 2352 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1808:4:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"src" : "1778:34:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 2354 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1778:34:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2358 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2304 ,
"src" : "1864:2:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2359 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2306 ,
"src" : "1868:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2360 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2308 ,
"src" : "1875:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2361 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2310 ,
"src" : "1881:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"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_$29" ,
"typeString" : "enum Enum.Operation"
}
] ,
"expression" : {
"argumentTypes" : null ,
"id" : 2356 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 727 ,
"src" : "1830:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$1118" ,
"typeString" : "contract ModuleManager"
}
} ,
"id" : 2357 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "execTransactionFromModule" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 945 ,
"src" : "1830:33:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
}
} ,
"id" : 2362 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1830:61:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "436f756c64206e6f742065786563757465207472616e73616374696f6e" ,
"id" : 2363 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1893:31:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4" ,
"typeString" : "literal_string \"Could not execute transaction\""
} ,
"value" : "Could not execute transaction"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4" ,
"typeString" : "literal_string \"Could not execute transaction\""
}
] ,
"id" : 2355 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2657 ,
2658
] ,
"referencedDeclaration" : 2658 ,
"src" : "1822:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
"id" : 2364 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1822:103:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2365 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1822:103:19"
}
]
} ,
"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" : 2367 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execTransaction" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2322 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2304 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1299:10:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2303 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1299:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2306 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1320:13:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2305 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1320:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2308 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1344:10:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 2307 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1344:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2310 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1365:24:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 2309 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 29 ,
"src" : "1365:14:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2312 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1400:13:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2311 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1400:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2315 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1423:9:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2313 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1423:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 2314 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1423:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2318 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1443:11:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2316 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1443:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2317 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1443:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2321 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1465:11:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2319 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1465:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2320 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1465:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1289:193:19"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2323 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "1502:0:19"
} ,
"scope" : 2485 ,
"src" : "1265:667:19" ,
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2449 ,
"nodeType" : "Block" ,
"src" : "2053:612:19" ,
"statements" : [
{
"assignments" : [
2382
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2382 ,
"name" : "lastOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "2115:17:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2381 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2115:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2386 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2384 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2143:1:19" ,
"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" : 2383 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2135:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
"id" : 2385 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2135:10:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2115:30:19"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 2388 ,
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "2155:20:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2387 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2155:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2389 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2155:20:19"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 2391 ,
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "2185:9:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2390 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2185:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2392 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2185:9:19"
} ,
{
"assignments" : [
2394
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2394 ,
"name" : "threshold" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "2204:15:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
} ,
"typeName" : {
"id" : 2393 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2204:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2400 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2396 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 727 ,
"src" : "2235:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$1118" ,
"typeString" : "contract ModuleManager"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_ModuleManager_$1118" ,
"typeString" : "contract ModuleManager"
}
] ,
"id" : 2395 ,
"name" : "OwnerManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1504 ,
"src" : "2222:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_OwnerManager_$1504_$" ,
"typeString" : "type(contract OwnerManager)"
}
} ,
"id" : 2397 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2222:21:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_OwnerManager_$1504" ,
"typeString" : "contract OwnerManager"
}
} ,
"id" : 2398 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "getThreshold" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1440 ,
"src" : "2222:34:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_view$__$returns$_t_uint8_$" ,
"typeString" : "function () view external returns (uint8)"
}
} ,
"id" : 2399 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2222:36:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2204:54:19"
} ,
{
"body" : {
"id" : 2447 ,
"nodeType" : "Block" ,
"src" : "2342:317:19" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"id" : 2424 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2411 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2388 ,
"src" : "2356:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2413 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2369 ,
"src" : "2381:15:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2414 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2372 ,
"src" : "2398:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
"id" : 2416 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2415 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2400:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2398:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2417 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2375 ,
"src" : "2404:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 2419 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2418 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2406:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2404:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2420 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2378 ,
"src" : "2410:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 2422 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2421 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2412:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2410:4:19" ,
"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" : 2412 ,
"name" : "ecrecover" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2646 ,
"src" : "2371:9:19" ,
"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" : 2423 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2371:44:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2356:59:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 2425 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2356:59:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2431 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2388 ,
"src" : "2467:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2428 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 727 ,
"src" : "2450:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$1118" ,
"typeString" : "contract ModuleManager"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_ModuleManager_$1118" ,
"typeString" : "contract ModuleManager"
}
] ,
"id" : 2427 ,
"name" : "OwnerManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1504 ,
"src" : "2437:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_OwnerManager_$1504_$" ,
"typeString" : "type(contract OwnerManager)"
}
} ,
"id" : 2429 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2437:21:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_OwnerManager_$1504" ,
"typeString" : "contract OwnerManager"
}
} ,
"id" : 2430 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "isOwner" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1454 ,
"src" : "2437:29:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_view$_t_address_$returns$_t_bool_$" ,
"typeString" : "function (address) view external returns (bool)"
}
} ,
"id" : 2432 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2437:43:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5369676e6174757265206e6f742070726f7669646564206279206f776e6572" ,
"id" : 2433 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2482:33:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_09247dae670daab7cf1923d3334eea07c14df3c0a8f5233960935c63f47104a9" ,
"typeString" : "literal_string \"Signature not provided by owner\""
} ,
"value" : "Signature not provided by owner"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_09247dae670daab7cf1923d3334eea07c14df3c0a8f5233960935c63f47104a9" ,
"typeString" : "literal_string \"Signature not provided by owner\""
}
] ,
"id" : 2426 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2657 ,
2658
] ,
"referencedDeclaration" : 2658 ,
"src" : "2429:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
"id" : 2434 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2429:87:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2435 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2429:87:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"id" : 2439 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 2437 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2388 ,
"src" : "2538:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 2438 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2382 ,
"src" : "2553:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2538:24:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5369676e61747572657320617265206e6f74206f726465726564206279206f776e65722061646472657373" ,
"id" : 2440 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2564:45:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_597a123a1bc14bc9690387ae0fec99721cc18eefa85fa2531a7593a762444235" ,
"typeString" : "literal_string \"Signatures are not ordered by owner address\""
} ,
"value" : "Signatures are not ordered by owner address"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_597a123a1bc14bc9690387ae0fec99721cc18eefa85fa2531a7593a762444235" ,
"typeString" : "literal_string \"Signatures are not ordered by owner address\""
}
] ,
"id" : 2436 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2657 ,
2658
] ,
"referencedDeclaration" : 2658 ,
"src" : "2530:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
"id" : 2441 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2530:80:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2442 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2530:80:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 2445 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2443 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2382 ,
"src" : "2624:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 2444 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2388 ,
"src" : "2636:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2624:24:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 2446 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2624:24:19"
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"id" : 2407 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 2405 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2322:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 2406 ,
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2394 ,
"src" : "2326:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"src" : "2322:13:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 2448 ,
"initializationExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 2403 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2401 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2315:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2402 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2319:1:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"src" : "2315:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 2404 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2315:5:19"
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 2409 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
"src" : "2337:3:19" ,
"subExpression" : {
"argumentTypes" : null ,
"id" : 2408 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2337:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 2410 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2337:3:19"
} ,
"nodeType" : "ForStatement" ,
"src" : "2310:349:19"
}
]
} ,
"documentation" : null ,
"id" : 2450 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "checkHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2379 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2369 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "1957:23:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2368 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1957:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2372 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "1982:9:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2370 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1982:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 2371 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1982:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2375 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "1993:11:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2373 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1993:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2374 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1993:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2378 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "2006:11:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2376 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2006:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2377 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "2006:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1956:62:19"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2380 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "2053:0:19"
} ,
"scope" : 2485 ,
"src" : "1938:727:19" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
"id" : 2483 ,
"nodeType" : "Block" ,
"src" : "3159:113:19" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30783139" ,
"id" : 2469 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "3208:4:19" ,
"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" : 2468 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "3203:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 2470 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3203:10:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2472 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "3220:1:19" ,
"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" : 2471 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "3215:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 2473 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3215:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"id" : 2474 ,
"name" : "this" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2705 ,
"src" : "3224:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_StateChannelModule_$2485" ,
"typeString" : "contract StateChannelModule"
}
} ,
{
"argumentTypes" : null ,
"id" : 2475 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2452 ,
"src" : "3230:2:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2476 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2454 ,
"src" : "3234:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2477 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2456 ,
"src" : "3241:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2478 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2458 ,
"src" : "3247:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 2479 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2460 ,
"src" : "3258:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_contract$_StateChannelModule_$2485" ,
"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_$29" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"id" : 2466 ,
"name" : "abi" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2641 ,
"src" : "3186:3:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_abi" ,
"typeString" : "abi"
}
} ,
"id" : 2467 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "encodePacked" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "3186:16:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$" ,
"typeString" : "function () pure returns (bytes memory)"
}
} ,
"id" : 2480 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3186:78:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
"id" : 2465 ,
"name" : "keccak256" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2648 ,
"src" : "3176:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_sha3_pure$__$returns$_t_bytes32_$" ,
"typeString" : "function () pure returns (bytes32)"
}
} ,
"id" : 2481 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3176:89:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"functionReturnParameters" : 2464 ,
"id" : 2482 ,
"nodeType" : "Return" ,
"src" : "3169:96:19"
}
]
} ,
"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" : 2484 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getTransactionHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2461 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2452 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "2980:10:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2451 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2980:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2454 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "3001:13:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2453 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "3001:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2456 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "3025:10:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 2455 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "3025:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2458 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "3046:24:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 2457 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 29 ,
"src" : "3046:14:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2460 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "3081:13:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2459 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "3081:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2970:130:19"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2464 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2463 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "3146:7:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2462 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "3146:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "3145:9:19"
} ,
"scope" : 2485 ,
"src" : "2943:329:19" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
"scope" : 2486 ,
"src" : "269:3005:19"
}
] ,
"src" : "0:3275:19"
} ,
"legacyAST" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/StateChannelModule.sol" ,
"exportedSymbols" : {
"StateChannelModule" : [
2485
]
} ,
"id" : 2486 ,
"nodeType" : "SourceUnit" ,
"nodes" : [
{
"id" : 2281 ,
"literals" : [
"solidity" ,
"0.4" ,
".24"
] ,
"nodeType" : "PragmaDirective" ,
"src" : "0:23:19"
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/Module.sol" ,
"file" : "../Module.sol" ,
"id" : 2282 ,
"nodeType" : "ImportDirective" ,
"scope" : 2486 ,
"sourceUnit" : 763 ,
"src" : "24:23:19" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/OwnerManager.sol" ,
"file" : "../OwnerManager.sol" ,
"id" : 2283 ,
"nodeType" : "ImportDirective" ,
"scope" : 2486 ,
"sourceUnit" : 1505 ,
"src" : "48:29:19" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 2284 ,
"name" : "Module" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 762 ,
"src" : "300:6:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_Module_$762" ,
"typeString" : "contract Module"
}
} ,
"id" : 2285 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "300:6:19"
}
] ,
"contractDependencies" : [
662 ,
762 ,
1654
] ,
"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" : 2485 ,
"linearizedBaseContracts" : [
2485 ,
762 ,
662 ,
1654
] ,
"name" : "StateChannelModule" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
"id" : 2288 ,
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2485 ,
"src" : "314:52:19" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 2286 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "314:6:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "5374617465204368616e6e656c204d6f64756c65" ,
"id" : 2287 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "344:22:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_e66fa361bdba11103aaf2321b03707a79b393abf1f410f3f609398777fd3a713" ,
"typeString" : "literal_string \"State Channel Module\""
} ,
"value" : "State Channel Module"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
"id" : 2291 ,
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2485 ,
"src" : "372:40:19" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
"id" : 2289 ,
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "372:6:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
"id" : 2290 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "405:7:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"constant" : false ,
"id" : 2295 ,
"name" : "isExecuted" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2485 ,
"src" : "510:43:19" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"typeName" : {
"id" : 2294 ,
"keyType" : {
"id" : 2292 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "519:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "Mapping" ,
"src" : "510:25:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
} ,
"valueType" : {
"id" : 2293 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "530:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
} ,
"value" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2301 ,
"nodeType" : "Block" ,
"src" : "637:29:19" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
"id" : 2298 ,
"name" : "setManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 761 ,
"src" : "647:10:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_nonpayable$__$returns$__$" ,
"typeString" : "function ()"
}
} ,
"id" : 2299 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "647:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2300 ,
"nodeType" : "ExpressionStatement" ,
"src" : "647:12:19"
}
]
} ,
"documentation" : "@dev Setup function sets manager" ,
"id" : 2302 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "setup" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2296 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "615:2:19"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2297 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "637:0:19"
} ,
"scope" : 2485 ,
"src" : "601:65:19" ,
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2366 ,
"nodeType" : "Block" ,
"src" : "1502:430:19" ,
"statements" : [
{
"assignments" : [
2325
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2325 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1512:23:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2324 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1512:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2333 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2327 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2304 ,
"src" : "1557:2:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2328 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2306 ,
"src" : "1561:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2329 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2308 ,
"src" : "1568:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2330 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2310 ,
"src" : "1574:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 2331 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2312 ,
"src" : "1585:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 2326 ,
"name" : "getTransactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2484 ,
"src" : "1538:18:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
} ,
"id" : 2332 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1538:53:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "1512:79:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2338 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1609:28:19" ,
"subExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2335 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2295 ,
"src" : "1610:10:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 2337 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2336 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2325 ,
"src" : "1621:15:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1610:27:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5472616e73616374696f6e20616c7265616479206578656375746564" ,
"id" : 2339 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1639:30:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_3c3f7cf602281cf7a98efd78d98ba46309975dadee18bcb57e640145699bd800" ,
"typeString" : "literal_string \"Transaction already executed\""
} ,
"value" : "Transaction already executed"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_3c3f7cf602281cf7a98efd78d98ba46309975dadee18bcb57e640145699bd800" ,
"typeString" : "literal_string \"Transaction already executed\""
}
] ,
"id" : 2334 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2657 ,
2658
] ,
"referencedDeclaration" : 2658 ,
"src" : "1601:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
"id" : 2340 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1601:69:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2341 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1601:69:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2343 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2325 ,
"src" : "1690:15:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"id" : 2344 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2315 ,
"src" : "1707:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2345 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2318 ,
"src" : "1710:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2346 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2321 ,
"src" : "1713:1:19" ,
"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" : 2342 ,
"name" : "checkHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2450 ,
"src" : "1680:9:19" ,
"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" : 2347 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1680:35:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2348 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1680:35:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 2353 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2349 ,
"name" : "isExecuted" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2295 ,
"src" : "1778:10:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_bytes32_$_t_bool_$" ,
"typeString" : "mapping(bytes32 => bool)"
}
} ,
"id" : 2351 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2350 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2325 ,
"src" : "1789:15:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1778:27:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 2352 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1808:4:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"src" : "1778:34:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 2354 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1778:34:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2358 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2304 ,
"src" : "1864:2:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2359 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2306 ,
"src" : "1868:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2360 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2308 ,
"src" : "1875:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2361 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2310 ,
"src" : "1881:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"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_$29" ,
"typeString" : "enum Enum.Operation"
}
] ,
"expression" : {
"argumentTypes" : null ,
"id" : 2356 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 727 ,
"src" : "1830:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$1118" ,
"typeString" : "contract ModuleManager"
}
} ,
"id" : 2357 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "execTransactionFromModule" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 945 ,
"src" : "1830:33:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$returns$_t_bool_$" ,
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
}
} ,
"id" : 2362 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1830:61:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "436f756c64206e6f742065786563757465207472616e73616374696f6e" ,
"id" : 2363 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1893:31:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4" ,
"typeString" : "literal_string \"Could not execute transaction\""
} ,
"value" : "Could not execute transaction"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4" ,
"typeString" : "literal_string \"Could not execute transaction\""
}
] ,
"id" : 2355 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2657 ,
2658
] ,
"referencedDeclaration" : 2658 ,
"src" : "1822:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
"id" : 2364 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1822:103:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2365 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1822:103:19"
}
]
} ,
"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" : 2367 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
"name" : "execTransaction" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2322 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2304 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1299:10:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2303 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1299:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2306 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1320:13:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2305 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1320:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2308 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1344:10:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 2307 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1344:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2310 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1365:24:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 2309 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 29 ,
"src" : "1365:14:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2312 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1400:13:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2311 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1400:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2315 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1423:9:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2313 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1423:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 2314 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1423:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2318 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1443:11:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2316 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1443:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2317 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1443:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2321 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2367 ,
"src" : "1465:11:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2319 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1465:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2320 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1465:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1289:193:19"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2323 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "1502:0:19"
} ,
"scope" : 2485 ,
"src" : "1265:667:19" ,
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 2449 ,
"nodeType" : "Block" ,
"src" : "2053:612:19" ,
"statements" : [
{
"assignments" : [
2382
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2382 ,
"name" : "lastOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "2115:17:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2381 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2115:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2386 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2384 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2143:1:19" ,
"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" : 2383 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "2135:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
"id" : 2385 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2135:10:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2115:30:19"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 2388 ,
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "2155:20:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2387 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2155:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2389 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2155:20:19"
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
"id" : 2391 ,
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "2185:9:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2390 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2185:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2392 ,
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2185:9:19"
} ,
{
"assignments" : [
2394
] ,
"declarations" : [
{
"constant" : false ,
"id" : 2394 ,
"name" : "threshold" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "2204:15:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
} ,
"typeName" : {
"id" : 2393 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2204:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"id" : 2400 ,
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2396 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 727 ,
"src" : "2235:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$1118" ,
"typeString" : "contract ModuleManager"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_ModuleManager_$1118" ,
"typeString" : "contract ModuleManager"
}
] ,
"id" : 2395 ,
"name" : "OwnerManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1504 ,
"src" : "2222:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_OwnerManager_$1504_$" ,
"typeString" : "type(contract OwnerManager)"
}
} ,
"id" : 2397 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2222:21:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_OwnerManager_$1504" ,
"typeString" : "contract OwnerManager"
}
} ,
"id" : 2398 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "getThreshold" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1440 ,
"src" : "2222:34:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_view$__$returns$_t_uint8_$" ,
"typeString" : "function () view external returns (uint8)"
}
} ,
"id" : 2399 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2222:36:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
"src" : "2204:54:19"
} ,
{
"body" : {
"id" : 2447 ,
"nodeType" : "Block" ,
"src" : "2342:317:19" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"id" : 2424 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2411 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2388 ,
"src" : "2356:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2413 ,
"name" : "transactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2369 ,
"src" : "2381:15:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2414 ,
"name" : "v" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2372 ,
"src" : "2398:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[] memory"
}
} ,
"id" : 2416 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2415 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2400:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2398:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2417 ,
"name" : "r" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2375 ,
"src" : "2404:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 2419 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2418 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2406:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2404:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 2420 ,
"name" : "s" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2378 ,
"src" : "2410:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[] memory"
}
} ,
"id" : 2422 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 2421 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2412:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2410:4:19" ,
"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" : 2412 ,
"name" : "ecrecover" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2646 ,
"src" : "2371:9:19" ,
"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" : 2423 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2371:44:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2356:59:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 2425 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2356:59:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2431 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2388 ,
"src" : "2467:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
] ,
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 2428 ,
"name" : "manager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 727 ,
"src" : "2450:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_ModuleManager_$1118" ,
"typeString" : "contract ModuleManager"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_contract$_ModuleManager_$1118" ,
"typeString" : "contract ModuleManager"
}
] ,
"id" : 2427 ,
"name" : "OwnerManager" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1504 ,
"src" : "2437:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_contract$_OwnerManager_$1504_$" ,
"typeString" : "type(contract OwnerManager)"
}
} ,
"id" : 2429 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2437:21:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_OwnerManager_$1504" ,
"typeString" : "contract OwnerManager"
}
} ,
"id" : 2430 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "isOwner" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1454 ,
"src" : "2437:29:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_external_view$_t_address_$returns$_t_bool_$" ,
"typeString" : "function (address) view external returns (bool)"
}
} ,
"id" : 2432 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2437:43:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5369676e6174757265206e6f742070726f7669646564206279206f776e6572" ,
"id" : 2433 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2482:33:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_09247dae670daab7cf1923d3334eea07c14df3c0a8f5233960935c63f47104a9" ,
"typeString" : "literal_string \"Signature not provided by owner\""
} ,
"value" : "Signature not provided by owner"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_09247dae670daab7cf1923d3334eea07c14df3c0a8f5233960935c63f47104a9" ,
"typeString" : "literal_string \"Signature not provided by owner\""
}
] ,
"id" : 2426 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2657 ,
2658
] ,
"referencedDeclaration" : 2658 ,
"src" : "2429:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
"id" : 2434 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2429:87:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2435 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2429:87:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"id" : 2439 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 2437 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2388 ,
"src" : "2538:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 2438 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2382 ,
"src" : "2553:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2538:24:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5369676e61747572657320617265206e6f74206f726465726564206279206f776e65722061646472657373" ,
"id" : 2440 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2564:45:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_597a123a1bc14bc9690387ae0fec99721cc18eefa85fa2531a7593a762444235" ,
"typeString" : "literal_string \"Signatures are not ordered by owner address\""
} ,
"value" : "Signatures are not ordered by owner address"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_597a123a1bc14bc9690387ae0fec99721cc18eefa85fa2531a7593a762444235" ,
"typeString" : "literal_string \"Signatures are not ordered by owner address\""
}
] ,
"id" : 2436 ,
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2657 ,
2658
] ,
"referencedDeclaration" : 2658 ,
"src" : "2530:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
"id" : 2441 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2530:80:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 2442 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2530:80:19"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 2445 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2443 ,
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2382 ,
"src" : "2624:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 2444 ,
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2388 ,
"src" : "2636:12:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"src" : "2624:24:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"id" : 2446 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2624:24:19"
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"id" : 2407 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 2405 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2322:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 2406 ,
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2394 ,
"src" : "2326:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"src" : "2322:13:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"id" : 2448 ,
"initializationExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 2403 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"id" : 2401 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2315:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2402 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2319:1:19" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
"src" : "2315:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 2404 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2315:5:19"
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
"id" : 2409 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
"src" : "2337:3:19" ,
"subExpression" : {
"argumentTypes" : null ,
"id" : 2408 ,
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2391 ,
"src" : "2337:1:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 2410 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2337:3:19"
} ,
"nodeType" : "ForStatement" ,
"src" : "2310:349:19"
}
]
} ,
"documentation" : null ,
"id" : 2450 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "checkHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2379 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2369 ,
"name" : "transactionHash" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "1957:23:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2368 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1957:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2372 ,
"name" : "v" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "1982:9:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_memory_ptr" ,
"typeString" : "uint8[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2370 ,
"name" : "uint8" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1982:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint8" ,
"typeString" : "uint8"
}
} ,
"id" : 2371 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1982:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_uint8_$dyn_storage_ptr" ,
"typeString" : "uint8[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2375 ,
"name" : "r" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "1993:11:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2373 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1993:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2374 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "1993:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2378 ,
"name" : "s" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2450 ,
"src" : "2006:11:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_memory_ptr" ,
"typeString" : "bytes32[]"
} ,
"typeName" : {
"baseType" : {
"id" : 2376 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2006:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"id" : 2377 ,
"length" : null ,
"nodeType" : "ArrayTypeName" ,
"src" : "2006:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_array$_t_bytes32_$dyn_storage_ptr" ,
"typeString" : "bytes32[]"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1956:62:19"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2380 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "2053:0:19"
} ,
"scope" : 2485 ,
"src" : "1938:727:19" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
"id" : 2483 ,
"nodeType" : "Block" ,
"src" : "3159:113:19" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30783139" ,
"id" : 2469 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "3208:4:19" ,
"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" : 2468 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "3203:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 2470 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3203:10:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
"id" : 2472 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "3220:1:19" ,
"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" : 2471 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
"src" : "3215:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
"id" : 2473 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3215:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"id" : 2474 ,
"name" : "this" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2705 ,
"src" : "3224:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_StateChannelModule_$2485" ,
"typeString" : "contract StateChannelModule"
}
} ,
{
"argumentTypes" : null ,
"id" : 2475 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2452 ,
"src" : "3230:2:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 2476 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2454 ,
"src" : "3234:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
"id" : 2477 ,
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2456 ,
"src" : "3241:4:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
"id" : 2478 ,
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2458 ,
"src" : "3247:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"id" : 2479 ,
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2460 ,
"src" : "3258:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_contract$_StateChannelModule_$2485" ,
"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_$29" ,
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"id" : 2466 ,
"name" : "abi" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2641 ,
"src" : "3186:3:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_abi" ,
"typeString" : "abi"
}
} ,
"id" : 2467 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "encodePacked" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "3186:16:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$" ,
"typeString" : "function () pure returns (bytes memory)"
}
} ,
"id" : 2480 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3186:78:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
"id" : 2465 ,
"name" : "keccak256" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 2648 ,
"src" : "3176:9:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_sha3_pure$__$returns$_t_bytes32_$" ,
"typeString" : "function () pure returns (bytes32)"
}
} ,
"id" : 2481 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "3176:89:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"functionReturnParameters" : 2464 ,
"id" : 2482 ,
"nodeType" : "Return" ,
"src" : "3169:96:19"
}
]
} ,
"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" : 2484 ,
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getTransactionHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 2461 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2452 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "2980:10:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 2451 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2980:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2454 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "3001:13:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2453 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "3001:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2456 ,
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "3025:10:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
"id" : 2455 ,
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "3025:5:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2458 ,
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "3046:24:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
"id" : 2457 ,
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 29 ,
"src" : "3046:14:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_enum$_Operation_$29" ,
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 2460 ,
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "3081:13:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 2459 ,
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "3081:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2970:130:19"
} ,
"payable" : false ,
"returnParameters" : {
"id" : 2464 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 2463 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 2484 ,
"src" : "3146:7:19" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
"id" : 2462 ,
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "3146:7:19" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "3145:9:19"
} ,
"scope" : 2485 ,
"src" : "2943:329:19" ,
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
"scope" : 2486 ,
"src" : "269:3005:19"
}
] ,
"src" : "0:3275:19"
} ,
"compiler" : {
"name" : "solc" ,
"version" : "0.4.24+commit.e67f0147.Emscripten.clang"
} ,
"networks" : {
2018-06-15 09:08:51 +00:00
"4" : {
"events" : { } ,
"links" : { } ,
"address" : "0x056a53d1e5b23c8c4afab997d93cc65584a7eed7" ,
"transactionHash" : "0x681b6a0948ba228bc836c72b58ae185a50d354901ea79b96f1d553868fa08603"
} ,
2018-06-15 07:31:07 +00:00
"1529048918903" : {
2018-05-31 13:01:02 +00:00
"events" : { } ,
"links" : { } ,
2018-06-15 07:31:07 +00:00
"address" : "0x98ddda59911a7d9ecbb943d070be7409be751a02" ,
2018-06-11 07:55:04 +00:00
"transactionHash" : "0x0396e1c9da4fa7bd313286e6033446dbb6e491f267956f8cf13202ce534fd0e6"
2018-05-31 13:01:02 +00:00
}
} ,
"schemaVersion" : "2.0.0" ,
2018-06-15 09:08:51 +00:00
"updatedAt" : "2018-06-15T09:07:39.521Z"
2018-05-31 13:01:02 +00:00
}