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

4343 lines
199 KiB
JSON
Raw Normal View History

2018-05-31 13:01:02 +00:00
{
"contractName": "WhitelistModule",
"abi": [
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "isWhitelisted",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "manager",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_masterCopy",
"type": "address"
}
],
"name": "changeMasterCopy",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "NAME",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "VERSION",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "accounts",
"type": "address[]"
}
],
"name": "setup",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "account",
"type": "address"
}
],
"name": "addToWhitelist",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "account",
"type": "address"
}
],
"name": "removeFromWhitelist",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "to",
"type": "address"
},
{
"name": "value",
"type": "uint256"
},
{
"name": "data",
"type": "bytes"
}
],
"name": "executeWhitelisted",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
2018-09-26 09:19:53 +00:00
"bytecode": "0x608060405234801561001057600080fd5b50611248806100206000396000f300608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632f2f3be11461009e5780633af32abf14610149578063481c6a75146101a45780637de7edef146101fb5780638ab1d6811461023e578063a3f4df7e14610281578063bd5b853b14610311578063e43252d714610377578063ffa1ad74146103ba575b600080fd5b3480156100aa57600080fd5b5061012f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061044a565b604051808215151515815260200191505060405180910390f35b34801561015557600080fd5b5061018a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108c4565b604051808215151515815260200191505060405180910390f35b3480156101b057600080fd5b506101b96108e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020757600080fd5b5061023c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061090a565b005b34801561024a57600080fd5b5061027f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aed565b005b34801561028d57600080fd5b50610296610cf4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102d65780820151818401526020810190506102bb565b50505050905090810190601f1680156103035780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031d57600080fd5b5061037560048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610d2d565b005b34801561038357600080fd5b506103b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e59565b005b3480156103c657600080fd5b506103cf6110f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040f5780820151818401526020810190506103f4565b50505050905090810190601f16801561043c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f54bf6e336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561050957600080fd5b505af115801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b810190808051906020019092919050505015156105de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f4d6574686f642063616e206f6e6c792062652063616c6c656420627920616e2081526020017f6f776e657200000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156106c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f546172676574206163636f756e74206973206e6f742077686974656c6973746581526020017f640000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468721a785858560006040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183600281111561077f57fe5b60ff168152602001828103825284818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380
"deployedBytecode": "0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632f2f3be11461009e5780633af32abf14610149578063481c6a75146101a45780637de7edef146101fb5780638ab1d6811461023e578063a3f4df7e14610281578063bd5b853b14610311578063e43252d714610377578063ffa1ad74146103ba575b600080fd5b3480156100aa57600080fd5b5061012f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061044a565b604051808215151515815260200191505060405180910390f35b34801561015557600080fd5b5061018a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108c4565b604051808215151515815260200191505060405180910390f35b3480156101b057600080fd5b506101b96108e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020757600080fd5b5061023c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061090a565b005b34801561024a57600080fd5b5061027f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aed565b005b34801561028d57600080fd5b50610296610cf4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102d65780820151818401526020810190506102bb565b50505050905090810190601f1680156103035780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031d57600080fd5b5061037560048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610d2d565b005b34801561038357600080fd5b506103b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e59565b005b3480156103c657600080fd5b506103cf6110f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561040f5780820151818401526020810190506103f4565b50505050905090810190601f16801561043c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f54bf6e336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561050957600080fd5b505af115801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b810190808051906020019092919050505015156105de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f4d6574686f642063616e206f6e6c792062652063616c6c656420627920616e2081526020017f6f776e657200000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156106c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f546172676574206163636f756e74206973206e6f742077686974656c6973746581526020017f640000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663468721a785858560006040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183600281111561077f57fe5b60ff168152602001828103825284818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b509550505050
"sourceMap": "311:2199:20:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;311:2199:20;;;;;;;",
"deployedSourceMap": "311:2199:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2006:502;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2006:502:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;520:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;520:46:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;270:28:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;270:28:4;;;;;;;;;;;;;;;;;;;;;;;;;;;626:248:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:248:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;1550:202:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1550:202:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;353:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:48:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;353:48:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;689:298;;8:9:-1;5:2;;;30:1;27;20:12;5:2;689:298:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1136:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1136:260:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;407:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;407:40:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;407:40:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2006:502;2105:4;2235:7;;;;;;;;;;;2222:29;;;2252:10;2222:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2222:41:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2222:41:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2222:41:20;;;;;;;;;;;;;;;;2214:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2323:13;:17;2337:2;2323:17;;;;;;;;;;;;;;;;;;;;;;;;;2315:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2396:7;;;;;;;;;;;:33;;;2430:2;2434:5;2441:4;2447:19;2396:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2396:71:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2396:71:20;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2396:71:20;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2396:71:20;;;;;;;;;;;;;;;;2388:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2006:502;;;;;:::o;520:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;270:28:4:-;;;;;;;;;;;;;:::o;626:248:9:-;367:7:4;;;;;;;;;;;345:30;;:10;:30;;;337:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;791:1:9;776:11;:16;;;;768:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;856:11;843:10;;:24;;;;;;;;;;;;;;;;;;626:248;:::o;1550:202:20:-;367:7:4;;;;;;;;;;;345:30;;:10;:30;;;337:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1652:13:20;:22;1666:7;1652:22;;;;;;;;;;;;;;;;;;;;;;;;;1644:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1740:5;1715:13;:22;1729:7;1715:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;1550:202;:::o;353:48::-;;;;;;;;;;;;;;;;;;;;:::o;689:298::-;780:9;835:15;753:12;:10;:12::i;:::-;792:1;780:13;;775:206;799:8;:15;795:1;:19;775:206;;;853:8;862:1;853:11;;;;;;;;;;;;;;;;;;835:29;;897:1;886:7;:12;;;;878:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;966:4;941:13;:22;955:7;941:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;816:3;;;;;;;775:206;;;689:298;;;:::o;1136:260::-;367:7:4;;;;;;;;;;;345:30;;:10;:30;;;337:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1244:1:20;1233:7;:12;;;;1225:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1293:13;:22;1307:7;1293:22;;;;;;;;;;;;;;;;;;;;;;;;;1292:23;1284:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1385:4;1360:13;:22;1374:7;1360:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;1136:260;:::o;407:40::-;;;;;;;;;;;;;;;;;;;;:::o;442:300:4:-;656:1;644:7;;;;;;;;;;;636:21;;;628:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;724:10;700:7;;:35;;;;;;;;;;;;;;;;;;442:300::o",
"source": "pragma solidity 0.4.24;\nimport \"../base/Module.sol\";\nimport \"../base/ModuleManager.sol\";\nimport \"../base/OwnerManager.sol\";\nimport \"../common/Enum.sol\";\n\n\n/// @title Whitelist Module - Allows to execute transactions to whitelisted addresses without confirmations.\n/// @author Stefan George - <stefan@gnosis.pm>\ncontract WhitelistModule is Module {\n\n string public constant NAME = \"Whitelist Module\";\n string public constant VERSION = \"0.0.2\";\n\n // isWhitelisted mapping maps destination address to boolean.\n mapping (address => bool) public isWhitelisted;\n\n /// @dev Setup function sets initial storage of contract.\n /// @param accounts List of whitelisted accounts.\n function setup(address[] accounts)\n public\n {\n setManager();\n for (uint256 i = 0; i < accounts.length; i++) {\n address account = accounts[i];\n require(account != 0, \"Invalid account provided\");\n isWhitelisted[account] = true;\n }\n }\n\n /// @dev Allows to add destination to whitelist. This can only be done via a Safe transaction.\n /// @param account Destination address.\n function addToWhitelist(address account)\n public\n authorized\n {\n require(account != 0, \"Invalid account provided\");\n require(!isWhitelisted[account], \"Account is already whitelisted\");\n isWhitelisted[account] = true;\n }\n\n /// @dev Allows to remove destination from whitelist. This can only be done via a Safe transaction.\n /// @param account Destination address.\n function removeFromWhitelist(address account)\n public\n authorized\n {\n require(isWhitelisted[account], \"Account is not whitelisted\");\n isWhitelisted[account] = false;\n }\n\n /// @dev Returns if Safe transaction is to a whitelisted destination.\n /// @param to Whitelisted destination address.\n /// @param value Not checked.\n /// @param data Not checked.\n /// @return Returns if transaction can be executed.\n function executeWhitelisted(address to, uint256 value, bytes data)\n public\n returns (bool)\n {\n // Only Safe owners are allowed to execute transactions to whitelisted accounts.\n require(OwnerManager(manager).isOwner(msg.sender), \"Method can only be called by an owner\");\n require(isWhitelisted[to], \"Target account is not whitelisted\");\n require(manager.execTransactionFromModule(to, value, data, Enum.Operation.Call), \"Could not execute transaction\");\n }\n}\n",
2018-05-31 13:01:02 +00:00
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/WhitelistModule.sol",
"ast": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/WhitelistModule.sol",
"exportedSymbols": {
"WhitelistModule": [
2018-09-26 09:19:53 +00:00
2716
2018-05-31 13:01:02 +00:00
]
},
2018-09-26 09:19:53 +00:00
"id": 2717,
2018-05-31 13:01:02 +00:00
"nodeType": "SourceUnit",
"nodes": [
{
2018-09-26 09:19:53 +00:00
"id": 2564,
2018-05-31 13:01:02 +00:00
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
2018-09-26 09:19:53 +00:00
"src": "0:23:20"
2018-05-31 13:01:02 +00:00
},
{
2018-09-26 09:19:53 +00:00
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/base/Module.sol",
"file": "../base/Module.sol",
"id": 2565,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-09-26 09:19:53 +00:00
"scope": 2717,
"sourceUnit": 936,
"src": "24:28:20",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
2018-09-26 09:19:53 +00:00
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/base/ModuleManager.sol",
"file": "../base/ModuleManager.sol",
"id": 2566,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-09-26 09:19:53 +00:00
"scope": 2717,
"sourceUnit": 1213,
"src": "53:35:20",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
2018-09-26 09:19:53 +00:00
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/base/OwnerManager.sol",
"file": "../base/OwnerManager.sol",
"id": 2567,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-09-26 09:19:53 +00:00
"scope": 2717,
"sourceUnit": 1653,
"src": "89:34:20",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
2018-09-26 09:19:53 +00:00
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/common/Enum.sol",
"file": "../common/Enum.sol",
"id": 2568,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-09-26 09:19:53 +00:00
"scope": 2717,
"sourceUnit": 1660,
"src": "124:28:20",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-09-26 09:19:53 +00:00
"id": 2569,
2018-05-31 13:01:02 +00:00
"name": "Module",
"nodeType": "UserDefinedTypeName",
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 935,
"src": "339:6:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_contract$_Module_$935",
2018-05-31 13:01:02 +00:00
"typeString": "contract Module"
}
},
2018-09-26 09:19:53 +00:00
"id": 2570,
2018-05-31 13:01:02 +00:00
"nodeType": "InheritanceSpecifier",
2018-09-26 09:19:53 +00:00
"src": "339:6:20"
2018-05-31 13:01:02 +00:00
}
],
"contractDependencies": [
2018-09-26 09:19:53 +00:00
935,
1693,
1735
2018-05-31 13:01:02 +00:00
],
"contractKind": "contract",
"documentation": "@title Whitelist Module - Allows to execute transactions to whitelisted addresses without confirmations.\n @author Stefan George - <stefan@gnosis.pm>",
"fullyImplemented": true,
2018-09-26 09:19:53 +00:00
"id": 2716,
2018-05-31 13:01:02 +00:00
"linearizedBaseContracts": [
2018-09-26 09:19:53 +00:00
2716,
935,
1693,
1735
2018-05-31 13:01:02 +00:00
],
"name": "WhitelistModule",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
2018-09-26 09:19:53 +00:00
"id": 2573,
2018-05-31 13:01:02 +00:00
"name": "NAME",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "353:48:20",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2571,
2018-05-31 13:01:02 +00:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "353:6:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "57686974656c697374204d6f64756c65",
2018-09-26 09:19:53 +00:00
"id": 2572,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "383:18:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_84d69d03a7c747e8eefe7cc2b9e87b566cfc57cc90e4ed88f03f9c9780b7d4e6",
"typeString": "literal_string \"Whitelist Module\""
},
"value": "Whitelist Module"
},
"visibility": "public"
},
{
"constant": true,
2018-09-26 09:19:53 +00:00
"id": 2576,
2018-05-31 13:01:02 +00:00
"name": "VERSION",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "407:40:20",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2574,
2018-05-31 13:01:02 +00:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "407:6:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"hexValue": "302e302e32",
"id": 2575,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "440:7:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_stringliteral_b30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be74",
"typeString": "literal_string \"0.0.2\""
2018-05-31 13:01:02 +00:00
},
2018-09-26 09:19:53 +00:00
"value": "0.0.2"
2018-05-31 13:01:02 +00:00
},
"visibility": "public"
},
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2580,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "520:46:20",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2579,
2018-05-31 13:01:02 +00:00
"keyType": {
2018-09-26 09:19:53 +00:00
"id": 2577,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "529:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
2018-09-26 09:19:53 +00:00
"src": "520:25:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
},
"valueType": {
2018-09-26 09:19:53 +00:00
"id": 2578,
2018-05-31 13:01:02 +00:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "540:4:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
},
"value": null,
"visibility": "public"
},
{
"body": {
2018-09-26 09:19:53 +00:00
"id": 2621,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-09-26 09:19:53 +00:00
"src": "743:244:20",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
2018-09-26 09:19:53 +00:00
"id": 2586,
2018-05-31 13:01:02 +00:00
"name": "setManager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 934,
"src": "753:10:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2587,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "753:12:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2588,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "753:12:20"
2018-05-31 13:01:02 +00:00
},
{
"body": {
2018-09-26 09:19:53 +00:00
"id": 2619,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-09-26 09:19:53 +00:00
"src": "821:160:20",
2018-05-31 13:01:02 +00:00
"statements": [
{
"assignments": [
2018-09-26 09:19:53 +00:00
2601
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2601,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2622,
"src": "835:15:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2600,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "835:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"id": 2605,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2602,
2018-05-31 13:01:02 +00:00
"name": "accounts",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2583,
"src": "853:8:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
2018-09-26 09:19:53 +00:00
"id": 2604,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2603,
2018-05-31 13:01:02 +00:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2590,
"src": "862:1:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-09-26 09:19:53 +00:00
"src": "853:11:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2018-09-26 09:19:53 +00:00
"src": "835:29:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-09-26 09:19:53 +00:00
"id": 2609,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2607,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2601,
"src": "886:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-09-26 09:19:53 +00:00
"id": 2608,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "897:1:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-09-26 09:19:53 +00:00
"src": "886:12:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "496e76616c6964206163636f756e742070726f7669646564",
2018-09-26 09:19:53 +00:00
"id": 2610,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "900:26:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
"typeString": "literal_string \"Invalid account provided\""
},
"value": "Invalid account provided"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
"typeString": "literal_string \"Invalid account provided\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2606,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "878:7:20",
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-09-26 09:19:53 +00:00
"id": 2611,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "878:49:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2612,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "878:49:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2617,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2613,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "941:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2615,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2614,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2601,
"src": "955:7:20",
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-09-26 09:19:53 +00:00
"src": "941:22:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
2018-09-26 09:19:53 +00:00
"id": 2616,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "966:4:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
2018-09-26 09:19:53 +00:00
"src": "941:29:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-09-26 09:19:53 +00:00
"id": 2618,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "941:29:20"
2018-05-31 13:01:02 +00:00
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2018-09-26 09:19:53 +00:00
"id": 2596,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2593,
2018-05-31 13:01:02 +00:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2590,
"src": "795:1:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2594,
2018-05-31 13:01:02 +00:00
"name": "accounts",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2583,
"src": "799:8:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
2018-09-26 09:19:53 +00:00
"id": 2595,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-09-26 09:19:53 +00:00
"src": "799:15:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-09-26 09:19:53 +00:00
"src": "795:19:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-09-26 09:19:53 +00:00
"id": 2620,
2018-05-31 13:01:02 +00:00
"initializationExpression": {
"assignments": [
2018-09-26 09:19:53 +00:00
2590
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2590,
2018-05-31 13:01:02 +00:00
"name": "i",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2622,
"src": "780:9:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2589,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "780:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"id": 2592,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
2018-09-26 09:19:53 +00:00
"id": 2591,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "792:1:20",
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-09-26 09:19:53 +00:00
"src": "780:13:20"
2018-05-31 13:01:02 +00:00
},
"loopExpression": {
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2598,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
2018-09-26 09:19:53 +00:00
"src": "816:3:20",
2018-05-31 13:01:02 +00:00
"subExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2597,
2018-05-31 13:01:02 +00:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2590,
"src": "816:1:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-09-26 09:19:53 +00:00
"id": 2599,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "816:3:20"
2018-05-31 13:01:02 +00:00
},
"nodeType": "ForStatement",
2018-09-26 09:19:53 +00:00
"src": "775:206:20"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": "@dev Setup function sets initial storage of contract.\n @param accounts List of whitelisted accounts.",
2018-09-26 09:19:53 +00:00
"id": 2622,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "setup",
"nodeType": "FunctionDefinition",
"parameters": {
2018-09-26 09:19:53 +00:00
"id": 2584,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2583,
2018-05-31 13:01:02 +00:00
"name": "accounts",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2622,
"src": "704:18:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
2018-09-26 09:19:53 +00:00
"id": 2581,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "704:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-09-26 09:19:53 +00:00
"id": 2582,
2018-05-31 13:01:02 +00:00
"length": null,
"nodeType": "ArrayTypeName",
2018-09-26 09:19:53 +00:00
"src": "704:9:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"src": "703:20:20"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-09-26 09:19:53 +00:00
"id": 2585,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-09-26 09:19:53 +00:00
"src": "743:0:20"
2018-05-31 13:01:02 +00:00
},
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "689:298:20",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-09-26 09:19:53 +00:00
"id": 2650,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-09-26 09:19:53 +00:00
"src": "1215:181:20",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-09-26 09:19:53 +00:00
"id": 2632,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2630,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2624,
"src": "1233:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-09-26 09:19:53 +00:00
"id": 2631,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1244:1:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-09-26 09:19:53 +00:00
"src": "1233:12:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "496e76616c6964206163636f756e742070726f7669646564",
2018-09-26 09:19:53 +00:00
"id": 2633,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1247:26:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
"typeString": "literal_string \"Invalid account provided\""
},
"value": "Invalid account provided"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
"typeString": "literal_string \"Invalid account provided\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2629,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "1225:7:20",
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-09-26 09:19:53 +00:00
"id": 2634,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "1225:49:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2635,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "1225:49:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2640,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
2018-09-26 09:19:53 +00:00
"src": "1292:23:20",
2018-05-31 13:01:02 +00:00
"subExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2637,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "1293:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2639,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2638,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2624,
"src": "1307:7:20",
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-09-26 09:19:53 +00:00
"src": "1293:22:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4163636f756e7420697320616c72656164792077686974656c6973746564",
2018-09-26 09:19:53 +00:00
"id": 2641,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1317:32:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_42f0c01c0b06bc5e652009543318e4fd67cfba114702c7f55fad1ff0c3c82ad8",
"typeString": "literal_string \"Account is already whitelisted\""
},
"value": "Account is already whitelisted"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_42f0c01c0b06bc5e652009543318e4fd67cfba114702c7f55fad1ff0c3c82ad8",
"typeString": "literal_string \"Account is already whitelisted\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2636,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "1284:7:20",
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-09-26 09:19:53 +00:00
"id": 2642,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "1284:66:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2643,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "1284:66:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2648,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2644,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "1360:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2646,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2645,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2624,
"src": "1374:7:20",
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-09-26 09:19:53 +00:00
"src": "1360:22:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
2018-09-26 09:19:53 +00:00
"id": 2647,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1385:4:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
2018-09-26 09:19:53 +00:00
"src": "1360:29:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-09-26 09:19:53 +00:00
"id": 2649,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "1360:29:20"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": "@dev Allows to add destination to whitelist. This can only be done via a Safe transaction.\n @param account Destination address.",
2018-09-26 09:19:53 +00:00
"id": 2651,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
2018-09-26 09:19:53 +00:00
"id": 2627,
2018-05-31 13:01:02 +00:00
"modifierName": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2626,
2018-05-31 13:01:02 +00:00
"name": "authorized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 914,
"src": "1200:10:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
2018-09-26 09:19:53 +00:00
"src": "1200:10:20"
2018-05-31 13:01:02 +00:00
}
],
"name": "addToWhitelist",
"nodeType": "FunctionDefinition",
"parameters": {
2018-09-26 09:19:53 +00:00
"id": 2625,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2624,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2651,
"src": "1160:15:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2623,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "1160:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"src": "1159:17:20"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-09-26 09:19:53 +00:00
"id": 2628,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-09-26 09:19:53 +00:00
"src": "1215:0:20"
2018-05-31 13:01:02 +00:00
},
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "1136:260:20",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-09-26 09:19:53 +00:00
"id": 2671,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-09-26 09:19:53 +00:00
"src": "1634:118:20",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2659,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "1652:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2661,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2660,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2653,
"src": "1666:7:20",
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-09-26 09:19:53 +00:00
"src": "1652:22:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4163636f756e74206973206e6f742077686974656c6973746564",
2018-09-26 09:19:53 +00:00
"id": 2662,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1676:28:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_2f56605dd36b69a55672cdc762e8d3959c002a474a30a6774bba38bb65f718e1",
"typeString": "literal_string \"Account is not whitelisted\""
},
"value": "Account is not whitelisted"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_2f56605dd36b69a55672cdc762e8d3959c002a474a30a6774bba38bb65f718e1",
"typeString": "literal_string \"Account is not whitelisted\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2658,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "1644:7:20",
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-09-26 09:19:53 +00:00
"id": 2663,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "1644:61:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2664,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "1644:61:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2669,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2665,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "1715:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2667,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2666,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2653,
"src": "1729:7:20",
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-09-26 09:19:53 +00:00
"src": "1715:22:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "66616c7365",
2018-09-26 09:19:53 +00:00
"id": 2668,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1740:5:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
},
2018-09-26 09:19:53 +00:00
"src": "1715:30:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-09-26 09:19:53 +00:00
"id": 2670,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "1715:30:20"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": "@dev Allows to remove destination from whitelist. This can only be done via a Safe transaction.\n @param account Destination address.",
2018-09-26 09:19:53 +00:00
"id": 2672,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
2018-09-26 09:19:53 +00:00
"id": 2656,
2018-05-31 13:01:02 +00:00
"modifierName": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2655,
2018-05-31 13:01:02 +00:00
"name": "authorized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 914,
"src": "1619:10:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
2018-09-26 09:19:53 +00:00
"src": "1619:10:20"
2018-05-31 13:01:02 +00:00
}
],
"name": "removeFromWhitelist",
"nodeType": "FunctionDefinition",
"parameters": {
2018-09-26 09:19:53 +00:00
"id": 2654,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2653,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2672,
"src": "1579:15:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2652,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "1579:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"src": "1578:17:20"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-09-26 09:19:53 +00:00
"id": 2657,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-09-26 09:19:53 +00:00
"src": "1634:0:20"
2018-05-31 13:01:02 +00:00
},
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "1550:202:20",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-09-26 09:19:53 +00:00
"id": 2714,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-09-26 09:19:53 +00:00
"src": "2115:393:20",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2688,
2018-05-31 13:01:02 +00:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4491,
"src": "2252:3:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2018-09-26 09:19:53 +00:00
"id": 2689,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-09-26 09:19:53 +00:00
"src": "2252:10:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2685,
2018-05-31 13:01:02 +00:00
"name": "manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 900,
"src": "2235:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_contract$_ModuleManager_$1212",
2018-05-31 13:01:02 +00:00
"typeString": "contract ModuleManager"
}
}
],
"expression": {
"argumentTypes": [
{
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_contract$_ModuleManager_$1212",
2018-05-31 13:01:02 +00:00
"typeString": "contract ModuleManager"
}
],
2018-09-26 09:19:53 +00:00
"id": 2684,
2018-05-31 13:01:02 +00:00
"name": "OwnerManager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 1652,
"src": "2222:12:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_type$_t_contract$_OwnerManager_$1652_$",
2018-05-31 13:01:02 +00:00
"typeString": "type(contract OwnerManager)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2686,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2222:21:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_contract$_OwnerManager_$1652",
2018-05-31 13:01:02 +00:00
"typeString": "contract OwnerManager"
}
},
2018-09-26 09:19:53 +00:00
"id": 2687,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "isOwner",
"nodeType": "MemberAccess",
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 1602,
"src": "2222:29:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$",
"typeString": "function (address) view external returns (bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2690,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2222:41:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4d6574686f642063616e206f6e6c792062652063616c6c656420627920616e206f776e6572",
2018-09-26 09:19:53 +00:00
"id": 2691,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "2265:39:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_4df072353ff501a1071e1cc3e2eb3ee0ebb21a35321efe90c0960bf2f4356640",
"typeString": "literal_string \"Method can only be called by an owner\""
},
"value": "Method can only be called by an owner"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_4df072353ff501a1071e1cc3e2eb3ee0ebb21a35321efe90c0960bf2f4356640",
"typeString": "literal_string \"Method can only be called by an owner\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2683,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "2214:7:20",
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-09-26 09:19:53 +00:00
"id": 2692,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2214:91:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2693,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "2214:91:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2695,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "2323:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2697,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2696,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2674,
"src": "2337:2:20",
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-09-26 09:19:53 +00:00
"src": "2323:17:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "546172676574206163636f756e74206973206e6f742077686974656c6973746564",
2018-09-26 09:19:53 +00:00
"id": 2698,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "2342:35:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9a154d7dadc01125e34b410c8bdd8fd2546fbbac90b22b0d92787a072cf6fc42",
"typeString": "literal_string \"Target account is not whitelisted\""
},
"value": "Target account is not whitelisted"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_9a154d7dadc01125e34b410c8bdd8fd2546fbbac90b22b0d92787a072cf6fc42",
"typeString": "literal_string \"Target account is not whitelisted\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2694,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "2315:7:20",
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-09-26 09:19:53 +00:00
"id": 2699,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2315:63:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2700,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "2315:63:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2704,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2674,
"src": "2430:2:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2705,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2676,
"src": "2434:5:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2706,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2678,
"src": "2441:4:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2707,
2018-05-31 13:01:02 +00:00
"name": "Enum",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 1659,
"src": "2447:4:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_type$_t_contract$_Enum_$1659_$",
2018-05-31 13:01:02 +00:00
"typeString": "type(contract Enum)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2708,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "Operation",
"nodeType": "MemberAccess",
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 1658,
"src": "2447:14:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_type$_t_enum$_Operation_$1658_$",
2018-05-31 13:01:02 +00:00
"typeString": "type(enum Enum.Operation)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2709,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "Call",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-09-26 09:19:53 +00:00
"src": "2447:19:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_enum$_Operation_$1658",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_enum$_Operation_$1658",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
],
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2702,
2018-05-31 13:01:02 +00:00
"name": "manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 900,
"src": "2396:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_contract$_ModuleManager_$1212",
2018-05-31 13:01:02 +00:00
"typeString": "contract ModuleManager"
}
},
2018-09-26 09:19:53 +00:00
"id": 2703,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "execTransactionFromModule",
"nodeType": "MemberAccess",
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 1138,
"src": "2396:33:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$1658_$returns$_t_bool_$",
2018-05-31 13:01:02 +00:00
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2710,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2396:71:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "436f756c64206e6f742065786563757465207472616e73616374696f6e",
2018-09-26 09:19:53 +00:00
"id": 2711,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "2469:31:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4",
"typeString": "literal_string \"Could not execute transaction\""
},
"value": "Could not execute transaction"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4",
"typeString": "literal_string \"Could not execute transaction\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2701,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "2388:7:20",
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-09-26 09:19:53 +00:00
"id": 2712,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2388:113:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2713,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "2388:113:20"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": "@dev Returns if Safe transaction is to a whitelisted destination.\n @param to Whitelisted destination address.\n @param value Not checked.\n @param data Not checked.\n @return Returns if transaction can be executed.",
2018-09-26 09:19:53 +00:00
"id": 2715,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "executeWhitelisted",
"nodeType": "FunctionDefinition",
"parameters": {
2018-09-26 09:19:53 +00:00
"id": 2679,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2674,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2715,
"src": "2034:10:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2673,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "2034:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2676,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2715,
"src": "2046:13:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2675,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "2046:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2678,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2715,
"src": "2061:10:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2677,
2018-05-31 13:01:02 +00:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "2061:5:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"src": "2033:39:20"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-09-26 09:19:53 +00:00
"id": 2682,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2681,
2018-05-31 13:01:02 +00:00
"name": "",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2715,
"src": "2105:4:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2680,
2018-05-31 13:01:02 +00:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "2105:4:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"src": "2104:6:20"
2018-05-31 13:01:02 +00:00
},
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "2006:502:20",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
2018-09-26 09:19:53 +00:00
"scope": 2717,
"src": "311:2199:20"
2018-05-31 13:01:02 +00:00
}
],
2018-09-26 09:19:53 +00:00
"src": "0:2511:20"
2018-05-31 13:01:02 +00:00
},
"legacyAST": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/modules/WhitelistModule.sol",
"exportedSymbols": {
"WhitelistModule": [
2018-09-26 09:19:53 +00:00
2716
2018-05-31 13:01:02 +00:00
]
},
2018-09-26 09:19:53 +00:00
"id": 2717,
2018-05-31 13:01:02 +00:00
"nodeType": "SourceUnit",
"nodes": [
{
2018-09-26 09:19:53 +00:00
"id": 2564,
2018-05-31 13:01:02 +00:00
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
2018-09-26 09:19:53 +00:00
"src": "0:23:20"
2018-05-31 13:01:02 +00:00
},
{
2018-09-26 09:19:53 +00:00
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/base/Module.sol",
"file": "../base/Module.sol",
"id": 2565,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-09-26 09:19:53 +00:00
"scope": 2717,
"sourceUnit": 936,
"src": "24:28:20",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
2018-09-26 09:19:53 +00:00
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/base/ModuleManager.sol",
"file": "../base/ModuleManager.sol",
"id": 2566,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-09-26 09:19:53 +00:00
"scope": 2717,
"sourceUnit": 1213,
"src": "53:35:20",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
2018-09-26 09:19:53 +00:00
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/base/OwnerManager.sol",
"file": "../base/OwnerManager.sol",
"id": 2567,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-09-26 09:19:53 +00:00
"scope": 2717,
"sourceUnit": 1653,
"src": "89:34:20",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
2018-09-26 09:19:53 +00:00
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/common/Enum.sol",
"file": "../common/Enum.sol",
"id": 2568,
2018-05-31 13:01:02 +00:00
"nodeType": "ImportDirective",
2018-09-26 09:19:53 +00:00
"scope": 2717,
"sourceUnit": 1660,
"src": "124:28:20",
2018-05-31 13:01:02 +00:00
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
2018-09-26 09:19:53 +00:00
"id": 2569,
2018-05-31 13:01:02 +00:00
"name": "Module",
"nodeType": "UserDefinedTypeName",
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 935,
"src": "339:6:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_contract$_Module_$935",
2018-05-31 13:01:02 +00:00
"typeString": "contract Module"
}
},
2018-09-26 09:19:53 +00:00
"id": 2570,
2018-05-31 13:01:02 +00:00
"nodeType": "InheritanceSpecifier",
2018-09-26 09:19:53 +00:00
"src": "339:6:20"
2018-05-31 13:01:02 +00:00
}
],
"contractDependencies": [
2018-09-26 09:19:53 +00:00
935,
1693,
1735
2018-05-31 13:01:02 +00:00
],
"contractKind": "contract",
"documentation": "@title Whitelist Module - Allows to execute transactions to whitelisted addresses without confirmations.\n @author Stefan George - <stefan@gnosis.pm>",
"fullyImplemented": true,
2018-09-26 09:19:53 +00:00
"id": 2716,
2018-05-31 13:01:02 +00:00
"linearizedBaseContracts": [
2018-09-26 09:19:53 +00:00
2716,
935,
1693,
1735
2018-05-31 13:01:02 +00:00
],
"name": "WhitelistModule",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
2018-09-26 09:19:53 +00:00
"id": 2573,
2018-05-31 13:01:02 +00:00
"name": "NAME",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "353:48:20",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2571,
2018-05-31 13:01:02 +00:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "353:6:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
"hexValue": "57686974656c697374204d6f64756c65",
2018-09-26 09:19:53 +00:00
"id": 2572,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "383:18:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_84d69d03a7c747e8eefe7cc2b9e87b566cfc57cc90e4ed88f03f9c9780b7d4e6",
"typeString": "literal_string \"Whitelist Module\""
},
"value": "Whitelist Module"
},
"visibility": "public"
},
{
"constant": true,
2018-09-26 09:19:53 +00:00
"id": 2576,
2018-05-31 13:01:02 +00:00
"name": "VERSION",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "407:40:20",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory",
"typeString": "string"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2574,
2018-05-31 13:01:02 +00:00
"name": "string",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "407:6:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"hexValue": "302e302e32",
"id": 2575,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "440:7:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_stringliteral_b30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be74",
"typeString": "literal_string \"0.0.2\""
2018-05-31 13:01:02 +00:00
},
2018-09-26 09:19:53 +00:00
"value": "0.0.2"
2018-05-31 13:01:02 +00:00
},
"visibility": "public"
},
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2580,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "520:46:20",
2018-05-31 13:01:02 +00:00
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2579,
2018-05-31 13:01:02 +00:00
"keyType": {
2018-09-26 09:19:53 +00:00
"id": 2577,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "529:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Mapping",
2018-09-26 09:19:53 +00:00
"src": "520:25:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
},
"valueType": {
2018-09-26 09:19:53 +00:00
"id": 2578,
2018-05-31 13:01:02 +00:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "540:4:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
}
},
"value": null,
"visibility": "public"
},
{
"body": {
2018-09-26 09:19:53 +00:00
"id": 2621,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-09-26 09:19:53 +00:00
"src": "743:244:20",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
2018-09-26 09:19:53 +00:00
"id": 2586,
2018-05-31 13:01:02 +00:00
"name": "setManager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 934,
"src": "753:10:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2587,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "753:12:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2588,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "753:12:20"
2018-05-31 13:01:02 +00:00
},
{
"body": {
2018-09-26 09:19:53 +00:00
"id": 2619,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-09-26 09:19:53 +00:00
"src": "821:160:20",
2018-05-31 13:01:02 +00:00
"statements": [
{
"assignments": [
2018-09-26 09:19:53 +00:00
2601
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2601,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2622,
"src": "835:15:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2600,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "835:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"id": 2605,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2602,
2018-05-31 13:01:02 +00:00
"name": "accounts",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2583,
"src": "853:8:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
2018-09-26 09:19:53 +00:00
"id": 2604,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2603,
2018-05-31 13:01:02 +00:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2590,
"src": "862:1:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
2018-09-26 09:19:53 +00:00
"src": "853:11:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "VariableDeclarationStatement",
2018-09-26 09:19:53 +00:00
"src": "835:29:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-09-26 09:19:53 +00:00
"id": 2609,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2607,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2601,
"src": "886:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-09-26 09:19:53 +00:00
"id": 2608,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "897:1:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-09-26 09:19:53 +00:00
"src": "886:12:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "496e76616c6964206163636f756e742070726f7669646564",
2018-09-26 09:19:53 +00:00
"id": 2610,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "900:26:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
"typeString": "literal_string \"Invalid account provided\""
},
"value": "Invalid account provided"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
"typeString": "literal_string \"Invalid account provided\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2606,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "878:7:20",
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-09-26 09:19:53 +00:00
"id": 2611,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "878:49:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2612,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "878:49:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2617,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2613,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "941:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2615,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2614,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2601,
"src": "955:7:20",
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-09-26 09:19:53 +00:00
"src": "941:22:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
2018-09-26 09:19:53 +00:00
"id": 2616,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "966:4:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
2018-09-26 09:19:53 +00:00
"src": "941:29:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-09-26 09:19:53 +00:00
"id": 2618,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "941:29:20"
2018-05-31 13:01:02 +00:00
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
2018-09-26 09:19:53 +00:00
"id": 2596,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2593,
2018-05-31 13:01:02 +00:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2590,
"src": "795:1:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2594,
2018-05-31 13:01:02 +00:00
"name": "accounts",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2583,
"src": "799:8:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
2018-09-26 09:19:53 +00:00
"id": 2595,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-09-26 09:19:53 +00:00
"src": "799:15:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-09-26 09:19:53 +00:00
"src": "795:19:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-09-26 09:19:53 +00:00
"id": 2620,
2018-05-31 13:01:02 +00:00
"initializationExpression": {
"assignments": [
2018-09-26 09:19:53 +00:00
2590
2018-05-31 13:01:02 +00:00
],
"declarations": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2590,
2018-05-31 13:01:02 +00:00
"name": "i",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2622,
"src": "780:9:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2589,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "780:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"id": 2592,
2018-05-31 13:01:02 +00:00
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
2018-09-26 09:19:53 +00:00
"id": 2591,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "792:1:20",
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-09-26 09:19:53 +00:00
"src": "780:13:20"
2018-05-31 13:01:02 +00:00
},
"loopExpression": {
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2598,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
2018-09-26 09:19:53 +00:00
"src": "816:3:20",
2018-05-31 13:01:02 +00:00
"subExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2597,
2018-05-31 13:01:02 +00:00
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2590,
"src": "816:1:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
2018-09-26 09:19:53 +00:00
"id": 2599,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "816:3:20"
2018-05-31 13:01:02 +00:00
},
"nodeType": "ForStatement",
2018-09-26 09:19:53 +00:00
"src": "775:206:20"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": "@dev Setup function sets initial storage of contract.\n @param accounts List of whitelisted accounts.",
2018-09-26 09:19:53 +00:00
"id": 2622,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "setup",
"nodeType": "FunctionDefinition",
"parameters": {
2018-09-26 09:19:53 +00:00
"id": 2584,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2583,
2018-05-31 13:01:02 +00:00
"name": "accounts",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2622,
"src": "704:18:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
2018-09-26 09:19:53 +00:00
"id": 2581,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "704:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
2018-09-26 09:19:53 +00:00
"id": 2582,
2018-05-31 13:01:02 +00:00
"length": null,
"nodeType": "ArrayTypeName",
2018-09-26 09:19:53 +00:00
"src": "704:9:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"src": "703:20:20"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-09-26 09:19:53 +00:00
"id": 2585,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-09-26 09:19:53 +00:00
"src": "743:0:20"
2018-05-31 13:01:02 +00:00
},
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "689:298:20",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-09-26 09:19:53 +00:00
"id": 2650,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-09-26 09:19:53 +00:00
"src": "1215:181:20",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
2018-09-26 09:19:53 +00:00
"id": 2632,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2630,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2624,
"src": "1233:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
2018-09-26 09:19:53 +00:00
"id": 2631,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1244:1:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
2018-09-26 09:19:53 +00:00
"src": "1233:12:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "496e76616c6964206163636f756e742070726f7669646564",
2018-09-26 09:19:53 +00:00
"id": 2633,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1247:26:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
"typeString": "literal_string \"Invalid account provided\""
},
"value": "Invalid account provided"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_da3a197794c99763c55550690a7eddbab5a672fb560947793aaf405a2b5f9490",
"typeString": "literal_string \"Invalid account provided\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2629,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "1225:7:20",
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-09-26 09:19:53 +00:00
"id": 2634,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "1225:49:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2635,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "1225:49:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2640,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "!",
"prefix": true,
2018-09-26 09:19:53 +00:00
"src": "1292:23:20",
2018-05-31 13:01:02 +00:00
"subExpression": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2637,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "1293:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2639,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2638,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2624,
"src": "1307:7:20",
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-09-26 09:19:53 +00:00
"src": "1293:22:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4163636f756e7420697320616c72656164792077686974656c6973746564",
2018-09-26 09:19:53 +00:00
"id": 2641,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1317:32:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_42f0c01c0b06bc5e652009543318e4fd67cfba114702c7f55fad1ff0c3c82ad8",
"typeString": "literal_string \"Account is already whitelisted\""
},
"value": "Account is already whitelisted"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_42f0c01c0b06bc5e652009543318e4fd67cfba114702c7f55fad1ff0c3c82ad8",
"typeString": "literal_string \"Account is already whitelisted\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2636,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "1284:7:20",
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-09-26 09:19:53 +00:00
"id": 2642,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "1284:66:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2643,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "1284:66:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2648,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2644,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "1360:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2646,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2645,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2624,
"src": "1374:7:20",
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-09-26 09:19:53 +00:00
"src": "1360:22:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "74727565",
2018-09-26 09:19:53 +00:00
"id": 2647,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1385:4:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
2018-09-26 09:19:53 +00:00
"src": "1360:29:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-09-26 09:19:53 +00:00
"id": 2649,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "1360:29:20"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": "@dev Allows to add destination to whitelist. This can only be done via a Safe transaction.\n @param account Destination address.",
2018-09-26 09:19:53 +00:00
"id": 2651,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
2018-09-26 09:19:53 +00:00
"id": 2627,
2018-05-31 13:01:02 +00:00
"modifierName": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2626,
2018-05-31 13:01:02 +00:00
"name": "authorized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 914,
"src": "1200:10:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
2018-09-26 09:19:53 +00:00
"src": "1200:10:20"
2018-05-31 13:01:02 +00:00
}
],
"name": "addToWhitelist",
"nodeType": "FunctionDefinition",
"parameters": {
2018-09-26 09:19:53 +00:00
"id": 2625,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2624,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2651,
"src": "1160:15:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2623,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "1160:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"src": "1159:17:20"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-09-26 09:19:53 +00:00
"id": 2628,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-09-26 09:19:53 +00:00
"src": "1215:0:20"
2018-05-31 13:01:02 +00:00
},
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "1136:260:20",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-09-26 09:19:53 +00:00
"id": 2671,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-09-26 09:19:53 +00:00
"src": "1634:118:20",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2659,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "1652:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2661,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2660,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2653,
"src": "1666:7:20",
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-09-26 09:19:53 +00:00
"src": "1652:22:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4163636f756e74206973206e6f742077686974656c6973746564",
2018-09-26 09:19:53 +00:00
"id": 2662,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1676:28:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_2f56605dd36b69a55672cdc762e8d3959c002a474a30a6774bba38bb65f718e1",
"typeString": "literal_string \"Account is not whitelisted\""
},
"value": "Account is not whitelisted"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_2f56605dd36b69a55672cdc762e8d3959c002a474a30a6774bba38bb65f718e1",
"typeString": "literal_string \"Account is not whitelisted\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2658,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "1644:7:20",
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-09-26 09:19:53 +00:00
"id": 2663,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "1644:61:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2664,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "1644:61:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2669,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2665,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "1715:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2667,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2666,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2653,
"src": "1729:7:20",
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-09-26 09:19:53 +00:00
"src": "1715:22:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"hexValue": "66616c7365",
2018-09-26 09:19:53 +00:00
"id": 2668,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "1740:5:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "false"
},
2018-09-26 09:19:53 +00:00
"src": "1715:30:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
2018-09-26 09:19:53 +00:00
"id": 2670,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "1715:30:20"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": "@dev Allows to remove destination from whitelist. This can only be done via a Safe transaction.\n @param account Destination address.",
2018-09-26 09:19:53 +00:00
"id": 2672,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
2018-09-26 09:19:53 +00:00
"id": 2656,
2018-05-31 13:01:02 +00:00
"modifierName": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2655,
2018-05-31 13:01:02 +00:00
"name": "authorized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 914,
"src": "1619:10:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
2018-09-26 09:19:53 +00:00
"src": "1619:10:20"
2018-05-31 13:01:02 +00:00
}
],
"name": "removeFromWhitelist",
"nodeType": "FunctionDefinition",
"parameters": {
2018-09-26 09:19:53 +00:00
"id": 2654,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2653,
2018-05-31 13:01:02 +00:00
"name": "account",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2672,
"src": "1579:15:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2652,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "1579:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"src": "1578:17:20"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-09-26 09:19:53 +00:00
"id": 2657,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [],
2018-09-26 09:19:53 +00:00
"src": "1634:0:20"
2018-05-31 13:01:02 +00:00
},
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "1550:202:20",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
2018-09-26 09:19:53 +00:00
"id": 2714,
2018-05-31 13:01:02 +00:00
"nodeType": "Block",
2018-09-26 09:19:53 +00:00
"src": "2115:393:20",
2018-05-31 13:01:02 +00:00
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2688,
2018-05-31 13:01:02 +00:00
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4491,
"src": "2252:3:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
2018-09-26 09:19:53 +00:00
"id": 2689,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-09-26 09:19:53 +00:00
"src": "2252:10:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2685,
2018-05-31 13:01:02 +00:00
"name": "manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 900,
"src": "2235:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_contract$_ModuleManager_$1212",
2018-05-31 13:01:02 +00:00
"typeString": "contract ModuleManager"
}
}
],
"expression": {
"argumentTypes": [
{
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_contract$_ModuleManager_$1212",
2018-05-31 13:01:02 +00:00
"typeString": "contract ModuleManager"
}
],
2018-09-26 09:19:53 +00:00
"id": 2684,
2018-05-31 13:01:02 +00:00
"name": "OwnerManager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 1652,
"src": "2222:12:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_type$_t_contract$_OwnerManager_$1652_$",
2018-05-31 13:01:02 +00:00
"typeString": "type(contract OwnerManager)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2686,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2222:21:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_contract$_OwnerManager_$1652",
2018-05-31 13:01:02 +00:00
"typeString": "contract OwnerManager"
}
},
2018-09-26 09:19:53 +00:00
"id": 2687,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "isOwner",
"nodeType": "MemberAccess",
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 1602,
"src": "2222:29:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$",
"typeString": "function (address) view external returns (bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2690,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2222:41:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4d6574686f642063616e206f6e6c792062652063616c6c656420627920616e206f776e6572",
2018-09-26 09:19:53 +00:00
"id": 2691,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "2265:39:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_4df072353ff501a1071e1cc3e2eb3ee0ebb21a35321efe90c0960bf2f4356640",
"typeString": "literal_string \"Method can only be called by an owner\""
},
"value": "Method can only be called by an owner"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_4df072353ff501a1071e1cc3e2eb3ee0ebb21a35321efe90c0960bf2f4356640",
"typeString": "literal_string \"Method can only be called by an owner\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2683,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "2214:7:20",
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-09-26 09:19:53 +00:00
"id": 2692,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2214:91:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2693,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "2214:91:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2695,
2018-05-31 13:01:02 +00:00
"name": "isWhitelisted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2580,
"src": "2323:13:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
"typeString": "mapping(address => bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2697,
2018-05-31 13:01:02 +00:00
"indexExpression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2696,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2674,
"src": "2337:2:20",
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-09-26 09:19:53 +00:00
"src": "2323:17:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "546172676574206163636f756e74206973206e6f742077686974656c6973746564",
2018-09-26 09:19:53 +00:00
"id": 2698,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "2342:35:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9a154d7dadc01125e34b410c8bdd8fd2546fbbac90b22b0d92787a072cf6fc42",
"typeString": "literal_string \"Target account is not whitelisted\""
},
"value": "Target account is not whitelisted"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_9a154d7dadc01125e34b410c8bdd8fd2546fbbac90b22b0d92787a072cf6fc42",
"typeString": "literal_string \"Target account is not whitelisted\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2694,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "2315:7:20",
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-09-26 09:19:53 +00:00
"id": 2699,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2315:63:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2700,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "2315:63:20"
2018-05-31 13:01:02 +00:00
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2704,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2674,
"src": "2430:2:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2705,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2676,
"src": "2434:5:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2706,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 2678,
"src": "2441:4:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
{
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2707,
2018-05-31 13:01:02 +00:00
"name": "Enum",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 1659,
"src": "2447:4:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_type$_t_contract$_Enum_$1659_$",
2018-05-31 13:01:02 +00:00
"typeString": "type(contract Enum)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2708,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "Operation",
"nodeType": "MemberAccess",
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 1658,
"src": "2447:14:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_type$_t_enum$_Operation_$1658_$",
2018-05-31 13:01:02 +00:00
"typeString": "type(enum Enum.Operation)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2709,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "Call",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
2018-09-26 09:19:53 +00:00
"src": "2447:19:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_enum$_Operation_$1658",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
},
{
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_enum$_Operation_$1658",
2018-05-31 13:01:02 +00:00
"typeString": "enum Enum.Operation"
}
],
"expression": {
"argumentTypes": null,
2018-09-26 09:19:53 +00:00
"id": 2702,
2018-05-31 13:01:02 +00:00
"name": "manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 900,
"src": "2396:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_contract$_ModuleManager_$1212",
2018-05-31 13:01:02 +00:00
"typeString": "contract ModuleManager"
}
},
2018-09-26 09:19:53 +00:00
"id": 2703,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "execTransactionFromModule",
"nodeType": "MemberAccess",
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 1138,
"src": "2396:33:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
2018-09-26 09:19:53 +00:00
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_enum$_Operation_$1658_$returns$_t_bool_$",
2018-05-31 13:01:02 +00:00
"typeString": "function (address,uint256,bytes memory,enum Enum.Operation) external returns (bool)"
}
},
2018-09-26 09:19:53 +00:00
"id": 2710,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2396:71:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "436f756c64206e6f742065786563757465207472616e73616374696f6e",
2018-09-26 09:19:53 +00:00
"id": 2711,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
2018-09-26 09:19:53 +00:00
"src": "2469:31:20",
2018-05-31 13:01:02 +00:00
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4",
"typeString": "literal_string \"Could not execute transaction\""
},
"value": "Could not execute transaction"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_b0a2f29e31cc28eee068c27ff93342fb8d9840dcad25c6f669ce8154844930c4",
"typeString": "literal_string \"Could not execute transaction\""
}
],
2018-09-26 09:19:53 +00:00
"id": 2701,
2018-05-31 13:01:02 +00:00
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2018-09-26 09:19:53 +00:00
4494,
4495
2018-05-31 13:01:02 +00:00
],
2018-09-26 09:19:53 +00:00
"referencedDeclaration": 4495,
"src": "2388:7:20",
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-09-26 09:19:53 +00:00
"id": 2712,
2018-05-31 13:01:02 +00:00
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
2018-09-26 09:19:53 +00:00
"src": "2388:113:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
2018-09-26 09:19:53 +00:00
"id": 2713,
2018-05-31 13:01:02 +00:00
"nodeType": "ExpressionStatement",
2018-09-26 09:19:53 +00:00
"src": "2388:113:20"
2018-05-31 13:01:02 +00:00
}
]
},
"documentation": "@dev Returns if Safe transaction is to a whitelisted destination.\n @param to Whitelisted destination address.\n @param value Not checked.\n @param data Not checked.\n @return Returns if transaction can be executed.",
2018-09-26 09:19:53 +00:00
"id": 2715,
2018-05-31 13:01:02 +00:00
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [],
"name": "executeWhitelisted",
"nodeType": "FunctionDefinition",
"parameters": {
2018-09-26 09:19:53 +00:00
"id": 2679,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2674,
2018-05-31 13:01:02 +00:00
"name": "to",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2715,
"src": "2034:10:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2673,
2018-05-31 13:01:02 +00:00
"name": "address",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "2034:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2676,
2018-05-31 13:01:02 +00:00
"name": "value",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2715,
"src": "2046:13:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2675,
2018-05-31 13:01:02 +00:00
"name": "uint256",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "2046:7:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2678,
2018-05-31 13:01:02 +00:00
"name": "data",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2715,
"src": "2061:10:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2677,
2018-05-31 13:01:02 +00:00
"name": "bytes",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "2061:5:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"src": "2033:39:20"
2018-05-31 13:01:02 +00:00
},
"payable": false,
"returnParameters": {
2018-09-26 09:19:53 +00:00
"id": 2682,
2018-05-31 13:01:02 +00:00
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
2018-09-26 09:19:53 +00:00
"id": 2681,
2018-05-31 13:01:02 +00:00
"name": "",
"nodeType": "VariableDeclaration",
2018-09-26 09:19:53 +00:00
"scope": 2715,
"src": "2105:4:20",
2018-05-31 13:01:02 +00:00
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
2018-09-26 09:19:53 +00:00
"id": 2680,
2018-05-31 13:01:02 +00:00
"name": "bool",
"nodeType": "ElementaryTypeName",
2018-09-26 09:19:53 +00:00
"src": "2105:4:20",
2018-05-31 13:01:02 +00:00
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
2018-09-26 09:19:53 +00:00
"src": "2104:6:20"
2018-05-31 13:01:02 +00:00
},
2018-09-26 09:19:53 +00:00
"scope": 2716,
"src": "2006:502:20",
2018-05-31 13:01:02 +00:00
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
2018-09-26 09:19:53 +00:00
"scope": 2717,
"src": "311:2199:20"
2018-05-31 13:01:02 +00:00
}
],
2018-09-26 09:19:53 +00:00
"src": "0:2511:20"
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-09-26 09:19:53 +00:00
"address": "0xd69a54c43860d32799c36f5e336fd2dfe801ffbd",
"transactionHash": "0xec78c65020b41ece88415fa8da2aabfd403a63cad0689a9ad1ef37ae606e079f"
2018-05-31 13:01:02 +00:00
}
},
2018-06-29 11:23:01 +00:00
"schemaVersion": "2.0.0",
2018-09-26 09:19:53 +00:00
"updatedAt": "2018-09-26T08:56:03.708Z"
2018-05-31 13:01:02 +00:00
}