WA-238 Add new deployment of safe-contracts

This commit is contained in:
apanizo 2018-05-28 08:19:20 +02:00
parent 071fee9056
commit 547f14474e
21 changed files with 15577 additions and 13113 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -50,10 +50,10 @@
"type": "fallback" "type": "fallback"
} }
], ],
"bytecode": "0x608060405234801561001057600080fd5b5060405161026d38038061026d83398101806040528101908080519060200190929190805182019291905050508160008173ffffffffffffffffffffffffffffffffffffffff161415151561006457600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000815111156100f15773ffffffffffffffffffffffffffffffffffffffff60005416600080835160208501846127105a03f46040513d6000823e60008214156100ed573d81fd5b5050505b505061016b806101026000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634555d5c91461008b5780635c60da1b146100b6575b73ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415610086573d6000fd5b3d6000f35b34801561009757600080fd5b506100a061010d565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006002905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a723058205cd4a89651ca60d8b50982ec7e3fbdce37b95b9583ada7bf65fc3dad95a54f750029", "bytecode": "0x608060405234801561001057600080fd5b506040516102fc3803806102fc83398101806040528101908080519060200190929190805182019291905050508160008173ffffffffffffffffffffffffffffffffffffffff16141515156100f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000815111156101805773ffffffffffffffffffffffffffffffffffffffff60005416600080835160208501846127105a03f46040513d6000823e600082141561017c573d81fd5b5050505b505061016b806101916000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634555d5c91461008b5780635c60da1b146100b6575b73ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415610086573d6000fd5b3d6000f35b34801561009757600080fd5b506100a061010d565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006002905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a72305820bab5357556c704bffef0f96326dd27742408be175057ffd8f4f58237314cfd520029",
"deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634555d5c91461008b5780635c60da1b146100b6575b73ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415610086573d6000fd5b3d6000f35b34801561009757600080fd5b506100a061010d565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006002905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a723058205cd4a89651ca60d8b50982ec7e3fbdce37b95b9583ada7bf65fc3dad95a54f750029", "deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634555d5c91461008b5780635c60da1b146100b6575b73ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415610086573d6000fd5b3d6000f35b34801561009757600080fd5b506100a061010d565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006002905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a72305820bab5357556c704bffef0f96326dd27742408be175057ffd8f4f58237314cfd520029",
"sourceMap": "355:882:0:-;;;610:625;8:9:-1;5:2;;;30:1;27;20:12;5:2;610:625:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;668:11;593:1:11;578:11;:16;;;;570:25;;;;;;;;618:11;605:10;;:24;;;;;;;;;;;;;;;;;;508:128;735:1:0;714:11;:18;:22;710:519;;;879:42;875:1;869:8;865:57;1043:1;1040;1026:11;1020:18;1013:4;1000:11;996:22;984:10;976:5;971:3;967:15;954:91;1079:4;1073:11;1124:14;1121:1;1116:3;1101:38;1171:1;1162:7;1159:14;1156:2;;;1188:14;1183:3;1176:27;1156:2;829:390;;;;610:625;;355:882;;;;;;", "sourceMap": "355:882:0:-;;;610:625;8:9:-1;5:2;;;30:1;27;20:12;5:2;610:625:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;668:11;593:1:11;578:11;:16;;;;570:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;658:11;645:10;;:24;;;;;;;;;;;;;;;;;;508:168;735:1:0;714:11;:18;:22;710:519;;;879:42;875:1;869:8;865:57;1043:1;1040;1026:11;1020:18;1013:4;1000:11;996:22;984:10;976:5;971:3;967:15;954:91;1079:4;1073:11;1124:14;1121:1;1116:3;1101:38;1171:1;1162:7;1159:14;1156:2;;;1188:14;1183:3;1176:27;1156:2;829:390;;;;610:625;;355:882;;;;;;",
"deployedSourceMap": "355:882:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;915:42:11;911:1;905:8;901:57;990:14;987:1;984;971:34;1085:1;1082;1066:14;1063:1;1051:10;1046:3;1033:54;1121:16;1118:1;1115;1100:38;1166:1;1157:7;1154:14;1151:2;;;1181:16;1178:1;1171:27;1151:2;1223:16;1220:1;1213:27;1386:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1386:104:11;;;;;;;;;;;;;;;;;;;;;;;1262:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1262:118:11;;;;;;;;;;;;;;;;;;;;;;;;;;;1386:104;1452:7;1482:1;1475:8;;1386:104;:::o;1262:118::-;1333:7;1363:10;;;;;;;;;;;1356:17;;1262:118;:::o", "deployedSourceMap": "355:882:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;955:42:11;951:1;945:8;941:57;1030:14;1027:1;1024;1011:34;1125:1;1122;1106:14;1103:1;1091:10;1086:3;1073:54;1161:16;1158:1;1155;1140:38;1206:1;1197:7;1194:14;1191:2;;;1221:16;1218:1;1211:27;1191:2;1263:16;1260:1;1253:27;1426:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1426:104:11;;;;;;;;;;;;;;;;;;;;;;;1302:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1302:118:11;;;;;;;;;;;;;;;;;;;;;;;;;;;1426:104;1492:7;1522:1;1515:8;;1426:104;:::o;1302:118::-;1373:7;1403:10;;;;;;;;;;;1396:17;;1302:118;:::o",
"source": "pragma solidity 0.4.24;\nimport \"./Proxy.sol\";\n\n\n/// @title Delegate Constructor Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract. It is possible to send along initialization data with the constructor.\n/// @author Stefan George - <stefan@gnosis.pm>\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract DelegateConstructorProxy is Proxy {\n\n /// @dev Constructor function sets address of master copy contract.\n /// @param _masterCopy Master copy address.\n /// @param initializer Data used for a delegate call to initialize the contract.\n constructor(address _masterCopy, bytes initializer) Proxy(_masterCopy)\n public\n {\n if (initializer.length > 0) {\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n let masterCopy := and(sload(0), 0xffffffffffffffffffffffffffffffffffffffff)\n let success := delegatecall(sub(gas, 10000), masterCopy, add(initializer, 0x20), mload(initializer), 0, 0)\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, returndatasize)\n if eq(success, 0) { revert(ptr, returndatasize) }\n }\n }\n }\n}\n", "source": "pragma solidity 0.4.24;\nimport \"./Proxy.sol\";\n\n\n/// @title Delegate Constructor Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract. It is possible to send along initialization data with the constructor.\n/// @author Stefan George - <stefan@gnosis.pm>\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract DelegateConstructorProxy is Proxy {\n\n /// @dev Constructor function sets address of master copy contract.\n /// @param _masterCopy Master copy address.\n /// @param initializer Data used for a delegate call to initialize the contract.\n constructor(address _masterCopy, bytes initializer) Proxy(_masterCopy)\n public\n {\n if (initializer.length > 0) {\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n let masterCopy := and(sload(0), 0xffffffffffffffffffffffffffffffffffffffff)\n let success := delegatecall(sub(gas, 10000), masterCopy, add(initializer, 0x20), mload(initializer), 0, 0)\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, returndatasize)\n if eq(success, 0) { revert(ptr, returndatasize) }\n }\n }\n }\n}\n",
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/DelegateConstructorProxy.sol", "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/DelegateConstructorProxy.sol",
"ast": { "ast": {
@ -82,7 +82,7 @@
"id": 2, "id": 2,
"nodeType": "ImportDirective", "nodeType": "ImportDirective",
"scope": 24, "scope": 24,
"sourceUnit": 1569, "sourceUnit": 1603,
"src": "24:21:0", "src": "24:21:0",
"symbolAliases": [], "symbolAliases": [],
"unitAlias": "" "unitAlias": ""
@ -96,10 +96,10 @@
"id": 3, "id": 3,
"name": "Proxy", "name": "Proxy",
"nodeType": "UserDefinedTypeName", "nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1568, "referencedDeclaration": 1602,
"src": "392:5:0", "src": "392:5:0",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
@ -109,7 +109,7 @@
} }
], ],
"contractDependencies": [ "contractDependencies": [
1568 1602
], ],
"contractKind": "contract", "contractKind": "contract",
"documentation": "@title Delegate Constructor Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract. It is possible to send along initialization data with the constructor.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>", "documentation": "@title Delegate Constructor Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract. It is possible to send along initialization data with the constructor.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>",
@ -117,7 +117,7 @@
"id": 23, "id": 23,
"linearizedBaseContracts": [ "linearizedBaseContracts": [
23, 23,
1568 1602
], ],
"name": "DelegateConstructorProxy", "name": "DelegateConstructorProxy",
"nodeType": "ContractDefinition", "nodeType": "ContractDefinition",
@ -264,10 +264,10 @@
"name": "Proxy", "name": "Proxy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1568, "referencedDeclaration": 1602,
"src": "662:5:0", "src": "662:5:0",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Proxy_$1568_$", "typeIdentifier": "t_type$_t_contract$_Proxy_$1602_$",
"typeString": "type(contract Proxy)" "typeString": "type(contract Proxy)"
} }
}, },
@ -382,7 +382,7 @@
"id": 2, "id": 2,
"nodeType": "ImportDirective", "nodeType": "ImportDirective",
"scope": 24, "scope": 24,
"sourceUnit": 1569, "sourceUnit": 1603,
"src": "24:21:0", "src": "24:21:0",
"symbolAliases": [], "symbolAliases": [],
"unitAlias": "" "unitAlias": ""
@ -396,10 +396,10 @@
"id": 3, "id": 3,
"name": "Proxy", "name": "Proxy",
"nodeType": "UserDefinedTypeName", "nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1568, "referencedDeclaration": 1602,
"src": "392:5:0", "src": "392:5:0",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
@ -409,7 +409,7 @@
} }
], ],
"contractDependencies": [ "contractDependencies": [
1568 1602
], ],
"contractKind": "contract", "contractKind": "contract",
"documentation": "@title Delegate Constructor Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract. It is possible to send along initialization data with the constructor.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>", "documentation": "@title Delegate Constructor Proxy - Generic proxy contract allows to execute all transactions applying the code of a master contract. It is possible to send along initialization data with the constructor.\n @author Stefan George - <stefan@gnosis.pm>\n @author Richard Meissner - <richard@gnosis.pm>",
@ -417,7 +417,7 @@
"id": 23, "id": 23,
"linearizedBaseContracts": [ "linearizedBaseContracts": [
23, 23,
1568 1602
], ],
"name": "DelegateConstructorProxy", "name": "DelegateConstructorProxy",
"nodeType": "ContractDefinition", "nodeType": "ContractDefinition",
@ -564,10 +564,10 @@
"name": "Proxy", "name": "Proxy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1568, "referencedDeclaration": 1602,
"src": "662:5:0", "src": "662:5:0",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Proxy_$1568_$", "typeIdentifier": "t_type$_t_contract$_Proxy_$1602_$",
"typeString": "type(contract Proxy)" "typeString": "type(contract Proxy)"
} }
}, },
@ -662,5 +662,5 @@
}, },
"networks": {}, "networks": {},
"schemaVersion": "2.0.0", "schemaVersion": "2.0.0",
"updatedAt": "2018-05-27T11:12:45.574Z" "updatedAt": "2018-05-28T05:59:52.697Z"
} }

File diff suppressed because it is too large Load Diff

View File

