2018-05-31 13:01:02 +00:00
{
"contractName" : "GnosisSafePersonalEdition" ,
"abi" : [
2018-06-28 17:13:59 +00:00
{
"constant" : false ,
"inputs" : [
{
"name" : "owner" ,
"type" : "address"
} ,
{
"name" : "_threshold" ,
"type" : "uint256"
}
] ,
"name" : "addOwnerWithThreshold" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "_owners" ,
"type" : "address[]"
} ,
{
"name" : "_threshold" ,
"type" : "uint256"
} ,
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "data" ,
"type" : "bytes"
}
] ,
"name" : "setup" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
2018-05-31 13:01:02 +00:00
{
"constant" : true ,
"inputs" : [
{
"name" : "owner" ,
"type" : "address"
}
] ,
"name" : "isOwner" ,
"outputs" : [
{
"name" : "" ,
"type" : "bool"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
} ,
{
"name" : "data" ,
"type" : "bytes"
} ,
{
"name" : "operation" ,
"type" : "uint8"
}
] ,
"name" : "execTransactionFromModule" ,
"outputs" : [
{
"name" : "success" ,
"type" : "bool"
}
] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "module" ,
"type" : "address"
}
] ,
"name" : "enableModule" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
2018-06-20 08:09:14 +00:00
{
2018-06-28 17:13:59 +00:00
"constant" : false ,
2018-06-20 08:09:14 +00:00
"inputs" : [
{
2018-06-28 17:13:59 +00:00
"name" : "_threshold" ,
2018-06-20 08:09:14 +00:00
"type" : "uint256"
}
] ,
2018-06-28 17:13:59 +00:00
"name" : "changeThreshold" ,
"outputs" : [ ] ,
2018-06-20 08:09:14 +00:00
"payable" : false ,
2018-06-28 17:13:59 +00:00
"stateMutability" : "nonpayable" ,
2018-06-20 08:09:14 +00:00
"type" : "function"
} ,
2018-05-31 13:01:02 +00:00
{
"constant" : false ,
"inputs" : [
{
"name" : "_masterCopy" ,
"type" : "address"
}
] ,
"name" : "changeMasterCopy" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "SENTINEL_MODULES" ,
"outputs" : [
{
"name" : "" ,
"type" : "address"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "SENTINEL_OWNERS" ,
"outputs" : [
{
"name" : "" ,
"type" : "address"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "getOwners" ,
"outputs" : [
{
"name" : "" ,
"type" : "address[]"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "NAME" ,
"outputs" : [
{
"name" : "" ,
"type" : "string"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "nonce" ,
"outputs" : [
{
"name" : "" ,
"type" : "uint256"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "getModules" ,
"outputs" : [
{
"name" : "" ,
"type" : "address[]"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "prevModule" ,
"type" : "address"
} ,
{
"name" : "module" ,
"type" : "address"
}
] ,
"name" : "disableModule" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "prevOwner" ,
"type" : "address"
} ,
{
"name" : "oldOwner" ,
"type" : "address"
} ,
{
"name" : "newOwner" ,
"type" : "address"
}
] ,
"name" : "swapOwner" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "getThreshold" ,
"outputs" : [
{
"name" : "" ,
2018-06-28 17:13:59 +00:00
"type" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
2018-06-28 17:13:59 +00:00
{
"constant" : false ,
"inputs" : [
{
"name" : "prevOwner" ,
"type" : "address"
} ,
{
"name" : "owner" ,
"type" : "address"
} ,
{
"name" : "_threshold" ,
"type" : "uint256"
}
] ,
"name" : "removeOwner" ,
"outputs" : [ ] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
2018-05-31 13:01:02 +00:00
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "VERSION" ,
"outputs" : [
{
"name" : "" ,
"type" : "string"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"payable" : true ,
"stateMutability" : "payable" ,
"type" : "fallback"
} ,
{
"anonymous" : false ,
2018-06-20 08:09:14 +00:00
"inputs" : [
{
"indexed" : false ,
"name" : "txHash" ,
"type" : "bytes32"
}
] ,
2018-05-31 13:01:02 +00:00
"name" : "ExecutionFailed" ,
"type" : "event"
} ,
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : false ,
"name" : "newContract" ,
"type" : "address"
}
] ,
"name" : "ContractCreation" ,
"type" : "event"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
} ,
{
"name" : "data" ,
"type" : "bytes"
} ,
{
"name" : "operation" ,
"type" : "uint8"
} ,
{
"name" : "safeTxGas" ,
"type" : "uint256"
} ,
{
"name" : "dataGas" ,
"type" : "uint256"
} ,
{
"name" : "gasPrice" ,
"type" : "uint256"
} ,
{
"name" : "gasToken" ,
"type" : "address"
} ,
{
2018-06-20 08:09:14 +00:00
"name" : "signatures" ,
"type" : "bytes"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-20 08:09:14 +00:00
"name" : "execTransactionAndPaySubmitter" ,
2018-05-31 13:01:02 +00:00
"outputs" : [
{
2018-06-20 08:09:14 +00:00
"name" : "success" ,
"type" : "bool"
2018-05-31 13:01:02 +00:00
}
] ,
"payable" : false ,
2018-06-20 08:09:14 +00:00
"stateMutability" : "nonpayable" ,
2018-05-31 13:01:02 +00:00
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
} ,
{
"name" : "data" ,
"type" : "bytes"
} ,
{
"name" : "operation" ,
"type" : "uint8"
}
] ,
"name" : "requiredTxGas" ,
"outputs" : [
{
"name" : "" ,
"type" : "uint256"
}
] ,
"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" : "safeTxGas" ,
"type" : "uint256"
} ,
{
"name" : "dataGas" ,
"type" : "uint256"
} ,
{
"name" : "gasPrice" ,
"type" : "uint256"
} ,
{
"name" : "gasToken" ,
"type" : "address"
} ,
{
"name" : "_nonce" ,
"type" : "uint256"
}
] ,
"name" : "getTransactionHash" ,
"outputs" : [
{
"name" : "" ,
"type" : "bytes32"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
}
] ,
2018-06-28 17:13:59 +00:00
"bytecode" : " 0 x 608060405234801561001057600080 f d 5 b 506140 c 4806100206000396000 f 30060806040526004361061011 d 576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 168063095293341461011 f 5780630 d 582 f 131461025 b 5780630 e c 78 d 9e146102 a 85780632 f 54 b f 6e1461037 e 578063468721 a 7146103 d 9578063610 b 592514610491578063694e80 c 3146104 d 45780637 d e 7 e d e f 1461050157806385e332 c d 146105445780638 c f f 63551461059 b 578063 a 0e67 e 2 b 146105 f 2578063 a 3 f 4 d f 7e1461065 e 578063 a f f e d 0e0146106 e e 578063 b 2494 d f 314610719578063 b a 0 8 e a 2414610785578063 c 4 c a 3 a 9 c 14610889578063e009 c f d e 1461093 d 578063e318 b 52 b 146109 a 0 578063e75235 b 814610 a 23578063 f 8 d c 5 d d 914610 a 4e578063 f f a 1 a d 7414610 a b b 575 b 0 0 5 b 34801561012 b 57600080 f d 5 b 50610241600480360381019080803573 f f f f f f f f f f f f f f f f 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 169060200190929190803590602001909291908035906020019092919080359060200190929190803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610 b 4 b 565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561026757600080 f d 5 b 506102 a 6600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190505050610e51565 b 0 0 5 b 3480156102 b 457600080 f d 5 b 5061037 c 6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611257565 b 0 0 5 b 34801561038 a 57600080 f d 5 b 506103 b f 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 169060200190929190505050611271565 b 604051808215151515815260200191505060405180910390 f 35 b 3480156103e557600080 f d 5 b 50610477600480360381019080803573 f f f f f f f f f f f f f f f f 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 1690602001909291905050506112 f 3565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561049 d 57600080 f d 5 b 506104 d 2600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919050505061141 f 565 b 0 0 5 b 3480156104e057600080 f d 5 b 506104 f f 600480360381019080803590602001909291905050506117 f d 565 b 0 0 5 b 34801561050 d 57600080 f d 5 b 50610542600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190505050611 a 0 f 565 b 0 0 5 b 34801561055057600080 f d 5 b 50610559611 b d 0 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 3480156105 a 757600080 f d 5 b 506105 b 0 611 b d 5565 b 604051808273 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200191505060405180910390 f 35 b 3480156105 f e 57600080 f d 5 b 50610607611 b d a 565 b 6040518080602001828103825283818151815260200191508051906020019060200280838360005 b 8381101561064 a 57808201518184015260208101905061062 f 565 b 505050509050019250505060405180910390 f 35 b 34801561066 a 57600080 f d 5 b 50610673611 d 75565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156106 b 3578082015181840152602081019050610698565 b 50505050905090810190601 f 1680156106e05780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 3480156106 f a 57600080 f d 5 b 50610703611 d a e 565 b 6040518082815260200191505060405180910390 f 35 b 34801561072557600080 f d 5 b 5061072e611 d b 4565 b 6040518080602001828103825283818151815260200191508051906020019060200280838360005 b 83811015610771578082015181840152602081019050610756565 b 505050509050019250505060405180910390 f 35 b 34801561079157600080 f d 5 b 5061086 b 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 169060200190929190803590602001909291908035906020019082018035906020
"deployedBytecode" : " 0 x 60806040526004361061011 d 576000357 c 0 100000000000000000000000000000000000000000000000000000000900463 f f f f f f f f 168063095293341461011 f 5780630 d 582 f 131461025 b 5780630 e c 78 d 9e146102 a 85780632 f 54 b f 6e1461037 e 578063468721 a 7146103 d 9578063610 b 592514610491578063694e80 c 3146104 d 45780637 d e 7 e d e f 1461050157806385e332 c d 146105445780638 c f f 63551461059 b 578063 a 0e67 e 2 b 146105 f 2578063 a 3 f 4 d f 7e1461065 e 578063 a f f e d 0e0146106 e e 578063 b 2494 d f 314610719578063 b a 0 8 e a 2414610785578063 c 4 c a 3 a 9 c 14610889578063e009 c f d e 1461093 d 578063e318 b 52 b 146109 a 0 578063e75235 b 814610 a 23578063 f 8 d c 5 d d 914610 a 4e578063 f f a 1 a d 7414610 a b b 575 b 0 0 5 b 34801561012 b 57600080 f d 5 b 50610241600480360381019080803573 f f f f f f f f f f f f f f f f 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 169060200190929190803590602001909291908035906020019092919080359060200190929190803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610 b 4 b 565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561026757600080 f d 5 b 506102 a 6600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919080359060200190929190505050610e51565 b 0 0 5 b 3480156102 b 457600080 f d 5 b 5061037 c 6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190803590602001908201803590602001908080601 f 0 160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611257565 b 0 0 5 b 34801561038 a 57600080 f d 5 b 506103 b f 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 169060200190929190505050611271565 b 604051808215151515815260200191505060405180910390 f 35 b 3480156103e557600080 f d 5 b 50610477600480360381019080803573 f f f f f f f f f f f f f f f f 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 1690602001909291905050506112 f 3565 b 604051808215151515815260200191505060405180910390 f 35 b 34801561049 d 57600080 f d 5 b 506104 d 2600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16906020019092919050505061141 f 565 b 0 0 5 b 3480156104e057600080 f d 5 b 506104 f f 600480360381019080803590602001909291905050506117 f d 565 b 0 0 5 b 34801561050 d 57600080 f d 5 b 50610542600480360381019080803573 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 169060200190929190505050611 a 0 f 565 b 0 0 5 b 34801561055057600080 f d 5 b 50610559611 b d 0 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 3480156105 a 757600080 f d 5 b 506105 b 0 611 b d 5565 b 604051808273 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 1673 f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 16815260200191505060405180910390 f 35 b 3480156105 f e 57600080 f d 5 b 50610607611 b d a 565 b 6040518080602001828103825283818151815260200191508051906020019060200280838360005 b 8381101561064 a 57808201518184015260208101905061062 f 565 b 505050509050019250505060405180910390 f 35 b 34801561066 a 57600080 f d 5 b 50610673611 d 75565 b 6040518080602001828103825283818151815260200191508051906020019080838360005 b 838110156106 b 3578082015181840152602081019050610698565 b 50505050905090810190601 f 1680156106e05780820380516001836020036101000 a 0 31916815260200191505 b 509250505060405180910390 f 35 b 3480156106 f a 57600080 f d 5 b 50610703611 d a e 565 b 6040518082815260200191505060405180910390 f 35 b 34801561072557600080 f d 5 b 5061072e611 d b 4565 b 6040518080602001828103825283818151815260200191508051906020019060200280838360005 b 83811015610771578082015181840152602081019050610756565 b 505050509050019250505060405180910390 f 35 b 34801561079157600080 f d 5 b 5061086 b 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 1602080910402602001604051908101604052809392
"sourceMap" : "483:5903:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;483:5903:3;;;;;;;" ,
2018-06-29 11:23:01 +00:00
"deployedSourceMap" : " 483 : 5903 : 3 : - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1677 : 1545 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1677 : 1545 : 3 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2093 : 595 : 11 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2093 : 595 : 11 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 693 : 303 : 2 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 693 : 303 : 2 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5613 : 129 : 11 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 5613 : 129 : 11 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2841 : 429 : 9 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2841 : 429 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1311 : 459 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 1311 : 459 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5087 : 399 : 11 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 5087 : 399 : 11 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 626 : 248 : 5 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 626 : 248 : 5 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 499 : 55 : 9 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 499 : 55 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 287 : 54 : 11 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 287 : 54 : 11 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5824 : 458 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 5824 : 458 : 11 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 23 : 1 : -1 ; 8 : 100 ; 33 : 3 ; 30 : 1 ; 27 : 10 ; 8 : 100 ; ; ; 99 : 1 ; 94 : 3 ; 90 : 11 ; 84 : 18 ; 80 : 1 ; 75 : 3 ; 71 : 11 ; 64 : 39 ; 52 : 2 ; 49 : 1 ; 45 : 10 ; 40 : 15 ; ; 8 : 100 ; ; ; 12 : 14 ; 5824 : 458 : 11 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 593 : 60 : 3 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 593 : 60 : 3 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 ; 593 : 60 : 3 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 754 : 20 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 754 : 20 : 3 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4794 : 738 : 9 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 4794 : 738 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 23 : 1 : -1 ; 8 : 100 ; 33 : 3 ; 30 : 1 ; 27 : 10 ; 8 : 100 ; ; ; 99 : 1 ; 94 : 3 ; 90 : 11 ; 84 : 18 ; 80 : 1 ; 75 : 3 ; 71 : 11 ; 64 : 39 ; 52 : 2 ; 49 : 1 ; 45 : 10 ; 40 : 15 ; ; 8 : 100 ; ; ; 12 : 14 ; 4794 : 738 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5884 : 500 : 3 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 5884 : 500 : 3 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4149 : 523 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 4149 : 523 : 3 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2031 : 474 : 9 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 2031 : 474 : 9 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 4147 : 751 : 11 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 4147 : 751 : 11 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 5492 : 115 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 5492 : 115 : 11 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 3030 : 783 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 3030 : 783 : 11 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 659 : 40 : 3 ; ; 8 : 9 : -1 ; 5 : 2 ; ; ; 30 : 1 ; 27 ; 20 : 12 ; 5 : 2 ; 659 : 40 : 3 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 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 ; 659 : 40 : 3 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 1677 : 1545 ; 1986 : 12 ; 2014 : 16 ; 2052 : 14 ; 2680 : 16 ; 2745 : 14 ; 2033 : 9 ; 2014 : 28 ; ; 2069 : 93 ; 2088 : 2 ; 2092 : 5 ; 2099 : 4 ; 2105 : 9 ; 2116 ; 2127 : 7 ; 2136 : 8 ; 2146 ; 2156 : 5 ; ; 2069 : 18 ; : 93 : : i ; : : : - ; 2052 : 110 ; ; 2172 : 29 ; 2182 : 6 ; 2190 : 10 ; 2172 : 9 ; : 29 : : i ; : : : - ; 2262 : 5 ; ; : 7 ; ; ; ; ; ; ; ; ; ; ; ; ; 2300 : 9 ; 2287 ; : 22 ; ; 2279 : 77 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2376 : 46 ; 2384 : 2 ; 2388 : 5 ; 2395 : 4 ; 2401 : 9 ; 2412 ; 2376 : 7 ; : 46 : : i ; : : : - ; 2366 : 56 ; ; 2437 : 7 ; 2436 : 8 ; 2432 : 67 ; ; ; 2465 : 23 ; 2481 : 6 ; 2465 : 23 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2432 : 67 ; 2663 : 1 ; 2652 : 8 ; : 12 ; 2648 : 566 ; ; ; 2724 : 7 ; 2711 : 9 ; 2700 : 8 ; : 20 ; 2699 : 32 ; 2680 : 51 ; ; 2773 : 8 ; 2762 ; : 19 ; 2745 : 36 ; ; 2819 : 1 ; 2799 : 22 ; ; : 8 ; : 22 ; ; ; 2795 : 409 ; ; ; 2933 : 9 ; : 14 ; ; : 22 ; 2948 : 6 ; 2933 : 22 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2925 : 69 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2795 : 409 ; ; ; 3108 : 42 ; 3122 : 8 ; 3132 : 9 ; 3143 : 6 ; 3108 : 13 ; : 42 : : i ; : : : - ; 3100 : 89 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 2795 : 409 ; 2648 : 566 ; 1677 : 15
2018-06-28 17:13:59 +00:00
"source" : "pragma solidity 0.4.24;\nimport \"./GnosisSafe.sol\";\nimport \"./MasterCopy.sol\";\nimport \"./SignatureValidator.sol\";\nimport \"./SecuredTokenTransfer.sol\";\n\n\n/// @title Gnosis Safe Personal Edition - A multisignature wallet with support for confirmations using signed messages based on ERC191.\n/// @author Stefan George - <stefan@gnosis.pm>\n/// @author Richard Meissner - <richard@gnosis.pm>\n/// @author Ricardo Guilherme Schmidt - (Status Research & Development GmbH) - Gas Token Payment\ncontract GnosisSafePersonalEdition is MasterCopy, GnosisSafe, SignatureValidator, SecuredTokenTransfer {\n\n string public constant NAME = \"Gnosis Safe Personal Edition\";\n string public constant VERSION = \"0.0.1\";\n \n event ExecutionFailed(bytes32 txHash);\n\n uint256 public nonce;\n\n /// @dev Allows to execute a Safe transaction confirmed by required number of owners and then pays the account that submitted the transaction.\n /// Note: The fees are always transfered, even if the user transaction fails. \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 safeTxGas Gas that should be used for the Safe transaction.\n /// @param dataGas Gas costs for data used to trigger the safe transaction and to pay the payment transfer\n /// @param gasPrice Gas price that should be used for the payment calculation.\n /// @param gasToken Token address (or 0 if ETH) that is used for the payment.\n /// @param signatures Packed signature data ({bytes32 r}{bytes32 s}{uint8 v})\n function execTransactionAndPaySubmitter(\n address to, \n uint256 value, \n bytes data, \n Enum.Operation operation, \n uint256 safeTxGas,\n uint256 dataGas,\n uint256 gasPrice,\n address gasToken,\n bytes signatures\n )\n public\n returns (bool success)\n {\n uint256 startGas = gasleft();\n bytes32 txHash = getTransactionHash(to, value, data, operation, safeTxGas, dataGas, gasPrice, gasToken, nonce);\n checkHash(txHash, signatures);\n // Increase nonce and execute transaction.\n nonce++;\n require(gasleft() >= safeTxGas, \"Not enough gas to execute safe transaction\");\n success = execute(to, value, data, operation, safeTxGas);\n if (!success) {\n emit ExecutionFailed(txHash);\n }\n \n // We transfer the calculated tx costs to the tx.origin to avoid sending it to intermediate contracts that have made calls\n if (gasPrice > 0) {\n uint256 gasCosts = (startGas - gasleft()) + dataGas;\n uint256 amount = gasCosts * gasPrice;\n if (gasToken == address(0)) {\n // solium-disable-next-line security/no-tx-origin,security/no-send\n require(tx.origin.send(amount), \"Could not pay gas costs with ether\");\n } else {\n // solium-disable-next-line security/no-tx-origin\n require(transferToken(gasToken, tx.origin, amount), \"Could not pay gas costs with token\" ) ; \ n } \ n } \ n } \ n \ n /// @dev Allows to estimate a Safe transaction. \n /// This method is only meant for estimation purpose, therfore two different protection mechanism against execution in a transaction have been made:\n /// 1.) The method can only be called from the safe itself\n /// 2.) The response is returned with a revert\n /// When estimating set `from` to the address of the safe.\n /// Since the `estimateGas` function includes refunds, call this method to get an estimated of the costs that are deducted from the safe with `execTransactionAndPaySubmitter`\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 ///
2018-05-31 13:01:02 +00:00
"sourcePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafePersonalEdition.sol" ,
"ast" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafePersonalEdition.sol" ,
"exportedSymbols" : {
"GnosisSafePersonalEdition" : [
2018-06-28 17:13:59 +00:00
369
2018-05-31 13:01:02 +00:00
]
} ,
2018-06-28 17:13:59 +00:00
"id" : 370 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-06-28 17:13:59 +00:00
"id" : 65 ,
2018-05-31 13:01:02 +00:00
"literals" : [
"solidity" ,
"0.4" ,
".24"
] ,
"nodeType" : "PragmaDirective" ,
2018-06-28 17:13:59 +00:00
"src" : "0:23:3"
2018-05-31 13:01:02 +00:00
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol" ,
"file" : "./GnosisSafe.sol" ,
2018-06-28 17:13:59 +00:00
"id" : 66 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-06-28 17:13:59 +00:00
"scope" : 370 ,
"sourceUnit" : 64 ,
"src" : "24:26:3" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol" ,
"file" : "./MasterCopy.sol" ,
2018-06-28 17:13:59 +00:00
"id" : 67 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-06-28 17:13:59 +00:00
"scope" : 370 ,
"sourceUnit" : 633 ,
"src" : "51:26:3" ,
2018-06-20 08:09:14 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/SignatureValidator.sol" ,
"file" : "./SignatureValidator.sol" ,
2018-06-28 17:13:59 +00:00
"id" : 68 ,
"nodeType" : "ImportDirective" ,
"scope" : 370 ,
2018-06-29 11:23:01 +00:00
"sourceUnit" : 3122 ,
2018-06-28 17:13:59 +00:00
"src" : "78:34:3" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/SecuredTokenTransfer.sol" ,
"file" : "./SecuredTokenTransfer.sol" ,
"id" : 69 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "ImportDirective" ,
2018-06-28 17:13:59 +00:00
"scope" : 370 ,
2018-06-29 11:23:01 +00:00
"sourceUnit" : 3049 ,
2018-06-28 17:13:59 +00:00
"src" : "113:36:3" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 70 ,
2018-05-31 13:01:02 +00:00
"name" : "MasterCopy" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 632 ,
"src" : "521:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_contract$_MasterCopy_$632" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract MasterCopy"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 71 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-28 17:13:59 +00:00
"src" : "521:10:3"
2018-05-31 13:01:02 +00:00
} ,
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 72 ,
2018-05-31 13:01:02 +00:00
"name" : "GnosisSafe" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 63 ,
"src" : "533:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_contract$_GnosisSafe_$63" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract GnosisSafe"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 73 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-28 17:13:59 +00:00
"src" : "533:10:3"
2018-06-20 08:09:14 +00:00
} ,
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 74 ,
2018-06-20 08:09:14 +00:00
"name" : "SignatureValidator" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3121 ,
2018-06-28 17:13:59 +00:00
"src" : "545:18:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_SignatureValidator_$3121" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract SignatureValidator"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 75 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-28 17:13:59 +00:00
"src" : "545:18:3"
} ,
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 76 ,
"name" : "SecuredTokenTransfer" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3048 ,
2018-06-28 17:13:59 +00:00
"src" : "565:20:3" ,
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_SecuredTokenTransfer_$3048" ,
2018-06-28 17:13:59 +00:00
"typeString" : "contract SecuredTokenTransfer"
}
} ,
"id" : 77 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "565:20:3"
2018-05-31 13:01:02 +00:00
}
] ,
"contractDependencies" : [
2018-06-28 17:13:59 +00:00
63 ,
632 ,
2018-06-29 11:23:01 +00:00
2232 ,
2888 ,
3048 ,
3065 ,
3121
2018-05-31 13:01:02 +00:00
] ,
"contractKind" : "contract" ,
"documentation" : "@title Gnosis Safe Personal Edition - A multisignature wallet with support for confirmations using signed messages based on ERC191.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>\n @author Ricardo Guilherme Schmidt - (Status Research & Development GmbH) - Gas Token Payment" ,
"fullyImplemented" : true ,
2018-06-28 17:13:59 +00:00
"id" : 369 ,
2018-05-31 13:01:02 +00:00
"linearizedBaseContracts" : [
2018-06-28 17:13:59 +00:00
369 ,
2018-06-29 11:23:01 +00:00
3048 ,
3121 ,
2018-06-28 17:13:59 +00:00
63 ,
2018-06-29 11:23:01 +00:00
2888 ,
2232 ,
2018-06-28 17:13:59 +00:00
632 ,
2018-06-29 11:23:01 +00:00
3065
2018-05-31 13:01:02 +00:00
] ,
"name" : "GnosisSafePersonalEdition" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
2018-06-28 17:13:59 +00:00
"id" : 80 ,
2018-05-31 13:01:02 +00:00
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "593:60:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 78 ,
2018-05-31 13:01:02 +00:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "593:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "476e6f736973205361666520506572736f6e616c2045646974696f6e" ,
2018-06-28 17:13:59 +00:00
"id" : 79 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "623:30:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_b657d2895d137bf089ce1df776b732639b1ebc2a3aec3bd837e225e9e0965154" ,
"typeString" : "literal_string \"Gnosis Safe Personal Edition\""
} ,
"value" : "Gnosis Safe Personal Edition"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-06-28 17:13:59 +00:00
"id" : 83 ,
2018-05-31 13:01:02 +00:00
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "659:40:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 81 ,
2018-05-31 13:01:02 +00:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "659:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
2018-06-28 17:13:59 +00:00
"id" : 82 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "692:7:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"anonymous" : false ,
"documentation" : null ,
2018-06-28 17:13:59 +00:00
"id" : 87 ,
2018-05-31 13:01:02 +00:00
"name" : "ExecutionFailed" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
2018-06-28 17:13:59 +00:00
"id" : 86 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
2018-06-20 08:09:14 +00:00
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 85 ,
2018-06-20 08:09:14 +00:00
"indexed" : false ,
"name" : "txHash" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 87 ,
"src" : "732:14:3" ,
2018-06-20 08:09:14 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 84 ,
2018-06-20 08:09:14 +00:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "732:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "731:16:3"
2018-05-31 13:01:02 +00:00
} ,
2018-06-28 17:13:59 +00:00
"src" : "710:38:3"
2018-05-31 13:01:02 +00:00
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 89 ,
2018-05-31 13:01:02 +00:00
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "754:20:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 88 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "754:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-28 17:13:59 +00:00
"id" : 213 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "2004:1218:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-28 17:13:59 +00:00
113
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 113 ,
2018-05-31 13:01:02 +00:00
"name" : "startGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "2014:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 112 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "2014:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 116 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 114 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "2033:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 115 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2033:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2014:28:3"
2018-05-31 13:01:02 +00:00
} ,
{
2018-06-20 08:09:14 +00:00
"assignments" : [
2018-06-28 17:13:59 +00:00
118
2018-06-20 08:09:14 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 118 ,
2018-06-20 08:09:14 +00:00
"name" : "txHash" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "2052:14:3" ,
2018-06-20 08:09:14 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 117 ,
2018-06-20 08:09:14 +00:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "2052:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 130 ,
2018-06-20 08:09:14 +00:00
"initialValue" : {
2018-05-31 13:01:02 +00:00
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 120 ,
2018-06-20 08:09:14 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 91 ,
"src" : "2088:2:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 121 ,
2018-06-20 08:09:14 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 93 ,
"src" : "2092:5:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 122 ,
2018-06-20 08:09:14 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 95 ,
"src" : "2099:4:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 123 ,
2018-06-20 08:09:14 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 97 ,
"src" : "2105:9:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-06-20 08:09:14 +00:00
"typeString" : "enum Enum.Operation"
2018-05-31 13:01:02 +00:00
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 124 ,
2018-06-20 08:09:14 +00:00
"name" : "safeTxGas" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 99 ,
"src" : "2116:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 125 ,
2018-06-20 08:09:14 +00:00
"name" : "dataGas" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 101 ,
"src" : "2127:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 126 ,
2018-06-20 08:09:14 +00:00
"name" : "gasPrice" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 103 ,
"src" : "2136:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 127 ,
2018-06-20 08:09:14 +00:00
"name" : "gasToken" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 105 ,
"src" : "2146:8:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 128 ,
2018-06-20 08:09:14 +00:00
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 89 ,
"src" : "2156:5:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-06-20 08:09:14 +00:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
{
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
} ,
{
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_address" ,
"typeString" : "address"
2018-05-31 13:01:02 +00:00
} ,
{
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 119 ,
2018-06-20 08:09:14 +00:00
"name" : "getTransactionHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 368 ,
"src" : "2069:18:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_bytes32_$" ,
2018-06-20 08:09:14 +00:00
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,uint256) view returns (bytes32)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 129 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2069:93:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2052:110:3"
2018-06-20 08:09:14 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 132 ,
2018-06-20 08:09:14 +00:00
"name" : "txHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 118 ,
"src" : "2182:6:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 133 ,
2018-06-20 08:09:14 +00:00
"name" : "signatures" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 107 ,
"src" : "2190:10:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 131 ,
2018-05-31 13:01:02 +00:00
"name" : "checkHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 322 ,
"src" : "2172:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$" ,
"typeString" : "function (bytes32,bytes memory) view"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 134 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2172:29:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 135 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2172:29:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 137 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-28 17:13:59 +00:00
"src" : "2262:7:3" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 136 ,
2018-05-31 13:01:02 +00:00
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 89 ,
"src" : "2262:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 138 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2262:7:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 143 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 140 ,
2018-06-20 08:09:14 +00:00
"name" : "gasleft" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "2287:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 141 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2287:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 142 ,
2018-05-31 13:01:02 +00:00
"name" : "safeTxGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 99 ,
"src" : "2300:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2287:22:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4e6f7420656e6f7567682067617320746f20657865637574652073616665207472616e73616374696f6e" ,
2018-06-28 17:13:59 +00:00
"id" : 144 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "2311:44:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_e7ccb05a0f2c66d12451cdfc6bbab488c38ab704d0f6af9ad18763542e9e5f18" ,
"typeString" : "literal_string \"Not enough gas to execute safe transaction\""
} ,
"value" : "Not enough gas to execute safe transaction"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_e7ccb05a0f2c66d12451cdfc6bbab488c38ab704d0f6af9ad18763542e9e5f18" ,
"typeString" : "literal_string \"Not enough gas to execute safe transaction\""
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 139 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
2018-06-28 17:13:59 +00:00
"src" : "2279:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 145 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2279:77:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 146 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2279:77:3"
2018-05-31 13:01:02 +00:00
} ,
{
2018-06-20 08:09:14 +00:00
"expression" : {
2018-05-31 13:01:02 +00:00
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 155 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
2018-06-20 08:09:14 +00:00
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 147 ,
2018-06-20 08:09:14 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 110 ,
"src" : "2366:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
2018-05-31 13:01:02 +00:00
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 149 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 91 ,
"src" : "2384:2:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 150 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 93 ,
"src" : "2388:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 151 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 95 ,
"src" : "2395:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 152 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 97 ,
"src" : "2401:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 153 ,
2018-05-31 13:01:02 +00:00
"name" : "safeTxGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 99 ,
"src" : "2412:9:3" ,
2018-05-31 13:01:02 +00:00
"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"
} ,
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 148 ,
2018-05-31 13:01:02 +00:00
"name" : "execute" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2121 ,
2018-06-28 17:13:59 +00:00
"src" : "2376:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bool_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 154 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2376:46:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2366:56:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 156 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2366:56:3"
2018-06-20 08:09:14 +00:00
} ,
{
"condition" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 158 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
2018-06-28 17:13:59 +00:00
"src" : "2436:8:3" ,
2018-06-20 08:09:14 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 157 ,
2018-06-20 08:09:14 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 110 ,
"src" : "2437:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-06-28 17:13:59 +00:00
"id" : 164 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2432:67:3" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
2018-06-28 17:13:59 +00:00
"id" : 163 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "2446:53:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"eventCall" : {
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 160 ,
2018-06-20 08:09:14 +00:00
"name" : "txHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 118 ,
"src" : "2481:6:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
}
] ,
2018-05-31 13:01:02 +00:00
"expression" : {
2018-06-20 08:09:14 +00:00
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 159 ,
2018-05-31 13:01:02 +00:00
"name" : "ExecutionFailed" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 87 ,
"src" : "2465:15:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_event_nonpayable$_t_bytes32_$returns$__$" ,
"typeString" : "function (bytes32)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 161 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2465:23:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 162 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "EmitStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2460:28:3"
2018-05-31 13:01:02 +00:00
}
]
}
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 167 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 165 ,
2018-05-31 13:01:02 +00:00
"name" : "gasPrice" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 103 ,
"src" : "2652:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 166 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "2663:1:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-28 17:13:59 +00:00
"src" : "2652:12:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-06-28 17:13:59 +00:00
"id" : 212 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2648:566:3" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
2018-06-28 17:13:59 +00:00
"id" : 211 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "2666:548:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-28 17:13:59 +00:00
169
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 169 ,
2018-05-31 13:01:02 +00:00
"name" : "gasCosts" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "2680:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 168 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "2680:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 177 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 176 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"components" : [
{
2018-05-31 13:01:02 +00:00
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"commonType" : {
2018-05-31 13:01:02 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 173 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
2018-06-20 08:09:14 +00:00
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 170 ,
2018-06-20 08:09:14 +00:00
"name" : "startGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 113 ,
"src" : "2700:8:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "-" ,
"rightExpression" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 171 ,
2018-06-20 08:09:14 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "2711:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 172 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2711:9:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2700:20:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 174 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isInlineArray" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "TupleExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "2699:22:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "+" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 175 ,
2018-06-20 08:09:14 +00:00
"name" : "dataGas" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 101 ,
"src" : "2724:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2699:32:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2680:51:3"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-06-28 17:13:59 +00:00
179
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 179 ,
2018-05-31 13:01:02 +00:00
"name" : "amount" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "2745:14:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 178 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "2745:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 183 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 182 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 180 ,
2018-05-31 13:01:02 +00:00
"name" : "gasCosts" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 169 ,
"src" : "2762:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "*" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 181 ,
2018-05-31 13:01:02 +00:00
"name" : "gasPrice" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 103 ,
"src" : "2773:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2762:19:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2745:36:3"
2018-05-31 13:01:02 +00:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-28 17:13:59 +00:00
"id" : 188 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 184 ,
2018-05-31 13:01:02 +00:00
"name" : "gasToken" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 105 ,
"src" : "2799:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 186 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "2819:1:3" ,
2018-05-31 13:01:02 +00:00
"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"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 185 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "2811:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-28 17:13:59 +00:00
"id" : 187 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2811:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2799:22:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
2018-06-28 17:13:59 +00:00
"id" : 209 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "3015:189:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
2018-06-28 17:13:59 +00:00
{
"argumentTypes" : null ,
"id" : 201 ,
"name" : "gasToken" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 105 ,
"src" : "3122:8:3" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-31 13:01:02 +00:00
{
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 202 ,
2018-05-31 13:01:02 +00:00
"name" : "tx" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4048 ,
2018-06-28 17:13:59 +00:00
"src" : "3132:2:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_transaction" ,
"typeString" : "tx"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 203 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "origin" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-28 17:13:59 +00:00
"src" : "3132:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 204 ,
2018-05-31 13:01:02 +00:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 179 ,
"src" : "3143:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
2018-06-28 17:13:59 +00:00
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-05-31 13:01:02 +00:00
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 200 ,
"name" : "transferToken" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3047 ,
2018-06-28 17:13:59 +00:00
"src" : "3108:13:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,address,uint256) returns (bool)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 205 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "3108:42:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "436f756c64206e6f74207061792067617320636f737473207769746820746f6b656e" ,
2018-06-28 17:13:59 +00:00
"id" : 206 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "3152:36:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_8560a13547eca5648355c8db1a9f8653b6f657d31d476c36bca25e47b45b08f4" ,
"typeString" : "literal_string \"Could not pay gas costs with token\""
} ,
"value" : "Could not pay gas costs with token"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_8560a13547eca5648355c8db1a9f8653b6f657d31d476c36bca25e47b45b08f4" ,
"typeString" : "literal_string \"Could not pay gas costs with token\""
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 199 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
2018-06-28 17:13:59 +00:00
"src" : "3100:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 207 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "3100:89:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 208 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "3100:89:3"
2018-05-31 13:01:02 +00:00
}
]
} ,
2018-06-28 17:13:59 +00:00
"id" : 210 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2795:409:3" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
2018-06-28 17:13:59 +00:00
"id" : 198 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "2823:186:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 193 ,
2018-06-20 08:09:14 +00:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 179 ,
"src" : "2948:6:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
2018-05-31 13:01:02 +00:00
"expression" : {
2018-06-20 08:09:14 +00:00
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 190 ,
2018-06-20 08:09:14 +00:00
"name" : "tx" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4048 ,
2018-06-28 17:13:59 +00:00
"src" : "2933:2:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_transaction" ,
"typeString" : "tx"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 191 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "origin" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-28 17:13:59 +00:00
"src" : "2933:9:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 192 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "send" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-28 17:13:59 +00:00
"src" : "2933:14:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (uint256) returns (bool)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 194 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
2018-06-20 08:09:14 +00:00
"kind" : "functionCall" ,
2018-05-31 13:01:02 +00:00
"lValueRequested" : false ,
2018-06-20 08:09:14 +00:00
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2933:22:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "436f756c64206e6f74207061792067617320636f7374732077697468206574686572" ,
2018-06-28 17:13:59 +00:00
"id" : 195 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "2957:36:3" ,
2018-06-20 08:09:14 +00:00
"subdenomination" : null ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_stringliteral_e2a11e15f7be1214c1340779ad55027af8aa33aee6cb521776a28a0a44aea377" ,
"typeString" : "literal_string \"Could not pay gas costs with ether\""
} ,
"value" : "Could not pay gas costs with ether"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_e2a11e15f7be1214c1340779ad55027af8aa33aee6cb521776a28a0a44aea377" ,
"typeString" : "literal_string \"Could not pay gas costs with ether\""
2018-05-31 13:01:02 +00:00
}
2018-06-20 08:09:14 +00:00
] ,
2018-06-28 17:13:59 +00:00
"id" : 189 ,
2018-06-20 08:09:14 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-06-20 08:09:14 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
2018-06-28 17:13:59 +00:00
"src" : "2925:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 196 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2925:69:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 197 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2925:69:3"
2018-05-31 13:01:02 +00:00
}
]
}
}
]
}
}
]
} ,
2018-06-20 08:09:14 +00:00
"documentation" : "@dev Allows to execute a Safe transaction confirmed by required number of owners and then pays the account that submitted the transaction.\n Note: The fees are always transfered, even if the user transaction fails. \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 safeTxGas Gas that should be used for the Safe transaction.\n @param dataGas Gas costs for data used to trigger the safe transaction and to pay the payment transfer\n @param gasPrice Gas price that should be used for the payment calculation.\n @param gasToken Token address (or 0 if ETH) that is used for the payment.\n @param signatures Packed signature data ({bytes32 r}{bytes32 s}{uint8 v})" ,
2018-06-28 17:13:59 +00:00
"id" : 214 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
2018-06-20 08:09:14 +00:00
"name" : "execTransactionAndPaySubmitter" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-28 17:13:59 +00:00
"id" : 108 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 91 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1726:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 90 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1726:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 93 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1747:13:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 92 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1747:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 95 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1771:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 94 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1771:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 97 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1792:24:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 96 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
"src" : "1792:14:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 99 ,
2018-05-31 13:01:02 +00:00
"name" : "safeTxGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1827:17:3" ,
2018-06-20 08:09:14 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 98 ,
2018-06-20 08:09:14 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1827:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-20 08:09:14 +00:00
"value" : null ,
"visibility" : "internal"
} ,
2018-05-31 13:01:02 +00:00
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 101 ,
2018-06-20 08:09:14 +00:00
"name" : "dataGas" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1854:15:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 100 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1854:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 103 ,
2018-06-20 08:09:14 +00:00
"name" : "gasPrice" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1879:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 102 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1879:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
2018-06-20 08:09:14 +00:00
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 105 ,
2018-06-20 08:09:14 +00:00
"name" : "gasToken" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1905:16:3" ,
2018-06-20 08:09:14 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 104 ,
2018-06-20 08:09:14 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1905:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 107 ,
2018-06-20 08:09:14 +00:00
"name" : "signatures" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1931:16:3" ,
2018-06-20 08:09:14 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 106 ,
2018-06-20 08:09:14 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1931:5:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "1716:237:3"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-28 17:13:59 +00:00
"id" : 111 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 110 ,
2018-06-20 08:09:14 +00:00
"name" : "success" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1986:12:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 109 ,
2018-06-20 08:09:14 +00:00
"name" : "bool" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1986:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "1985:14:3"
2018-05-31 13:01:02 +00:00
} ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "1677:1545:3" ,
2018-06-20 08:09:14 +00:00
"stateMutability" : "nonpayable" ,
2018-05-31 13:01:02 +00:00
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-28 17:13:59 +00:00
"id" : 261 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "4301:371:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-28 17:13:59 +00:00
230
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 230 ,
2018-05-31 13:01:02 +00:00
"name" : "startGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4311:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 229 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4311:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 233 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 231 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "4330:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 232 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4330:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4311:28:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 236 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 216 ,
"src" : "4452:2:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 237 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 218 ,
"src" : "4456:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 238 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 220 ,
"src" : "4463:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 239 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 222 ,
"src" : "4469:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 240 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "4480:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 241 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4480:9:3" ,
2018-05-31 13:01:02 +00:00
"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"
} ,
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 235 ,
2018-05-31 13:01:02 +00:00
"name" : "execute" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2121 ,
2018-06-28 17:13:59 +00:00
"src" : "4444:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bool_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 242 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4444:46:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 234 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4039 ,
2018-06-28 17:13:59 +00:00
"src" : "4436:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 243 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4436:55:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 244 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4436:55:3"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-06-28 17:13:59 +00:00
246
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 246 ,
2018-05-31 13:01:02 +00:00
"name" : "requiredGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4501:19:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 245 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4501:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 251 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 250 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 247 ,
2018-05-31 13:01:02 +00:00
"name" : "startGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 230 ,
"src" : "4523:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "-" ,
"rightExpression" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 248 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "4534:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 249 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4534:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "4523:20:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4501:42:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 256 ,
2018-05-31 13:01:02 +00:00
"name" : "requiredGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 246 ,
"src" : "4651:11:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 254 ,
2018-05-31 13:01:02 +00:00
"name" : "abi" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4023 ,
2018-06-28 17:13:59 +00:00
"src" : "4634:3:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_abi" ,
"typeString" : "abi"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 255 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "encodePacked" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-28 17:13:59 +00:00
"src" : "4634:16:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$" ,
"typeString" : "function () pure returns (bytes memory)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 257 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4634:29:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 253 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "4627:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_string_storage_ptr_$" ,
"typeString" : "type(string storage pointer)"
} ,
"typeName" : "string"
} ,
2018-06-28 17:13:59 +00:00
"id" : 258 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4627:37:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string memory"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 252 ,
2018-05-31 13:01:02 +00:00
"name" : "revert" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4041 ,
4042
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4042 ,
2018-06-28 17:13:59 +00:00
"src" : "4620:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_revert_pure$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (string memory) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 259 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4620:45:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 260 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4620:45:3"
2018-05-31 13:01:02 +00:00
}
]
} ,
2018-06-20 08:09:14 +00:00
"documentation" : "@dev Allows to estimate a Safe transaction. \n This method is only meant for estimation purpose, therfore two different protection mechanism against execution in a transaction have been made:\n 1.) The method can only be called from the safe itself\n 2.) The response is returned with a revert\n When estimating set `from` to the address of the safe.\n Since the `estimateGas` function includes refunds, call this method to get an estimated of the costs that are deducted from the safe with `execTransactionAndPaySubmitter`\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 @return Estimate without refunds and overhead fees (base transaction and payload data gas costs)." ,
2018-06-28 17:13:59 +00:00
"id" : 262 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-06-28 17:13:59 +00:00
"id" : 225 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 224 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3064 ,
2018-06-28 17:13:59 +00:00
"src" : "4260:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-06-28 17:13:59 +00:00
"src" : "4260:10:3"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "requiredTxGas" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-28 17:13:59 +00:00
"id" : 223 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 216 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4172:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 215 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4172:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 218 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4184:13:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 217 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4184:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 220 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4199:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 219 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4199:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 222 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4211:24:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 221 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
"src" : "4211:14:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "4171:65:3"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-28 17:13:59 +00:00
"id" : 228 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 227 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4288:7:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 226 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4288:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "4287:9:3"
2018-05-31 13:01:02 +00:00
} ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "4149:523:3" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-28 17:13:59 +00:00
"id" : 321 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "4765:519:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-28 17:13:59 +00:00
270
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 270 ,
2018-05-31 13:01:02 +00:00
"name" : "lastOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 322 ,
"src" : "4827:17:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 269 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4827:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 274 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 272 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "4855:1:3" ,
2018-05-31 13:01:02 +00:00
"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"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 271 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "4847:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-28 17:13:59 +00:00
"id" : 273 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4847:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4827:30:3"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 276 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 322 ,
"src" : "4867:20:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 275 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4867:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 277 ,
2018-05-31 13:01:02 +00:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4867:20:3"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 279 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 322 ,
"src" : "4897:9:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 278 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4897:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 280 ,
2018-05-31 13:01:02 +00:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4897:9:3"
2018-05-31 13:01:02 +00:00
} ,
{
"body" : {
2018-06-28 17:13:59 +00:00
"id" : 319 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "4990:288:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 297 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 291 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 276 ,
"src" : "5004:12:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 293 ,
2018-06-20 08:09:14 +00:00
"name" : "txHash" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 264 ,
"src" : "5030:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 294 ,
2018-06-20 08:09:14 +00:00
"name" : "signatures" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 266 ,
"src" : "5038:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
2018-05-31 13:01:02 +00:00
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 295 ,
2018-06-20 08:09:14 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 279 ,
"src" : "5050:1:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
{
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
2018-05-31 13:01:02 +00:00
} ,
{
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 292 ,
2018-06-20 08:09:14 +00:00
"name" : "recoverKey" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3105 ,
2018-06-28 17:13:59 +00:00
"src" : "5019:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$" ,
"typeString" : "function (bytes32,bytes memory,uint256) pure returns (address)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 296 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "5019:33:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "5004:48:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 298 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "5004:48:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-28 17:13:59 +00:00
"id" : 304 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 300 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2494 ,
2018-06-28 17:13:59 +00:00
"src" : "5074:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 302 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 301 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 276 ,
"src" : "5081:12:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-28 17:13:59 +00:00
"src" : "5074:20:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 303 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "5098:1:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-28 17:13:59 +00:00
"src" : "5074:25:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5369676e6174757265206e6f742070726f7669646564206279206f776e6572" ,
2018-06-28 17:13:59 +00:00
"id" : 305 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "5101:33:3" ,
2018-05-31 13:01:02 +00:00
"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\""
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 299 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
2018-06-28 17:13:59 +00:00
"src" : "5066:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 306 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "5066:69:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 307 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "5066:69:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-28 17:13:59 +00:00
"id" : 311 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 309 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 276 ,
"src" : "5157:12:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 310 ,
2018-05-31 13:01:02 +00:00
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 270 ,
"src" : "5172:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "5157:24:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5369676e61747572657320617265206e6f74206f726465726564206279206f776e65722061646472657373" ,
2018-06-28 17:13:59 +00:00
"id" : 312 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "5183:45:3" ,
2018-05-31 13:01:02 +00:00
"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\""
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 308 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
2018-06-28 17:13:59 +00:00
"src" : "5149:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 313 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "5149:80:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 314 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "5149:80:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 317 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 315 ,
2018-05-31 13:01:02 +00:00
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 270 ,
"src" : "5243:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 316 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 276 ,
"src" : "5255:12:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "5243:24:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 318 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "5243:24:3"
2018-05-31 13:01:02 +00:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 287 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 285 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 279 ,
"src" : "4970:1:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 286 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2498 ,
2018-06-28 17:13:59 +00:00
"src" : "4974:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "4970:13:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 320 ,
2018-05-31 13:01:02 +00:00
"initializationExpression" : {
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 283 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 281 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 279 ,
"src" : "4963:1:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 282 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "4967:1:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-28 17:13:59 +00:00
"src" : "4963:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 284 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4963:5:3"
2018-05-31 13:01:02 +00:00
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 289 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-28 17:13:59 +00:00
"src" : "4985:3:3" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 288 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 279 ,
"src" : "4985:1:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 290 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4985:3:3"
2018-05-31 13:01:02 +00:00
} ,
"nodeType" : "ForStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4958:320:3"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-06-28 17:13:59 +00:00
"id" : 322 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "checkHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-28 17:13:59 +00:00
"id" : 267 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 264 ,
2018-06-20 08:09:14 +00:00
"name" : "txHash" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 322 ,
"src" : "4697:14:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 263 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4697:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 266 ,
2018-06-20 08:09:14 +00:00
"name" : "signatures" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 322 ,
"src" : "4713:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 265 ,
2018-06-20 08:09:14 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4713:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "4696:34:3"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-28 17:13:59 +00:00
"id" : 268 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-28 17:13:59 +00:00
"src" : "4765:0:3"
2018-05-31 13:01:02 +00:00
} ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "4678:606:3" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-28 17:13:59 +00:00
"id" : 367 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "6208:176:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30783139" ,
2018-06-28 17:13:59 +00:00
"id" : 349 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "6270:4:3" ,
2018-05-31 13:01:02 +00:00
"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"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 348 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "6265:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
2018-06-28 17:13:59 +00:00
"id" : 350 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "6265:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 352 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "6282:1:3" ,
2018-05-31 13:01:02 +00:00
"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"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 351 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "6277:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
2018-06-28 17:13:59 +00:00
"id" : 353 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "6277:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 354 ,
2018-05-31 13:01:02 +00:00
"name" : "this" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4071 ,
2018-06-28 17:13:59 +00:00
"src" : "6286:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_contract$_GnosisSafePersonalEdition_$369" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract GnosisSafePersonalEdition"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 355 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 324 ,
"src" : "6292:2:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 356 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 326 ,
"src" : "6296:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 357 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 328 ,
"src" : "6303:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 358 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 330 ,
"src" : "6309:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 359 ,
2018-05-31 13:01:02 +00:00
"name" : "safeTxGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 332 ,
"src" : "6320:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 360 ,
2018-05-31 13:01:02 +00:00
"name" : "dataGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 334 ,
"src" : "6331:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 361 ,
2018-05-31 13:01:02 +00:00
"name" : "gasPrice" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 336 ,
"src" : "6340:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 362 ,
2018-05-31 13:01:02 +00:00
"name" : "gasToken" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 338 ,
"src" : "6350:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 363 ,
2018-05-31 13:01:02 +00:00
"name" : "_nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 340 ,
"src" : "6360:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_contract$_GnosisSafePersonalEdition_$369" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract GnosisSafePersonalEdition"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 346 ,
2018-05-31 13:01:02 +00:00
"name" : "abi" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4023 ,
2018-06-28 17:13:59 +00:00
"src" : "6248:3:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_abi" ,
"typeString" : "abi"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 347 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "encodePacked" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-28 17:13:59 +00:00
"src" : "6248:16:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$" ,
"typeString" : "function () pure returns (bytes memory)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 364 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "6248:119:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 345 ,
2018-05-31 13:01:02 +00:00
"name" : "keccak256" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4030 ,
2018-06-28 17:13:59 +00:00
"src" : "6225:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_sha3_pure$__$returns$_t_bytes32_$" ,
"typeString" : "function () pure returns (bytes32)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 365 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "6225:152:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
2018-06-28 17:13:59 +00:00
"functionReturnParameters" : 344 ,
"id" : 366 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Return" ,
2018-06-28 17:13:59 +00:00
"src" : "6218:159:3"
2018-05-31 13:01:02 +00:00
}
]
} ,
"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 safeTxGas Fas that should be used for the safe transaction.\n @param dataGas Gas costs for data used to trigger the safe transaction.\n @param gasPrice Maximum gas price that should be used for this transaction.\n @param gasToken Token address (or 0 if ETH) that is used for the payment.\n @param _nonce Transaction nonce.\n @return Transaction hash." ,
2018-06-28 17:13:59 +00:00
"id" : 368 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getTransactionHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-28 17:13:59 +00:00
"id" : 341 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 324 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "5921:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 323 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "5921:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 326 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "5942:13:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 325 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "5942:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 328 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "5966:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 327 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "5966:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 330 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "5987:24:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 329 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
"src" : "5987:14:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 332 ,
2018-05-31 13:01:02 +00:00
"name" : "safeTxGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6022:17:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 331 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6022:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 334 ,
2018-05-31 13:01:02 +00:00
"name" : "dataGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6050:15:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 333 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6050:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 336 ,
2018-05-31 13:01:02 +00:00
"name" : "gasPrice" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6076:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 335 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6076:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 338 ,
2018-05-31 13:01:02 +00:00
"name" : "gasToken" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6103:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 337 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6103:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 340 ,
2018-05-31 13:01:02 +00:00
"name" : "_nonce" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6129:14:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 339 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6129:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "5911:238:3"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-28 17:13:59 +00:00
"id" : 344 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 343 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6195:7:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 342 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6195:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "6194:9:3"
2018-05-31 13:01:02 +00:00
} ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "5884:500:3" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-06-28 17:13:59 +00:00
"scope" : 370 ,
"src" : "483:5903:3"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "0:6387:3"
2018-05-31 13:01:02 +00:00
} ,
"legacyAST" : {
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafePersonalEdition.sol" ,
"exportedSymbols" : {
"GnosisSafePersonalEdition" : [
2018-06-28 17:13:59 +00:00
369
2018-05-31 13:01:02 +00:00
]
} ,
2018-06-28 17:13:59 +00:00
"id" : 370 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "SourceUnit" ,
"nodes" : [
{
2018-06-28 17:13:59 +00:00
"id" : 65 ,
2018-05-31 13:01:02 +00:00
"literals" : [
"solidity" ,
"0.4" ,
".24"
] ,
"nodeType" : "PragmaDirective" ,
2018-06-28 17:13:59 +00:00
"src" : "0:23:3"
2018-05-31 13:01:02 +00:00
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol" ,
"file" : "./GnosisSafe.sol" ,
2018-06-28 17:13:59 +00:00
"id" : 66 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-06-28 17:13:59 +00:00
"scope" : 370 ,
"sourceUnit" : 64 ,
"src" : "24:26:3" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol" ,
"file" : "./MasterCopy.sol" ,
2018-06-28 17:13:59 +00:00
"id" : 67 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ImportDirective" ,
2018-06-28 17:13:59 +00:00
"scope" : 370 ,
"sourceUnit" : 633 ,
"src" : "51:26:3" ,
2018-06-20 08:09:14 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/SignatureValidator.sol" ,
"file" : "./SignatureValidator.sol" ,
2018-06-28 17:13:59 +00:00
"id" : 68 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "ImportDirective" ,
2018-06-28 17:13:59 +00:00
"scope" : 370 ,
2018-06-29 11:23:01 +00:00
"sourceUnit" : 3122 ,
2018-06-28 17:13:59 +00:00
"src" : "78:34:3" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "/Users/apanizo/git/gnosis/safe-contracts/contracts/SecuredTokenTransfer.sol" ,
"file" : "./SecuredTokenTransfer.sol" ,
"id" : 69 ,
"nodeType" : "ImportDirective" ,
"scope" : 370 ,
2018-06-29 11:23:01 +00:00
"sourceUnit" : 3049 ,
2018-06-28 17:13:59 +00:00
"src" : "113:36:3" ,
2018-05-31 13:01:02 +00:00
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 70 ,
2018-05-31 13:01:02 +00:00
"name" : "MasterCopy" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 632 ,
"src" : "521:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_contract$_MasterCopy_$632" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract MasterCopy"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 71 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-28 17:13:59 +00:00
"src" : "521:10:3"
2018-06-20 08:09:14 +00:00
} ,
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 72 ,
2018-06-20 08:09:14 +00:00
"name" : "GnosisSafe" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 63 ,
"src" : "533:10:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_contract$_GnosisSafe_$63" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract GnosisSafe"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 73 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-28 17:13:59 +00:00
"src" : "533:10:3"
2018-05-31 13:01:02 +00:00
} ,
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 74 ,
2018-06-20 08:09:14 +00:00
"name" : "SignatureValidator" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3121 ,
2018-06-28 17:13:59 +00:00
"src" : "545:18:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_SignatureValidator_$3121" ,
2018-06-20 08:09:14 +00:00
"typeString" : "contract SignatureValidator"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 75 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "InheritanceSpecifier" ,
2018-06-28 17:13:59 +00:00
"src" : "545:18:3"
} ,
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 76 ,
"name" : "SecuredTokenTransfer" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3048 ,
2018-06-28 17:13:59 +00:00
"src" : "565:20:3" ,
"typeDescriptions" : {
2018-06-29 11:23:01 +00:00
"typeIdentifier" : "t_contract$_SecuredTokenTransfer_$3048" ,
2018-06-28 17:13:59 +00:00
"typeString" : "contract SecuredTokenTransfer"
}
} ,
"id" : 77 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "565:20:3"
2018-05-31 13:01:02 +00:00
}
] ,
"contractDependencies" : [
2018-06-28 17:13:59 +00:00
63 ,
632 ,
2018-06-29 11:23:01 +00:00
2232 ,
2888 ,
3048 ,
3065 ,
3121
2018-05-31 13:01:02 +00:00
] ,
"contractKind" : "contract" ,
"documentation" : "@title Gnosis Safe Personal Edition - A multisignature wallet with support for confirmations using signed messages based on ERC191.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>\n @author Ricardo Guilherme Schmidt - (Status Research & Development GmbH) - Gas Token Payment" ,
"fullyImplemented" : true ,
2018-06-28 17:13:59 +00:00
"id" : 369 ,
2018-05-31 13:01:02 +00:00
"linearizedBaseContracts" : [
2018-06-28 17:13:59 +00:00
369 ,
2018-06-29 11:23:01 +00:00
3048 ,
3121 ,
2018-06-28 17:13:59 +00:00
63 ,
2018-06-29 11:23:01 +00:00
2888 ,
2232 ,
2018-06-28 17:13:59 +00:00
632 ,
2018-06-29 11:23:01 +00:00
3065
2018-05-31 13:01:02 +00:00
] ,
"name" : "GnosisSafePersonalEdition" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : true ,
2018-06-28 17:13:59 +00:00
"id" : 80 ,
2018-05-31 13:01:02 +00:00
"name" : "NAME" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "593:60:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 78 ,
2018-05-31 13:01:02 +00:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "593:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "476e6f736973205361666520506572736f6e616c2045646974696f6e" ,
2018-06-28 17:13:59 +00:00
"id" : 79 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "623:30:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_b657d2895d137bf089ce1df776b732639b1ebc2a3aec3bd837e225e9e0965154" ,
"typeString" : "literal_string \"Gnosis Safe Personal Edition\""
} ,
"value" : "Gnosis Safe Personal Edition"
} ,
"visibility" : "public"
} ,
{
"constant" : true ,
2018-06-28 17:13:59 +00:00
"id" : 83 ,
2018-05-31 13:01:02 +00:00
"name" : "VERSION" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "659:40:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 81 ,
2018-05-31 13:01:02 +00:00
"name" : "string" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "659:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_storage_ptr" ,
"typeString" : "string"
}
} ,
"value" : {
"argumentTypes" : null ,
"hexValue" : "302e302e31" ,
2018-06-28 17:13:59 +00:00
"id" : 82 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "692:7:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_ae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc199163811885" ,
"typeString" : "literal_string \"0.0.1\""
} ,
"value" : "0.0.1"
} ,
"visibility" : "public"
} ,
{
"anonymous" : false ,
"documentation" : null ,
2018-06-28 17:13:59 +00:00
"id" : 87 ,
2018-05-31 13:01:02 +00:00
"name" : "ExecutionFailed" ,
"nodeType" : "EventDefinition" ,
"parameters" : {
2018-06-28 17:13:59 +00:00
"id" : 86 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
2018-06-20 08:09:14 +00:00
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 85 ,
2018-06-20 08:09:14 +00:00
"indexed" : false ,
"name" : "txHash" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 87 ,
"src" : "732:14:3" ,
2018-06-20 08:09:14 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 84 ,
2018-06-20 08:09:14 +00:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "732:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "731:16:3"
2018-05-31 13:01:02 +00:00
} ,
2018-06-28 17:13:59 +00:00
"src" : "710:38:3"
2018-05-31 13:01:02 +00:00
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 89 ,
2018-05-31 13:01:02 +00:00
"name" : "nonce" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "754:20:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 88 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "754:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-28 17:13:59 +00:00
"id" : 213 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "2004:1218:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-28 17:13:59 +00:00
113
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 113 ,
2018-05-31 13:01:02 +00:00
"name" : "startGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "2014:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 112 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "2014:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 116 ,
2018-06-20 08:09:14 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 114 ,
2018-06-20 08:09:14 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "2033:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 115 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2033:9:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2014:28:3"
2018-06-20 08:09:14 +00:00
} ,
{
"assignments" : [
2018-06-28 17:13:59 +00:00
118
2018-06-20 08:09:14 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 118 ,
2018-06-20 08:09:14 +00:00
"name" : "txHash" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "2052:14:3" ,
2018-06-20 08:09:14 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 117 ,
2018-06-20 08:09:14 +00:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "2052:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 130 ,
2018-06-20 08:09:14 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 120 ,
2018-06-20 08:09:14 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 91 ,
"src" : "2088:2:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 121 ,
2018-06-20 08:09:14 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 93 ,
"src" : "2092:5:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 122 ,
2018-06-20 08:09:14 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 95 ,
"src" : "2099:4:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 123 ,
2018-06-20 08:09:14 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 97 ,
"src" : "2105:9:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-06-20 08:09:14 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 124 ,
2018-06-20 08:09:14 +00:00
"name" : "safeTxGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 99 ,
"src" : "2116:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
2018-06-20 08:09:14 +00:00
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 125 ,
2018-06-20 08:09:14 +00:00
"name" : "dataGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 101 ,
"src" : "2127:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 126 ,
2018-06-20 08:09:14 +00:00
"name" : "gasPrice" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 103 ,
"src" : "2136:8:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 127 ,
2018-06-20 08:09:14 +00:00
"name" : "gasToken" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 105 ,
"src" : "2146:8:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 128 ,
2018-06-20 08:09:14 +00:00
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 89 ,
"src" : "2156:5:3" ,
2018-06-20 08:09:14 +00:00
"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"
} ,
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-06-20 08:09:14 +00:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 119 ,
2018-06-20 08:09:14 +00:00
"name" : "getTransactionHash" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 368 ,
"src" : "2069:18:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_bytes32_$" ,
2018-06-20 08:09:14 +00:00
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256,uint256,uint256,address,uint256) view returns (bytes32)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 129 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2069:93:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
2018-05-31 13:01:02 +00:00
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2052:110:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 132 ,
2018-06-20 08:09:14 +00:00
"name" : "txHash" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 118 ,
"src" : "2182:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
2018-05-31 13:01:02 +00:00
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 133 ,
2018-06-20 08:09:14 +00:00
"name" : "signatures" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 107 ,
"src" : "2190:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
2018-05-31 13:01:02 +00:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
{
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 131 ,
2018-05-31 13:01:02 +00:00
"name" : "checkHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 322 ,
"src" : "2172:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$" ,
"typeString" : "function (bytes32,bytes memory) view"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 134 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2172:29:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 135 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2172:29:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 137 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-28 17:13:59 +00:00
"src" : "2262:7:3" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 136 ,
2018-05-31 13:01:02 +00:00
"name" : "nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 89 ,
"src" : "2262:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 138 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2262:7:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 143 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 140 ,
2018-06-20 08:09:14 +00:00
"name" : "gasleft" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "2287:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 141 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2287:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">=" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 142 ,
2018-05-31 13:01:02 +00:00
"name" : "safeTxGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 99 ,
"src" : "2300:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2287:22:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "4e6f7420656e6f7567682067617320746f20657865637574652073616665207472616e73616374696f6e" ,
2018-06-28 17:13:59 +00:00
"id" : 144 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "2311:44:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_e7ccb05a0f2c66d12451cdfc6bbab488c38ab704d0f6af9ad18763542e9e5f18" ,
"typeString" : "literal_string \"Not enough gas to execute safe transaction\""
} ,
"value" : "Not enough gas to execute safe transaction"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_e7ccb05a0f2c66d12451cdfc6bbab488c38ab704d0f6af9ad18763542e9e5f18" ,
"typeString" : "literal_string \"Not enough gas to execute safe transaction\""
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 139 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
2018-06-28 17:13:59 +00:00
"src" : "2279:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 145 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2279:77:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 146 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2279:77:3"
2018-05-31 13:01:02 +00:00
} ,
{
2018-06-20 08:09:14 +00:00
"expression" : {
2018-05-31 13:01:02 +00:00
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 155 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
2018-06-20 08:09:14 +00:00
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 147 ,
2018-06-20 08:09:14 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 110 ,
"src" : "2366:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
2018-05-31 13:01:02 +00:00
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 149 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 91 ,
"src" : "2384:2:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 150 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 93 ,
"src" : "2388:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 151 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 95 ,
"src" : "2395:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 152 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 97 ,
"src" : "2401:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 153 ,
2018-05-31 13:01:02 +00:00
"name" : "safeTxGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 99 ,
"src" : "2412:9:3" ,
2018-05-31 13:01:02 +00:00
"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"
} ,
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 148 ,
2018-05-31 13:01:02 +00:00
"name" : "execute" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2121 ,
2018-06-28 17:13:59 +00:00
"src" : "2376:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bool_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 154 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2376:46:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2366:56:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 156 ,
2018-06-20 08:09:14 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2366:56:3"
2018-06-20 08:09:14 +00:00
} ,
{
"condition" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 158 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
2018-06-28 17:13:59 +00:00
"src" : "2436:8:3" ,
2018-06-20 08:09:14 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 157 ,
2018-06-20 08:09:14 +00:00
"name" : "success" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 110 ,
"src" : "2437:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-06-28 17:13:59 +00:00
"id" : 164 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2432:67:3" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
2018-06-28 17:13:59 +00:00
"id" : 163 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "2446:53:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"eventCall" : {
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 160 ,
2018-06-20 08:09:14 +00:00
"name" : "txHash" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 118 ,
"src" : "2481:6:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
}
] ,
2018-05-31 13:01:02 +00:00
"expression" : {
2018-06-20 08:09:14 +00:00
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 159 ,
2018-05-31 13:01:02 +00:00
"name" : "ExecutionFailed" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 87 ,
"src" : "2465:15:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_event_nonpayable$_t_bytes32_$returns$__$" ,
"typeString" : "function (bytes32)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 161 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2465:23:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 162 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "EmitStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2460:28:3"
2018-05-31 13:01:02 +00:00
}
]
}
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 167 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 165 ,
2018-05-31 13:01:02 +00:00
"name" : "gasPrice" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 103 ,
"src" : "2652:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 166 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "2663:1:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-28 17:13:59 +00:00
"src" : "2652:12:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
2018-06-28 17:13:59 +00:00
"id" : 212 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2648:566:3" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
2018-06-28 17:13:59 +00:00
"id" : 211 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "2666:548:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-28 17:13:59 +00:00
169
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 169 ,
2018-05-31 13:01:02 +00:00
"name" : "gasCosts" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "2680:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 168 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "2680:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 177 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 176 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"components" : [
{
2018-05-31 13:01:02 +00:00
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"commonType" : {
2018-05-31 13:01:02 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 173 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
2018-06-20 08:09:14 +00:00
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 170 ,
2018-06-20 08:09:14 +00:00
"name" : "startGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 113 ,
"src" : "2700:8:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "-" ,
"rightExpression" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 171 ,
2018-06-20 08:09:14 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "2711:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 172 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2711:9:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2700:20:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 174 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isInlineArray" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "TupleExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "2699:22:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "+" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 175 ,
2018-06-20 08:09:14 +00:00
"name" : "dataGas" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 101 ,
"src" : "2724:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2699:32:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2680:51:3"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-06-28 17:13:59 +00:00
179
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 179 ,
2018-05-31 13:01:02 +00:00
"name" : "amount" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "2745:14:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 178 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "2745:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 183 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 182 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 180 ,
2018-05-31 13:01:02 +00:00
"name" : "gasCosts" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 169 ,
"src" : "2762:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "*" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 181 ,
2018-05-31 13:01:02 +00:00
"name" : "gasPrice" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 103 ,
"src" : "2773:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2762:19:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2745:36:3"
2018-05-31 13:01:02 +00:00
} ,
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-28 17:13:59 +00:00
"id" : 188 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 184 ,
2018-05-31 13:01:02 +00:00
"name" : "gasToken" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 105 ,
"src" : "2799:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "==" ,
"rightExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 186 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "2819:1:3" ,
2018-05-31 13:01:02 +00:00
"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"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 185 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "2811:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-28 17:13:59 +00:00
"id" : 187 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2811:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "2799:22:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : {
2018-06-28 17:13:59 +00:00
"id" : 209 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "3015:189:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
2018-06-28 17:13:59 +00:00
{
"argumentTypes" : null ,
"id" : 201 ,
"name" : "gasToken" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 105 ,
"src" : "3122:8:3" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-05-31 13:01:02 +00:00
{
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 202 ,
2018-05-31 13:01:02 +00:00
"name" : "tx" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4048 ,
2018-06-28 17:13:59 +00:00
"src" : "3132:2:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_transaction" ,
"typeString" : "tx"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 203 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "origin" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-28 17:13:59 +00:00
"src" : "3132:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 204 ,
2018-05-31 13:01:02 +00:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 179 ,
"src" : "3143:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
2018-06-28 17:13:59 +00:00
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-05-31 13:01:02 +00:00
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 200 ,
"name" : "transferToken" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3047 ,
2018-06-28 17:13:59 +00:00
"src" : "3108:13:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (address,address,uint256) returns (bool)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 205 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "3108:42:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "436f756c64206e6f74207061792067617320636f737473207769746820746f6b656e" ,
2018-06-28 17:13:59 +00:00
"id" : 206 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "3152:36:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_8560a13547eca5648355c8db1a9f8653b6f657d31d476c36bca25e47b45b08f4" ,
"typeString" : "literal_string \"Could not pay gas costs with token\""
} ,
"value" : "Could not pay gas costs with token"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_8560a13547eca5648355c8db1a9f8653b6f657d31d476c36bca25e47b45b08f4" ,
"typeString" : "literal_string \"Could not pay gas costs with token\""
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 199 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
2018-06-28 17:13:59 +00:00
"src" : "3100:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 207 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "3100:89:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 208 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "3100:89:3"
2018-05-31 13:01:02 +00:00
}
]
} ,
2018-06-28 17:13:59 +00:00
"id" : 210 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "IfStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2795:409:3" ,
2018-05-31 13:01:02 +00:00
"trueBody" : {
2018-06-28 17:13:59 +00:00
"id" : 198 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "2823:186:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-20 08:09:14 +00:00
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 193 ,
2018-06-20 08:09:14 +00:00
"name" : "amount" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 179 ,
"src" : "2948:6:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
2018-05-31 13:01:02 +00:00
"expression" : {
2018-06-20 08:09:14 +00:00
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 190 ,
2018-06-20 08:09:14 +00:00
"name" : "tx" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4048 ,
2018-06-28 17:13:59 +00:00
"src" : "2933:2:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_transaction" ,
"typeString" : "tx"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 191 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "origin" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-28 17:13:59 +00:00
"src" : "2933:9:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 192 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "send" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-28 17:13:59 +00:00
"src" : "2933:14:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$" ,
"typeString" : "function (uint256) returns (bool)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 194 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
2018-06-20 08:09:14 +00:00
"kind" : "functionCall" ,
2018-05-31 13:01:02 +00:00
"lValueRequested" : false ,
2018-06-20 08:09:14 +00:00
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2933:22:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-20 08:09:14 +00:00
{
"argumentTypes" : null ,
"hexValue" : "436f756c64206e6f74207061792067617320636f7374732077697468206574686572" ,
2018-06-28 17:13:59 +00:00
"id" : 195 ,
2018-06-20 08:09:14 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "2957:36:3" ,
2018-06-20 08:09:14 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_stringliteral_e2a11e15f7be1214c1340779ad55027af8aa33aee6cb521776a28a0a44aea377" ,
"typeString" : "literal_string \"Could not pay gas costs with ether\""
} ,
"value" : "Could not pay gas costs with ether"
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
{
"typeIdentifier" : "t_stringliteral_e2a11e15f7be1214c1340779ad55027af8aa33aee6cb521776a28a0a44aea377" ,
"typeString" : "literal_string \"Could not pay gas costs with ether\""
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 189 ,
2018-06-20 08:09:14 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-06-20 08:09:14 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
2018-06-28 17:13:59 +00:00
"src" : "2925:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 196 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "2925:69:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 197 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "2925:69:3"
2018-05-31 13:01:02 +00:00
}
]
}
}
]
}
}
]
} ,
2018-06-20 08:09:14 +00:00
"documentation" : "@dev Allows to execute a Safe transaction confirmed by required number of owners and then pays the account that submitted the transaction.\n Note: The fees are always transfered, even if the user transaction fails. \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 safeTxGas Gas that should be used for the Safe transaction.\n @param dataGas Gas costs for data used to trigger the safe transaction and to pay the payment transfer\n @param gasPrice Gas price that should be used for the payment calculation.\n @param gasToken Token address (or 0 if ETH) that is used for the payment.\n @param signatures Packed signature data ({bytes32 r}{bytes32 s}{uint8 v})" ,
2018-06-28 17:13:59 +00:00
"id" : 214 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [ ] ,
2018-06-20 08:09:14 +00:00
"name" : "execTransactionAndPaySubmitter" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-28 17:13:59 +00:00
"id" : 108 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 91 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1726:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 90 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1726:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 93 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1747:13:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 92 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1747:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 95 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1771:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 94 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1771:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 97 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1792:24:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 96 ,
2018-06-20 08:09:14 +00:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
"src" : "1792:14:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-06-20 08:09:14 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 99 ,
2018-06-20 08:09:14 +00:00
"name" : "safeTxGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1827:17:3" ,
2018-06-20 08:09:14 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 98 ,
2018-06-20 08:09:14 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1827:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-20 08:09:14 +00:00
"value" : null ,
"visibility" : "internal"
} ,
2018-05-31 13:01:02 +00:00
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 101 ,
2018-06-20 08:09:14 +00:00
"name" : "dataGas" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1854:15:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 100 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1854:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 103 ,
2018-06-20 08:09:14 +00:00
"name" : "gasPrice" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1879:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 102 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1879:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
2018-06-20 08:09:14 +00:00
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 105 ,
2018-06-20 08:09:14 +00:00
"name" : "gasToken" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1905:16:3" ,
2018-06-20 08:09:14 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 104 ,
2018-06-20 08:09:14 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1905:7:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 107 ,
2018-06-20 08:09:14 +00:00
"name" : "signatures" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1931:16:3" ,
2018-06-20 08:09:14 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 106 ,
2018-06-20 08:09:14 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1931:5:3" ,
2018-06-20 08:09:14 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "1716:237:3"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-28 17:13:59 +00:00
"id" : 111 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 110 ,
2018-06-20 08:09:14 +00:00
"name" : "success" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 214 ,
"src" : "1986:12:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 109 ,
2018-06-20 08:09:14 +00:00
"name" : "bool" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "1986:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "1985:14:3"
2018-05-31 13:01:02 +00:00
} ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "1677:1545:3" ,
2018-06-20 08:09:14 +00:00
"stateMutability" : "nonpayable" ,
2018-05-31 13:01:02 +00:00
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-28 17:13:59 +00:00
"id" : 261 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "4301:371:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-28 17:13:59 +00:00
230
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 230 ,
2018-05-31 13:01:02 +00:00
"name" : "startGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4311:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 229 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4311:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 233 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 231 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "4330:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 232 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4330:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4311:28:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 236 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 216 ,
"src" : "4452:2:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 237 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 218 ,
"src" : "4456:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 238 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 220 ,
"src" : "4463:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 239 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 222 ,
"src" : "4469:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 240 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "4480:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 241 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4480:9:3" ,
2018-05-31 13:01:02 +00:00
"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"
} ,
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 235 ,
2018-05-31 13:01:02 +00:00
"name" : "execute" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2121 ,
2018-06-28 17:13:59 +00:00
"src" : "4444:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bool_$" ,
2018-05-31 13:01:02 +00:00
"typeString" : "function (address,uint256,bytes memory,enum Enum.Operation,uint256) returns (bool)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 242 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4444:46:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 234 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4039 ,
2018-06-28 17:13:59 +00:00
"src" : "4436:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$returns$__$" ,
"typeString" : "function (bool) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 243 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4436:55:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 244 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4436:55:3"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [
2018-06-28 17:13:59 +00:00
246
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 246 ,
2018-05-31 13:01:02 +00:00
"name" : "requiredGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4501:19:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 245 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4501:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 251 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 250 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 247 ,
2018-05-31 13:01:02 +00:00
"name" : "startGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 230 ,
"src" : "4523:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "-" ,
"rightExpression" : {
"argumentTypes" : null ,
"arguments" : [ ] ,
"expression" : {
"argumentTypes" : [ ] ,
2018-06-28 17:13:59 +00:00
"id" : 248 ,
2018-05-31 13:01:02 +00:00
"name" : "gasleft" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4029 ,
2018-06-28 17:13:59 +00:00
"src" : "4534:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_gasleft_view$__$returns$_t_uint256_$" ,
"typeString" : "function () view returns (uint256)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 249 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4534:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "4523:20:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4501:42:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 256 ,
2018-05-31 13:01:02 +00:00
"name" : "requiredGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 246 ,
"src" : "4651:11:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 254 ,
2018-05-31 13:01:02 +00:00
"name" : "abi" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4023 ,
2018-06-28 17:13:59 +00:00
"src" : "4634:3:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_abi" ,
"typeString" : "abi"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 255 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "encodePacked" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-28 17:13:59 +00:00
"src" : "4634:16:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$" ,
"typeString" : "function () pure returns (bytes memory)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 257 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4634:29:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 253 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "4627:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_string_storage_ptr_$" ,
"typeString" : "type(string storage pointer)"
} ,
"typeName" : "string"
} ,
2018-06-28 17:13:59 +00:00
"id" : 258 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4627:37:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_string_memory" ,
"typeString" : "string memory"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 252 ,
2018-05-31 13:01:02 +00:00
"name" : "revert" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4041 ,
4042
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4042 ,
2018-06-28 17:13:59 +00:00
"src" : "4620:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_revert_pure$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (string memory) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 259 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4620:45:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 260 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4620:45:3"
2018-05-31 13:01:02 +00:00
}
]
} ,
2018-06-20 08:09:14 +00:00
"documentation" : "@dev Allows to estimate a Safe transaction. \n This method is only meant for estimation purpose, therfore two different protection mechanism against execution in a transaction have been made:\n 1.) The method can only be called from the safe itself\n 2.) The response is returned with a revert\n When estimating set `from` to the address of the safe.\n Since the `estimateGas` function includes refunds, call this method to get an estimated of the costs that are deducted from the safe with `execTransactionAndPaySubmitter`\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 @return Estimate without refunds and overhead fees (base transaction and payload data gas costs)." ,
2018-06-28 17:13:59 +00:00
"id" : 262 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : false ,
"modifiers" : [
{
"arguments" : null ,
2018-06-28 17:13:59 +00:00
"id" : 225 ,
2018-05-31 13:01:02 +00:00
"modifierName" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 224 ,
2018-05-31 13:01:02 +00:00
"name" : "authorized" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3064 ,
2018-06-28 17:13:59 +00:00
"src" : "4260:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_modifier$__$" ,
"typeString" : "modifier ()"
}
} ,
"nodeType" : "ModifierInvocation" ,
2018-06-28 17:13:59 +00:00
"src" : "4260:10:3"
2018-05-31 13:01:02 +00:00
}
] ,
"name" : "requiredTxGas" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-28 17:13:59 +00:00
"id" : 223 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 216 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4172:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 215 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4172:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 218 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4184:13:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 217 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4184:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 220 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4199:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 219 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4199:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 222 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4211:24:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 221 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
"src" : "4211:14:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "4171:65:3"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-28 17:13:59 +00:00
"id" : 228 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 227 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 262 ,
"src" : "4288:7:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 226 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4288:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "4287:9:3"
2018-05-31 13:01:02 +00:00
} ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "4149:523:3" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "nonpayable" ,
"superFunction" : null ,
"visibility" : "public"
} ,
{
"body" : {
2018-06-28 17:13:59 +00:00
"id" : 321 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "4765:519:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"assignments" : [
2018-06-28 17:13:59 +00:00
270
2018-05-31 13:01:02 +00:00
] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 270 ,
2018-05-31 13:01:02 +00:00
"name" : "lastOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 322 ,
"src" : "4827:17:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 269 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4827:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 274 ,
2018-05-31 13:01:02 +00:00
"initialValue" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 272 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "4855:1:3" ,
2018-05-31 13:01:02 +00:00
"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"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 271 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "4847:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_address_$" ,
"typeString" : "type(address)"
} ,
"typeName" : "address"
} ,
2018-06-28 17:13:59 +00:00
"id" : 273 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "4847:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4827:30:3"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 276 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 322 ,
"src" : "4867:20:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 275 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4867:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 277 ,
2018-05-31 13:01:02 +00:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4867:20:3"
2018-05-31 13:01:02 +00:00
} ,
{
"assignments" : [ ] ,
"declarations" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 279 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 322 ,
"src" : "4897:9:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 278 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4897:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 280 ,
2018-05-31 13:01:02 +00:00
"initialValue" : null ,
"nodeType" : "VariableDeclarationStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4897:9:3"
2018-05-31 13:01:02 +00:00
} ,
{
"body" : {
2018-06-28 17:13:59 +00:00
"id" : 319 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "4990:288:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 297 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 291 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 276 ,
"src" : "5004:12:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 293 ,
2018-06-20 08:09:14 +00:00
"name" : "txHash" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 264 ,
"src" : "5030:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 294 ,
2018-06-20 08:09:14 +00:00
"name" : "signatures" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 266 ,
"src" : "5038:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
2018-05-31 13:01:02 +00:00
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 295 ,
2018-06-20 08:09:14 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 279 ,
"src" : "5050:1:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
{
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
2018-05-31 13:01:02 +00:00
} ,
{
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 292 ,
2018-06-20 08:09:14 +00:00
"name" : "recoverKey" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 3105 ,
2018-06-28 17:13:59 +00:00
"src" : "5019:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_address_$" ,
"typeString" : "function (bytes32,bytes memory,uint256) pure returns (address)"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 296 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "5019:33:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "5004:48:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 298 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "5004:48:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-28 17:13:59 +00:00
"id" : 304 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 300 ,
2018-05-31 13:01:02 +00:00
"name" : "owners" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2494 ,
2018-06-28 17:13:59 +00:00
"src" : "5074:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_address_$" ,
"typeString" : "mapping(address => address)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 302 ,
2018-05-31 13:01:02 +00:00
"indexExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 301 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 276 ,
"src" : "5081:12:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
2018-06-28 17:13:59 +00:00
"src" : "5074:20:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "!=" ,
"rightExpression" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 303 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "5098:1:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-28 17:13:59 +00:00
"src" : "5074:25:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5369676e6174757265206e6f742070726f7669646564206279206f776e6572" ,
2018-06-28 17:13:59 +00:00
"id" : 305 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "5101:33:3" ,
2018-05-31 13:01:02 +00:00
"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\""
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 299 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
2018-06-28 17:13:59 +00:00
"src" : "5066:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 306 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "5066:69:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 307 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "5066:69:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
2018-06-28 17:13:59 +00:00
"id" : 311 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 309 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 276 ,
"src" : "5157:12:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : ">" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 310 ,
2018-05-31 13:01:02 +00:00
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 270 ,
"src" : "5172:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "5157:24:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
{
"argumentTypes" : null ,
"hexValue" : "5369676e61747572657320617265206e6f74206f726465726564206279206f776e65722061646472657373" ,
2018-06-28 17:13:59 +00:00
"id" : 312 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "string" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "5183:45:3" ,
2018-05-31 13:01:02 +00:00
"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\""
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 308 ,
2018-05-31 13:01:02 +00:00
"name" : "require" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [
2018-06-29 11:23:01 +00:00
4039 ,
4040
2018-05-31 13:01:02 +00:00
] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4040 ,
2018-06-28 17:13:59 +00:00
"src" : "5149:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$" ,
"typeString" : "function (bool,string memory) pure"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 313 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "5149:80:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 314 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "5149:80:3"
2018-05-31 13:01:02 +00:00
} ,
{
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 317 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 315 ,
2018-05-31 13:01:02 +00:00
"name" : "lastOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 270 ,
"src" : "5243:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 316 ,
2018-05-31 13:01:02 +00:00
"name" : "currentOwner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 276 ,
"src" : "5255:12:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "5243:24:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 318 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "5243:24:3"
2018-05-31 13:01:02 +00:00
}
]
} ,
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
2018-06-28 17:13:59 +00:00
"id" : 287 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 285 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 279 ,
"src" : "4970:1:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "<" ,
"rightExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 286 ,
2018-05-31 13:01:02 +00:00
"name" : "threshold" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 2498 ,
2018-06-28 17:13:59 +00:00
"src" : "4974:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-28 17:13:59 +00:00
"src" : "4970:13:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 320 ,
2018-05-31 13:01:02 +00:00
"initializationExpression" : {
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 283 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 281 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 279 ,
"src" : "4963:1:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 282 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "4967:1:3" ,
2018-05-31 13:01:02 +00:00
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_rational_0_by_1" ,
"typeString" : "int_const 0"
} ,
"value" : "0"
} ,
2018-06-28 17:13:59 +00:00
"src" : "4963:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 284 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4963:5:3"
2018-05-31 13:01:02 +00:00
} ,
"loopExpression" : {
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 289 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "++" ,
"prefix" : false ,
2018-06-28 17:13:59 +00:00
"src" : "4985:3:3" ,
2018-05-31 13:01:02 +00:00
"subExpression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 288 ,
2018-05-31 13:01:02 +00:00
"name" : "i" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 279 ,
"src" : "4985:1:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 290 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ExpressionStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4985:3:3"
2018-05-31 13:01:02 +00:00
} ,
"nodeType" : "ForStatement" ,
2018-06-28 17:13:59 +00:00
"src" : "4958:320:3"
2018-05-31 13:01:02 +00:00
}
]
} ,
"documentation" : null ,
2018-06-28 17:13:59 +00:00
"id" : 322 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "checkHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-28 17:13:59 +00:00
"id" : 267 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 264 ,
2018-06-20 08:09:14 +00:00
"name" : "txHash" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 322 ,
"src" : "4697:14:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 263 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4697:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 266 ,
2018-06-20 08:09:14 +00:00
"name" : "signatures" ,
2018-05-31 13:01:02 +00:00
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 322 ,
"src" : "4713:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
2018-05-31 13:01:02 +00:00
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 265 ,
2018-06-20 08:09:14 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "4713:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-20 08:09:14 +00:00
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
2018-05-31 13:01:02 +00:00
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "4696:34:3"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-28 17:13:59 +00:00
"id" : 268 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
2018-06-28 17:13:59 +00:00
"src" : "4765:0:3"
2018-05-31 13:01:02 +00:00
} ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "4678:606:3" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "internal"
} ,
{
"body" : {
2018-06-28 17:13:59 +00:00
"id" : 367 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Block" ,
2018-06-28 17:13:59 +00:00
"src" : "6208:176:3" ,
2018-05-31 13:01:02 +00:00
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30783139" ,
2018-06-28 17:13:59 +00:00
"id" : 349 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "6270:4:3" ,
2018-05-31 13:01:02 +00:00
"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"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 348 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "6265:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
2018-06-28 17:13:59 +00:00
"id" : 350 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "6265:10:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"hexValue" : "30" ,
2018-06-28 17:13:59 +00:00
"id" : 352 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "number" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
2018-06-28 17:13:59 +00:00
"src" : "6282:1:3" ,
2018-05-31 13:01:02 +00:00
"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"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 351 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"nodeType" : "ElementaryTypeNameExpression" ,
2018-06-28 17:13:59 +00:00
"src" : "6277:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_type$_t_bytes1_$" ,
"typeString" : "type(bytes1)"
} ,
"typeName" : "byte"
} ,
2018-06-28 17:13:59 +00:00
"id" : 353 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "typeConversion" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "6277:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 354 ,
2018-05-31 13:01:02 +00:00
"name" : "this" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4071 ,
2018-06-28 17:13:59 +00:00
"src" : "6286:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_contract$_GnosisSafePersonalEdition_$369" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract GnosisSafePersonalEdition"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 355 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 324 ,
"src" : "6292:2:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 356 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 326 ,
"src" : "6296:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 357 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 328 ,
"src" : "6303:4:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 358 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 330 ,
"src" : "6309:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 359 ,
2018-05-31 13:01:02 +00:00
"name" : "safeTxGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 332 ,
"src" : "6320:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 360 ,
2018-05-31 13:01:02 +00:00
"name" : "dataGas" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 334 ,
"src" : "6331:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 361 ,
2018-05-31 13:01:02 +00:00
"name" : "gasPrice" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 336 ,
"src" : "6340:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 362 ,
2018-05-31 13:01:02 +00:00
"name" : "gasToken" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 338 ,
"src" : "6350:8:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 363 ,
2018-05-31 13:01:02 +00:00
"name" : "_nonce" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 340 ,
"src" : "6360:6:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
"typeIdentifier" : "t_bytes1" ,
"typeString" : "bytes1"
} ,
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_contract$_GnosisSafePersonalEdition_$369" ,
2018-05-31 13:01:02 +00:00
"typeString" : "contract GnosisSafePersonalEdition"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
} ,
{
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
2018-06-28 17:13:59 +00:00
"id" : 346 ,
2018-05-31 13:01:02 +00:00
"name" : "abi" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4023 ,
2018-06-28 17:13:59 +00:00
"src" : "6248:3:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_magic_abi" ,
"typeString" : "abi"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 347 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"lValueRequested" : false ,
"memberName" : "encodePacked" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
2018-06-28 17:13:59 +00:00
"src" : "6248:16:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$" ,
"typeString" : "function () pure returns (bytes memory)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 364 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "6248:119:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes memory"
}
] ,
2018-06-28 17:13:59 +00:00
"id" : 345 ,
2018-05-31 13:01:02 +00:00
"name" : "keccak256" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
2018-06-29 11:23:01 +00:00
"referencedDeclaration" : 4030 ,
2018-06-28 17:13:59 +00:00
"src" : "6225:9:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_function_sha3_pure$__$returns$_t_bytes32_$" ,
"typeString" : "function () pure returns (bytes32)"
}
} ,
2018-06-28 17:13:59 +00:00
"id" : 365 ,
2018-05-31 13:01:02 +00:00
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
2018-06-28 17:13:59 +00:00
"src" : "6225:152:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
2018-06-28 17:13:59 +00:00
"functionReturnParameters" : 344 ,
"id" : 366 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "Return" ,
2018-06-28 17:13:59 +00:00
"src" : "6218:159:3"
2018-05-31 13:01:02 +00:00
}
]
} ,
"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 safeTxGas Fas that should be used for the safe transaction.\n @param dataGas Gas costs for data used to trigger the safe transaction.\n @param gasPrice Maximum gas price that should be used for this transaction.\n @param gasToken Token address (or 0 if ETH) that is used for the payment.\n @param _nonce Transaction nonce.\n @return Transaction hash." ,
2018-06-28 17:13:59 +00:00
"id" : 368 ,
2018-05-31 13:01:02 +00:00
"implemented" : true ,
"isConstructor" : false ,
"isDeclaredConst" : true ,
"modifiers" : [ ] ,
"name" : "getTransactionHash" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
2018-06-28 17:13:59 +00:00
"id" : 341 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 324 ,
2018-05-31 13:01:02 +00:00
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "5921:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 323 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "5921:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 326 ,
2018-05-31 13:01:02 +00:00
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "5942:13:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 325 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "5942:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 328 ,
2018-05-31 13:01:02 +00:00
"name" : "data" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "5966:10:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_memory_ptr" ,
"typeString" : "bytes"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 327 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "5966:5:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes_storage_ptr" ,
"typeString" : "bytes"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 330 ,
2018-05-31 13:01:02 +00:00
"name" : "operation" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "5987:24:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
} ,
"typeName" : {
"contractScope" : null ,
2018-06-28 17:13:59 +00:00
"id" : 329 ,
2018-05-31 13:01:02 +00:00
"name" : "Enum.Operation" ,
"nodeType" : "UserDefinedTypeName" ,
2018-06-28 17:13:59 +00:00
"referencedDeclaration" : 29 ,
"src" : "5987:14:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
2018-06-28 17:13:59 +00:00
"typeIdentifier" : "t_enum$_Operation_$29" ,
2018-05-31 13:01:02 +00:00
"typeString" : "enum Enum.Operation"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 332 ,
2018-05-31 13:01:02 +00:00
"name" : "safeTxGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6022:17:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 331 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6022:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 334 ,
2018-05-31 13:01:02 +00:00
"name" : "dataGas" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6050:15:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 333 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6050:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 336 ,
2018-05-31 13:01:02 +00:00
"name" : "gasPrice" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6076:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 335 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6076:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 338 ,
2018-05-31 13:01:02 +00:00
"name" : "gasToken" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6103:16:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 337 ,
2018-05-31 13:01:02 +00:00
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6103:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 340 ,
2018-05-31 13:01:02 +00:00
"name" : "_nonce" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6129:14:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 339 ,
2018-05-31 13:01:02 +00:00
"name" : "uint256" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6129:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "5911:238:3"
2018-05-31 13:01:02 +00:00
} ,
"payable" : false ,
"returnParameters" : {
2018-06-28 17:13:59 +00:00
"id" : 344 ,
2018-05-31 13:01:02 +00:00
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
2018-06-28 17:13:59 +00:00
"id" : 343 ,
2018-05-31 13:01:02 +00:00
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
2018-06-28 17:13:59 +00:00
"scope" : 368 ,
"src" : "6195:7:3" ,
2018-05-31 13:01:02 +00:00
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
} ,
"typeName" : {
2018-06-28 17:13:59 +00:00
"id" : 342 ,
2018-05-31 13:01:02 +00:00
"name" : "bytes32" ,
"nodeType" : "ElementaryTypeName" ,
2018-06-28 17:13:59 +00:00
"src" : "6195:7:3" ,
2018-05-31 13:01:02 +00:00
"typeDescriptions" : {
"typeIdentifier" : "t_bytes32" ,
"typeString" : "bytes32"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "6194:9:3"
2018-05-31 13:01:02 +00:00
} ,
2018-06-28 17:13:59 +00:00
"scope" : 369 ,
"src" : "5884:500:3" ,
2018-05-31 13:01:02 +00:00
"stateMutability" : "view" ,
"superFunction" : null ,
"visibility" : "public"
}
] ,
2018-06-28 17:13:59 +00:00
"scope" : 370 ,
"src" : "483:5903:3"
2018-05-31 13:01:02 +00:00
}
] ,
2018-06-28 17:13:59 +00:00
"src" : "0:6387:3"
2018-05-31 13:01:02 +00:00
} ,
"compiler" : {
"name" : "solc" ,
"version" : "0.4.24+commit.e67f0147.Emscripten.clang"
} ,
"networks" : {
2018-06-29 11:23:01 +00:00
"4" : {
2018-06-26 11:48:05 +00:00
"events" : { } ,
"links" : { } ,
2018-06-29 11:23:01 +00:00
"address" : "0x98391eab1d6e8c85c67b4ccf5629f4a9b8e10308" ,
"transactionHash" : "0x029e76547c83fd8850d0ee1715c77e6ba1119369730d79da11d67d934aa0303c"
} ,
"1530013596495" : {
"events" : { } ,
"links" : { } ,
"address" : "0x7da3d9eca8ee137a1305991016c1d482b6c96413" ,
"transactionHash" : "0x77553eb255575092672bf623f08e784bed37dd5796b08a0afd13b96e9f4d8319"
2018-07-02 10:12:59 +00:00
} ,
"1530525742205" : {
"events" : { } ,
"links" : { } ,
"address" : "0xb4a74cb6e8e414e43c61c82a533808e6ae48acee" ,
"transactionHash" : "0x0a073b410fe8dc426e2147e8e256a537c770de9d895a3bf2c2680ad39db4dc19"
2018-07-03 11:14:01 +00:00
} ,
"1530611935189" : {
"events" : { } ,
"links" : { } ,
"address" : "0x5bc52159f8c6c9e2d02c811c0ca0a9b7cf376f6d" ,
"transactionHash" : "0x0a073b410fe8dc426e2147e8e256a537c770de9d895a3bf2c2680ad39db4dc19"
2018-05-31 13:01:02 +00:00
}
} ,
2018-06-29 11:23:01 +00:00
"schemaVersion" : "2.0.0" ,
2018-07-03 11:14:01 +00:00
"updatedAt" : "2018-07-03T09:59:18.547Z"
2018-05-31 13:01:02 +00:00
}