safe-react/safe-contracts/build/contracts/GnosisSafeTeamEdition.json

7619 lines
390 KiB
JSON
Raw Normal View History

2018-05-31 13:01:02 +00:00
{
"contractName": "GnosisSafeTeamEdition",
"abi": [
{
"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-08-20 07:59:16 +00:00
{
"constant": true,
"inputs": [],
"name": "DOMAIN_SEPERATOR_TYPEHASH",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"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"
},
{
"constant": false,
"inputs": [
{
"name": "_threshold",
"type": "uint256"
2018-05-31 13:01:02 +00:00
}
],
"name": "changeThreshold",
2018-05-31 13:01:02 +00:00
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_masterCopy",
2018-05-31 13:01:02 +00:00
"type": "address"
}
],
"name": "changeMasterCopy",
2018-05-31 13:01:02 +00:00
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "SENTINEL_MODULES",
2018-05-31 13:01:02 +00:00
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "SENTINEL_OWNERS",
"outputs": [
2018-05-31 13:01:02 +00:00
{
"name": "",
2018-05-31 13:01:02 +00:00
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
2018-05-31 13:01:02 +00:00
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "bytes32"
},
{
"name": "",
"type": "address"
}
],
"name": "isApproved",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"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": "getModules",
"outputs": [
{
"name": "",
"type": "address[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
2018-08-20 07:59:16 +00:00
{
"constant": true,
"inputs": [],
"name": "domainSeperator",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "SAFE_TX_TYPEHASH",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
2018-05-31 13:01:02 +00:00
{
"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": "",
"type": "bytes32"
}
],
"name": "isExecuted",
"outputs": [
{
"name": "",
"type": "uint256"
2018-05-31 13:01:02 +00:00
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getThreshold",
"outputs": [
{
"name": "",
"type": "uint256"
2018-05-31 13:01:02 +00:00
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"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,
"inputs": [
{
"indexed": false,
"name": "newContract",
"type": "address"
}
],
"name": "ContractCreation",
"type": "event"
},
2018-08-20 07:59:16 +00:00
{
"constant": false,
"inputs": [
{
"name": "transactionHash",
"type": "bytes32"
}
],
"name": "approveTransactionByHash",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
2018-05-31 13:01:02 +00:00
{
"constant": false,
"inputs": [
{
"name": "to",
"type": "address"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
},
{
"name": "operation",
"type": "uint8"
},
{
"name": "nonce",
"type": "uint256"
}
],
"name": "approveTransactionWithParameters",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "to",
"type": "address"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
},
{
"name": "operation",
"type": "uint8"
},
{
"name": "nonce",
"type": "uint256"
}
],
"name": "execTransactionIfApproved",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "to",
"type": "address"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
},
{
"name": "operation",
"type": "uint8"
},
{
"name": "nonce",
"type": "uint256"
}
],
"name": "getTransactionHash",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
2018-08-20 07:59:16 +00:00
"bytecode": "0x608060405234801561001057600080fd5b5061415b806100206000396000f300608060405260043610610153576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062249a7a146101555780630d582f13146101865780630ec78d9e146101d3578063153414fa146102a95780631da5187f1461035357806324cd131f146103865780632b500041146104305780632f54bf6e146104f6578063468721a714610551578063610b592514610609578063694e80c31461064c5780637de7edef1461067957806385e332cd146106bc5780638cff635514610713578063a09e89f51461076a578063a0e67e2b146107cf578063a3f4df7e1461083b578063b2494df3146108cb578063cb73ac5614610937578063ccafc3871461096a578063e009cfde1461099d578063e318b52b14610a00578063e52cb36a14610a83578063e75235b814610ac8578063f8dc5dd914610af3578063ffa1ad7414610b60575b005b34801561016157600080fd5b506101846004803603810190808035600019169060200190929190505050610bf0565b005b34801561019257600080fd5b506101d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df8565b005b3480156101df57600080fd5b506102a76004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506111fe565b005b3480156102b557600080fd5b50610351600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919080359060200190929190505050611384565b005b34801561035f57600080fd5b506103686113a0565b60405180826000191660001916815260200191505060405180910390f35b34801561039257600080fd5b5061042e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190803590602001909291905050506113c7565b005b34801561043c57600080fd5b506104d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff1690602001909291908035906020019092919050505061156a565b60405180826000191660001916815260200191505060405180910390f35b34801561050257600080fd5b50610537600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189f565b604051808215151515815260200191505060405180910390f35b34801561055d57600080fd5b506105ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050611921565b604051808215151515815260200191505060405180910390f35b34801561061557600080fd5b5061064a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a4d565b005b34801561065857600080fd5b5061067760048036038101908080359060200190929190505050611e2b565b005b34801561068557600080fd5b506106ba600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061203d565b005b3480156106c857600080fd5b506106d16121fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071f57600080fd5b50610728612203565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077657600080fd5b506107b96004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612208565b6040518082815260200191505060405180910390f35b3480156107db57
"deployedBytecode": "0x608060405260043610610153576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062249a7a146101555780630d582f13146101865780630ec78d9e146101d3578063153414fa146102a95780631da5187f1461035357806324cd131f146103865780632b500041146104305780632f54bf6e146104f6578063468721a714610551578063610b592514610609578063694e80c31461064c5780637de7edef1461067957806385e332cd146106bc5780638cff635514610713578063a09e89f51461076a578063a0e67e2b146107cf578063a3f4df7e1461083b578063b2494df3146108cb578063cb73ac5614610937578063ccafc3871461096a578063e009cfde1461099d578063e318b52b14610a00578063e52cb36a14610a83578063e75235b814610ac8578063f8dc5dd914610af3578063ffa1ad7414610b60575b005b34801561016157600080fd5b506101846004803603810190808035600019169060200190929190505050610bf0565b005b34801561019257600080fd5b506101d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df8565b005b3480156101df57600080fd5b506102a76004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506111fe565b005b3480156102b557600080fd5b50610351600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff16906020019092919080359060200190929190505050611384565b005b34801561035f57600080fd5b506103686113a0565b60405180826000191660001916815260200191505060405180910390f35b34801561039257600080fd5b5061042e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190803590602001909291905050506113c7565b005b34801561043c57600080fd5b506104d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff1690602001909291908035906020019092919050505061156a565b60405180826000191660001916815260200191505060405180910390f35b34801561050257600080fd5b50610537600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189f565b604051808215151515815260200191505060405180910390f35b34801561055d57600080fd5b506105ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803560ff169060200190929190505050611921565b604051808215151515815260200191505060405180910390f35b34801561061557600080fd5b5061064a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a4d565b005b34801561065857600080fd5b5061067760048036038101908080359060200190929190505050611e2b565b005b34801561068557600080fd5b506106ba600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061203d565b005b3480156106c857600080fd5b506106d16121fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561071f57600080fd5b50610728612203565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077657600080fd5b506107b96004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612208565b6040518082815260200191505060405180910390f35b3480156107db57600080fd5b506107e461222d565b6040518080602001828103825283
"sourceMap": "272:4725:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;272:4725:6;;;;;;;",
"deployedSourceMap": "272:4725:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1272:436;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1272:436:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2093:595:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2093:595:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;933:457:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:457:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2137:287:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2137:287:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;458:118:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;458:118:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2866:618:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2866:618:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4529:466;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4529:466:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5613:129:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5613:129:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2712:429:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2712:429:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1182:459;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1182:459:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:399:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5087:399:11;;;;;;;;;;;;;;;;;;;;;;;;;;626:248:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:248:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;488:55:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;488:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;;287:54:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:54:11;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:66:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1002:66:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:458:11;;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;;;;;;;;;;;;;;;;;336:56:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;336:56:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;336:56:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3220:738:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3220:738:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3220:738:10;;;;;;;;;;;;;;;;;583:30:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;583:30:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;561:109:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;561:109:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1902:474:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1902:474:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4147:751:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4147:751:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;768:46:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;768:46:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5492:115:11;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;399:40:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;399:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;399:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1272:436;1460:1;1438:6;:18;1445:10;1438:18;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;;1430:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1609:1;1578:10;:27;1589:15;1578:27;;;;;;;;;;;;;;;;;;:32;1570:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1700:1;1658:10;:27;1669:15;1658:27;;;;;;;;;;;;;;;;;:39;1686:10;1658:39;;;;;;;;;;;;;;;:43;;;;1272:436;:::o;2093:595:11:-;244:4:16;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2265:1:11;2256:5;:10;;;;:38;;;;;337:3;2270:24;;:5;:24;;;;2
"source": "pragma solidity 0.4.24;\nimport \"./GnosisSafe.sol\";\nimport \"./MasterCopy.sol\";\n\n\n/// @title Gnosis Safe Team Edition - A multisignature wallet with support for confirmations.\n/// @author Stefan George - <stefan@gnosis.pm>\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract GnosisSafeTeamEdition is MasterCopy, GnosisSafe {\n\n string public constant NAME = \"Gnosis Safe Team Edition\"; \n string public constant VERSION = \"0.0.1\";\n //keccak256(\n // \"TeamSafeTx(address to,uint256 value,bytes data,uint8 operation,uint256 nonce)\"\n //);\n bytes32 public constant SAFE_TX_TYPEHASH = 0x5d1bba48ff479eb8a88ec6029f6b5eebc805c7dcb87470d5b1121d36d824c873;\n\n // isExecuted mapping allows to check if a transaction (by hash) was already executed.\n mapping (bytes32 => uint256) public isExecuted;\n\n // isApproved mapping allows to check if a transaction (by hash) was confirmed by an owner.\n // uint256 is used to optimize the generated assembly. if 0 then false else true\n mapping (bytes32 => mapping(address => uint256)) public isApproved;\n\n /// @dev Allows to confirm a Safe transaction with a regular transaction.\n /// This can only be done from an owner address.\n /// @param transactionHash Hash of the Safe transaction.\n function approveTransactionByHash(bytes32 transactionHash)\n public\n {\n // Only Safe owners are allowed to confirm Safe transactions.\n require(owners[msg.sender] != 0, \"Sender is not an owner\");\n // It should not be possible to confirm an executed transaction\n require(isExecuted[transactionHash] == 0, \"Safe transaction already executed\");\n isApproved[transactionHash][msg.sender] = 1;\n }\n\n /// @dev Allows to confirm a Safe transaction with a regular transaction.\n /// This can only be done from an owner address.\n /// @param to Destination address of Safe transaction.\n /// @param value Ether value of Safe transaction.\n /// @param data Data payload of Safe transaction.\n /// @param operation Operation type of Safe transaction.\n /// @param nonce Nonce used for this Safe transaction.\n function approveTransactionWithParameters(\n address to, \n uint256 value, \n bytes data, \n Enum.Operation operation, \n uint256 nonce\n )\n public\n {\n approveTransactionByHash(getTransactionHash(to, value, data, operation, nonce));\n }\n\n /// @dev Allows to execute a Safe transaction confirmed by required number of owners. If the sender is an owner this is automatically confirmed.\n /// @param to Destination address of Safe transaction.\n /// @param value Ether value of Safe transaction.\n /// @param data Data payload of Safe transaction.\n /// @param operation Operation type of Safe transaction.\n /// @param nonce Nonce used for this Safe transaction.\n function execTransactionIfApproved(\n address to, \n uint256 value, \n bytes data, \n Enum.Operation operation, \n uint256 nonce\n )\n public\n {\n bytes32 transactionHash = getTransactionHash(to, value, data, operation, nonce);\n require(isExecuted[transactionHash] == 0, \"Safe transaction already executed\");\n checkAndClearConfirmations(transactionHash);\n // Mark as executed and execute transaction.\n isExecuted[transactionHash] = 1;\n require(execute(to, value, data, operation, gasleft()), \"Could not execute safe transaction\");\n }\n\n function checkAndClearConfirmations(bytes32 transactionHash)\n internal\n {\n mapping(address => uint256) approvals = isApproved[transactionHash];\n uint256 confirmations = 0;\n // Validate threshold is reached.\n address currentOwner = owners[SENTINEL_OWNERS];\n while (currentOwner != SENTINEL_OWNERS) {\n bool ownerConfirmed = approvals[currentOwner] != 0;\n if(currentOwner == msg.sender || ownerConfirmed) {\n
2018-05-31 13:01:02 +00:00
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafeTeamEdition.sol",
"ast": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafeTeamEdition.sol",
"exportedSymbols": {
"GnosisSafeTeamEdition": [
2018-08-20 07:59:16 +00:00
786
2018-05-31 13:01:02 +00:00
]
},
2018-08-20 07:59:16 +00:00
"id": 787,
2018-05-31 13:01:02 +00:00
"nodeType": "SourceUnit",
"nodes": [
{
2018-08-20 07:59:16 +00:00
"id": 531,
2018-05-31 13:01:02 +00:00
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
2018-08-20 07:59:16 +00:00
"src": "0:23:6"
2018-05-31 13:01:02 +00:00
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol",
"file": "./GnosisSafe.sol",
2018-08-20 07:59:16 +00:00
"id": 532,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-08-20 07:59:16 +00:00
"scope": 787,
"sourceUnit": 209,
"src": "24:26:6",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol",
"file": "./MasterCopy.sol",
2018-08-20 07:59:16 +00:00
"id": 533,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-08-20 07:59:16 +00:00
"scope": 787,
"sourceUnit": 814,
"src": "51:26:6",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-08-20 07:59:16 +00:00
"id": 534,
2018-05-31 13:01:02 +00:00
"name": "MasterCopy",
"nodeType": "UserDefinedTypeName",
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 813,
"src": "306:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_contract$_MasterCopy_$813",
2018-05-31 13:01:02 +00:00
"typeString": "contract MasterCopy"
}
},
2018-08-20 07:59:16 +00:00
"id": 535,
2018-05-31 13:01:02 +00:00
"nodeType": "InheritanceSpecifier",
2018-08-20 07:59:16 +00:00
"src": "306:10:6"
2018-05-31 13:01:02 +00:00
},
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-08-20 07:59:16 +00:00
"id": 536,
2018-05-31 13:01:02 +00:00
"name": "GnosisSafe",
"nodeType": "UserDefinedTypeName",
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 208,
"src": "318:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_contract$_GnosisSafe_$208",
2018-05-31 13:01:02 +00:00
"typeString": "contract GnosisSafe"
}
},
2018-08-20 07:59:16 +00:00
"id": 537,
2018-05-31 13:01:02 +00:00
"nodeType": "InheritanceSpecifier",
2018-08-20 07:59:16 +00:00
"src": "318:10:6"
2018-05-31 13:01:02 +00:00
}
],
"contractDependencies": [
2018-08-20 07:59:16 +00:00
208,
153,
37,
813,
1180,
1588,
1765
2018-05-31 13:01:02 +00:00
],
"contractKind": "contract",
"documentation": "@title Gnosis Safe Team Edition - A multisignature wallet with support for confirmations.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true,
2018-08-20 07:59:16 +00:00
"id": 786,
2018-05-31 13:01:02 +00:00
"linearizedBaseContracts": [
2018-08-20 07:59:16 +00:00
786,
208,
1588,
1180,
153,
37,
813,
1765
2018-05-31 13:01:02 +00:00
],
"name": "GnosisSafeTeamEdition",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
2018-08-20 07:59:16 +00:00
"id": 540,
2018-05-31 13:01:02 +00:00
"name": "NAME",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "336:56:6",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 538,
2018-05-31 13:01:02 +00:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "336:6:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "476e6f7369732053616665205465616d2045646974696f6e",
2018-08-20 07:59:16 +00:00
"id": 539,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "366:26:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_69b1cb372bb47730ba653a0e87363aa6de8337d13ed5852e6fe3ba4e2004a81e",
"typeString": "literal_string \"Gnosis Safe Team Edition\""
},
"value": "Gnosis Safe Team Edition"
},
"visibility": "public"
},
{
"constant": true,
2018-08-20 07:59:16 +00:00
"id": 543,
2018-05-31 13:01:02 +00:00
"name": "VERSION",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "399:40:6",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 541,
2018-05-31 13:01:02 +00:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "399:6:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "302e302e31",
2018-08-20 07:59:16 +00:00
"id": 542,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "432:7:6",
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"
},
2018-08-20 07:59:16 +00:00
{
"constant": true,
"id": 546,
"name": "SAFE_TX_TYPEHASH",
"nodeType": "VariableDeclaration",
"scope": 786,
"src": "561:109:6",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 544,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "561:7:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": {
"argumentTypes": null,
"hexValue": "307835643162626134386666343739656238613838656336303239663662356565626338303563376463623837343730643562313132316433366438323463383733",
"id": 545,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "604:66:6",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_42114085481813550712033693253853890854456273647728279042821730599331164375155_by_1",
"typeString": "int_const 4211...(69 digits omitted)...5155"
},
"value": "0x5d1bba48ff479eb8a88ec6029f6b5eebc805c7dcb87470d5b1121d36d824c873"
},
"visibility": "public"
},
2018-05-31 13:01:02 +00:00
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 550,
2018-05-31 13:01:02 +00:00
"name": "isExecuted",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "768:46:6",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
2018-05-31 13:01:02 +00:00
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 549,
2018-05-31 13:01:02 +00:00
"keyType": {
2018-08-20 07:59:16 +00:00
"id": 547,
2018-05-31 13:01:02 +00:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "777:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
2018-08-20 07:59:16 +00:00
"src": "768:28:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
2018-05-31 13:01:02 +00:00
},
"valueType": {
2018-08-20 07:59:16 +00:00
"id": 548,
"name": "uint256",
2018-05-31 13:01:02 +00:00
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "788:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 556,
2018-05-31 13:01:02 +00:00
"name": "isApproved",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "1002:66:6",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(bytes32 => mapping(address => uint256))"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 555,
2018-05-31 13:01:02 +00:00
"keyType": {
2018-08-20 07:59:16 +00:00
"id": 551,
2018-05-31 13:01:02 +00:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "1011:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
2018-08-20 07:59:16 +00:00
"src": "1002:48:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(bytes32 => mapping(address => uint256))"
},
"valueType": {
2018-08-20 07:59:16 +00:00
"id": 554,
2018-05-31 13:01:02 +00:00
"keyType": {
2018-08-20 07:59:16 +00:00
"id": 552,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "1030:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
2018-08-20 07:59:16 +00:00
"src": "1022:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
2018-08-20 07:59:16 +00:00
"id": 553,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "1041:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
}
},
"value": null,
"visibility": "public"
},
{
"body": {
2018-08-20 07:59:16 +00:00
"id": 589,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "1350:358:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-08-20 07:59:16 +00:00
"id": 567,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 562,
2018-05-31 13:01:02 +00:00
"name": "owners",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 1194,
"src": "1438:6:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
"typeString": "mapping(address => address)"
}
},
2018-08-20 07:59:16 +00:00
"id": 565,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 563,
2018-05-31 13:01:02 +00:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3828,
"src": "1445:3:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2018-08-20 07:59:16 +00:00
"id": 564,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-08-20 07:59:16 +00:00
"src": "1445:10:6",
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-08-20 07:59:16 +00:00
"src": "1438:18:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 566,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "1460:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-08-20 07:59:16 +00:00
"src": "1438:23:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "53656e646572206973206e6f7420616e206f776e6572",
2018-08-20 07:59:16 +00:00
"id": 568,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "1463:24:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_b22a5f47ffb62866097c90f90b5b53f76973769c84a10c62e12a07eb2ba1ef4a",
"typeString": "literal_string \"Sender is not an owner\""
},
"value": "Sender is not an owner"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_b22a5f47ffb62866097c90f90b5b53f76973769c84a10c62e12a07eb2ba1ef4a",
"typeString": "literal_string \"Sender is not an owner\""
}
],
2018-08-20 07:59:16 +00:00
"id": 561,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-08-20 07:59:16 +00:00
3831,
3832
2018-05-31 13:01:02 +00:00
],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3832,
"src": "1430:7:6",
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-08-20 07:59:16 +00:00
"id": 569,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "1430:58:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-08-20 07:59:16 +00:00
"id": 570,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "1430:58:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2018-08-20 07:59:16 +00:00
"id": 576,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
2018-05-31 13:01:02 +00:00
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 572,
2018-05-31 13:01:02 +00:00
"name": "isExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 550,
"src": "1578:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 574,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 573,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 558,
"src": "1589:15:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "1578:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 575,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "1609:1:6",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-08-20 07:59:16 +00:00
"src": "1578:32:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "53616665207472616e73616374696f6e20616c7265616479206578656375746564",
2018-08-20 07:59:16 +00:00
"id": 577,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "1612:35:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
"typeString": "literal_string \"Safe transaction already executed\""
},
"value": "Safe transaction already executed"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
"typeString": "literal_string \"Safe transaction already executed\""
}
],
2018-08-20 07:59:16 +00:00
"id": 571,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-08-20 07:59:16 +00:00
3831,
3832
2018-05-31 13:01:02 +00:00
],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3832,
"src": "1570:7:6",
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-08-20 07:59:16 +00:00
"id": 578,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "1570:78:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-08-20 07:59:16 +00:00
"id": 579,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "1570:78:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 587,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 580,
2018-05-31 13:01:02 +00:00
"name": "isApproved",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 556,
"src": "1658:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(bytes32 => mapping(address => uint256))"
}
},
2018-08-20 07:59:16 +00:00
"id": 584,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 581,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 558,
"src": "1669:15:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "1658:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
2018-08-20 07:59:16 +00:00
"id": 585,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 582,
2018-05-31 13:01:02 +00:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3828,
"src": "1686:3:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2018-08-20 07:59:16 +00:00
"id": 583,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-08-20 07:59:16 +00:00
"src": "1686:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "1658:39:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "31",
2018-08-20 07:59:16 +00:00
"id": 586,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "1700:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
2018-08-20 07:59:16 +00:00
"src": "1658:43:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-08-20 07:59:16 +00:00
"id": 588,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "1658:43:6"
2018-05-31 13:01:02 +00:00
}
]
},
2018-08-20 07:59:16 +00:00
"documentation": "@dev Allows to confirm a Safe transaction with a regular transaction.\n This can only be done from an owner address.\n @param transactionHash Hash of the Safe transaction.",
"id": 590,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
2018-08-20 07:59:16 +00:00
"name": "approveTransactionByHash",
2018-05-31 13:01:02 +00:00
"nodeType": "FunctionDefinition",
"parameters": {
2018-08-20 07:59:16 +00:00
"id": 559,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 558,
"name": "transactionHash",
2018-05-31 13:01:02 +00:00
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 590,
"src": "1306:23:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2018-05-31 13:01:02 +00:00
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 557,
"name": "bytes32",
2018-05-31 13:01:02 +00:00
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "1306:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2018-05-31 13:01:02 +00:00
}
},
"value": null,
"visibility": "internal"
2018-08-20 07:59:16 +00:00
}
],
"src": "1305:25:6"
},
"payable": false,
"returnParameters": {
"id": 560,
"nodeType": "ParameterList",
"parameters": [],
"src": "1350:0:6"
},
"scope": 786,
"src": "1272:436:6",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 613,
"nodeType": "Block",
"src": "2328:96:6",
"statements": [
2018-05-31 13:01:02 +00:00
{
2018-08-20 07:59:16 +00:00
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 605,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 592,
"src": "2382:2:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 606,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 594,
"src": "2386:5:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 607,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 596,
"src": "2393:4:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
"id": 608,
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 598,
"src": "2399:9:6",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
"id": 609,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 600,
"src": "2410:5:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 604,
"name": "getTransactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 785,
"src": "2363:18:6",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$",
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
},
"id": 610,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2363:53:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 603,
"name": "approveTransactionByHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 590,
"src": "2338:24:6",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
"typeString": "function (bytes32)"
}
},
"id": 611,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2338:79:6",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 612,
"nodeType": "ExpressionStatement",
"src": "2338:79:6"
}
]
},
"documentation": "@dev Allows to confirm a Safe transaction with a regular transaction.\n This can only be done from an owner address.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.",
"id": 614,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "approveTransactionWithParameters",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 601,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 592,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 614,
"src": "2188:10:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 591,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2188:7:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 594,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 614,
"src": "2209:13:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 593,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2209:7:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 596,
"name": "data",
2018-05-31 13:01:02 +00:00
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 614,
"src": "2233:10:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 595,
2018-05-31 13:01:02 +00:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "2233:5:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 598,
2018-05-31 13:01:02 +00:00
"name": "operation",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 614,
"src": "2254:24:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
},
"typeName": {
"contractScope": null,
2018-08-20 07:59:16 +00:00
"id": 597,
2018-05-31 13:01:02 +00:00
"name": "Enum.Operation",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 29,
2018-08-20 07:59:16 +00:00
"src": "2254:14:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 600,
2018-05-31 13:01:02 +00:00
"name": "nonce",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 614,
"src": "2289:13:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 599,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "2289:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"src": "2178:130:6"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-08-20 07:59:16 +00:00
"id": 602,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-08-20 07:59:16 +00:00
"src": "2328:0:6"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "2137:287:6",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-08-20 07:59:16 +00:00
"id": 668,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "3050:434:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"assignments": [
2018-08-20 07:59:16 +00:00
628
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 628,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "3060:23:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 627,
2018-05-31 13:01:02 +00:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3060:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"id": 636,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 630,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 616,
"src": "3105:2:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 631,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 618,
"src": "3109:5:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 632,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 620,
"src": "3116:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 633,
2018-05-31 13:01:02 +00:00
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 622,
"src": "3122:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 634,
2018-05-31 13:01:02 +00:00
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 624,
"src": "3133:5:6",
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"
},
{
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2018-08-20 07:59:16 +00:00
"id": 629,
2018-05-31 13:01:02 +00:00
"name": "getTransactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 785,
"src": "3086:18:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$",
2018-05-31 13:01:02 +00:00
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
},
2018-08-20 07:59:16 +00:00
"id": 635,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "3086:53:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
2018-08-20 07:59:16 +00:00
"src": "3060:79:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2018-08-20 07:59:16 +00:00
"id": 642,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
2018-05-31 13:01:02 +00:00
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 638,
2018-05-31 13:01:02 +00:00
"name": "isExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 550,
"src": "3157:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 640,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 639,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 628,
"src": "3168:15:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "3157:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 641,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "3188:1:6",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-08-20 07:59:16 +00:00
"src": "3157:32:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "53616665207472616e73616374696f6e20616c7265616479206578656375746564",
2018-08-20 07:59:16 +00:00
"id": 643,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "3191:35:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
"typeString": "literal_string \"Safe transaction already executed\""
},
"value": "Safe transaction already executed"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
"typeString": "literal_string \"Safe transaction already executed\""
}
],
2018-08-20 07:59:16 +00:00
"id": 637,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-08-20 07:59:16 +00:00
3831,
3832
2018-05-31 13:01:02 +00:00
],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3832,
"src": "3149:7:6",
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-08-20 07:59:16 +00:00
"id": 644,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "3149:78:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-08-20 07:59:16 +00:00
"id": 645,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "3149:78:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 647,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 628,
"src": "3264:15:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
2018-08-20 07:59:16 +00:00
"id": 646,
2018-05-31 13:01:02 +00:00
"name": "checkAndClearConfirmations",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 739,
"src": "3237:26:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
"typeString": "function (bytes32)"
}
},
2018-08-20 07:59:16 +00:00
"id": 648,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "3237:43:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-08-20 07:59:16 +00:00
"id": 649,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "3237:43:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 654,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 650,
2018-05-31 13:01:02 +00:00
"name": "isExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 550,
"src": "3343:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 652,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 651,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 628,
"src": "3354:15:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "3343:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "31",
2018-08-20 07:59:16 +00:00
"id": 653,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
2018-05-31 13:01:02 +00:00
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "3373:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
2018-05-31 13:01:02 +00:00
},
"value": "1"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"src": "3343:31:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 655,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "3343:31:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 658,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 616,
"src": "3400:2:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 659,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 618,
"src": "3404:5:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 660,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 620,
"src": "3411:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 661,
2018-05-31 13:01:02 +00:00
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 622,
"src": "3417:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
2018-08-20 07:59:16 +00:00
"id": 662,
2018-05-31 13:01:02 +00:00
"name": "gasleft",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3821,
"src": "3428:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$",
"typeString": "function () view returns (uint256)"
}
},
2018-08-20 07:59:16 +00:00
"id": 663,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "3428:9:6",
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"
},
{
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2018-08-20 07:59:16 +00:00
"id": 657,
2018-05-31 13:01:02 +00:00
"name": "execute",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 115,
"src": "3392:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"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-08-20 07:59:16 +00:00
"id": 664,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "3392:46:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "436f756c64206e6f7420657865637574652073616665207472616e73616374696f6e",
2018-08-20 07:59:16 +00:00
"id": 665,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "3440:36:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_d12b254798790cac45e0b54201b0ecf8f3257f9e4c1cfc4633e272006616c878",
"typeString": "literal_string \"Could not execute safe transaction\""
},
"value": "Could not execute safe transaction"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_d12b254798790cac45e0b54201b0ecf8f3257f9e4c1cfc4633e272006616c878",
"typeString": "literal_string \"Could not execute safe transaction\""
}
],
2018-08-20 07:59:16 +00:00
"id": 656,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-08-20 07:59:16 +00:00
3831,
3832
2018-05-31 13:01:02 +00:00
],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3832,
"src": "3384:7:6",
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-08-20 07:59:16 +00:00
"id": 666,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "3384:93:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-08-20 07:59:16 +00:00
"id": 667,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "3384:93:6"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": "@dev Allows to execute a Safe transaction confirmed by required number of owners. If the sender is an owner this is automatically confirmed.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.",
2018-08-20 07:59:16 +00:00
"id": 669,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "execTransactionIfApproved",
"nodeType": "FunctionDefinition",
"parameters": {
2018-08-20 07:59:16 +00:00
"id": 625,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 616,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "2910:10:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 615,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "2910:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 618,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "2931:13:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 617,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "2931:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 620,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "2955:10:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 619,
2018-05-31 13:01:02 +00:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "2955:5:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 622,
2018-05-31 13:01:02 +00:00
"name": "operation",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "2976:24:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
},
"typeName": {
"contractScope": null,
2018-08-20 07:59:16 +00:00
"id": 621,
2018-05-31 13:01:02 +00:00
"name": "Enum.Operation",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 29,
2018-08-20 07:59:16 +00:00
"src": "2976:14:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 624,
2018-05-31 13:01:02 +00:00
"name": "nonce",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "3011:13:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 623,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3011:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"src": "2900:130:6"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-08-20 07:59:16 +00:00
"id": 626,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-08-20 07:59:16 +00:00
"src": "3050:0:6"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "2866:618:6",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-08-20 07:59:16 +00:00
"id": 738,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "3572:679:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"assignments": [
2018-08-20 07:59:16 +00:00
677
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 677,
2018-05-31 13:01:02 +00:00
"name": "approvals",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 739,
"src": "3582:37:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 676,
2018-05-31 13:01:02 +00:00
"keyType": {
2018-08-20 07:59:16 +00:00
"id": 674,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3590:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
2018-08-20 07:59:16 +00:00
"src": "3582:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
2018-08-20 07:59:16 +00:00
"id": 675,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3601:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"id": 681,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 678,
2018-05-31 13:01:02 +00:00
"name": "isApproved",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 556,
"src": "3622:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(bytes32 => mapping(address => uint256))"
}
},
2018-08-20 07:59:16 +00:00
"id": 680,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 679,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 671,
"src": "3633:15:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "3622:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"nodeType": "VariableDeclarationStatement",
2018-08-20 07:59:16 +00:00
"src": "3582:67:6"
2018-05-31 13:01:02 +00:00
},
{
"assignments": [
2018-08-20 07:59:16 +00:00
683
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 683,
2018-05-31 13:01:02 +00:00
"name": "confirmations",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 739,
"src": "3659:21:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 682,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3659:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"id": 685,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 684,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "3683:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
2018-08-20 07:59:16 +00:00
"src": "3659:25:6"
2018-05-31 13:01:02 +00:00
},
{
"assignments": [
2018-08-20 07:59:16 +00:00
687
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 687,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 739,
"src": "3736:20:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 686,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3736:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"id": 691,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 688,
2018-05-31 13:01:02 +00:00
"name": "owners",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 1194,
"src": "3759:6:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
"typeString": "mapping(address => address)"
}
},
2018-08-20 07:59:16 +00:00
"id": 690,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 689,
2018-05-31 13:01:02 +00:00
"name": "SENTINEL_OWNERS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 1190,
"src": "3766:15:6",
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-08-20 07:59:16 +00:00
"src": "3759:23:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2018-08-20 07:59:16 +00:00
"src": "3736:46:6"
2018-05-31 13:01:02 +00:00
},
{
"body": {
2018-08-20 07:59:16 +00:00
"id": 729,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "3832:340:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"assignments": [
2018-08-20 07:59:16 +00:00
696
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 696,
2018-05-31 13:01:02 +00:00
"name": "ownerConfirmed",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 739,
"src": "3846:19:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 695,
2018-05-31 13:01:02 +00:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3846:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"id": 702,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2018-08-20 07:59:16 +00:00
"id": 701,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 697,
2018-05-31 13:01:02 +00:00
"name": "approvals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 677,
"src": "3868:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
2018-08-20 07:59:16 +00:00
"id": 699,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 698,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "3878:12:6",
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-08-20 07:59:16 +00:00
"src": "3868:23:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 700,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "3895:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-08-20 07:59:16 +00:00
"src": "3868:28:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "VariableDeclarationStatement",
2018-08-20 07:59:16 +00:00
"src": "3846:50:6"
2018-05-31 13:01:02 +00:00
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
2018-08-20 07:59:16 +00:00
"id": 708,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-08-20 07:59:16 +00:00
"id": 706,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 703,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "3913:12:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 704,
2018-05-31 13:01:02 +00:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3828,
"src": "3929:3:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2018-08-20 07:59:16 +00:00
"id": 705,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-08-20 07:59:16 +00:00
"src": "3929:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-08-20 07:59:16 +00:00
"src": "3913:26:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "BinaryOperation",
"operator": "||",
"rightExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 707,
2018-05-31 13:01:02 +00:00
"name": "ownerConfirmed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 696,
"src": "3943:14:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-08-20 07:59:16 +00:00
"src": "3913:44:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
2018-08-20 07:59:16 +00:00
"id": 722,
2018-05-31 13:01:02 +00:00
"nodeType": "IfStatement",
2018-08-20 07:59:16 +00:00
"src": "3910:203:6",
2018-05-31 13:01:02 +00:00
"trueBody": {
2018-08-20 07:59:16 +00:00
"id": 721,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "3959:154:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"condition": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 709,
2018-05-31 13:01:02 +00:00
"name": "ownerConfirmed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 696,
"src": "3981:14:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
2018-08-20 07:59:16 +00:00
"id": 717,
2018-05-31 13:01:02 +00:00
"nodeType": "IfStatement",
2018-08-20 07:59:16 +00:00
"src": "3977:88:6",
2018-05-31 13:01:02 +00:00
"trueBody": {
2018-08-20 07:59:16 +00:00
"id": 716,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "3997:68:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 714,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 710,
2018-05-31 13:01:02 +00:00
"name": "approvals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 677,
"src": "4019:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
2018-08-20 07:59:16 +00:00
"id": 712,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 711,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "4029:12:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "4019:23:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 713,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "4045:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-08-20 07:59:16 +00:00
"src": "4019:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-08-20 07:59:16 +00:00
"id": 715,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "4019:27:6"
2018-05-31 13:01:02 +00:00
}
]
}
},
{
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 719,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
2018-08-20 07:59:16 +00:00
"src": "4082:16:6",
2018-05-31 13:01:02 +00:00
"subExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 718,
2018-05-31 13:01:02 +00:00
"name": "confirmations",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 683,
"src": "4082:13:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-08-20 07:59:16 +00:00
"id": 720,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "4082:16:6"
2018-05-31 13:01:02 +00:00
}
]
}
},
{
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 727,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 723,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "4126:12:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 724,
2018-05-31 13:01:02 +00:00
"name": "owners",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 1194,
"src": "4141:6:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
"typeString": "mapping(address => address)"
}
},
2018-08-20 07:59:16 +00:00
"id": 726,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 725,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "4148:12:6",
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-08-20 07:59:16 +00:00
"src": "4141:20:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-08-20 07:59:16 +00:00
"src": "4126:35:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-08-20 07:59:16 +00:00
"id": 728,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "4126:35:6"
2018-05-31 13:01:02 +00:00
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-08-20 07:59:16 +00:00
"id": 694,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 692,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "3799:12:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 693,
2018-05-31 13:01:02 +00:00
"name": "SENTINEL_OWNERS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 1190,
"src": "3815:15:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-08-20 07:59:16 +00:00
"src": "3799:31:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-08-20 07:59:16 +00:00
"id": 730,
2018-05-31 13:01:02 +00:00
"nodeType": "WhileStatement",
2018-08-20 07:59:16 +00:00
"src": "3792:380:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2018-08-20 07:59:16 +00:00
"id": 734,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 732,
2018-05-31 13:01:02 +00:00
"name": "confirmations",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 683,
"src": "4189:13:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 733,
2018-05-31 13:01:02 +00:00
"name": "threshold",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 1198,
"src": "4206:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"src": "4189:26:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4e6f7420656e6f75676820636f6e6669726d6174696f6e73",
2018-08-20 07:59:16 +00:00
"id": 735,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "4217:26:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_b345da2aaad39251196728cc7926bed93e890843c2a47c2cdd1122427d828094",
"typeString": "literal_string \"Not enough confirmations\""
},
"value": "Not enough confirmations"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_b345da2aaad39251196728cc7926bed93e890843c2a47c2cdd1122427d828094",
"typeString": "literal_string \"Not enough confirmations\""
}
],
2018-08-20 07:59:16 +00:00
"id": 731,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-08-20 07:59:16 +00:00
3831,
3832
2018-05-31 13:01:02 +00:00
],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3832,
"src": "4181:7:6",
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-08-20 07:59:16 +00:00
"id": 736,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "4181:63:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-08-20 07:59:16 +00:00
"id": 737,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "4181:63:6"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": null,
2018-08-20 07:59:16 +00:00
"id": 739,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "checkAndClearConfirmations",
"nodeType": "FunctionDefinition",
"parameters": {
2018-08-20 07:59:16 +00:00
"id": 672,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 671,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 739,
"src": "3526:23:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 670,
2018-05-31 13:01:02 +00:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3526:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"src": "3525:25:6"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-08-20 07:59:16 +00:00
"id": 673,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-08-20 07:59:16 +00:00
"src": "3572:0:6"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "3490:761:6",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
2018-08-20 07:59:16 +00:00
"id": 784,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "4745:250:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
2018-08-20 07:59:16 +00:00
"assignments": [
755
],
"declarations": [
{
"constant": false,
"id": 755,
"name": "safeTxHash",
"nodeType": "VariableDeclaration",
"scope": 785,
"src": "4755:18:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 754,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "4755:7:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 769,
"initialValue": {
2018-05-31 13:01:02 +00:00
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
2018-08-20 07:59:16 +00:00
{
"argumentTypes": null,
"id": 759,
"name": "SAFE_TX_TYPEHASH",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 546,
"src": "4810:16:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"id": 760,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 741,
"src": "4828:2:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 761,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 743,
"src": "4832:5:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-05-31 13:01:02 +00:00
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 763,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 745,
"src": "4849:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
2018-05-31 13:01:02 +00:00
}
],
"expression": {
"argumentTypes": [
{
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
2018-05-31 13:01:02 +00:00
}
],
2018-08-20 07:59:16 +00:00
"id": 762,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3822,
"src": "4839:9:6",
"typeDescriptions": {
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
"typeString": "function () pure returns (bytes32)"
}
},
"id": 764,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4839:15:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"id": 765,
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 747,
"src": "4856:9:6",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
"id": 766,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 749,
"src": "4867:5:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 757,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3815,
"src": "4799:3:6",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 758,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encode",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "4799:10:6",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 767,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4799:74:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 756,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3822,
"src": "4776:9:6",
"typeDescriptions": {
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
"typeString": "function () pure returns (bytes32)"
}
},
"id": 768,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4776:107:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "4755:128:6"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30783139",
"id": 774,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4945:4:6",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_25_by_1",
"typeString": "int_const 25"
},
"value": "0x19"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_25_by_1",
"typeString": "int_const 25"
}
],
"id": 773,
"isConstant": false,
2018-05-31 13:01:02 +00:00
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2018-08-20 07:59:16 +00:00
"src": "4940:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": "byte"
},
2018-08-20 07:59:16 +00:00
"id": 775,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "4940:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"hexValue": "31",
"id": 777,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "4957:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"value": "1"
2018-05-31 13:01:02 +00:00
}
],
"expression": {
"argumentTypes": [
{
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
2018-05-31 13:01:02 +00:00
}
],
2018-08-20 07:59:16 +00:00
"id": 776,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2018-08-20 07:59:16 +00:00
"src": "4952:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": "byte"
},
2018-08-20 07:59:16 +00:00
"id": 778,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "4952:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 779,
2018-05-31 13:01:02 +00:00
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3869,
"src": "4961:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_contract$_GnosisSafeTeamEdition_$786",
2018-05-31 13:01:02 +00:00
"typeString": "contract GnosisSafeTeamEdition"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 780,
"name": "safeTxHash",
2018-05-31 13:01:02 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 755,
"src": "4967:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2018-05-31 13:01:02 +00:00
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_contract$_GnosisSafeTeamEdition_$786",
2018-05-31 13:01:02 +00:00
"typeString": "contract GnosisSafeTeamEdition"
},
{
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2018-05-31 13:01:02 +00:00
}
],
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 771,
2018-05-31 13:01:02 +00:00
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3815,
"src": "4923:3:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
2018-08-20 07:59:16 +00:00
"id": 772,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-08-20 07:59:16 +00:00
"src": "4923:16:6",
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-08-20 07:59:16 +00:00
"id": 781,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "4923:55:6",
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-08-20 07:59:16 +00:00
"id": 770,
2018-05-31 13:01:02 +00:00
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3822,
"src": "4900:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
"typeString": "function () pure returns (bytes32)"
}
},
2018-08-20 07:59:16 +00:00
"id": 782,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "4900:88:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-08-20 07:59:16 +00:00
"functionReturnParameters": 753,
"id": 783,
2018-05-31 13:01:02 +00:00
"nodeType": "Return",
2018-08-20 07:59:16 +00:00
"src": "4893:95:6"
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 nonce Transaction nonce.\n @return Transaction hash.",
2018-08-20 07:59:16 +00:00
"id": 785,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getTransactionHash",
"nodeType": "FunctionDefinition",
"parameters": {
2018-08-20 07:59:16 +00:00
"id": 750,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 741,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4566:10:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 740,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "4566:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 743,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4587:13:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 742,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "4587:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 745,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4611:10:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 744,
2018-05-31 13:01:02 +00:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "4611:5:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 747,
2018-05-31 13:01:02 +00:00
"name": "operation",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4632:24:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
},
"typeName": {
"contractScope": null,
2018-08-20 07:59:16 +00:00
"id": 746,
2018-05-31 13:01:02 +00:00
"name": "Enum.Operation",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 29,
2018-08-20 07:59:16 +00:00
"src": "4632:14:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 749,
2018-05-31 13:01:02 +00:00
"name": "nonce",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4667:13:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 748,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "4667:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"src": "4556:130:6"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-08-20 07:59:16 +00:00
"id": 753,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 752,
2018-05-31 13:01:02 +00:00
"name": "",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4732:7:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 751,
2018-05-31 13:01:02 +00:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "4732:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"src": "4731:9:6"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "4529:466:6",
2018-05-31 13:01:02 +00:00
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
}
],
2018-08-20 07:59:16 +00:00
"scope": 787,
"src": "272:4725:6"
2018-05-31 13:01:02 +00:00
}
],
2018-08-20 07:59:16 +00:00
"src": "0:4998:6"
2018-05-31 13:01:02 +00:00
},
"legacyAST": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafeTeamEdition.sol",
"exportedSymbols": {
"GnosisSafeTeamEdition": [
2018-08-20 07:59:16 +00:00
786
2018-05-31 13:01:02 +00:00
]
},
2018-08-20 07:59:16 +00:00
"id": 787,
2018-05-31 13:01:02 +00:00
"nodeType": "SourceUnit",
"nodes": [
{
2018-08-20 07:59:16 +00:00
"id": 531,
2018-05-31 13:01:02 +00:00
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
2018-08-20 07:59:16 +00:00
"src": "0:23:6"
2018-05-31 13:01:02 +00:00
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/GnosisSafe.sol",
"file": "./GnosisSafe.sol",
2018-08-20 07:59:16 +00:00
"id": 532,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-08-20 07:59:16 +00:00
"scope": 787,
"sourceUnit": 209,
"src": "24:26:6",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol",
"file": "./MasterCopy.sol",
2018-08-20 07:59:16 +00:00
"id": 533,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-08-20 07:59:16 +00:00
"scope": 787,
"sourceUnit": 814,
"src": "51:26:6",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-08-20 07:59:16 +00:00
"id": 534,
2018-05-31 13:01:02 +00:00
"name": "MasterCopy",
"nodeType": "UserDefinedTypeName",
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 813,
"src": "306:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_contract$_MasterCopy_$813",
2018-05-31 13:01:02 +00:00
"typeString": "contract MasterCopy"
}
},
2018-08-20 07:59:16 +00:00
"id": 535,
2018-05-31 13:01:02 +00:00
"nodeType": "InheritanceSpecifier",
2018-08-20 07:59:16 +00:00
"src": "306:10:6"
2018-05-31 13:01:02 +00:00
},
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-08-20 07:59:16 +00:00
"id": 536,
2018-05-31 13:01:02 +00:00
"name": "GnosisSafe",
"nodeType": "UserDefinedTypeName",
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 208,
"src": "318:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_contract$_GnosisSafe_$208",
2018-05-31 13:01:02 +00:00
"typeString": "contract GnosisSafe"
}
},
2018-08-20 07:59:16 +00:00
"id": 537,
2018-05-31 13:01:02 +00:00
"nodeType": "InheritanceSpecifier",
2018-08-20 07:59:16 +00:00
"src": "318:10:6"
2018-05-31 13:01:02 +00:00
}
],
"contractDependencies": [
2018-08-20 07:59:16 +00:00
208,
153,
37,
813,
1180,
1588,
1765
2018-05-31 13:01:02 +00:00
],
"contractKind": "contract",
"documentation": "@title Gnosis Safe Team Edition - A multisignature wallet with support for confirmations.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true,
2018-08-20 07:59:16 +00:00
"id": 786,
2018-05-31 13:01:02 +00:00
"linearizedBaseContracts": [
2018-08-20 07:59:16 +00:00
786,
208,
1588,
1180,
153,
37,
813,
1765
2018-05-31 13:01:02 +00:00
],
"name": "GnosisSafeTeamEdition",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
2018-08-20 07:59:16 +00:00
"id": 540,
2018-05-31 13:01:02 +00:00
"name": "NAME",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "336:56:6",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 538,
2018-05-31 13:01:02 +00:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "336:6:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "476e6f7369732053616665205465616d2045646974696f6e",
2018-08-20 07:59:16 +00:00
"id": 539,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "366:26:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_69b1cb372bb47730ba653a0e87363aa6de8337d13ed5852e6fe3ba4e2004a81e",
"typeString": "literal_string \"Gnosis Safe Team Edition\""
},
"value": "Gnosis Safe Team Edition"
},
"visibility": "public"
},
{
"constant": true,
2018-08-20 07:59:16 +00:00
"id": 543,
2018-05-31 13:01:02 +00:00
"name": "VERSION",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "399:40:6",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 541,
2018-05-31 13:01:02 +00:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "399:6:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "302e302e31",
2018-08-20 07:59:16 +00:00
"id": 542,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "432:7:6",
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"
},
2018-08-20 07:59:16 +00:00
{
"constant": true,
"id": 546,
"name": "SAFE_TX_TYPEHASH",
"nodeType": "VariableDeclaration",
"scope": 786,
"src": "561:109:6",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 544,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "561:7:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": {
"argumentTypes": null,
"hexValue": "307835643162626134386666343739656238613838656336303239663662356565626338303563376463623837343730643562313132316433366438323463383733",
"id": 545,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "604:66:6",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_42114085481813550712033693253853890854456273647728279042821730599331164375155_by_1",
"typeString": "int_const 4211...(69 digits omitted)...5155"
},
"value": "0x5d1bba48ff479eb8a88ec6029f6b5eebc805c7dcb87470d5b1121d36d824c873"
},
"visibility": "public"
},
2018-05-31 13:01:02 +00:00
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 550,
2018-05-31 13:01:02 +00:00
"name": "isExecuted",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "768:46:6",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
2018-05-31 13:01:02 +00:00
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 549,
2018-05-31 13:01:02 +00:00
"keyType": {
2018-08-20 07:59:16 +00:00
"id": 547,
2018-05-31 13:01:02 +00:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "777:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
2018-08-20 07:59:16 +00:00
"src": "768:28:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
2018-05-31 13:01:02 +00:00
},
"valueType": {
2018-08-20 07:59:16 +00:00
"id": 548,
"name": "uint256",
2018-05-31 13:01:02 +00:00
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "788:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 556,
2018-05-31 13:01:02 +00:00
"name": "isApproved",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "1002:66:6",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(bytes32 => mapping(address => uint256))"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 555,
2018-05-31 13:01:02 +00:00
"keyType": {
2018-08-20 07:59:16 +00:00
"id": 551,
2018-05-31 13:01:02 +00:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "1011:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
2018-08-20 07:59:16 +00:00
"src": "1002:48:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(bytes32 => mapping(address => uint256))"
},
"valueType": {
2018-08-20 07:59:16 +00:00
"id": 554,
2018-05-31 13:01:02 +00:00
"keyType": {
2018-08-20 07:59:16 +00:00
"id": 552,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "1030:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
2018-08-20 07:59:16 +00:00
"src": "1022:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
2018-08-20 07:59:16 +00:00
"id": 553,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "1041:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
}
},
"value": null,
"visibility": "public"
},
{
"body": {
2018-08-20 07:59:16 +00:00
"id": 589,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "1350:358:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-08-20 07:59:16 +00:00
"id": 567,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 562,
2018-05-31 13:01:02 +00:00
"name": "owners",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 1194,
"src": "1438:6:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
"typeString": "mapping(address => address)"
}
},
2018-08-20 07:59:16 +00:00
"id": 565,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 563,
2018-05-31 13:01:02 +00:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3828,
"src": "1445:3:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2018-08-20 07:59:16 +00:00
"id": 564,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-08-20 07:59:16 +00:00
"src": "1445:10:6",
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-08-20 07:59:16 +00:00
"src": "1438:18:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 566,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "1460:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-08-20 07:59:16 +00:00
"src": "1438:23:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "53656e646572206973206e6f7420616e206f776e6572",
2018-08-20 07:59:16 +00:00
"id": 568,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "1463:24:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_b22a5f47ffb62866097c90f90b5b53f76973769c84a10c62e12a07eb2ba1ef4a",
"typeString": "literal_string \"Sender is not an owner\""
},
"value": "Sender is not an owner"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_b22a5f47ffb62866097c90f90b5b53f76973769c84a10c62e12a07eb2ba1ef4a",
"typeString": "literal_string \"Sender is not an owner\""
}
],
2018-08-20 07:59:16 +00:00
"id": 561,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-08-20 07:59:16 +00:00
3831,
3832
2018-05-31 13:01:02 +00:00
],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3832,
"src": "1430:7:6",
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-08-20 07:59:16 +00:00
"id": 569,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "1430:58:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-08-20 07:59:16 +00:00
"id": 570,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "1430:58:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2018-08-20 07:59:16 +00:00
"id": 576,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
2018-05-31 13:01:02 +00:00
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 572,
2018-05-31 13:01:02 +00:00
"name": "isExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 550,
"src": "1578:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 574,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 573,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 558,
"src": "1589:15:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "1578:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 575,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "1609:1:6",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-08-20 07:59:16 +00:00
"src": "1578:32:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "53616665207472616e73616374696f6e20616c7265616479206578656375746564",
2018-08-20 07:59:16 +00:00
"id": 577,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "1612:35:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
"typeString": "literal_string \"Safe transaction already executed\""
},
"value": "Safe transaction already executed"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
"typeString": "literal_string \"Safe transaction already executed\""
}
],
2018-08-20 07:59:16 +00:00
"id": 571,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-08-20 07:59:16 +00:00
3831,
3832
2018-05-31 13:01:02 +00:00
],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3832,
"src": "1570:7:6",
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-08-20 07:59:16 +00:00
"id": 578,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "1570:78:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-08-20 07:59:16 +00:00
"id": 579,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "1570:78:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 587,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 580,
2018-05-31 13:01:02 +00:00
"name": "isApproved",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 556,
"src": "1658:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(bytes32 => mapping(address => uint256))"
}
},
2018-08-20 07:59:16 +00:00
"id": 584,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 581,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 558,
"src": "1669:15:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "1658:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
2018-08-20 07:59:16 +00:00
"id": 585,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 582,
2018-05-31 13:01:02 +00:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3828,
"src": "1686:3:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2018-08-20 07:59:16 +00:00
"id": 583,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-08-20 07:59:16 +00:00
"src": "1686:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "1658:39:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "31",
2018-08-20 07:59:16 +00:00
"id": 586,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "1700:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
2018-08-20 07:59:16 +00:00
"src": "1658:43:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-08-20 07:59:16 +00:00
"id": 588,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "1658:43:6"
2018-05-31 13:01:02 +00:00
}
]
},
2018-08-20 07:59:16 +00:00
"documentation": "@dev Allows to confirm a Safe transaction with a regular transaction.\n This can only be done from an owner address.\n @param transactionHash Hash of the Safe transaction.",
"id": 590,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
2018-08-20 07:59:16 +00:00
"name": "approveTransactionByHash",
2018-05-31 13:01:02 +00:00
"nodeType": "FunctionDefinition",
"parameters": {
2018-08-20 07:59:16 +00:00
"id": 559,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 558,
"name": "transactionHash",
2018-05-31 13:01:02 +00:00
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 590,
"src": "1306:23:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2018-05-31 13:01:02 +00:00
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 557,
"name": "bytes32",
2018-05-31 13:01:02 +00:00
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "1306:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2018-05-31 13:01:02 +00:00
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"src": "1305:25:6"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-08-20 07:59:16 +00:00
"id": 560,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-08-20 07:59:16 +00:00
"src": "1350:0:6"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "1272:436:6",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-08-20 07:59:16 +00:00
"id": 613,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "2328:96:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
2018-08-20 07:59:16 +00:00
"expression": {
2018-05-31 13:01:02 +00:00
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"arguments": [
{
2018-05-31 13:01:02 +00:00
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 605,
"name": "to",
2018-05-31 13:01:02 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 592,
"src": "2382:2:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_address",
"typeString": "address"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
{
2018-05-31 13:01:02 +00:00
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 606,
"name": "value",
2018-05-31 13:01:02 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 594,
"src": "2386:5:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
{
"argumentTypes": null,
"id": 607,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 596,
"src": "2393:4:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
"id": 608,
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 598,
"src": "2399:9:6",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
"id": 609,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 600,
"src": "2410:5:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
2018-05-31 13:01:02 +00:00
}
2018-08-20 07:59:16 +00:00
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 604,
"name": "getTransactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 785,
"src": "2363:18:6",
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$",
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
}
},
2018-08-20 07:59:16 +00:00
"id": 610,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
2018-08-20 07:59:16 +00:00
"isPure": false,
"kind": "functionCall",
2018-05-31 13:01:02 +00:00
"lValueRequested": false,
2018-08-20 07:59:16 +00:00
"names": [],
"nodeType": "FunctionCall",
"src": "2363:53:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
2018-05-31 13:01:02 +00:00
}
],
"expression": {
"argumentTypes": [
{
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2018-05-31 13:01:02 +00:00
}
],
2018-08-20 07:59:16 +00:00
"id": 603,
"name": "approveTransactionByHash",
2018-05-31 13:01:02 +00:00
"nodeType": "Identifier",
2018-08-20 07:59:16 +00:00
"overloadedDeclarations": [],
"referencedDeclaration": 590,
"src": "2338:24:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
"typeString": "function (bytes32)"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 611,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "2338:79:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-08-20 07:59:16 +00:00
"id": 612,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "2338:79:6"
}
]
},
"documentation": "@dev Allows to confirm a Safe transaction with a regular transaction.\n This can only be done from an owner address.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.",
"id": 614,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "approveTransactionWithParameters",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 601,
"nodeType": "ParameterList",
"parameters": [
2018-05-31 13:01:02 +00:00
{
2018-08-20 07:59:16 +00:00
"constant": false,
"id": 592,
"name": "to",
"nodeType": "VariableDeclaration",
"scope": 614,
"src": "2188:10:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 591,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2188:7:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 594,
"name": "value",
"nodeType": "VariableDeclaration",
"scope": 614,
"src": "2209:13:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 593,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2209:7:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 596,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 614,
"src": "2233:10:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 595,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2233:5:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 598,
"name": "operation",
"nodeType": "VariableDeclaration",
"scope": 614,
"src": "2254:24:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
},
"typeName": {
"contractScope": null,
"id": 597,
"name": "Enum.Operation",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 29,
"src": "2254:14:6",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 600,
"name": "nonce",
"nodeType": "VariableDeclaration",
"scope": 614,
"src": "2289:13:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 599,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2289:7:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2178:130:6"
},
"payable": false,
"returnParameters": {
"id": 602,
"nodeType": "ParameterList",
"parameters": [],
"src": "2328:0:6"
},
"scope": 786,
"src": "2137:287:6",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 668,
"nodeType": "Block",
"src": "3050:434:6",
"statements": [
{
"assignments": [
628
],
"declarations": [
{
"constant": false,
"id": 628,
"name": "transactionHash",
"nodeType": "VariableDeclaration",
"scope": 669,
"src": "3060:23:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 627,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "3060:7:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 636,
"initialValue": {
2018-05-31 13:01:02 +00:00
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 630,
"name": "to",
2018-05-31 13:01:02 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 616,
"src": "3105:2:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 631,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 618,
"src": "3109:5:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 632,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 620,
"src": "3116:4:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
"id": 633,
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 622,
"src": "3122:9:6",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
"id": 634,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 624,
"src": "3133:5:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
}
],
"expression": {
"argumentTypes": [
{
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
],
2018-08-20 07:59:16 +00:00
"id": 629,
"name": "getTransactionHash",
2018-05-31 13:01:02 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 785,
"src": "3086:18:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$29_$_t_uint256_$returns$_t_bytes32_$",
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation,uint256) view returns (bytes32)"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 635,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "3086:53:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"nodeType": "VariableDeclarationStatement",
"src": "3060:79:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"arguments": [
{
2018-05-31 13:01:02 +00:00
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 642,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 638,
"name": "isExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 550,
"src": "3157:10:6",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
}
},
"id": 640,
"indexExpression": {
"argumentTypes": null,
"id": 639,
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 628,
"src": "3168:15:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "3157:27:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 641,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3188:1:6",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "3157:32:6",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "53616665207472616e73616374696f6e20616c7265616479206578656375746564",
"id": 643,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3191:35:6",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
"typeString": "literal_string \"Safe transaction already executed\""
},
"value": "Safe transaction already executed"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_78cc689035dd21cb903fbad8327952ddf83800cf1115919ff1ad2be36eed70db",
"typeString": "literal_string \"Safe transaction already executed\""
}
],
"id": 637,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
3831,
3832
],
"referencedDeclaration": 3832,
"src": "3149:7:6",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 644,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3149:78:6",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 645,
"nodeType": "ExpressionStatement",
"src": "3149:78:6"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 647,
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 628,
"src": "3264:15:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 646,
"name": "checkAndClearConfirmations",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 739,
"src": "3237:26:6",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$",
"typeString": "function (bytes32)"
}
},
"id": 648,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3237:43:6",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 649,
"nodeType": "ExpressionStatement",
"src": "3237:43:6"
},
{
"expression": {
"argumentTypes": null,
"id": 654,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 650,
"name": "isExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 550,
"src": "3343:10:6",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
"typeString": "mapping(bytes32 => uint256)"
}
},
"id": 652,
"indexExpression": {
"argumentTypes": null,
"id": 651,
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 628,
"src": "3354:15:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
2018-05-31 13:01:02 +00:00
"lValueRequested": true,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "3343:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "31",
2018-08-20 07:59:16 +00:00
"id": 653,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
2018-05-31 13:01:02 +00:00
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "3373:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
2018-05-31 13:01:02 +00:00
},
"value": "1"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"src": "3343:31:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 655,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "3343:31:6"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 658,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 616,
"src": "3400:2:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 659,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 618,
"src": "3404:5:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 660,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 620,
"src": "3411:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 661,
2018-05-31 13:01:02 +00:00
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 622,
"src": "3417:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
2018-08-20 07:59:16 +00:00
"id": 662,
2018-05-31 13:01:02 +00:00
"name": "gasleft",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3821,
"src": "3428:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$",
"typeString": "function () view returns (uint256)"
}
},
2018-08-20 07:59:16 +00:00
"id": 663,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "3428:9:6",
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"
},
{
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
2018-08-20 07:59:16 +00:00
"id": 657,
2018-05-31 13:01:02 +00:00
"name": "execute",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 115,
"src": "3392:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"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-08-20 07:59:16 +00:00
"id": 664,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "3392:46:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "436f756c64206e6f7420657865637574652073616665207472616e73616374696f6e",
2018-08-20 07:59:16 +00:00
"id": 665,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "3440:36:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_d12b254798790cac45e0b54201b0ecf8f3257f9e4c1cfc4633e272006616c878",
"typeString": "literal_string \"Could not execute safe transaction\""
},
"value": "Could not execute safe transaction"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_d12b254798790cac45e0b54201b0ecf8f3257f9e4c1cfc4633e272006616c878",
"typeString": "literal_string \"Could not execute safe transaction\""
}
],
2018-08-20 07:59:16 +00:00
"id": 656,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-08-20 07:59:16 +00:00
3831,
3832
2018-05-31 13:01:02 +00:00
],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3832,
"src": "3384:7:6",
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-08-20 07:59:16 +00:00
"id": 666,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "3384:93:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-08-20 07:59:16 +00:00
"id": 667,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "3384:93:6"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": "@dev Allows to execute a Safe transaction confirmed by required number of owners. If the sender is an owner this is automatically confirmed.\n @param to Destination address of Safe transaction.\n @param value Ether value of Safe transaction.\n @param data Data payload of Safe transaction.\n @param operation Operation type of Safe transaction.\n @param nonce Nonce used for this Safe transaction.",
2018-08-20 07:59:16 +00:00
"id": 669,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "execTransactionIfApproved",
"nodeType": "FunctionDefinition",
"parameters": {
2018-08-20 07:59:16 +00:00
"id": 625,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 616,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "2910:10:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 615,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "2910:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 618,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "2931:13:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 617,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "2931:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 620,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "2955:10:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 619,
2018-05-31 13:01:02 +00:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "2955:5:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 622,
2018-05-31 13:01:02 +00:00
"name": "operation",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "2976:24:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
},
"typeName": {
"contractScope": null,
2018-08-20 07:59:16 +00:00
"id": 621,
2018-05-31 13:01:02 +00:00
"name": "Enum.Operation",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 29,
2018-08-20 07:59:16 +00:00
"src": "2976:14:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 624,
2018-05-31 13:01:02 +00:00
"name": "nonce",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 669,
"src": "3011:13:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 623,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3011:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"src": "2900:130:6"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-08-20 07:59:16 +00:00
"id": 626,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-08-20 07:59:16 +00:00
"src": "3050:0:6"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "2866:618:6",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-08-20 07:59:16 +00:00
"id": 738,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "3572:679:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"assignments": [
2018-08-20 07:59:16 +00:00
677
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 677,
2018-05-31 13:01:02 +00:00
"name": "approvals",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 739,
"src": "3582:37:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 676,
2018-05-31 13:01:02 +00:00
"keyType": {
2018-08-20 07:59:16 +00:00
"id": 674,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3590:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
2018-08-20 07:59:16 +00:00
"src": "3582:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
},
"valueType": {
2018-08-20 07:59:16 +00:00
"id": 675,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3601:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"id": 681,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 678,
2018-05-31 13:01:02 +00:00
"name": "isApproved",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 556,
"src": "3622:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
"typeString": "mapping(bytes32 => mapping(address => uint256))"
}
},
2018-08-20 07:59:16 +00:00
"id": 680,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 679,
2018-05-31 13:01:02 +00:00
"name": "transactionHash",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 671,
"src": "3633:15:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "3622:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
"nodeType": "VariableDeclarationStatement",
2018-08-20 07:59:16 +00:00
"src": "3582:67:6"
2018-05-31 13:01:02 +00:00
},
{
"assignments": [
2018-08-20 07:59:16 +00:00
683
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 683,
2018-05-31 13:01:02 +00:00
"name": "confirmations",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 739,
"src": "3659:21:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 682,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3659:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"id": 685,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 684,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "3683:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
2018-08-20 07:59:16 +00:00
"src": "3659:25:6"
2018-05-31 13:01:02 +00:00
},
{
"assignments": [
2018-08-20 07:59:16 +00:00
687
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 687,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 739,
"src": "3736:20:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 686,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3736:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"id": 691,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 688,
2018-05-31 13:01:02 +00:00
"name": "owners",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 1194,
"src": "3759:6:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
"typeString": "mapping(address => address)"
}
},
2018-08-20 07:59:16 +00:00
"id": 690,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 689,
2018-05-31 13:01:02 +00:00
"name": "SENTINEL_OWNERS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 1190,
"src": "3766:15:6",
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-08-20 07:59:16 +00:00
"src": "3759:23:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2018-08-20 07:59:16 +00:00
"src": "3736:46:6"
2018-05-31 13:01:02 +00:00
},
{
"body": {
2018-08-20 07:59:16 +00:00
"id": 729,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "3832:340:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"assignments": [
2018-08-20 07:59:16 +00:00
696
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 696,
2018-05-31 13:01:02 +00:00
"name": "ownerConfirmed",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 739,
"src": "3846:19:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 695,
2018-05-31 13:01:02 +00:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "3846:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"id": 702,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2018-08-20 07:59:16 +00:00
"id": 701,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 697,
2018-05-31 13:01:02 +00:00
"name": "approvals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 677,
"src": "3868:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
2018-08-20 07:59:16 +00:00
"id": 699,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 698,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "3878:12:6",
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-08-20 07:59:16 +00:00
"src": "3868:23:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 700,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "3895:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-08-20 07:59:16 +00:00
"src": "3868:28:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "VariableDeclarationStatement",
2018-08-20 07:59:16 +00:00
"src": "3846:50:6"
2018-05-31 13:01:02 +00:00
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
2018-08-20 07:59:16 +00:00
"id": 708,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-08-20 07:59:16 +00:00
"id": 706,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 703,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "3913:12:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 704,
2018-05-31 13:01:02 +00:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3828,
"src": "3929:3:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2018-08-20 07:59:16 +00:00
"id": 705,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-08-20 07:59:16 +00:00
"src": "3929:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-08-20 07:59:16 +00:00
"src": "3913:26:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "BinaryOperation",
"operator": "||",
"rightExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 707,
2018-05-31 13:01:02 +00:00
"name": "ownerConfirmed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 696,
"src": "3943:14:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-08-20 07:59:16 +00:00
"src": "3913:44:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
2018-08-20 07:59:16 +00:00
"id": 722,
2018-05-31 13:01:02 +00:00
"nodeType": "IfStatement",
2018-08-20 07:59:16 +00:00
"src": "3910:203:6",
2018-05-31 13:01:02 +00:00
"trueBody": {
2018-08-20 07:59:16 +00:00
"id": 721,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "3959:154:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"condition": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 709,
2018-05-31 13:01:02 +00:00
"name": "ownerConfirmed",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 696,
"src": "3981:14:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
2018-08-20 07:59:16 +00:00
"id": 717,
2018-05-31 13:01:02 +00:00
"nodeType": "IfStatement",
2018-08-20 07:59:16 +00:00
"src": "3977:88:6",
2018-05-31 13:01:02 +00:00
"trueBody": {
2018-08-20 07:59:16 +00:00
"id": 716,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-08-20 07:59:16 +00:00
"src": "3997:68:6",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 714,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 710,
2018-05-31 13:01:02 +00:00
"name": "approvals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 677,
"src": "4019:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
"typeString": "mapping(address => uint256)"
}
},
2018-08-20 07:59:16 +00:00
"id": 712,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 711,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "4029:12:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
2018-08-20 07:59:16 +00:00
"src": "4019:23:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "30",
2018-08-20 07:59:16 +00:00
"id": 713,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "4045:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-08-20 07:59:16 +00:00
"src": "4019:27:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-08-20 07:59:16 +00:00
"id": 715,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "4019:27:6"
2018-05-31 13:01:02 +00:00
}
]
}
},
{
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 719,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
2018-08-20 07:59:16 +00:00
"src": "4082:16:6",
2018-05-31 13:01:02 +00:00
"subExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 718,
2018-05-31 13:01:02 +00:00
"name": "confirmations",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 683,
"src": "4082:13:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-08-20 07:59:16 +00:00
"id": 720,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-08-20 07:59:16 +00:00
"src": "4082:16:6"
2018-05-31 13:01:02 +00:00
}
]
}
},
{
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 727,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 723,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "4126:12:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 724,
2018-05-31 13:01:02 +00:00
"name": "owners",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 1194,
"src": "4141:6:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_address_$",
"typeString": "mapping(address => address)"
}
},
2018-08-20 07:59:16 +00:00
"id": 726,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 725,
2018-05-31 13:01:02 +00:00
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 687,
"src": "4148:12:6",
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-08-20 07:59:16 +00:00
"src": "4141:20:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "4126:35:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 728,
"nodeType": "ExpressionStatement",
"src": "4126:35:6"
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 694,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 692,
"name": "currentOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 687,
"src": "3799:12:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"id": 693,
"name": "SENTINEL_OWNERS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1190,
"src": "3815:15:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "3799:31:6",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 730,
"nodeType": "WhileStatement",
"src": "3792:380:6"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 734,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 732,
"name": "confirmations",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 683,
"src": "4189:13:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"argumentTypes": null,
"id": 733,
"name": "threshold",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1198,
"src": "4206:9:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "4189:26:6",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4e6f7420656e6f75676820636f6e6669726d6174696f6e73",
"id": 735,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4217:26:6",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_b345da2aaad39251196728cc7926bed93e890843c2a47c2cdd1122427d828094",
"typeString": "literal_string \"Not enough confirmations\""
},
"value": "Not enough confirmations"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_b345da2aaad39251196728cc7926bed93e890843c2a47c2cdd1122427d828094",
"typeString": "literal_string \"Not enough confirmations\""
}
],
"id": 731,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
3831,
3832
],
"referencedDeclaration": 3832,
"src": "4181:7:6",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 736,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4181:63:6",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 737,
"nodeType": "ExpressionStatement",
"src": "4181:63:6"
}
]
},
"documentation": null,
"id": 739,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "checkAndClearConfirmations",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 672,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 671,
"name": "transactionHash",
"nodeType": "VariableDeclaration",
"scope": 739,
"src": "3526:23:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 670,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "3526:7:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3525:25:6"
},
"payable": false,
"returnParameters": {
"id": 673,
"nodeType": "ParameterList",
"parameters": [],
"src": "3572:0:6"
},
"scope": 786,
"src": "3490:761:6",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
},
{
"body": {
"id": 784,
"nodeType": "Block",
"src": "4745:250:6",
"statements": [
{
"assignments": [
755
],
"declarations": [
{
"constant": false,
"id": 755,
"name": "safeTxHash",
"nodeType": "VariableDeclaration",
"scope": 785,
"src": "4755:18:6",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 754,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "4755:7:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 769,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 759,
"name": "SAFE_TX_TYPEHASH",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 546,
"src": "4810:16:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"id": 760,
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 741,
"src": "4828:2:6",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 761,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 743,
"src": "4832:5:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 763,
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 745,
"src": "4849:4:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 762,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3822,
"src": "4839:9:6",
"typeDescriptions": {
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
"typeString": "function () pure returns (bytes32)"
}
},
"id": 764,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "4839:15:6",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"argumentTypes": null,
"id": 765,
"name": "operation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 747,
"src": "4856:9:6",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
}
},
{
"argumentTypes": null,
"id": 766,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 749,
"src": "4867:5:6",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_enum$_Operation_$29",
"typeString": "enum Enum.Operation"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"argumentTypes": null,
"id": 757,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3815,
"src": "4799:3:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 758,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encode",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "4799:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 767,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
2018-08-20 07:59:16 +00:00
"kind": "functionCall",
2018-05-31 13:01:02 +00:00
"lValueRequested": false,
2018-08-20 07:59:16 +00:00
"names": [],
"nodeType": "FunctionCall",
"src": "4799:74:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
2018-05-31 13:01:02 +00:00
}
}
],
"expression": {
"argumentTypes": [
{
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
2018-05-31 13:01:02 +00:00
}
],
2018-08-20 07:59:16 +00:00
"id": 756,
"name": "keccak256",
2018-05-31 13:01:02 +00:00
"nodeType": "Identifier",
2018-08-20 07:59:16 +00:00
"overloadedDeclarations": [],
"referencedDeclaration": 3822,
"src": "4776:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
"typeString": "function () pure returns (bytes32)"
2018-05-31 13:01:02 +00:00
}
},
2018-08-20 07:59:16 +00:00
"id": 768,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "4776:107:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-08-20 07:59:16 +00:00
"nodeType": "VariableDeclarationStatement",
"src": "4755:128:6"
},
2018-05-31 13:01:02 +00:00
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30783139",
2018-08-20 07:59:16 +00:00
"id": 774,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "4945:4:6",
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-08-20 07:59:16 +00:00
"id": 773,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2018-08-20 07:59:16 +00:00
"src": "4940:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": "byte"
},
2018-08-20 07:59:16 +00:00
"id": 775,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "4940:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"hexValue": "31",
"id": 777,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-08-20 07:59:16 +00:00
"src": "4957:1:6",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"value": "1"
2018-05-31 13:01:02 +00:00
}
],
"expression": {
"argumentTypes": [
{
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
2018-05-31 13:01:02 +00:00
}
],
2018-08-20 07:59:16 +00:00
"id": 776,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
2018-08-20 07:59:16 +00:00
"src": "4952:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": "byte"
},
2018-08-20 07:59:16 +00:00
"id": 778,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "4952:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 779,
2018-05-31 13:01:02 +00:00
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3869,
"src": "4961:4:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_contract$_GnosisSafeTeamEdition_$786",
2018-05-31 13:01:02 +00:00
"typeString": "contract GnosisSafeTeamEdition"
}
},
{
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 780,
"name": "safeTxHash",
2018-05-31 13:01:02 +00:00
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 755,
"src": "4967:10:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2018-05-31 13:01:02 +00:00
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_contract$_GnosisSafeTeamEdition_$786",
2018-05-31 13:01:02 +00:00
"typeString": "contract GnosisSafeTeamEdition"
},
{
2018-08-20 07:59:16 +00:00
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
2018-05-31 13:01:02 +00:00
}
],
"expression": {
"argumentTypes": null,
2018-08-20 07:59:16 +00:00
"id": 771,
2018-05-31 13:01:02 +00:00
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3815,
"src": "4923:3:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
2018-08-20 07:59:16 +00:00
"id": 772,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-08-20 07:59:16 +00:00
"src": "4923:16:6",
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-08-20 07:59:16 +00:00
"id": 781,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "4923:55:6",
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-08-20 07:59:16 +00:00
"id": 770,
2018-05-31 13:01:02 +00:00
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-08-20 07:59:16 +00:00
"referencedDeclaration": 3822,
"src": "4900:9:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
"typeString": "function () pure returns (bytes32)"
}
},
2018-08-20 07:59:16 +00:00
"id": 782,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-08-20 07:59:16 +00:00
"src": "4900:88:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
2018-08-20 07:59:16 +00:00
"functionReturnParameters": 753,
"id": 783,
2018-05-31 13:01:02 +00:00
"nodeType": "Return",
2018-08-20 07:59:16 +00:00
"src": "4893:95:6"
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 nonce Transaction nonce.\n @return Transaction hash.",
2018-08-20 07:59:16 +00:00
"id": 785,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "getTransactionHash",
"nodeType": "FunctionDefinition",
"parameters": {
2018-08-20 07:59:16 +00:00
"id": 750,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 741,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4566:10:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 740,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "4566:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 743,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4587:13:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 742,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "4587:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 745,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4611:10:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 744,
2018-05-31 13:01:02 +00:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "4611:5:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 747,
2018-05-31 13:01:02 +00:00
"name": "operation",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4632:24:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
},
"typeName": {
"contractScope": null,
2018-08-20 07:59:16 +00:00
"id": 746,
2018-05-31 13:01:02 +00:00
"name": "Enum.Operation",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 29,
2018-08-20 07:59:16 +00:00
"src": "4632:14:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_enum$_Operation_$29",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 749,
2018-05-31 13:01:02 +00:00
"name": "nonce",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4667:13:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 748,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "4667:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"src": "4556:130:6"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-08-20 07:59:16 +00:00
"id": 753,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-08-20 07:59:16 +00:00
"id": 752,
2018-05-31 13:01:02 +00:00
"name": "",
"nodeType": "VariableDeclaration",
2018-08-20 07:59:16 +00:00
"scope": 785,
"src": "4732:7:6",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
2018-08-20 07:59:16 +00:00
"id": 751,
2018-05-31 13:01:02 +00:00
"name": "bytes32",
"nodeType": "ElementaryTypeName",
2018-08-20 07:59:16 +00:00
"src": "4732:7:6",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
2018-08-20 07:59:16 +00:00
"src": "4731:9:6"
2018-05-31 13:01:02 +00:00
},
2018-08-20 07:59:16 +00:00
"scope": 786,
"src": "4529:466:6",
2018-05-31 13:01:02 +00:00
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
}
],
2018-08-20 07:59:16 +00:00
"scope": 787,
"src": "272:4725:6"
2018-05-31 13:01:02 +00:00
}
],
2018-08-20 07:59:16 +00:00
"src": "0:4998:6"
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-08-20 07:59:16 +00:00
"address": "0xf8033d26d591c4656feb365972f359e3e5991417",
"transactionHash": "0xce05657997caa928720038b6b1b4847da5f547fb64aac7316f723321748170c1"
2018-07-03 11:14:01 +00:00
},
2018-08-20 07:59:16 +00:00
"1534750848541": {
2018-07-03 11:14:01 +00:00
"events": {},
"links": {},
2018-08-20 07:59:16 +00:00
"address": "0x21a59654176f2689d12e828b77a783072cd26680",
"transactionHash": "0x8153582a7e15403e4a646684cb3a67b1987a9d29bc4780fedc649a3d4a9b8ad7"
2018-05-31 13:01:02 +00:00
}
},
2018-06-29 11:23:01 +00:00
"schemaVersion": "2.0.0",
2018-08-20 07:59:16 +00:00
"updatedAt": "2018-08-20T07:50:29.706Z"
2018-05-31 13:01:02 +00:00
}