@ -147,5 +147,5 @@
}, },
"networks": {}, "networks": {},
"schemaVersion": "2.0.0", "schemaVersion": "2.0.0",
"updatedAt": "2018-05-27T11:12:45.575Z" "updatedAt": "2018-05-28T05:59:52.697Z"
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -16,24 +16,24 @@
"type": "function" "type": "function"
} }
], ],
"bytecode": "0x608060405234801561001057600080fd5b50610158806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637de7edef14610046575b600080fd5b34801561005257600080fd5b50610087600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610089565b005b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156100c357600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141515156100e957600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820af102433b8ccec4f2f22acc2112a110b3e5e8a3a9a6410aebbe25fc9281607660029", "bytecode": "0x608060405234801561001057600080fd5b50610276806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637de7edef14610046575b600080fd5b34801561005257600080fd5b50610087600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610089565b005b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610152576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820243ca7a44eb0464a47c14309cc3a29e407df6e966674981a787df22c0d9280220029",
"deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637de7edef14610046575b600080fd5b34801561005257600080fd5b50610087600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610089565b005b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156100c357600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff16141515156100e957600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820af102433b8ccec4f2f22acc2112a110b3e5e8a3a9a6410aebbe25fc9281607660029", "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637de7edef14610046575b600080fd5b34801561005257600080fd5b50610087600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610089565b005b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610152576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820243ca7a44eb0464a47c14309cc3a29e407df6e966674981a787df22c0d9280220029",
"sourceMap": "203:633:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;203:633:5;;;;;;;", "sourceMap": "203:673:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;203:673:5;;;;;;;",
"deployedSourceMap": "203:633:5:-;;;;;;;;;;;;;;;;;;;;;;;;626:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:208:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;244:4:13;222:27;;:10;:27;;;214:36;;;;;;;;791:1:5;776:11;:16;;;;768:25;;;;;;;;816:11;803:10;;:24;;;;;;;;;;;;;;;;;;626:208;:::o", "deployedSourceMap": "203:673:5:-;;;;;;;;;;;;;;;;;;;;;;;;626:248;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:248:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;244:4:13;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;791:1:5;776:11;:16;;;;768:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;856:11;843:10;;:24;;;;;;;;;;;;;;;;;;626:248;:::o",
"source": "pragma solidity 0.4.24;\nimport \"./SelfAuthorized.sol\";\n\n\n/// @title MasterCopy - Base for master copy contracts (should always be first super contract)\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract MasterCopy is SelfAuthorized {\n // masterCopy always needs to be first declared variable, to ensure that it is at the same location as in the Proxy contract.\n // It should also always be ensured that the address is stored alone (uses a full word)\n address masterCopy;\n\n /// @dev Allows to upgrade the contract. This can only be done via a Safe transaction.\n /// @param _masterCopy New contract address.\n function changeMasterCopy(address _masterCopy)\n public\n authorized\n {\n // Master copy address cannot be null.\n require(_masterCopy != 0);\n masterCopy = _masterCopy;\n }\n}\n", "source": "pragma solidity 0.4.24;\nimport \"./SelfAuthorized.sol\";\n\n\n/// @title MasterCopy - Base for master copy contracts (should always be first super contract)\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract MasterCopy is SelfAuthorized {\n // masterCopy always needs to be first declared variable, to ensure that it is at the same location as in the Proxy contract.\n // It should also always be ensured that the address is stored alone (uses a full word)\n address masterCopy;\n\n /// @dev Allows to upgrade the contract. This can only be done via a Safe transaction.\n /// @param _masterCopy New contract address.\n function changeMasterCopy(address _masterCopy)\n public\n authorized\n {\n // Master copy address cannot be null.\n require(_masterCopy != 0, \"Invalid master copy address provided\");\n masterCopy = _masterCopy;\n }\n}\n",
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol", "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol",
"ast": { "ast": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol",
"exportedSymbols": { "exportedSymbols": {
"MasterCopy": [ "MasterCopy": [
652 662
] ]
}, },
"id": 653, "id": 663,
"nodeType": "SourceUnit", "nodeType": "SourceUnit",
"nodes": [ "nodes": [
{ {
"id": 628, "id": 637,
"literals": [ "literals": [
"solidity", "solidity",
"0.4", "0.4",
@ -45,10 +45,10 @@
{ {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol",
"file": "./SelfAuthorized.sol", "file": "./SelfAuthorized.sol",
"id": 629, "id": 638,
"nodeType": "ImportDirective", "nodeType": "ImportDirective",
"scope": 653, "scope": 663,
"sourceUnit": 1620, "sourceUnit": 1655,
"src": "24:30:5", "src": "24:30:5",
"symbolAliases": [], "symbolAliases": [],
"unitAlias": "" "unitAlias": ""
@ -59,41 +59,41 @@
"arguments": null, "arguments": null,
"baseName": { "baseName": {
"contractScope": null, "contractScope": null,
"id": 630, "id": 639,
"name": "SelfAuthorized", "name": "SelfAuthorized",
"nodeType": "UserDefinedTypeName", "nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1619, "referencedDeclaration": 1654,
"src": "226:14:5", "src": "226:14:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_SelfAuthorized_$1619", "typeIdentifier": "t_contract$_SelfAuthorized_$1654",
"typeString": "contract SelfAuthorized" "typeString": "contract SelfAuthorized"
} }
}, },
"id": 631, "id": 640,
"nodeType": "InheritanceSpecifier", "nodeType": "InheritanceSpecifier",
"src": "226:14:5" "src": "226:14:5"
} }
], ],
"contractDependencies": [ "contractDependencies": [
1619 1654
], ],
"contractKind": "contract", "contractKind": "contract",
"documentation": "@title MasterCopy - Base for master copy contracts (should always be first super contract)\n @author Richard Meissner - <richard@gnosis.pm>", "documentation": "@title MasterCopy - Base for master copy contracts (should always be first super contract)\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true, "fullyImplemented": true,
"id": 652, "id": 662,
"linearizedBaseContracts": [ "linearizedBaseContracts": [
652, 662,
1619 1654
], ],
"name": "MasterCopy", "name": "MasterCopy",
"nodeType": "ContractDefinition", "nodeType": "ContractDefinition",
"nodes": [ "nodes": [
{ {
"constant": false, "constant": false,
"id": 633, "id": 642,
"name": "masterCopy", "name": "masterCopy",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 652, "scope": 662,
"src": "465:18:5", "src": "465:18:5",
"stateVariable": true, "stateVariable": true,
"storageLocation": "default", "storageLocation": "default",
@ -102,7 +102,7 @@
"typeString": "address" "typeString": "address"
}, },
"typeName": { "typeName": {
"id": 632, "id": 641,
"name": "address", "name": "address",
"nodeType": "ElementaryTypeName", "nodeType": "ElementaryTypeName",
"src": "465:7:5", "src": "465:7:5",
@ -116,9 +116,9 @@
}, },
{ {
"body": { "body": {
"id": 650, "id": 660,
"nodeType": "Block", "nodeType": "Block",
"src": "711:123:5", "src": "711:163:5",
"statements": [ "statements": [
{ {
"expression": { "expression": {
@ -130,18 +130,18 @@
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
"typeString": "address" "typeString": "address"
}, },
"id": 643, "id": 652,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
"lValueRequested": false, "lValueRequested": false,
"leftExpression": { "leftExpression": {
"argumentTypes": null, "argumentTypes": null,
"id": 641, "id": 650,
"name": "_masterCopy", "name": "_masterCopy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 635, "referencedDeclaration": 644,
"src": "776:11:5", "src": "776:11:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
@ -153,7 +153,7 @@
"rightExpression": { "rightExpression": {
"argumentTypes": null, "argumentTypes": null,
"hexValue": "30", "hexValue": "30",
"id": 642, "id": 651,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": true, "isPure": true,
@ -173,6 +173,24 @@
"typeIdentifier": "t_bool", "typeIdentifier": "t_bool",
"typeString": "bool" "typeString": "bool"
} }
},
{
"argumentTypes": null,
"hexValue": "496e76616c6964206d617374657220636f707920616464726573732070726f7669646564",
"id": 653,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "794:38:5",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_108d84599042957b954e89d43b52f80be89321dfc114a37800028eba58dafc87",
"typeString": "literal_string \"Invalid master copy address provided\""
},
"value": "Invalid master copy address provided"
} }
], ],
"expression": { "expression": {
@ -180,23 +198,27 @@
{ {
"typeIdentifier": "t_bool", "typeIdentifier": "t_bool",
"typeString": "bool" "typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_108d84599042957b954e89d43b52f80be89321dfc114a37800028eba58dafc87",
"typeString": "literal_string \"Invalid master copy address provided\""
} }
], ],
"id": 640, "id": 649,
"name": "require", "name": "require",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [ "overloadedDeclarations": [
2601, 2657,
2602 2658
], ],
"referencedDeclaration": 2601, "referencedDeclaration": 2658,
"src": "768:7:5", "src": "768:7:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool) pure" "typeString": "function (bool,string memory) pure"
} }
}, },
"id": 644, "id": 654,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -204,32 +226,32 @@
"lValueRequested": false, "lValueRequested": false,
"names": [], "names": [],
"nodeType": "FunctionCall", "nodeType": "FunctionCall",
"src": "768:25:5", "src": "768:65:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_tuple$__$", "typeIdentifier": "t_tuple$__$",
"typeString": "tuple()" "typeString": "tuple()"
} }
}, },
"id": 645, "id": 655,
"nodeType": "ExpressionStatement", "nodeType": "ExpressionStatement",
"src": "768:25:5" "src": "768:65:5"
}, },
{ {
"expression": { "expression": {
"argumentTypes": null, "argumentTypes": null,
"id": 648, "id": 658,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
"lValueRequested": false, "lValueRequested": false,
"leftHandSide": { "leftHandSide": {
"argumentTypes": null, "argumentTypes": null,
"id": 646, "id": 656,
"name": "masterCopy", "name": "masterCopy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 633, "referencedDeclaration": 642,
"src": "803:10:5", "src": "843:10:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
"typeString": "address" "typeString": "address"
@ -239,45 +261,45 @@
"operator": "=", "operator": "=",
"rightHandSide": { "rightHandSide": {
"argumentTypes": null, "argumentTypes": null,
"id": 647, "id": 657,
"name": "_masterCopy", "name": "_masterCopy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 635, "referencedDeclaration": 644,
"src": "816:11:5", "src": "856:11:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
"typeString": "address" "typeString": "address"
} }
}, },
"src": "803:24:5", "src": "843:24:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
"typeString": "address" "typeString": "address"
} }
}, },
"id": 649, "id": 659,
"nodeType": "ExpressionStatement", "nodeType": "ExpressionStatement",
"src": "803:24:5" "src": "843:24:5"
} }
] ]
}, },
"documentation": "@dev Allows to upgrade the contract. This can only be done via a Safe transaction.\n @param _masterCopy New contract address.", "documentation": "@dev Allows to upgrade the contract. This can only be done via a Safe transaction.\n @param _masterCopy New contract address.",
"id": 651, "id": 661,
"implemented": true, "implemented": true,
"isConstructor": false, "isConstructor": false,
"isDeclaredConst": false, "isDeclaredConst": false,
"modifiers": [ "modifiers": [
{ {
"arguments": null, "arguments": null,
"id": 638, "id": 647,
"modifierName": { "modifierName": {
"argumentTypes": null, "argumentTypes": null,
"id": 637, "id": 646,
"name": "authorized", "name": "authorized",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1618, "referencedDeclaration": 1653,
"src": "696:10:5", "src": "696:10:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_modifier$__$", "typeIdentifier": "t_modifier$__$",
@ -291,15 +313,15 @@
"name": "changeMasterCopy", "name": "changeMasterCopy",
"nodeType": "FunctionDefinition", "nodeType": "FunctionDefinition",
"parameters": { "parameters": {
"id": 636, "id": 645,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [ "parameters": [
{ {
"constant": false, "constant": false,
"id": 635, "id": 644,
"name": "_masterCopy", "name": "_masterCopy",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 651, "scope": 661,
"src": "652:19:5", "src": "652:19:5",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
@ -308,7 +330,7 @@
"typeString": "address" "typeString": "address"
}, },
"typeName": { "typeName": {
"id": 634, "id": 643,
"name": "address", "name": "address",
"nodeType": "ElementaryTypeName", "nodeType": "ElementaryTypeName",
"src": "652:7:5", "src": "652:7:5",
@ -325,36 +347,36 @@
}, },
"payable": false, "payable": false,
"returnParameters": { "returnParameters": {
"id": 639, "id": 648,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [], "parameters": [],
"src": "711:0:5" "src": "711:0:5"
}, },
"scope": 652, "scope": 662,
"src": "626:208:5", "src": "626:248:5",
"stateMutability": "nonpayable", "stateMutability": "nonpayable",
"superFunction": null, "superFunction": null,
"visibility": "public" "visibility": "public"
} }
], ],
"scope": 653, "scope": 663,
"src": "203:633:5" "src": "203:673:5"
} }
], ],
"src": "0:837:5" "src": "0:877:5"
}, },
"legacyAST": { "legacyAST": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol",
"exportedSymbols": { "exportedSymbols": {
"MasterCopy": [ "MasterCopy": [
652 662
] ]
}, },
"id": 653, "id": 663,
"nodeType": "SourceUnit", "nodeType": "SourceUnit",
"nodes": [ "nodes": [
{ {
"id": 628, "id": 637,
"literals": [ "literals": [
"solidity", "solidity",
"0.4", "0.4",
@ -366,10 +388,10 @@
{ {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol",
"file": "./SelfAuthorized.sol", "file": "./SelfAuthorized.sol",
"id": 629, "id": 638,
"nodeType": "ImportDirective", "nodeType": "ImportDirective",
"scope": 653, "scope": 663,
"sourceUnit": 1620, "sourceUnit": 1655,
"src": "24:30:5", "src": "24:30:5",
"symbolAliases": [], "symbolAliases": [],
"unitAlias": "" "unitAlias": ""
@ -380,41 +402,41 @@
"arguments": null, "arguments": null,
"baseName": { "baseName": {
"contractScope": null, "contractScope": null,
"id": 630, "id": 639,
"name": "SelfAuthorized", "name": "SelfAuthorized",
"nodeType": "UserDefinedTypeName", "nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1619, "referencedDeclaration": 1654,
"src": "226:14:5", "src": "226:14:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_SelfAuthorized_$1619", "typeIdentifier": "t_contract$_SelfAuthorized_$1654",
"typeString": "contract SelfAuthorized" "typeString": "contract SelfAuthorized"
} }
}, },
"id": 631, "id": 640,
"nodeType": "InheritanceSpecifier", "nodeType": "InheritanceSpecifier",
"src": "226:14:5" "src": "226:14:5"
} }
], ],
"contractDependencies": [ "contractDependencies": [
1619 1654
], ],
"contractKind": "contract", "contractKind": "contract",
"documentation": "@title MasterCopy - Base for master copy contracts (should always be first super contract)\n @author Richard Meissner - <richard@gnosis.pm>", "documentation": "@title MasterCopy - Base for master copy contracts (should always be first super contract)\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true, "fullyImplemented": true,
"id": 652, "id": 662,
"linearizedBaseContracts": [ "linearizedBaseContracts": [
652, 662,
1619 1654
], ],
"name": "MasterCopy", "name": "MasterCopy",
"nodeType": "ContractDefinition", "nodeType": "ContractDefinition",
"nodes": [ "nodes": [
{ {
"constant": false, "constant": false,
"id": 633, "id": 642,
"name": "masterCopy", "name": "masterCopy",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 652, "scope": 662,
"src": "465:18:5", "src": "465:18:5",
"stateVariable": true, "stateVariable": true,
"storageLocation": "default", "storageLocation": "default",
@ -423,7 +445,7 @@
"typeString": "address" "typeString": "address"
}, },
"typeName": { "typeName": {
"id": 632, "id": 641,
"name": "address", "name": "address",
"nodeType": "ElementaryTypeName", "nodeType": "ElementaryTypeName",
"src": "465:7:5", "src": "465:7:5",
@ -437,9 +459,9 @@
}, },
{ {
"body": { "body": {
"id": 650, "id": 660,
"nodeType": "Block", "nodeType": "Block",
"src": "711:123:5", "src": "711:163:5",
"statements": [ "statements": [
{ {
"expression": { "expression": {
@ -451,18 +473,18 @@
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
"typeString": "address" "typeString": "address"
}, },
"id": 643, "id": 652,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
"lValueRequested": false, "lValueRequested": false,
"leftExpression": { "leftExpression": {
"argumentTypes": null, "argumentTypes": null,
"id": 641, "id": 650,
"name": "_masterCopy", "name": "_masterCopy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 635, "referencedDeclaration": 644,
"src": "776:11:5", "src": "776:11:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
@ -474,7 +496,7 @@
"rightExpression": { "rightExpression": {
"argumentTypes": null, "argumentTypes": null,
"hexValue": "30", "hexValue": "30",
"id": 642, "id": 651,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": true, "isPure": true,
@ -494,6 +516,24 @@
"typeIdentifier": "t_bool", "typeIdentifier": "t_bool",
"typeString": "bool" "typeString": "bool"
} }
},
{
"argumentTypes": null,
"hexValue": "496e76616c6964206d617374657220636f707920616464726573732070726f7669646564",
"id": 653,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "794:38:5",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_108d84599042957b954e89d43b52f80be89321dfc114a37800028eba58dafc87",
"typeString": "literal_string \"Invalid master copy address provided\""
},
"value": "Invalid master copy address provided"
} }
], ],
"expression": { "expression": {
@ -501,23 +541,27 @@
{ {
"typeIdentifier": "t_bool", "typeIdentifier": "t_bool",
"typeString": "bool" "typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_108d84599042957b954e89d43b52f80be89321dfc114a37800028eba58dafc87",
"typeString": "literal_string \"Invalid master copy address provided\""
} }
], ],
"id": 640, "id": 649,
"name": "require", "name": "require",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [ "overloadedDeclarations": [
2601, 2657,
2602 2658
], ],
"referencedDeclaration": 2601, "referencedDeclaration": 2658,
"src": "768:7:5", "src": "768:7:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool) pure" "typeString": "function (bool,string memory) pure"
} }
}, },
"id": 644, "id": 654,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -525,32 +569,32 @@
"lValueRequested": false, "lValueRequested": false,
"names": [], "names": [],
"nodeType": "FunctionCall", "nodeType": "FunctionCall",
"src": "768:25:5", "src": "768:65:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_tuple$__$", "typeIdentifier": "t_tuple$__$",
"typeString": "tuple()" "typeString": "tuple()"
} }
}, },
"id": 645, "id": 655,
"nodeType": "ExpressionStatement", "nodeType": "ExpressionStatement",
"src": "768:25:5" "src": "768:65:5"
}, },
{ {
"expression": { "expression": {
"argumentTypes": null, "argumentTypes": null,
"id": 648, "id": 658,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
"lValueRequested": false, "lValueRequested": false,
"leftHandSide": { "leftHandSide": {
"argumentTypes": null, "argumentTypes": null,
"id": 646, "id": 656,
"name": "masterCopy", "name": "masterCopy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 633, "referencedDeclaration": 642,
"src": "803:10:5", "src": "843:10:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
"typeString": "address" "typeString": "address"
@ -560,45 +604,45 @@
"operator": "=", "operator": "=",
"rightHandSide": { "rightHandSide": {
"argumentTypes": null, "argumentTypes": null,
"id": 647, "id": 657,
"name": "_masterCopy", "name": "_masterCopy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 635, "referencedDeclaration": 644,
"src": "816:11:5", "src": "856:11:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
"typeString": "address" "typeString": "address"
} }
}, },
"src": "803:24:5", "src": "843:24:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
"typeString": "address" "typeString": "address"
} }
}, },
"id": 649, "id": 659,
"nodeType": "ExpressionStatement", "nodeType": "ExpressionStatement",
"src": "803:24:5" "src": "843:24:5"
} }
] ]
}, },
"documentation": "@dev Allows to upgrade the contract. This can only be done via a Safe transaction.\n @param _masterCopy New contract address.", "documentation": "@dev Allows to upgrade the contract. This can only be done via a Safe transaction.\n @param _masterCopy New contract address.",
"id": 651, "id": 661,
"implemented": true, "implemented": true,
"isConstructor": false, "isConstructor": false,
"isDeclaredConst": false, "isDeclaredConst": false,
"modifiers": [ "modifiers": [
{ {
"arguments": null, "arguments": null,
"id": 638, "id": 647,
"modifierName": { "modifierName": {
"argumentTypes": null, "argumentTypes": null,
"id": 637, "id": 646,
"name": "authorized", "name": "authorized",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1618, "referencedDeclaration": 1653,
"src": "696:10:5", "src": "696:10:5",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_modifier$__$", "typeIdentifier": "t_modifier$__$",
@ -612,15 +656,15 @@
"name": "changeMasterCopy", "name": "changeMasterCopy",
"nodeType": "FunctionDefinition", "nodeType": "FunctionDefinition",
"parameters": { "parameters": {
"id": 636, "id": 645,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [ "parameters": [
{ {
"constant": false, "constant": false,
"id": 635, "id": 644,
"name": "_masterCopy", "name": "_masterCopy",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 651, "scope": 661,
"src": "652:19:5", "src": "652:19:5",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
@ -629,7 +673,7 @@
"typeString": "address" "typeString": "address"
}, },
"typeName": { "typeName": {
"id": 634, "id": 643,
"name": "address", "name": "address",
"nodeType": "ElementaryTypeName", "nodeType": "ElementaryTypeName",
"src": "652:7:5", "src": "652:7:5",
@ -646,23 +690,23 @@
}, },
"payable": false, "payable": false,
"returnParameters": { "returnParameters": {
"id": 639, "id": 648,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [], "parameters": [],
"src": "711:0:5" "src": "711:0:5"
}, },
"scope": 652, "scope": 662,
"src": "626:208:5", "src": "626:248:5",
"stateMutability": "nonpayable", "stateMutability": "nonpayable",
"superFunction": null, "superFunction": null,
"visibility": "public" "visibility": "public"
} }
], ],
"scope": 653, "scope": 663,
"src": "203:633:5" "src": "203:673:5"
} }
], ],
"src": "0:837:5" "src": "0:877:5"
}, },
"compiler": { "compiler": {
"name": "solc", "name": "solc",
@ -670,5 +714,5 @@
}, },
"networks": {}, "networks": {},
"schemaVersion": "2.0.0", "schemaVersion": "2.0.0",
"updatedAt": "2018-05-27T11:12:45.579Z" "updatedAt": "2018-05-28T05:59:52.701Z"
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -26,14 +26,14 @@
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/libraries/MultiSend.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/libraries/MultiSend.sol",
"exportedSymbols": { "exportedSymbols": {
"MultiSend": [ "MultiSend": [
1740 1775
] ]
}, },
"id": 1741, "id": 1776,
"nodeType": "SourceUnit", "nodeType": "SourceUnit",
"nodes": [ "nodes": [
{ {
"id": 1732, "id": 1767,
"literals": [ "literals": [
"solidity", "solidity",
"0.4", "0.4",
@ -48,16 +48,16 @@
"contractKind": "contract", "contractKind": "contract",
"documentation": "@title Multi Send - Allows to batch multiple transactions into one.\n @author Nick Dodson - <nick.dodson@consensys.net>\n @author Gonçalo Sá - <goncalo.sa@consensys.net>\n @author Stefan George - <stefan@gnosis.pm>", "documentation": "@title Multi Send - Allows to batch multiple transactions into one.\n @author Nick Dodson - <nick.dodson@consensys.net>\n @author Gonçalo Sá - <goncalo.sa@consensys.net>\n @author Stefan George - <stefan@gnosis.pm>",
"fullyImplemented": true, "fullyImplemented": true,
"id": 1740, "id": 1775,
"linearizedBaseContracts": [ "linearizedBaseContracts": [
1740 1775
], ],
"name": "MultiSend", "name": "MultiSend",
"nodeType": "ContractDefinition", "nodeType": "ContractDefinition",
"nodes": [ "nodes": [
{ {
"body": { "body": {
"id": 1738, "id": 1773,
"nodeType": "Block", "nodeType": "Block",
"src": "651:673:16", "src": "651:673:16",
"statements": [ "statements": [
@ -65,7 +65,7 @@
"externalReferences": [ "externalReferences": [
{ {
"transactions": { "transactions": {
"declaration": 1734, "declaration": 1769,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "768:12:16", "src": "768:12:16",
@ -74,7 +74,7 @@
}, },
{ {
"transactions": { "transactions": {
"declaration": 1734, "declaration": 1769,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "884:12:16", "src": "884:12:16",
@ -83,7 +83,7 @@
}, },
{ {
"transactions": { "transactions": {
"declaration": 1734, "declaration": 1769,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "941:12:16", "src": "941:12:16",
@ -92,7 +92,7 @@
}, },
{ {
"transactions": { "transactions": {
"declaration": 1734, "declaration": 1769,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "1014:12:16", "src": "1014:12:16",
@ -101,7 +101,7 @@
}, },
{ {
"transactions": { "transactions": {
"declaration": 1734, "declaration": 1769,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "1075:12:16", "src": "1075:12:16",
@ -109,7 +109,7 @@
} }
} }
], ],
"id": 1737, "id": 1772,
"nodeType": "InlineAssembly", "nodeType": "InlineAssembly",
"operations": "{\n let length := mload(transactions)\n let i := 0x20\n for {\n }\n lt(i, length)\n {\n }\n {\n let to := mload(add(transactions, i))\n let value := mload(add(transactions, add(i, 0x20)))\n let dataLength := mload(add(transactions, add(i, 0x60)))\n let data := add(transactions, add(i, 0x80))\n switch call(gas(), to, value, data, dataLength, 0, 0)\n case 0 {\n revert(0, 0)\n }\n i := add(i, add(0x80, mul(div(add(dataLength, 0x1f), 0x20), 0x20)))\n }\n}", "operations": "{\n let length := mload(transactions)\n let i := 0x20\n for {\n }\n lt(i, length)\n {\n }\n {\n let to := mload(add(transactions, i))\n let value := mload(add(transactions, add(i, 0x20)))\n let dataLength := mload(add(transactions, add(i, 0x60)))\n let data := add(transactions, add(i, 0x80))\n switch call(gas(), to, value, data, dataLength, 0, 0)\n case 0 {\n revert(0, 0)\n }\n i := add(i, add(0x80, mul(div(add(dataLength, 0x1f), 0x20), 0x20)))\n }\n}",
"src": "725:599:16" "src": "725:599:16"
@ -117,7 +117,7 @@
] ]
}, },
"documentation": "@dev Sends multiple transactions and reverts all if one fails.\n @param transactions Encoded transactions. Each transaction is encoded as\n a tuple(address,uint256,bytes). The bytes of all\n encoded transactions are concatenated to form the input.", "documentation": "@dev Sends multiple transactions and reverts all if one fails.\n @param transactions Encoded transactions. Each transaction is encoded as\n a tuple(address,uint256,bytes). The bytes of all\n encoded transactions are concatenated to form the input.",
"id": 1739, "id": 1774,
"implemented": true, "implemented": true,
"isConstructor": false, "isConstructor": false,
"isDeclaredConst": false, "isDeclaredConst": false,
@ -125,15 +125,15 @@
"name": "multiSend", "name": "multiSend",
"nodeType": "FunctionDefinition", "nodeType": "FunctionDefinition",
"parameters": { "parameters": {
"id": 1735, "id": 1770,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [ "parameters": [
{ {
"constant": false, "constant": false,
"id": 1734, "id": 1769,
"name": "transactions", "name": "transactions",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 1739, "scope": 1774,
"src": "612:18:16", "src": "612:18:16",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
@ -142,7 +142,7 @@
"typeString": "bytes" "typeString": "bytes"
}, },
"typeName": { "typeName": {
"id": 1733, "id": 1768,
"name": "bytes", "name": "bytes",
"nodeType": "ElementaryTypeName", "nodeType": "ElementaryTypeName",
"src": "612:5:16", "src": "612:5:16",
@ -159,19 +159,19 @@
}, },
"payable": false, "payable": false,
"returnParameters": { "returnParameters": {
"id": 1736, "id": 1771,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [], "parameters": [],
"src": "651:0:16" "src": "651:0:16"
}, },
"scope": 1740, "scope": 1775,
"src": "593:731:16", "src": "593:731:16",
"stateMutability": "nonpayable", "stateMutability": "nonpayable",
"superFunction": null, "superFunction": null,
"visibility": "public" "visibility": "public"
} }
], ],
"scope": 1741, "scope": 1776,
"src": "253:1073:16" "src": "253:1073:16"
} }
], ],
@ -181,14 +181,14 @@
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/libraries/MultiSend.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/libraries/MultiSend.sol",
"exportedSymbols": { "exportedSymbols": {
"MultiSend": [ "MultiSend": [
1740 1775
] ]
}, },
"id": 1741, "id": 1776,
"nodeType": "SourceUnit", "nodeType": "SourceUnit",
"nodes": [ "nodes": [
{ {
"id": 1732, "id": 1767,
"literals": [ "literals": [
"solidity", "solidity",
"0.4", "0.4",
@ -203,16 +203,16 @@
"contractKind": "contract", "contractKind": "contract",
"documentation": "@title Multi Send - Allows to batch multiple transactions into one.\n @author Nick Dodson - <nick.dodson@consensys.net>\n @author Gonçalo Sá - <goncalo.sa@consensys.net>\n @author Stefan George - <stefan@gnosis.pm>", "documentation": "@title Multi Send - Allows to batch multiple transactions into one.\n @author Nick Dodson - <nick.dodson@consensys.net>\n @author Gonçalo Sá - <goncalo.sa@consensys.net>\n @author Stefan George - <stefan@gnosis.pm>",
"fullyImplemented": true, "fullyImplemented": true,
"id": 1740, "id": 1775,
"linearizedBaseContracts": [ "linearizedBaseContracts": [
1740 1775
], ],
"name": "MultiSend", "name": "MultiSend",
"nodeType": "ContractDefinition", "nodeType": "ContractDefinition",
"nodes": [ "nodes": [
{ {
"body": { "body": {
"id": 1738, "id": 1773,
"nodeType": "Block", "nodeType": "Block",
"src": "651:673:16", "src": "651:673:16",
"statements": [ "statements": [
@ -220,7 +220,7 @@
"externalReferences": [ "externalReferences": [
{ {
"transactions": { "transactions": {
"declaration": 1734, "declaration": 1769,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "768:12:16", "src": "768:12:16",
@ -229,7 +229,7 @@
}, },
{ {
"transactions": { "transactions": {
"declaration": 1734, "declaration": 1769,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "884:12:16", "src": "884:12:16",
@ -238,7 +238,7 @@
}, },
{ {
"transactions": { "transactions": {
"declaration": 1734, "declaration": 1769,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "941:12:16", "src": "941:12:16",
@ -247,7 +247,7 @@
}, },
{ {
"transactions": { "transactions": {
"declaration": 1734, "declaration": 1769,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "1014:12:16", "src": "1014:12:16",
@ -256,7 +256,7 @@
}, },
{ {
"transactions": { "transactions": {
"declaration": 1734, "declaration": 1769,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "1075:12:16", "src": "1075:12:16",
@ -264,7 +264,7 @@
} }
} }
], ],
"id": 1737, "id": 1772,
"nodeType": "InlineAssembly", "nodeType": "InlineAssembly",
"operations": "{\n let length := mload(transactions)\n let i := 0x20\n for {\n }\n lt(i, length)\n {\n }\n {\n let to := mload(add(transactions, i))\n let value := mload(add(transactions, add(i, 0x20)))\n let dataLength := mload(add(transactions, add(i, 0x60)))\n let data := add(transactions, add(i, 0x80))\n switch call(gas(), to, value, data, dataLength, 0, 0)\n case 0 {\n revert(0, 0)\n }\n i := add(i, add(0x80, mul(div(add(dataLength, 0x1f), 0x20), 0x20)))\n }\n}", "operations": "{\n let length := mload(transactions)\n let i := 0x20\n for {\n }\n lt(i, length)\n {\n }\n {\n let to := mload(add(transactions, i))\n let value := mload(add(transactions, add(i, 0x20)))\n let dataLength := mload(add(transactions, add(i, 0x60)))\n let data := add(transactions, add(i, 0x80))\n switch call(gas(), to, value, data, dataLength, 0, 0)\n case 0 {\n revert(0, 0)\n }\n i := add(i, add(0x80, mul(div(add(dataLength, 0x1f), 0x20), 0x20)))\n }\n}",
"src": "725:599:16" "src": "725:599:16"
@ -272,7 +272,7 @@
] ]
}, },
"documentation": "@dev Sends multiple transactions and reverts all if one fails.\n @param transactions Encoded transactions. Each transaction is encoded as\n a tuple(address,uint256,bytes). The bytes of all\n encoded transactions are concatenated to form the input.", "documentation": "@dev Sends multiple transactions and reverts all if one fails.\n @param transactions Encoded transactions. Each transaction is encoded as\n a tuple(address,uint256,bytes). The bytes of all\n encoded transactions are concatenated to form the input.",
"id": 1739, "id": 1774,
"implemented": true, "implemented": true,
"isConstructor": false, "isConstructor": false,
"isDeclaredConst": false, "isDeclaredConst": false,
@ -280,15 +280,15 @@
"name": "multiSend", "name": "multiSend",
"nodeType": "FunctionDefinition", "nodeType": "FunctionDefinition",
"parameters": { "parameters": {
"id": 1735, "id": 1770,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [ "parameters": [
{ {
"constant": false, "constant": false,
"id": 1734, "id": 1769,
"name": "transactions", "name": "transactions",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 1739, "scope": 1774,
"src": "612:18:16", "src": "612:18:16",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
@ -297,7 +297,7 @@
"typeString": "bytes" "typeString": "bytes"
}, },
"typeName": { "typeName": {
"id": 1733, "id": 1768,
"name": "bytes", "name": "bytes",
"nodeType": "ElementaryTypeName", "nodeType": "ElementaryTypeName",
"src": "612:5:16", "src": "612:5:16",
@ -314,19 +314,19 @@
}, },
"payable": false, "payable": false,
"returnParameters": { "returnParameters": {
"id": 1736, "id": 1771,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [], "parameters": [],
"src": "651:0:16" "src": "651:0:16"
}, },
"scope": 1740, "scope": 1775,
"src": "593:731:16", "src": "593:731:16",
"stateMutability": "nonpayable", "stateMutability": "nonpayable",
"superFunction": null, "superFunction": null,
"visibility": "public" "visibility": "public"
} }
], ],
"scope": 1741, "scope": 1776,
"src": "253:1073:16" "src": "253:1073:16"
} }
], ],
@ -340,22 +340,16 @@
"4": { "4": {
"events": {}, "events": {},
"links": {}, "links": {},
"address": "0x46ba31fce67f6e0cfdf767b2b24c8cfa56015334", "address": "0xa95bcb648df34c679b070cd7f5992ec4aa4e5275",
"transactionHash": "0x4d190832f77421880276d21d750264b5a465b1c38d09d44667ce6617a8dd6a2f" "transactionHash": "0x7260ac1ca4cdf29c28bc941de22f64e7dd24bc928841bebee1f2b4d5d84037c8"
},
"1527316019334": {
"events": {},
"links": {},
"address": "0xb0945dc5aa1de7306033fe26a1bba93292ccf9b8",
"transactionHash": "0x09e43d5e80b83dd623f34456dac3db1c4a8610a5734a9b8bb210e0e97dfab47e"
}, },
"1527420696956": { "1527420696956": {
"events": {}, "events": {},
"links": {}, "links": {},
"address": "0xf76104e6bd2085f236594bf61a3d818aa6eb6d8a", "address": "0xdcf4ea4891d890a882fbeb6bab32192bac5b54e7",
"transactionHash": "0xd044f1662e339061a8cabf2b06ac94a9f86fcccf3f5d80ebd1bea2a7542d4021" "transactionHash": "0x172dfa14dab8d0f5c74e8a33b1bcecd25b4dd2a8a71a9e361889a5944d4c5b86"
} }
}, },
"schemaVersion": "2.0.0", "schemaVersion": "2.0.0",
"updatedAt": "2018-05-27T11:31:46.257Z" "updatedAt": "2018-05-28T06:08:59.482Z"
} }

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -37,8 +37,8 @@
"type": "function" "type": "function"
} }
], ],
"bytecode": "0x608060405234801561001057600080fd5b5061044e806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806361b69abd14610046575b600080fd5b34801561005257600080fd5b506100cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061010f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008261011a6101fe565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f08015801561016c573d6000803e3d6000fd5b5090506000825111156101955760008060008451602086016000865af1141561019457600080fd5b5b7fa38789425dbeee0239e16ff2d2567e31720127fbc6430758c1a4efc6aef29f8081604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a192915050565b6040516102148061020f833901905600608060405234801561001057600080fd5b506040516020806102148339810180604052810190808051906020019092919050505060008173ffffffffffffffffffffffffffffffffffffffff161415151561005957600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061016b806100a96000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634555d5c91461008b5780635c60da1b146100b6575b73ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415610086573d6000fd5b3d6000f35b34801561009757600080fd5b506100a061010d565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006002905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a72305820cd7d1e9dd84eb221f79b1c8f72a39fad7d9f8ab7239d25c1fc563147abcaf4150029a165627a7a72305820894d1145d2178ea5a3debf7a1ffb29cfdf9100a5997f8e3b2c8640a6db5c5b120029", "bytecode": "0x608060405234801561001057600080fd5b506104dd806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806361b69abd14610046575b600080fd5b34801561005257600080fd5b506100cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061010f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008261011a6101fe565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f08015801561016c573d6000803e3d6000fd5b5090506000825111156101955760008060008451602086016000865af1141561019457600080fd5b5b7fa38789425dbeee0239e16ff2d2567e31720127fbc6430758c1a4efc6aef29f8081604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a192915050565b6040516102a38061020f833901905600608060405234801561001057600080fd5b506040516020806102a38339810180604052810190808051906020019092919050505060008173ffffffffffffffffffffffffffffffffffffffff16141515156100e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061016b806101386000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634555d5c91461008b5780635c60da1b146100b6575b73ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415610086573d6000fd5b3d6000f35b34801561009757600080fd5b506100a061010d565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006002905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a72305820fb8f7addc79801292900c520af66dd86a1f9d0b643abe5d3ef1ac03eeb2d04080029a165627a7a72305820c742bd15271cf4492803c598458497f17945465dfdcebd0ab4ff208e21d7becf0029",
"deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806361b69abd14610046575b600080fd5b34801561005257600080fd5b506100cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061010f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008261011a6101fe565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f08015801561016c573d6000803e3d6000fd5b5090506000825111156101955760008060008451602086016000865af1141561019457600080fd5b5b7fa38789425dbeee0239e16ff2d2567e31720127fbc6430758c1a4efc6aef29f8081604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a192915050565b6040516102148061020f833901905600608060405234801561001057600080fd5b506040516020806102148339810180604052810190808051906020019092919050505060008173ffffffffffffffffffffffffffffffffffffffff161415151561005957600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061016b806100a96000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634555d5c91461008b5780635c60da1b146100b6575b73ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415610086573d6000fd5b3d6000f35b34801561009757600080fd5b506100a061010d565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006002905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a72305820cd7d1e9dd84eb221f79b1c8f72a39fad7d9f8ab7239d25c1fc563147abcaf4150029a165627a7a72305820894d1145d2178ea5a3debf7a1ffb29cfdf9100a5997f8e3b2c8640a6db5c5b120029", "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806361b69abd14610046575b600080fd5b34801561005257600080fd5b506100cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061010f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008261011a6101fe565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f08015801561016c573d6000803e3d6000fd5b5090506000825111156101955760008060008451602086016000865af1141561019457600080fd5b5b7fa38789425dbeee0239e16ff2d2567e31720127fbc6430758c1a4efc6aef29f8081604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a192915050565b6040516102a38061020f833901905600608060405234801561001057600080fd5b506040516020806102a38339810180604052810190808051906020019092919050505060008173ffffffffffffffffffffffffffffffffffffffff16141515156100e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061016b806101386000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634555d5c91461008b5780635c60da1b146100b6575b73ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415610086573d6000fd5b3d6000f35b34801561009757600080fd5b506100a061010d565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006002905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a72305820fb8f7addc79801292900c520af66dd86a1f9d0b643abe5d3ef1ac03eeb2d04080029a165627a7a72305820c742bd15271cf4492803c598458497f17945465dfdcebd0ab4ff208e21d7becf0029",
"sourceMap": "225:725:12:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;225:725:12;;;;;;;", "sourceMap": "225:725:12:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;225:725:12;;;;;;;",
"deployedSourceMap": "225:725:12:-;;;;;;;;;;;;;;;;;;;;;;;;532:416;;8:9:-1;5:2;;;30:1;27;20:12;5:2;532:416:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;617:11;662:10;652:21;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;652:21:12;644:29;;701:1;687:4;:11;:15;683:237;;;874:1;870;867;860:4;854:11;847:4;841;837:15;834:1;827:5;822:3;817:55;814:62;811:2;;;889:1;886;879:12;811:2;793:114;921:20;935:5;921:20;;;;;;;;;;;;;;;;;;;;;;532:416;;;;:::o;225:725::-;;;;;;;;;;:::o", "deployedSourceMap": "225:725:12:-;;;;;;;;;;;;;;;;;;;;;;;;532:416;;8:9:-1;5:2;;;30:1;27;20:12;5:2;532:416:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;617:11;662:10;652:21;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;652:21:12;644:29;;701:1;687:4;:11;:15;683:237;;;874:1;870;867;860:4;854:11;847:4;841;837:15;834:1;827:5;822:3;817:55;814:62;811:2;;;889:1;886;879:12;811:2;793:114;921:20;935:5;921:20;;;;;;;;;;;;;;;;;;;;;;532:416;;;;:::o;225:725::-;;;;;;;;;;:::o",
"source": "pragma solidity 0.4.24;\nimport \"./Proxy.sol\";\n\n\n/// @title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n/// @author Stefan George - <stefan@gnosis.pm>\ncontract ProxyFactory {\n\n event ProxyCreation(Proxy proxy);\n\n /// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n /// @param masterCopy Address of master copy.\n /// @param data Payload for message call sent to new proxy contract.\n function createProxy(address masterCopy, bytes data)\n public\n returns (Proxy proxy)\n {\n proxy = new Proxy(masterCopy);\n if (data.length > 0)\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n if eq(call(gas, proxy, 0, add(data, 0x20), mload(data), 0, 0), 0) { revert(0, 0) }\n }\n emit ProxyCreation(proxy);\n }\n}\n", "source": "pragma solidity 0.4.24;\nimport \"./Proxy.sol\";\n\n\n/// @title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n/// @author Stefan George - <stefan@gnosis.pm>\ncontract ProxyFactory {\n\n event ProxyCreation(Proxy proxy);\n\n /// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n /// @param masterCopy Address of master copy.\n /// @param data Payload for message call sent to new proxy contract.\n function createProxy(address masterCopy, bytes data)\n public\n returns (Proxy proxy)\n {\n proxy = new Proxy(masterCopy);\n if (data.length > 0)\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n if eq(call(gas, proxy, 0, add(data, 0x20), mload(data), 0, 0), 0) { revert(0, 0) }\n }\n emit ProxyCreation(proxy);\n }\n}\n",
@ -47,14 +47,14 @@
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/ProxyFactory.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/ProxyFactory.sol",
"exportedSymbols": { "exportedSymbols": {
"ProxyFactory": [ "ProxyFactory": [
1603 1637
] ]
}, },
"id": 1604, "id": 1638,
"nodeType": "SourceUnit", "nodeType": "SourceUnit",
"nodes": [ "nodes": [
{ {
"id": 1570, "id": 1604,
"literals": [ "literals": [
"solidity", "solidity",
"0.4", "0.4",
@ -66,10 +66,10 @@
{ {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Proxy.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Proxy.sol",
"file": "./Proxy.sol", "file": "./Proxy.sol",
"id": 1571, "id": 1605,
"nodeType": "ImportDirective", "nodeType": "ImportDirective",
"scope": 1604, "scope": 1638,
"sourceUnit": 1569, "sourceUnit": 1603,
"src": "24:21:12", "src": "24:21:12",
"symbolAliases": [], "symbolAliases": [],
"unitAlias": "" "unitAlias": ""
@ -77,14 +77,14 @@
{ {
"baseContracts": [], "baseContracts": [],
"contractDependencies": [ "contractDependencies": [
1568 1602
], ],
"contractKind": "contract", "contractKind": "contract",
"documentation": "@title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n @author Stefan George - <stefan@gnosis.pm>", "documentation": "@title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n @author Stefan George - <stefan@gnosis.pm>",
"fullyImplemented": true, "fullyImplemented": true,
"id": 1603, "id": 1637,
"linearizedBaseContracts": [ "linearizedBaseContracts": [
1603 1637
], ],
"name": "ProxyFactory", "name": "ProxyFactory",
"nodeType": "ContractDefinition", "nodeType": "ContractDefinition",
@ -92,36 +92,36 @@
{ {
"anonymous": false, "anonymous": false,
"documentation": null, "documentation": null,
"id": 1575, "id": 1609,
"name": "ProxyCreation", "name": "ProxyCreation",
"nodeType": "EventDefinition", "nodeType": "EventDefinition",
"parameters": { "parameters": {
"id": 1574, "id": 1608,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [ "parameters": [
{ {
"constant": false, "constant": false,
"id": 1573, "id": 1607,
"indexed": false, "indexed": false,
"name": "proxy", "name": "proxy",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 1575, "scope": 1609,
"src": "274:11:12", "src": "274:11:12",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
}, },
"typeName": { "typeName": {
"contractScope": null, "contractScope": null,
"id": 1572, "id": 1606,
"name": "Proxy", "name": "Proxy",
"nodeType": "UserDefinedTypeName", "nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1568, "referencedDeclaration": 1602,
"src": "274:5:12", "src": "274:5:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
@ -135,28 +135,28 @@
}, },
{ {
"body": { "body": {
"id": 1601, "id": 1635,
"nodeType": "Block", "nodeType": "Block",
"src": "634:314:12", "src": "634:314:12",
"statements": [ "statements": [
{ {
"expression": { "expression": {
"argumentTypes": null, "argumentTypes": null,
"id": 1589, "id": 1623,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
"lValueRequested": false, "lValueRequested": false,
"leftHandSide": { "leftHandSide": {
"argumentTypes": null, "argumentTypes": null,
"id": 1584, "id": 1618,
"name": "proxy", "name": "proxy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1582, "referencedDeclaration": 1616,
"src": "644:5:12", "src": "644:5:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
@ -167,11 +167,11 @@
"arguments": [ "arguments": [
{ {
"argumentTypes": null, "argumentTypes": null,
"id": 1587, "id": 1621,
"name": "masterCopy", "name": "masterCopy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1577, "referencedDeclaration": 1611,
"src": "662:10:12", "src": "662:10:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
@ -186,7 +186,7 @@
"typeString": "address" "typeString": "address"
} }
], ],
"id": 1586, "id": 1620,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -194,23 +194,23 @@
"nodeType": "NewExpression", "nodeType": "NewExpression",
"src": "652:9:12", "src": "652:9:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_Proxy_$1568_$", "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_Proxy_$1602_$",
"typeString": "function (address) returns (contract Proxy)" "typeString": "function (address) returns (contract Proxy)"
}, },
"typeName": { "typeName": {
"contractScope": null, "contractScope": null,
"id": 1585, "id": 1619,
"name": "Proxy", "name": "Proxy",
"nodeType": "UserDefinedTypeName", "nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1568, "referencedDeclaration": 1602,
"src": "656:5:12", "src": "656:5:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
} }
}, },
"id": 1588, "id": 1622,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -220,17 +220,17 @@
"nodeType": "FunctionCall", "nodeType": "FunctionCall",
"src": "652:21:12", "src": "652:21:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
"src": "644:29:12", "src": "644:29:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
"id": 1590, "id": 1624,
"nodeType": "ExpressionStatement", "nodeType": "ExpressionStatement",
"src": "644:29:12" "src": "644:29:12"
}, },
@ -241,7 +241,7 @@
"typeIdentifier": "t_uint256", "typeIdentifier": "t_uint256",
"typeString": "uint256" "typeString": "uint256"
}, },
"id": 1594, "id": 1628,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -250,18 +250,18 @@
"argumentTypes": null, "argumentTypes": null,
"expression": { "expression": {
"argumentTypes": null, "argumentTypes": null,
"id": 1591, "id": 1625,
"name": "data", "name": "data",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1579, "referencedDeclaration": 1613,
"src": "687:4:12", "src": "687:4:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr", "typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory" "typeString": "bytes memory"
} }
}, },
"id": 1592, "id": 1626,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -280,7 +280,7 @@
"rightExpression": { "rightExpression": {
"argumentTypes": null, "argumentTypes": null,
"hexValue": "30", "hexValue": "30",
"id": 1593, "id": 1627,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": true, "isPure": true,
@ -302,14 +302,14 @@
} }
}, },
"falseBody": null, "falseBody": null,
"id": 1596, "id": 1630,
"nodeType": "IfStatement", "nodeType": "IfStatement",
"src": "683:237:12", "src": "683:237:12",
"trueBody": { "trueBody": {
"externalReferences": [ "externalReferences": [
{ {
"data": { "data": {
"declaration": 1579, "declaration": 1613,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "860:4:12", "src": "860:4:12",
@ -318,7 +318,7 @@
}, },
{ {
"proxy": { "proxy": {
"declaration": 1582, "declaration": 1616,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "827:5:12", "src": "827:5:12",
@ -327,7 +327,7 @@
}, },
{ {
"data": { "data": {
"declaration": 1579, "declaration": 1613,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "841:4:12", "src": "841:4:12",
@ -335,7 +335,7 @@
} }
} }
], ],
"id": 1595, "id": 1629,
"nodeType": "InlineAssembly", "nodeType": "InlineAssembly",
"operations": "{\n if eq(call(gas(), proxy, 0, add(data, 0x20), mload(data), 0, 0), 0)\n {\n revert(0, 0)\n }\n}", "operations": "{\n if eq(call(gas(), proxy, 0, add(data, 0x20), mload(data), 0, 0), 0)\n {\n revert(0, 0)\n }\n}",
"src": "784:136:12" "src": "784:136:12"
@ -347,14 +347,14 @@
"arguments": [ "arguments": [
{ {
"argumentTypes": null, "argumentTypes": null,
"id": 1598, "id": 1632,
"name": "proxy", "name": "proxy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1582, "referencedDeclaration": 1616,
"src": "935:5:12", "src": "935:5:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
} }
@ -362,22 +362,22 @@
"expression": { "expression": {
"argumentTypes": [ "argumentTypes": [
{ {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
], ],
"id": 1597, "id": 1631,
"name": "ProxyCreation", "name": "ProxyCreation",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1575, "referencedDeclaration": 1609,
"src": "921:13:12", "src": "921:13:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_contract$_Proxy_$1568_$returns$__$", "typeIdentifier": "t_function_event_nonpayable$_t_contract$_Proxy_$1602_$returns$__$",
"typeString": "function (contract Proxy)" "typeString": "function (contract Proxy)"
} }
}, },
"id": 1599, "id": 1633,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -391,14 +391,14 @@
"typeString": "tuple()" "typeString": "tuple()"
} }
}, },
"id": 1600, "id": 1634,
"nodeType": "EmitStatement", "nodeType": "EmitStatement",
"src": "916:25:12" "src": "916:25:12"
} }
] ]
}, },
"documentation": "@dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n @param masterCopy Address of master copy.\n @param data Payload for message call sent to new proxy contract.", "documentation": "@dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n @param masterCopy Address of master copy.\n @param data Payload for message call sent to new proxy contract.",
"id": 1602, "id": 1636,
"implemented": true, "implemented": true,
"isConstructor": false, "isConstructor": false,
"isDeclaredConst": false, "isDeclaredConst": false,
@ -406,15 +406,15 @@
"name": "createProxy", "name": "createProxy",
"nodeType": "FunctionDefinition", "nodeType": "FunctionDefinition",
"parameters": { "parameters": {
"id": 1580, "id": 1614,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [ "parameters": [
{ {
"constant": false, "constant": false,
"id": 1577, "id": 1611,
"name": "masterCopy", "name": "masterCopy",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 1602, "scope": 1636,
"src": "553:18:12", "src": "553:18:12",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
@ -423,7 +423,7 @@
"typeString": "address" "typeString": "address"
}, },
"typeName": { "typeName": {
"id": 1576, "id": 1610,
"name": "address", "name": "address",
"nodeType": "ElementaryTypeName", "nodeType": "ElementaryTypeName",
"src": "553:7:12", "src": "553:7:12",
@ -437,10 +437,10 @@
}, },
{ {
"constant": false, "constant": false,
"id": 1579, "id": 1613,
"name": "data", "name": "data",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 1602, "scope": 1636,
"src": "573:10:12", "src": "573:10:12",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
@ -449,7 +449,7 @@
"typeString": "bytes" "typeString": "bytes"
}, },
"typeName": { "typeName": {
"id": 1578, "id": 1612,
"name": "bytes", "name": "bytes",
"nodeType": "ElementaryTypeName", "nodeType": "ElementaryTypeName",
"src": "573:5:12", "src": "573:5:12",
@ -466,31 +466,31 @@
}, },
"payable": false, "payable": false,
"returnParameters": { "returnParameters": {
"id": 1583, "id": 1617,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [ "parameters": [
{ {
"constant": false, "constant": false,
"id": 1582, "id": 1616,
"name": "proxy", "name": "proxy",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 1602, "scope": 1636,
"src": "617:11:12", "src": "617:11:12",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
}, },
"typeName": { "typeName": {
"contractScope": null, "contractScope": null,
"id": 1581, "id": 1615,
"name": "Proxy", "name": "Proxy",
"nodeType": "UserDefinedTypeName", "nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1568, "referencedDeclaration": 1602,
"src": "617:5:12", "src": "617:5:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
@ -500,14 +500,14 @@
], ],
"src": "616:13:12" "src": "616:13:12"
}, },
"scope": 1603, "scope": 1637,
"src": "532:416:12", "src": "532:416:12",
"stateMutability": "nonpayable", "stateMutability": "nonpayable",
"superFunction": null, "superFunction": null,
"visibility": "public" "visibility": "public"
} }
], ],
"scope": 1604, "scope": 1638,
"src": "225:725:12" "src": "225:725:12"
} }
], ],
@ -517,14 +517,14 @@
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/ProxyFactory.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/ProxyFactory.sol",
"exportedSymbols": { "exportedSymbols": {
"ProxyFactory": [ "ProxyFactory": [
1603 1637
] ]
}, },
"id": 1604, "id": 1638,
"nodeType": "SourceUnit", "nodeType": "SourceUnit",
"nodes": [ "nodes": [
{ {
"id": 1570, "id": 1604,
"literals": [ "literals": [
"solidity", "solidity",
"0.4", "0.4",
@ -536,10 +536,10 @@
{ {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Proxy.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/Proxy.sol",
"file": "./Proxy.sol", "file": "./Proxy.sol",
"id": 1571, "id": 1605,
"nodeType": "ImportDirective", "nodeType": "ImportDirective",
"scope": 1604, "scope": 1638,
"sourceUnit": 1569, "sourceUnit": 1603,
"src": "24:21:12", "src": "24:21:12",
"symbolAliases": [], "symbolAliases": [],
"unitAlias": "" "unitAlias": ""
@ -547,14 +547,14 @@
{ {
"baseContracts": [], "baseContracts": [],
"contractDependencies": [ "contractDependencies": [
1568 1602
], ],
"contractKind": "contract", "contractKind": "contract",
"documentation": "@title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n @author Stefan George - <stefan@gnosis.pm>", "documentation": "@title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n @author Stefan George - <stefan@gnosis.pm>",
"fullyImplemented": true, "fullyImplemented": true,
"id": 1603, "id": 1637,
"linearizedBaseContracts": [ "linearizedBaseContracts": [
1603 1637
], ],
"name": "ProxyFactory", "name": "ProxyFactory",
"nodeType": "ContractDefinition", "nodeType": "ContractDefinition",
@ -562,36 +562,36 @@
{ {
"anonymous": false, "anonymous": false,
"documentation": null, "documentation": null,
"id": 1575, "id": 1609,
"name": "ProxyCreation", "name": "ProxyCreation",
"nodeType": "EventDefinition", "nodeType": "EventDefinition",
"parameters": { "parameters": {
"id": 1574, "id": 1608,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [ "parameters": [
{ {
"constant": false, "constant": false,
"id": 1573, "id": 1607,
"indexed": false, "indexed": false,
"name": "proxy", "name": "proxy",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 1575, "scope": 1609,
"src": "274:11:12", "src": "274:11:12",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
}, },
"typeName": { "typeName": {
"contractScope": null, "contractScope": null,
"id": 1572, "id": 1606,
"name": "Proxy", "name": "Proxy",
"nodeType": "UserDefinedTypeName", "nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1568, "referencedDeclaration": 1602,
"src": "274:5:12", "src": "274:5:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
@ -605,28 +605,28 @@
}, },
{ {
"body": { "body": {
"id": 1601, "id": 1635,
"nodeType": "Block", "nodeType": "Block",
"src": "634:314:12", "src": "634:314:12",
"statements": [ "statements": [
{ {
"expression": { "expression": {
"argumentTypes": null, "argumentTypes": null,
"id": 1589, "id": 1623,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
"lValueRequested": false, "lValueRequested": false,
"leftHandSide": { "leftHandSide": {
"argumentTypes": null, "argumentTypes": null,
"id": 1584, "id": 1618,
"name": "proxy", "name": "proxy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1582, "referencedDeclaration": 1616,
"src": "644:5:12", "src": "644:5:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
@ -637,11 +637,11 @@
"arguments": [ "arguments": [
{ {
"argumentTypes": null, "argumentTypes": null,
"id": 1587, "id": 1621,
"name": "masterCopy", "name": "masterCopy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1577, "referencedDeclaration": 1611,
"src": "662:10:12", "src": "662:10:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
@ -656,7 +656,7 @@
"typeString": "address" "typeString": "address"
} }
], ],
"id": 1586, "id": 1620,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -664,23 +664,23 @@
"nodeType": "NewExpression", "nodeType": "NewExpression",
"src": "652:9:12", "src": "652:9:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_Proxy_$1568_$", "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_Proxy_$1602_$",
"typeString": "function (address) returns (contract Proxy)" "typeString": "function (address) returns (contract Proxy)"
}, },
"typeName": { "typeName": {
"contractScope": null, "contractScope": null,
"id": 1585, "id": 1619,
"name": "Proxy", "name": "Proxy",
"nodeType": "UserDefinedTypeName", "nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1568, "referencedDeclaration": 1602,
"src": "656:5:12", "src": "656:5:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
} }
}, },
"id": 1588, "id": 1622,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -690,17 +690,17 @@
"nodeType": "FunctionCall", "nodeType": "FunctionCall",
"src": "652:21:12", "src": "652:21:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
"src": "644:29:12", "src": "644:29:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
"id": 1590, "id": 1624,
"nodeType": "ExpressionStatement", "nodeType": "ExpressionStatement",
"src": "644:29:12" "src": "644:29:12"
}, },
@ -711,7 +711,7 @@
"typeIdentifier": "t_uint256", "typeIdentifier": "t_uint256",
"typeString": "uint256" "typeString": "uint256"
}, },
"id": 1594, "id": 1628,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -720,18 +720,18 @@
"argumentTypes": null, "argumentTypes": null,
"expression": { "expression": {
"argumentTypes": null, "argumentTypes": null,
"id": 1591, "id": 1625,
"name": "data", "name": "data",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1579, "referencedDeclaration": 1613,
"src": "687:4:12", "src": "687:4:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr", "typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory" "typeString": "bytes memory"
} }
}, },
"id": 1592, "id": 1626,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -750,7 +750,7 @@
"rightExpression": { "rightExpression": {
"argumentTypes": null, "argumentTypes": null,
"hexValue": "30", "hexValue": "30",
"id": 1593, "id": 1627,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": true, "isPure": true,
@ -772,14 +772,14 @@
} }
}, },
"falseBody": null, "falseBody": null,
"id": 1596, "id": 1630,
"nodeType": "IfStatement", "nodeType": "IfStatement",
"src": "683:237:12", "src": "683:237:12",
"trueBody": { "trueBody": {
"externalReferences": [ "externalReferences": [
{ {
"data": { "data": {
"declaration": 1579, "declaration": 1613,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "860:4:12", "src": "860:4:12",
@ -788,7 +788,7 @@
}, },
{ {
"proxy": { "proxy": {
"declaration": 1582, "declaration": 1616,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "827:5:12", "src": "827:5:12",
@ -797,7 +797,7 @@
}, },
{ {
"data": { "data": {
"declaration": 1579, "declaration": 1613,
"isOffset": false, "isOffset": false,
"isSlot": false, "isSlot": false,
"src": "841:4:12", "src": "841:4:12",
@ -805,7 +805,7 @@
} }
} }
], ],
"id": 1595, "id": 1629,
"nodeType": "InlineAssembly", "nodeType": "InlineAssembly",
"operations": "{\n if eq(call(gas(), proxy, 0, add(data, 0x20), mload(data), 0, 0), 0)\n {\n revert(0, 0)\n }\n}", "operations": "{\n if eq(call(gas(), proxy, 0, add(data, 0x20), mload(data), 0, 0), 0)\n {\n revert(0, 0)\n }\n}",
"src": "784:136:12" "src": "784:136:12"
@ -817,14 +817,14 @@
"arguments": [ "arguments": [
{ {
"argumentTypes": null, "argumentTypes": null,
"id": 1598, "id": 1632,
"name": "proxy", "name": "proxy",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1582, "referencedDeclaration": 1616,
"src": "935:5:12", "src": "935:5:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
} }
@ -832,22 +832,22 @@
"expression": { "expression": {
"argumentTypes": [ "argumentTypes": [
{ {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
], ],
"id": 1597, "id": 1631,
"name": "ProxyCreation", "name": "ProxyCreation",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 1575, "referencedDeclaration": 1609,
"src": "921:13:12", "src": "921:13:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_contract$_Proxy_$1568_$returns$__$", "typeIdentifier": "t_function_event_nonpayable$_t_contract$_Proxy_$1602_$returns$__$",
"typeString": "function (contract Proxy)" "typeString": "function (contract Proxy)"
} }
}, },
"id": 1599, "id": 1633,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -861,14 +861,14 @@
"typeString": "tuple()" "typeString": "tuple()"
} }
}, },
"id": 1600, "id": 1634,
"nodeType": "EmitStatement", "nodeType": "EmitStatement",
"src": "916:25:12" "src": "916:25:12"
} }
] ]
}, },
"documentation": "@dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n @param masterCopy Address of master copy.\n @param data Payload for message call sent to new proxy contract.", "documentation": "@dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.\n @param masterCopy Address of master copy.\n @param data Payload for message call sent to new proxy contract.",
"id": 1602, "id": 1636,
"implemented": true, "implemented": true,
"isConstructor": false, "isConstructor": false,
"isDeclaredConst": false, "isDeclaredConst": false,
@ -876,15 +876,15 @@
"name": "createProxy", "name": "createProxy",
"nodeType": "FunctionDefinition", "nodeType": "FunctionDefinition",
"parameters": { "parameters": {
"id": 1580, "id": 1614,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [ "parameters": [
{ {
"constant": false, "constant": false,
"id": 1577, "id": 1611,
"name": "masterCopy", "name": "masterCopy",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 1602, "scope": 1636,
"src": "553:18:12", "src": "553:18:12",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
@ -893,7 +893,7 @@
"typeString": "address" "typeString": "address"
}, },
"typeName": { "typeName": {
"id": 1576, "id": 1610,
"name": "address", "name": "address",
"nodeType": "ElementaryTypeName", "nodeType": "ElementaryTypeName",
"src": "553:7:12", "src": "553:7:12",
@ -907,10 +907,10 @@
}, },
{ {
"constant": false, "constant": false,
"id": 1579, "id": 1613,
"name": "data", "name": "data",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 1602, "scope": 1636,
"src": "573:10:12", "src": "573:10:12",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
@ -919,7 +919,7 @@
"typeString": "bytes" "typeString": "bytes"
}, },
"typeName": { "typeName": {
"id": 1578, "id": 1612,
"name": "bytes", "name": "bytes",
"nodeType": "ElementaryTypeName", "nodeType": "ElementaryTypeName",
"src": "573:5:12", "src": "573:5:12",
@ -936,31 +936,31 @@
}, },
"payable": false, "payable": false,
"returnParameters": { "returnParameters": {
"id": 1583, "id": 1617,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [ "parameters": [
{ {
"constant": false, "constant": false,
"id": 1582, "id": 1616,
"name": "proxy", "name": "proxy",
"nodeType": "VariableDeclaration", "nodeType": "VariableDeclaration",
"scope": 1602, "scope": 1636,
"src": "617:11:12", "src": "617:11:12",
"stateVariable": false, "stateVariable": false,
"storageLocation": "default", "storageLocation": "default",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
}, },
"typeName": { "typeName": {
"contractScope": null, "contractScope": null,
"id": 1581, "id": 1615,
"name": "Proxy", "name": "Proxy",
"nodeType": "UserDefinedTypeName", "nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1568, "referencedDeclaration": 1602,
"src": "617:5:12", "src": "617:5:12",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1568", "typeIdentifier": "t_contract$_Proxy_$1602",
"typeString": "contract Proxy" "typeString": "contract Proxy"
} }
}, },
@ -970,14 +970,14 @@
], ],
"src": "616:13:12" "src": "616:13:12"
}, },
"scope": 1603, "scope": 1637,
"src": "532:416:12", "src": "532:416:12",
"stateMutability": "nonpayable", "stateMutability": "nonpayable",
"superFunction": null, "superFunction": null,
"visibility": "public" "visibility": "public"
} }
], ],
"scope": 1604, "scope": 1638,
"src": "225:725:12" "src": "225:725:12"
} }
], ],
@ -991,22 +991,16 @@
"4": { "4": {
"events": {}, "events": {},
"links": {}, "links": {},
"address": "0x78b7e500f63afb4c692b9b6a43e092278cbffaa1", "address": "0x5fae0ba38b6e532e97f064a5a28276071ba5841c",
"transactionHash": "0xebf1fca163a66fdf988707624fa744b57d1eeedcc9f7eaee66555d1fc474c01e" "transactionHash": "0x336dee0e43b6d4defa98ac04db8294591e55361e725d3c1e2e85037e3671ed97"
},
"1527316019334": {
"events": {},
"links": {},
"address": "0x63f96c3c48bf69ce28e8b8be3c092807d9cf75c3",
"transactionHash": "0xbf12ab2315082a4c3e20abe6305376e3669b7cdee1bbfc079934e41aad57f4f3"
}, },
"1527420696956": { "1527420696956": {
"events": {}, "events": {},
"links": {}, "links": {},
"address": "0x7be7064be7fa89c37e849fe58d68967da7d912b6", "address": "0xac9c7e3390e950803f64d89033b844a248921cb9",
"transactionHash": "0xc64211adf2eafca94ba6fe1b59e2ddd73ab867efd20ed1db80ca6eee90591aaf" "transactionHash": "0x9e8ad0a8a820c5873b5bd340b74a0bc1c13f39929c67fba109070c785feb5661"
} }
}, },
"schemaVersion": "2.0.0", "schemaVersion": "2.0.0",
"updatedAt": "2018-05-27T11:31:46.235Z" "updatedAt": "2018-05-28T06:08:59.451Z"
} }

View File

@ -1,24 +1,24 @@
{ {
"contractName": "SelfAuthorized", "contractName": "SelfAuthorized",
"abi": [], "abi": [],
"bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820af9f772ea9919e0b590dbadc1d255c497a0a1031eaf00e4735e7b65b3f2e31520029", "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820ec80f1b4520aa5197e4181778f1e2e4fc460002d4a40e2e8e6709c8986067c220029",
"deployedBytecode": "0x6080604052600080fd00a165627a7a72305820af9f772ea9919e0b590dbadc1d255c497a0a1031eaf00e4735e7b65b3f2e31520029", "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820ec80f1b4520aa5197e4181778f1e2e4fc460002d4a40e2e8e6709c8986067c220029",
"sourceMap": "152:118:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:118:13;;;;;;;", "sourceMap": "152:166:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:166:13;;;;;;;",
"deployedSourceMap": "152:118:13:-;;;;;", "deployedSourceMap": "152:166:13:-;;;;;",
"source": "pragma solidity 0.4.24;\n\n\n/// @title SelfAuthorized - authorizes current contract to perform actions\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract SelfAuthorized {\n modifier authorized() {\n require(msg.sender == address(this));\n _;\n }\n}\n", "source": "pragma solidity 0.4.24;\n\n\n/// @title SelfAuthorized - authorizes current contract to perform actions\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract SelfAuthorized {\n modifier authorized() {\n require(msg.sender == address(this), \"Method can only be called from this contract\");\n _;\n }\n}\n",
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol", "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol",
"ast": { "ast": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol",
"exportedSymbols": { "exportedSymbols": {
"SelfAuthorized": [ "SelfAuthorized": [
1619 1654
] ]
}, },
"id": 1620, "id": 1655,
"nodeType": "SourceUnit", "nodeType": "SourceUnit",
"nodes": [ "nodes": [
{ {
"id": 1605, "id": 1639,
"literals": [ "literals": [
"solidity", "solidity",
"0.4", "0.4",
@ -33,18 +33,18 @@
"contractKind": "contract", "contractKind": "contract",
"documentation": "@title SelfAuthorized - authorizes current contract to perform actions\n @author Richard Meissner - <richard@gnosis.pm>", "documentation": "@title SelfAuthorized - authorizes current contract to perform actions\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true, "fullyImplemented": true,
"id": 1619, "id": 1654,
"linearizedBaseContracts": [ "linearizedBaseContracts": [
1619 1654
], ],
"name": "SelfAuthorized", "name": "SelfAuthorized",
"nodeType": "ContractDefinition", "nodeType": "ContractDefinition",
"nodes": [ "nodes": [
{ {
"body": { "body": {
"id": 1617, "id": 1652,
"nodeType": "Block", "nodeType": "Block",
"src": "204:64:13", "src": "204:112:13",
"statements": [ "statements": [
{ {
"expression": { "expression": {
@ -56,7 +56,7 @@
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
"typeString": "address" "typeString": "address"
}, },
"id": 1613, "id": 1647,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -65,18 +65,18 @@
"argumentTypes": null, "argumentTypes": null,
"expression": { "expression": {
"argumentTypes": null, "argumentTypes": null,
"id": 1608, "id": 1642,
"name": "msg", "name": "msg",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 2598, "referencedDeclaration": 2654,
"src": "222:3:13", "src": "222:3:13",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_magic_message", "typeIdentifier": "t_magic_message",
"typeString": "msg" "typeString": "msg"
} }
}, },
"id": 1609, "id": 1643,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -97,14 +97,14 @@
"arguments": [ "arguments": [
{ {
"argumentTypes": null, "argumentTypes": null,
"id": 1611, "id": 1645,
"name": "this", "name": "this",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 2617, "referencedDeclaration": 2673,
"src": "244:4:13", "src": "244:4:13",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_SelfAuthorized_$1619", "typeIdentifier": "t_contract$_SelfAuthorized_$1654",
"typeString": "contract SelfAuthorized" "typeString": "contract SelfAuthorized"
} }
} }
@ -112,11 +112,11 @@
"expression": { "expression": {
"argumentTypes": [ "argumentTypes": [
{ {
"typeIdentifier": "t_contract$_SelfAuthorized_$1619", "typeIdentifier": "t_contract$_SelfAuthorized_$1654",
"typeString": "contract SelfAuthorized" "typeString": "contract SelfAuthorized"
} }
], ],
"id": 1610, "id": 1644,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": true, "isPure": true,
@ -129,7 +129,7 @@
}, },
"typeName": "address" "typeName": "address"
}, },
"id": 1612, "id": 1646,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -148,6 +148,24 @@
"typeIdentifier": "t_bool", "typeIdentifier": "t_bool",
"typeString": "bool" "typeString": "bool"
} }
},
{
"argumentTypes": null,
"hexValue": "4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207468697320636f6e7472616374",
"id": 1648,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "251:46:13",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c4780ef0a1d41d59bac8c510cf9ada421bccf2b90f75a8e4ba2e8c09e8d72733",
"typeString": "literal_string \"Method can only be called from this contract\""
},
"value": "Method can only be called from this contract"
} }
], ],
"expression": { "expression": {
@ -155,23 +173,27 @@
{ {
"typeIdentifier": "t_bool", "typeIdentifier": "t_bool",
"typeString": "bool" "typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c4780ef0a1d41d59bac8c510cf9ada421bccf2b90f75a8e4ba2e8c09e8d72733",
"typeString": "literal_string \"Method can only be called from this contract\""
} }
], ],
"id": 1607, "id": 1641,
"name": "require", "name": "require",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [ "overloadedDeclarations": [
2601, 2657,
2602 2658
], ],
"referencedDeclaration": 2601, "referencedDeclaration": 2658,
"src": "214:7:13", "src": "214:7:13",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool) pure" "typeString": "function (bool,string memory) pure"
} }
}, },
"id": 1614, "id": 1649,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -179,55 +201,55 @@
"lValueRequested": false, "lValueRequested": false,
"names": [], "names": [],
"nodeType": "FunctionCall", "nodeType": "FunctionCall",
"src": "214:36:13", "src": "214:84:13",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_tuple$__$", "typeIdentifier": "t_tuple$__$",
"typeString": "tuple()" "typeString": "tuple()"
} }
}, },
"id": 1615, "id": 1650,
"nodeType": "ExpressionStatement", "nodeType": "ExpressionStatement",
"src": "214:36:13" "src": "214:84:13"
}, },
{ {
"id": 1616, "id": 1651,
"nodeType": "PlaceholderStatement", "nodeType": "PlaceholderStatement",
"src": "260:1:13" "src": "308:1:13"
} }
] ]
}, },
"documentation": null, "documentation": null,
"id": 1618, "id": 1653,
"name": "authorized", "name": "authorized",
"nodeType": "ModifierDefinition", "nodeType": "ModifierDefinition",
"parameters": { "parameters": {
"id": 1606, "id": 1640,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [], "parameters": [],
"src": "201:2:13" "src": "201:2:13"
}, },
"src": "182:86:13", "src": "182:134:13",
"visibility": "internal" "visibility": "internal"
} }
], ],
"scope": 1620, "scope": 1655,
"src": "152:118:13" "src": "152:166:13"
} }
], ],
"src": "0:271:13" "src": "0:319:13"
}, },
"legacyAST": { "legacyAST": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol", "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol",
"exportedSymbols": { "exportedSymbols": {
"SelfAuthorized": [ "SelfAuthorized": [
1619 1654
] ]
}, },
"id": 1620, "id": 1655,
"nodeType": "SourceUnit", "nodeType": "SourceUnit",
"nodes": [ "nodes": [
{ {
"id": 1605, "id": 1639,
"literals": [ "literals": [
"solidity", "solidity",
"0.4", "0.4",
@ -242,18 +264,18 @@
"contractKind": "contract", "contractKind": "contract",
"documentation": "@title SelfAuthorized - authorizes current contract to perform actions\n @author Richard Meissner - <richard@gnosis.pm>", "documentation": "@title SelfAuthorized - authorizes current contract to perform actions\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true, "fullyImplemented": true,
"id": 1619, "id": 1654,
"linearizedBaseContracts": [ "linearizedBaseContracts": [
1619 1654
], ],
"name": "SelfAuthorized", "name": "SelfAuthorized",
"nodeType": "ContractDefinition", "nodeType": "ContractDefinition",
"nodes": [ "nodes": [
{ {
"body": { "body": {
"id": 1617, "id": 1652,
"nodeType": "Block", "nodeType": "Block",
"src": "204:64:13", "src": "204:112:13",
"statements": [ "statements": [
{ {
"expression": { "expression": {
@ -265,7 +287,7 @@
"typeIdentifier": "t_address", "typeIdentifier": "t_address",
"typeString": "address" "typeString": "address"
}, },
"id": 1613, "id": 1647,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -274,18 +296,18 @@
"argumentTypes": null, "argumentTypes": null,
"expression": { "expression": {
"argumentTypes": null, "argumentTypes": null,
"id": 1608, "id": 1642,
"name": "msg", "name": "msg",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 2598, "referencedDeclaration": 2654,
"src": "222:3:13", "src": "222:3:13",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_magic_message", "typeIdentifier": "t_magic_message",
"typeString": "msg" "typeString": "msg"
} }
}, },
"id": 1609, "id": 1643,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -306,14 +328,14 @@
"arguments": [ "arguments": [
{ {
"argumentTypes": null, "argumentTypes": null,
"id": 1611, "id": 1645,
"name": "this", "name": "this",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [], "overloadedDeclarations": [],
"referencedDeclaration": 2617, "referencedDeclaration": 2673,
"src": "244:4:13", "src": "244:4:13",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_contract$_SelfAuthorized_$1619", "typeIdentifier": "t_contract$_SelfAuthorized_$1654",
"typeString": "contract SelfAuthorized" "typeString": "contract SelfAuthorized"
} }
} }
@ -321,11 +343,11 @@
"expression": { "expression": {
"argumentTypes": [ "argumentTypes": [
{ {
"typeIdentifier": "t_contract$_SelfAuthorized_$1619", "typeIdentifier": "t_contract$_SelfAuthorized_$1654",
"typeString": "contract SelfAuthorized" "typeString": "contract SelfAuthorized"
} }
], ],
"id": 1610, "id": 1644,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": true, "isPure": true,
@ -338,7 +360,7 @@
}, },
"typeName": "address" "typeName": "address"
}, },
"id": 1612, "id": 1646,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -357,6 +379,24 @@
"typeIdentifier": "t_bool", "typeIdentifier": "t_bool",
"typeString": "bool" "typeString": "bool"
} }
},
{
"argumentTypes": null,
"hexValue": "4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207468697320636f6e7472616374",
"id": 1648,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "251:46:13",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c4780ef0a1d41d59bac8c510cf9ada421bccf2b90f75a8e4ba2e8c09e8d72733",
"typeString": "literal_string \"Method can only be called from this contract\""
},
"value": "Method can only be called from this contract"
} }
], ],
"expression": { "expression": {
@ -364,23 +404,27 @@
{ {
"typeIdentifier": "t_bool", "typeIdentifier": "t_bool",
"typeString": "bool" "typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_c4780ef0a1d41d59bac8c510cf9ada421bccf2b90f75a8e4ba2e8c09e8d72733",
"typeString": "literal_string \"Method can only be called from this contract\""
} }
], ],
"id": 1607, "id": 1641,
"name": "require", "name": "require",
"nodeType": "Identifier", "nodeType": "Identifier",
"overloadedDeclarations": [ "overloadedDeclarations": [
2601, 2657,
2602 2658
], ],
"referencedDeclaration": 2601, "referencedDeclaration": 2658,
"src": "214:7:13", "src": "214:7:13",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool) pure" "typeString": "function (bool,string memory) pure"
} }
}, },
"id": 1614, "id": 1649,
"isConstant": false, "isConstant": false,
"isLValue": false, "isLValue": false,
"isPure": false, "isPure": false,
@ -388,42 +432,42 @@
"lValueRequested": false, "lValueRequested": false,
"names": [], "names": [],
"nodeType": "FunctionCall", "nodeType": "FunctionCall",
"src": "214:36:13", "src": "214:84:13",
"typeDescriptions": { "typeDescriptions": {
"typeIdentifier": "t_tuple$__$", "typeIdentifier": "t_tuple$__$",
"typeString": "tuple()" "typeString": "tuple()"
} }
}, },
"id": 1615, "id": 1650,
"nodeType": "ExpressionStatement", "nodeType": "ExpressionStatement",
"src": "214:36:13" "src": "214:84:13"
}, },
{ {
"id": 1616, "id": 1651,
"nodeType": "PlaceholderStatement", "nodeType": "PlaceholderStatement",
"src": "260:1:13" "src": "308:1:13"
} }
] ]
}, },
"documentation": null, "documentation": null,
"id": 1618, "id": 1653,
"name": "authorized", "name": "authorized",
"nodeType": "ModifierDefinition", "nodeType": "ModifierDefinition",
"parameters": { "parameters": {
"id": 1606, "id": 1640,
"nodeType": "ParameterList", "nodeType": "ParameterList",
"parameters": [], "parameters": [],
"src": "201:2:13" "src": "201:2:13"
}, },
"src": "182:86:13", "src": "182:134:13",
"visibility": "internal" "visibility": "internal"
} }
], ],
"scope": 1620, "scope": 1655,
"src": "152:118:13" "src": "152:166:13"
} }
], ],
"src": "0:271:13" "src": "0:319:13"
}, },
"compiler": { "compiler": {
"name": "solc", "name": "solc",
@ -431,5 +475,5 @@
}, },
"networks": {}, "networks": {},
"schemaVersion": "2.0.0", "schemaVersion": "2.0.0",
"updatedAt": "2018-05-27T11:12:45.584Z" "updatedAt": "2018-05-28T05:59:52.707Z"
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long