WA-232 Deploying contracts

This commit is contained in:
apanizo 2018-06-29 13:23:01 +02:00
parent 7dee0170c8
commit 4e41edad5d
22 changed files with 10912 additions and 10852 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -52,8 +52,8 @@
],
"bytecode": "0x608060405234801561001057600080fd5b506040516102fc3803806102fc83398101806040528101908080519060200190929190805182019291905050508160008173ffffffffffffffffffffffffffffffffffffffff16141515156100f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000815111156101805773ffffffffffffffffffffffffffffffffffffffff60005416600080835160208501846127105a03f46040513d6000823e600082141561017c573d81fd5b5050505b505061016b806101916000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634555d5c91461008b5780635c60da1b146100b6575b73ffffffffffffffffffffffffffffffffffffffff600054163660008037600080366000845af43d6000803e6000811415610086573d6000fd5b3d6000f35b34801561009757600080fd5b506100a061010d565b6040518082815260200191505060405180910390f35b3480156100c257600080fd5b506100cb610116565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006002905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a72305820bab5357556c704bffef0f96326dd27742408be175057ffd8f4f58237314cfd520029",
"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: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:-;;;;;;;;;;;;;;;;;;;;;;;;;;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",
"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:13;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:-;;;;;;;;;;;;;;;;;;;;;;;;;;955:42:13;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:13;;;;;;;;;;;;;;;;;;;;;;;1302:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1302:118:13;;;;;;;;;;;;;;;;;;;;;;;;;;;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",
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/DelegateConstructorProxy.sol",
"ast": {
@ -82,7 +82,7 @@
"id": 2,
"nodeType": "ImportDirective",
"scope": 24,
"sourceUnit": 1612,
"sourceUnit": 2989,
"src": "24:21:0",
"symbolAliases": [],
"unitAlias": ""
@ -96,10 +96,10 @@
"id": 3,
"name": "Proxy",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1611,
"referencedDeclaration": 2988,
"src": "392:5:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1611",
"typeIdentifier": "t_contract$_Proxy_$2988",
"typeString": "contract Proxy"
}
},
@ -109,7 +109,7 @@
}
],
"contractDependencies": [
1611
2988
],
"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>",
@ -117,7 +117,7 @@
"id": 23,
"linearizedBaseContracts": [
23,
1611
2988
],
"name": "DelegateConstructorProxy",
"nodeType": "ContractDefinition",
@ -264,10 +264,10 @@
"name": "Proxy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1611,
"referencedDeclaration": 2988,
"src": "662:5:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Proxy_$1611_$",
"typeIdentifier": "t_type$_t_contract$_Proxy_$2988_$",
"typeString": "type(contract Proxy)"
}
},
@ -382,7 +382,7 @@
"id": 2,
"nodeType": "ImportDirective",
"scope": 24,
"sourceUnit": 1612,
"sourceUnit": 2989,
"src": "24:21:0",
"symbolAliases": [],
"unitAlias": ""
@ -396,10 +396,10 @@
"id": 3,
"name": "Proxy",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1611,
"referencedDeclaration": 2988,
"src": "392:5:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Proxy_$1611",
"typeIdentifier": "t_contract$_Proxy_$2988",
"typeString": "contract Proxy"
}
},
@ -409,7 +409,7 @@
}
],
"contractDependencies": [
1611
2988
],
"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>",
@ -417,7 +417,7 @@
"id": 23,
"linearizedBaseContracts": [
23,
1611
2988
],
"name": "DelegateConstructorProxy",
"nodeType": "ContractDefinition",
@ -564,10 +564,10 @@
"name": "Proxy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1611,
"referencedDeclaration": 2988,
"src": "662:5:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Proxy_$1611_$",
"typeIdentifier": "t_type$_t_contract$_Proxy_$2988_$",
"typeString": "type(contract Proxy)"
}
},
@ -661,6 +661,6 @@
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
},
"networks": {},
"schemaVersion": "2.0.1",
"updatedAt": "2018-06-28T15:26:56.476Z"
"schemaVersion": "2.0.0",
"updatedAt": "2018-06-29T09:01:22.054Z"
}

View File

@ -146,6 +146,6 @@
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
},
"networks": {},
"schemaVersion": "2.0.1",
"updatedAt": "2018-06-28T15:26:56.477Z"
"schemaVersion": "2.0.0",
"updatedAt": "2018-06-29T09:01:22.054Z"
}

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

@ -19,7 +19,7 @@
"bytecode": "0x608060405234801561001057600080fd5b50610276806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637de7edef14610046575b600080fd5b34801561005257600080fd5b50610087600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610089565b005b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610152576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820243ca7a44eb0464a47c14309cc3a29e407df6e966674981a787df22c0d9280220029",
"deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637de7edef14610046575b600080fd5b34801561005257600080fd5b50610087600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610089565b005b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610152576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207481526020017f68697320636f6e7472616374000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f496e76616c6964206d617374657220636f707920616464726573732070726f7681526020017f696465640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820243ca7a44eb0464a47c14309cc3a29e407df6e966674981a787df22c0d9280220029",
"sourceMap": "203:673:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;203:673:5;;;;;;;",
"deployedSourceMap": "203:673:5:-;;;;;;;;;;;;;;;;;;;;;;;;626:248;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:248:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;244:4:14;222:27;;:10;:27;;;214:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;791:1:5;776:11;:16;;;;768:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;856:11;843:10;;:24;;;;;;;;;;;;;;;;;;626:248;:::o",
"deployedSourceMap": "203:673:5:-;;;;;;;;;;;;;;;;;;;;;;;;626:248;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:248:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;244:4:16;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, \"Invalid master copy address provided\");\n masterCopy = _masterCopy;\n }\n}\n",
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/MasterCopy.sol",
"ast": {
@ -48,7 +48,7 @@
"id": 608,
"nodeType": "ImportDirective",
"scope": 633,
"sourceUnit": 1689,
"sourceUnit": 3066,
"src": "24:30:5",
"symbolAliases": [],
"unitAlias": ""
@ -62,10 +62,10 @@
"id": 609,
"name": "SelfAuthorized",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1688,
"referencedDeclaration": 3065,
"src": "226:14:5",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SelfAuthorized_$1688",
"typeIdentifier": "t_contract$_SelfAuthorized_$3065",
"typeString": "contract SelfAuthorized"
}
},
@ -75,7 +75,7 @@
}
],
"contractDependencies": [
1688
3065
],
"contractKind": "contract",
"documentation": "@title MasterCopy - Base for master copy contracts (should always be first super contract)\n @author Richard Meissner - <richard@gnosis.pm>",
@ -83,7 +83,7 @@
"id": 632,
"linearizedBaseContracts": [
632,
1688
3065
],
"name": "MasterCopy",
"nodeType": "ContractDefinition",
@ -208,10 +208,10 @@
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2662,
2663
4039,
4040
],
"referencedDeclaration": 2663,
"referencedDeclaration": 4040,
"src": "768:7:5",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
@ -299,7 +299,7 @@
"name": "authorized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1687,
"referencedDeclaration": 3064,
"src": "696:10:5",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
@ -391,7 +391,7 @@
"id": 608,
"nodeType": "ImportDirective",
"scope": 633,
"sourceUnit": 1689,
"sourceUnit": 3066,
"src": "24:30:5",
"symbolAliases": [],
"unitAlias": ""
@ -405,10 +405,10 @@
"id": 609,
"name": "SelfAuthorized",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1688,
"referencedDeclaration": 3065,
"src": "226:14:5",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SelfAuthorized_$1688",
"typeIdentifier": "t_contract$_SelfAuthorized_$3065",
"typeString": "contract SelfAuthorized"
}
},
@ -418,7 +418,7 @@
}
],
"contractDependencies": [
1688
3065
],
"contractKind": "contract",
"documentation": "@title MasterCopy - Base for master copy contracts (should always be first super contract)\n @author Richard Meissner - <richard@gnosis.pm>",
@ -426,7 +426,7 @@
"id": 632,
"linearizedBaseContracts": [
632,
1688
3065
],
"name": "MasterCopy",
"nodeType": "ContractDefinition",
@ -551,10 +551,10 @@
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2662,
2663
4039,
4040
],
"referencedDeclaration": 2663,
"referencedDeclaration": 4040,
"src": "768:7:5",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
@ -642,7 +642,7 @@
"name": "authorized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1687,
"referencedDeclaration": 3064,
"src": "696:10:5",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
@ -713,6 +713,6 @@
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
},
"networks": {},
"schemaVersion": "2.0.1",
"updatedAt": "2018-06-28T15:26:56.480Z"
"schemaVersion": "2.0.0",
"updatedAt": "2018-06-29T09:01:22.057Z"
}

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

@ -18,29 +18,29 @@
],
"bytecode": "0x608060405234801561001057600080fd5b50610169806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638d80ff0a14610046575b600080fd5b34801561005257600080fd5b506100ad600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506100af565b005b805160205b81811015610138578083015160208201840151604083018501516080840186015160a085018701600085600081146100f357600181146101035761010e565b6000808585888a5af1915061010e565b6000808585895af491505b50600081141561011d57600080fd5b602080601f8501040260a001870196505050505050506100b4565b5050505600a165627a7a72305820c1abf4988401674d6d6a5ceca56de123817c61305360ceffe26ebab59a828b7d0029",
"deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638d80ff0a14610046575b600080fd5b34801561005257600080fd5b506100ad600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506100af565b005b805160205b81811015610138578083015160208201840151604083018501516080840186015160a085018701600085600081146100f357600181146101035761010e565b6000808585888a5af1915061010e565b6000808585895af491505b50600081141561011d57600080fd5b602080601f8501040260a001870196505050505050506100b4565b5050505600a165627a7a72305820c1abf4988401674d6d6a5ceca56de123817c61305360ceffe26ebab59a828b7d0029",
"sourceMap": "253:1424:17:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;253:1424:17;;;;;;;",
"deployedSourceMap": "253:1424:17:-;;;;;;;;;;;;;;;;;;;;;;;;695:980;;8:9:-1;5:2;;;30:1;27;20:12;5:2;695:980:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;870:12;864:19;905:4;922:737;936:6;933:1;930:13;922:737;;;1007:1;993:12;989:20;983:27;1068:4;1065:1;1061:12;1047;1043:31;1037:38;1136:4;1133:1;1129:12;1115;1111:31;1105:38;1209:4;1206:1;1202:12;1188;1184:31;1178:38;1270:4;1267:1;1263:12;1249;1245:31;1308:1;1333:9;1365:1;1360:66;;;;1448:1;1443:67;;;;1326:184;;1360:66;1422:1;1419;1407:10;1401:4;1394:5;1390:2;1385:3;1380:44;1369:55;;1360:66;;1443:67;1506:1;1503;1491:10;1485:4;1481:2;1476:3;1463:45;1452:56;;1326:184;;1542:1;1533:7;1530:14;1527:2;;;1557:1;1554;1547:12;1527:2;1638:4;1631;1624;1612:10;1608:21;1604:32;1600:43;1594:4;1590:54;1587:1;1583:62;1578:67;;948:711;;;;;;922:737;;;836:833;;;:::o",
"sourceMap": "253:1424:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;253:1424:19;;;;;;;",
"deployedSourceMap": "253:1424:19:-;;;;;;;;;;;;;;;;;;;;;;;;695:980;;8:9:-1;5:2;;;30:1;27;20:12;5:2;695:980:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;870:12;864:19;905:4;922:737;936:6;933:1;930:13;922:737;;;1007:1;993:12;989:20;983:27;1068:4;1065:1;1061:12;1047;1043:31;1037:38;1136:4;1133:1;1129:12;1115;1111:31;1105:38;1209:4;1206:1;1202:12;1188;1184:31;1178:38;1270:4;1267:1;1263:12;1249;1245:31;1308:1;1333:9;1365:1;1360:66;;;;1448:1;1443:67;;;;1326:184;;1360:66;1422:1;1419;1407:10;1401:4;1394:5;1390:2;1385:3;1380:44;1369:55;;1360:66;;1443:67;1506:1;1503;1491:10;1485:4;1481:2;1476:3;1463:45;1452:56;;1326:184;;1542:1;1533:7;1530:14;1527:2;;;1557:1;1554;1547:12;1527:2;1638:4;1631;1624;1612:10;1608:21;1604:32;1600:43;1594:4;1590:54;1587:1;1583:62;1578:67;;948:711;;;;;;922:737;;;836:833;;;:::o",
"source": "pragma solidity 0.4.24;\n\n\n/// @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>\ncontract MultiSend {\n\n /// @dev Sends multiple transactions and reverts all if one fails.\n /// @param transactions Encoded transactions. Each transaction is encoded as a \n /// tuple(operation,address,uint256,bytes), where operation \n /// can be 0 for a call or 1 for a delegatecall. The bytes \n /// of all encoded transactions are concatenated to form the input.\n function multiSend(bytes transactions)\n public\n {\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n let length := mload(transactions)\n let i := 0x20\n for { } lt(i, length) { } {\n let operation := mload(add(transactions, i))\n let to := mload(add(transactions, add(i, 0x20)))\n let value := mload(add(transactions, add(i, 0x40)))\n let dataLength := mload(add(transactions, add(i, 0x80)))\n let data := add(transactions, add(i, 0xa0))\n let success := 0\n switch operation \n case 0 { success := call(gas, to, value, data, dataLength, 0, 0) }\n case 1 { success := delegatecall(gas, to, data, dataLength, 0, 0) }\n if eq(success, 0) { revert(0, 0) }\n i := add(i, add(0xa0, mul(div(add(dataLength, 0x1f), 0x20), 0x20)))\n }\n }\n }\n}\n",
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/libraries/MultiSend.sol",
"ast": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/libraries/MultiSend.sol",
"exportedSymbols": {
"MultiSend": [
1799
3176
]
},
"id": 1800,
"id": 3177,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1791,
"id": 3168,
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:23:17"
"src": "0:23:19"
},
{
"baseContracts": [],
@ -48,85 +48,85 @@
"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>",
"fullyImplemented": true,
"id": 1799,
"id": 3176,
"linearizedBaseContracts": [
1799
3176
],
"name": "MultiSend",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 1797,
"id": 3174,
"nodeType": "Block",
"src": "753:922:17",
"src": "753:922:19",
"statements": [
{
"externalReferences": [
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "870:12:17",
"src": "870:12:19",
"valueSize": 1
}
},
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "993:12:17",
"src": "993:12:19",
"valueSize": 1
}
},
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "1047:12:17",
"src": "1047:12:19",
"valueSize": 1
}
},
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "1188:12:17",
"src": "1188:12:19",
"valueSize": 1
}
},
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "1115:12:17",
"src": "1115:12:19",
"valueSize": 1
}
},
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "1249:12:17",
"src": "1249:12:19",
"valueSize": 1
}
}
],
"id": 1796,
"id": 3173,
"nodeType": "InlineAssembly",
"operations": "{\n let length := mload(transactions)\n let i := 0x20\n for {\n }\n lt(i, length)\n {\n }\n {\n let operation := mload(add(transactions, i))\n let to := mload(add(transactions, add(i, 0x20)))\n let value := mload(add(transactions, add(i, 0x40)))\n let dataLength := mload(add(transactions, add(i, 0x80)))\n let data := add(transactions, add(i, 0xa0))\n let success := 0\n switch operation\n case 0 {\n success := call(gas(), to, value, data, dataLength, 0, 0)\n }\n case 1 {\n success := delegatecall(gas(), to, data, dataLength, 0, 0)\n }\n if eq(success, 0)\n {\n revert(0, 0)\n }\n i := add(i, add(0xa0, mul(div(add(dataLength, 0x1f), 0x20), 0x20)))\n }\n}",
"src": "827:848:17"
"src": "827:848:19"
}
]
},
"documentation": "@dev Sends multiple transactions and reverts all if one fails.\n @param transactions Encoded transactions. Each transaction is encoded as a \n tuple(operation,address,uint256,bytes), where operation \n can be 0 for a call or 1 for a delegatecall. The bytes \n of all encoded transactions are concatenated to form the input.",
"id": 1798,
"id": 3175,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
@ -134,16 +134,16 @@
"name": "multiSend",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1794,
"id": 3171,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1793,
"id": 3170,
"name": "transactions",
"nodeType": "VariableDeclaration",
"scope": 1798,
"src": "714:18:17",
"scope": 3175,
"src": "714:18:19",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
@ -151,10 +151,10 @@
"typeString": "bytes"
},
"typeName": {
"id": 1792,
"id": 3169,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "714:5:17",
"src": "714:5:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
@ -164,47 +164,47 @@
"visibility": "internal"
}
],
"src": "713:20:17"
"src": "713:20:19"
},
"payable": false,
"returnParameters": {
"id": 1795,
"id": 3172,
"nodeType": "ParameterList",
"parameters": [],
"src": "753:0:17"
"src": "753:0:19"
},
"scope": 1799,
"src": "695:980:17",
"scope": 3176,
"src": "695:980:19",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 1800,
"src": "253:1424:17"
"scope": 3177,
"src": "253:1424:19"
}
],
"src": "0:1678:17"
"src": "0:1678:19"
},
"legacyAST": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/libraries/MultiSend.sol",
"exportedSymbols": {
"MultiSend": [
1799
3176
]
},
"id": 1800,
"id": 3177,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1791,
"id": 3168,
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:23:17"
"src": "0:23:19"
},
{
"baseContracts": [],
@ -212,85 +212,85 @@
"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>",
"fullyImplemented": true,
"id": 1799,
"id": 3176,
"linearizedBaseContracts": [
1799
3176
],
"name": "MultiSend",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 1797,
"id": 3174,
"nodeType": "Block",
"src": "753:922:17",
"src": "753:922:19",
"statements": [
{
"externalReferences": [
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "870:12:17",
"src": "870:12:19",
"valueSize": 1
}
},
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "993:12:17",
"src": "993:12:19",
"valueSize": 1
}
},
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "1047:12:17",
"src": "1047:12:19",
"valueSize": 1
}
},
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "1188:12:17",
"src": "1188:12:19",
"valueSize": 1
}
},
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "1115:12:17",
"src": "1115:12:19",
"valueSize": 1
}
},
{
"transactions": {
"declaration": 1793,
"declaration": 3170,
"isOffset": false,
"isSlot": false,
"src": "1249:12:17",
"src": "1249:12:19",
"valueSize": 1
}
}
],
"id": 1796,
"id": 3173,
"nodeType": "InlineAssembly",
"operations": "{\n let length := mload(transactions)\n let i := 0x20\n for {\n }\n lt(i, length)\n {\n }\n {\n let operation := mload(add(transactions, i))\n let to := mload(add(transactions, add(i, 0x20)))\n let value := mload(add(transactions, add(i, 0x40)))\n let dataLength := mload(add(transactions, add(i, 0x80)))\n let data := add(transactions, add(i, 0xa0))\n let success := 0\n switch operation\n case 0 {\n success := call(gas(), to, value, data, dataLength, 0, 0)\n }\n case 1 {\n success := delegatecall(gas(), to, data, dataLength, 0, 0)\n }\n if eq(success, 0)\n {\n revert(0, 0)\n }\n i := add(i, add(0xa0, mul(div(add(dataLength, 0x1f), 0x20), 0x20)))\n }\n}",
"src": "827:848:17"
"src": "827:848:19"
}
]
},
"documentation": "@dev Sends multiple transactions and reverts all if one fails.\n @param transactions Encoded transactions. Each transaction is encoded as a \n tuple(operation,address,uint256,bytes), where operation \n can be 0 for a call or 1 for a delegatecall. The bytes \n of all encoded transactions are concatenated to form the input.",
"id": 1798,
"id": 3175,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
@ -298,16 +298,16 @@
"name": "multiSend",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1794,
"id": 3171,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1793,
"id": 3170,
"name": "transactions",
"nodeType": "VariableDeclaration",
"scope": 1798,
"src": "714:18:17",
"scope": 3175,
"src": "714:18:19",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
@ -315,10 +315,10 @@
"typeString": "bytes"
},
"typeName": {
"id": 1792,
"id": 3169,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "714:5:17",
"src": "714:5:19",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
@ -328,40 +328,46 @@
"visibility": "internal"
}
],
"src": "713:20:17"
"src": "713:20:19"
},
"payable": false,
"returnParameters": {
"id": 1795,
"id": 3172,
"nodeType": "ParameterList",
"parameters": [],
"src": "753:0:17"
"src": "753:0:19"
},
"scope": 1799,
"src": "695:980:17",
"scope": 3176,
"src": "695:980:19",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 1800,
"src": "253:1424:17"
"scope": 3177,
"src": "253:1424:19"
}
],
"src": "0:1678:17"
"src": "0:1678:19"
},
"compiler": {
"name": "solc",
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
},
"networks": {
"1530197641790": {
"4": {
"events": {},
"links": {},
"address": "0x64a544e87eae5ce003a57054be49dc87d5a913ba",
"transactionHash": "0xb91516bf523fbce457f9571af6ff353eb99ac901637c14f64f4ad6ab614a4621"
"address": "0x7115893bc1477bc22f127bc2d82fcb4dd99e5838",
"transactionHash": "0x1f321cf880f5ec5b189cb1ac1c1c1b71ef8d854fc059c345fea6e6129bb19645"
},
"1530013596495": {
"events": {},
"links": {},
"address": "0x18a8eaa498a58752858e5a912c8ff136b0bc6c69",
"transactionHash": "0x7da393438ee13b991e6d94278addb64e86b0c13101efb8a0f0f00d9f86ba51d0"
}
},
"schemaVersion": "2.0.1",
"updatedAt": "2018-06-28T15:26:58.206Z"
"schemaVersion": "2.0.0",
"updatedAt": "2018-06-29T10:54:03.255Z"
}

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

File diff suppressed because it is too large Load Diff

View File

@ -3,29 +3,29 @@
"abi": [],
"bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058203704d691dd103c6cda573e69dcd48a2de4d0edf672da44096a50180687c79a770029",
"deployedBytecode": "0x6080604052600080fd00a165627a7a723058203704d691dd103c6cda573e69dcd48a2de4d0edf672da44096a50180687c79a770029",
"sourceMap": "133:1051:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;133:1051:13;;;;;;;",
"deployedSourceMap": "133:1051:13:-;;;;;",
"sourceMap": "133:1051:15:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;133:1051:15;;;;;;;",
"deployedSourceMap": "133:1051:15:-;;;;;",
"source": "pragma solidity 0.4.24;\n\n\n/// @title SecuredTokenTransfer - Secure token transfer\n/// @author Richard Meissner - <richard@gnosis.pm>\ncontract SecuredTokenTransfer {\n\n /// @dev Transfers a token and returns if it was a success\n /// @param token Token that should be transferred\n /// @param receiver Receiver to whom the token should be transferred\n /// @param amount The amount of tokens that should be transferred\n function transferToken (\n address token, \n address receiver,\n uint256 amount\n )\n internal\n returns (bool transferred)\n {\n bytes memory data = abi.encodeWithSignature(\"transfer(address,uint256)\", receiver, amount);\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n let success := call(sub(gas, 10000), token, 0, add(data, 0x20), mload(data), 0, 0)\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, returndatasize)\n switch returndatasize \n case 0 { transferred := success }\n case 0x20 { transferred := iszero(or(iszero(success), iszero(mload(ptr)))) }\n default { transferred := 0 }\n }\n }\n}\n",
"sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SecuredTokenTransfer.sol",
"ast": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SecuredTokenTransfer.sol",
"exportedSymbols": {
"SecuredTokenTransfer": [
1671
3048
]
},
"id": 1672,
"id": 3049,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1648,
"id": 3025,
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:23:13"
"src": "0:23:15"
},
{
"baseContracts": [],
@ -33,31 +33,31 @@
"contractKind": "contract",
"documentation": "@title SecuredTokenTransfer - Secure token transfer\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true,
"id": 1671,
"id": 3048,
"linearizedBaseContracts": [
1671
3048
],
"name": "SecuredTokenTransfer",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 1669,
"id": 3046,
"nodeType": "Block",
"src": "590:592:13",
"src": "590:592:15",
"statements": [
{
"assignments": [
1660
3037
],
"declarations": [
{
"constant": false,
"id": 1660,
"id": 3037,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 1670,
"src": "600:17:13",
"scope": 3047,
"src": "600:17:15",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
@ -65,10 +65,10 @@
"typeString": "bytes"
},
"typeName": {
"id": 1659,
"id": 3036,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "600:5:13",
"src": "600:5:15",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
@ -78,21 +78,21 @@
"visibility": "internal"
}
],
"id": 1667,
"id": 3044,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "7472616e7366657228616464726573732c75696e7432353629",
"id": 1663,
"id": 3040,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "644:27:13",
"src": "644:27:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b",
@ -102,12 +102,12 @@
},
{
"argumentTypes": null,
"id": 1664,
"id": 3041,
"name": "receiver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1652,
"src": "673:8:13",
"referencedDeclaration": 3029,
"src": "673:8:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
@ -115,12 +115,12 @@
},
{
"argumentTypes": null,
"id": 1665,
"id": 3042,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1654,
"src": "683:6:13",
"referencedDeclaration": 3031,
"src": "683:6:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
@ -144,18 +144,18 @@
],
"expression": {
"argumentTypes": null,
"id": 1661,
"id": 3038,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2646,
"src": "620:3:13",
"referencedDeclaration": 4023,
"src": "620:3:15",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 1662,
"id": 3039,
"isConstant": false,
"isLValue": false,
"isPure": true,
@ -163,13 +163,13 @@
"memberName": "encodeWithSignature",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "620:23:13",
"src": "620:23:15",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory) pure returns (bytes memory)"
}
},
"id": 1666,
"id": 3043,
"isConstant": false,
"isLValue": false,
"isPure": false,
@ -177,81 +177,81 @@
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "620:70:13",
"src": "620:70:15",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "600:90:13"
"src": "600:90:15"
},
{
"externalReferences": [
{
"transferred": {
"declaration": 1657,
"declaration": 3034,
"isOffset": false,
"isSlot": false,
"src": "1061:11:13",
"src": "1061:11:15",
"valueSize": 1
}
},
{
"data": {
"declaration": 1660,
"declaration": 3037,
"isOffset": false,
"isSlot": false,
"src": "857:4:13",
"src": "857:4:15",
"valueSize": 1
}
},
{
"token": {
"declaration": 1650,
"declaration": 3027,
"isOffset": false,
"isSlot": false,
"src": "824:5:13",
"src": "824:5:15",
"valueSize": 1
}
},
{
"data": {
"declaration": 1660,
"declaration": 3037,
"isOffset": false,
"isSlot": false,
"src": "838:4:13",
"src": "838:4:15",
"valueSize": 1
}
},
{
"transferred": {
"declaration": 1657,
"declaration": 3034,
"isOffset": false,
"isSlot": false,
"src": "1012:11:13",
"src": "1012:11:15",
"valueSize": 1
}
},
{
"transferred": {
"declaration": 1657,
"declaration": 3034,
"isOffset": false,
"isSlot": false,
"src": "1148:11:13",
"src": "1148:11:15",
"valueSize": 1
}
}
],
"id": 1668,
"id": 3045,
"nodeType": "InlineAssembly",
"operations": "{\n let success := call(sub(gas(), 10000), token, 0, add(data, 0x20), mload(data), 0, 0)\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, returndatasize())\n switch returndatasize()\n case 0 {\n transferred := success\n }\n case 0x20 {\n transferred := iszero(or(iszero(success), iszero(mload(ptr))))\n }\n default {\n transferred := 0\n }\n}",
"src": "764:418:13"
"src": "764:418:15"
}
]
},
"documentation": "@dev Transfers a token and returns if it was a success\n @param token Token that should be transferred\n @param receiver Receiver to whom the token should be transferred\n @param amount The amount of tokens that should be transferred",
"id": 1670,
"id": 3047,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
@ -259,16 +259,16 @@
"name": "transferToken",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1655,
"id": 3032,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1650,
"id": 3027,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 1670,
"src": "463:13:13",
"scope": 3047,
"src": "463:13:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
@ -276,10 +276,10 @@
"typeString": "address"
},
"typeName": {
"id": 1649,
"id": 3026,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "463:7:13",
"src": "463:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
@ -290,11 +290,11 @@
},
{
"constant": false,
"id": 1652,
"id": 3029,
"name": "receiver",
"nodeType": "VariableDeclaration",
"scope": 1670,
"src": "487:16:13",
"scope": 3047,
"src": "487:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
@ -302,10 +302,10 @@
"typeString": "address"
},
"typeName": {
"id": 1651,
"id": 3028,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "487:7:13",
"src": "487:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
@ -316,11 +316,11 @@
},
{
"constant": false,
"id": 1654,
"id": 3031,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 1670,
"src": "513:14:13",
"scope": 3047,
"src": "513:14:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
@ -328,10 +328,10 @@
"typeString": "uint256"
},
"typeName": {
"id": 1653,
"id": 3030,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "513:7:13",
"src": "513:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
@ -341,20 +341,20 @@
"visibility": "internal"
}
],
"src": "453:80:13"
"src": "453:80:15"
},
"payable": false,
"returnParameters": {
"id": 1658,
"id": 3035,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1657,
"id": 3034,
"name": "transferred",
"nodeType": "VariableDeclaration",
"scope": 1670,
"src": "568:16:13",
"scope": 3047,
"src": "568:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
@ -362,10 +362,10 @@
"typeString": "bool"
},
"typeName": {
"id": 1656,
"id": 3033,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "568:4:13",
"src": "568:4:15",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
@ -375,40 +375,40 @@
"visibility": "internal"
}
],
"src": "567:18:13"
"src": "567:18:15"
},
"scope": 1671,
"src": "430:752:13",
"scope": 3048,
"src": "430:752:15",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
}
],
"scope": 1672,
"src": "133:1051:13"
"scope": 3049,
"src": "133:1051:15"
}
],
"src": "0:1185:13"
"src": "0:1185:15"
},
"legacyAST": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SecuredTokenTransfer.sol",
"exportedSymbols": {
"SecuredTokenTransfer": [
1671
3048
]
},
"id": 1672,
"id": 3049,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1648,
"id": 3025,
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:23:13"
"src": "0:23:15"
},
{
"baseContracts": [],
@ -416,31 +416,31 @@
"contractKind": "contract",
"documentation": "@title SecuredTokenTransfer - Secure token transfer\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true,
"id": 1671,
"id": 3048,
"linearizedBaseContracts": [
1671
3048
],
"name": "SecuredTokenTransfer",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 1669,
"id": 3046,
"nodeType": "Block",
"src": "590:592:13",
"src": "590:592:15",
"statements": [
{
"assignments": [
1660
3037
],
"declarations": [
{
"constant": false,
"id": 1660,
"id": 3037,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 1670,
"src": "600:17:13",
"scope": 3047,
"src": "600:17:15",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
@ -448,10 +448,10 @@
"typeString": "bytes"
},
"typeName": {
"id": 1659,
"id": 3036,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "600:5:13",
"src": "600:5:15",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
@ -461,21 +461,21 @@
"visibility": "internal"
}
],
"id": 1667,
"id": 3044,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "7472616e7366657228616464726573732c75696e7432353629",
"id": 1663,
"id": 3040,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "644:27:13",
"src": "644:27:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b",
@ -485,12 +485,12 @@
},
{
"argumentTypes": null,
"id": 1664,
"id": 3041,
"name": "receiver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1652,
"src": "673:8:13",
"referencedDeclaration": 3029,
"src": "673:8:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
@ -498,12 +498,12 @@
},
{
"argumentTypes": null,
"id": 1665,
"id": 3042,
"name": "amount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1654,
"src": "683:6:13",
"referencedDeclaration": 3031,
"src": "683:6:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
@ -527,18 +527,18 @@
],
"expression": {
"argumentTypes": null,
"id": 1661,
"id": 3038,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2646,
"src": "620:3:13",
"referencedDeclaration": 4023,
"src": "620:3:15",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 1662,
"id": 3039,
"isConstant": false,
"isLValue": false,
"isPure": true,
@ -546,13 +546,13 @@
"memberName": "encodeWithSignature",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "620:23:13",
"src": "620:23:15",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory) pure returns (bytes memory)"
}
},
"id": 1666,
"id": 3043,
"isConstant": false,
"isLValue": false,
"isPure": false,
@ -560,81 +560,81 @@
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "620:70:13",
"src": "620:70:15",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "600:90:13"
"src": "600:90:15"
},
{
"externalReferences": [
{
"transferred": {
"declaration": 1657,
"declaration": 3034,
"isOffset": false,
"isSlot": false,
"src": "1061:11:13",
"src": "1061:11:15",
"valueSize": 1
}
},
{
"data": {
"declaration": 1660,
"declaration": 3037,
"isOffset": false,
"isSlot": false,
"src": "857:4:13",
"src": "857:4:15",
"valueSize": 1
}
},
{
"token": {
"declaration": 1650,
"declaration": 3027,
"isOffset": false,
"isSlot": false,
"src": "824:5:13",
"src": "824:5:15",
"valueSize": 1
}
},
{
"data": {
"declaration": 1660,
"declaration": 3037,
"isOffset": false,
"isSlot": false,
"src": "838:4:13",
"src": "838:4:15",
"valueSize": 1
}
},
{
"transferred": {
"declaration": 1657,
"declaration": 3034,
"isOffset": false,
"isSlot": false,
"src": "1012:11:13",
"src": "1012:11:15",
"valueSize": 1
}
},
{
"transferred": {
"declaration": 1657,
"declaration": 3034,
"isOffset": false,
"isSlot": false,
"src": "1148:11:13",
"src": "1148:11:15",
"valueSize": 1
}
}
],
"id": 1668,
"id": 3045,
"nodeType": "InlineAssembly",
"operations": "{\n let success := call(sub(gas(), 10000), token, 0, add(data, 0x20), mload(data), 0, 0)\n let ptr := mload(0x40)\n returndatacopy(ptr, 0, returndatasize())\n switch returndatasize()\n case 0 {\n transferred := success\n }\n case 0x20 {\n transferred := iszero(or(iszero(success), iszero(mload(ptr))))\n }\n default {\n transferred := 0\n }\n}",
"src": "764:418:13"
"src": "764:418:15"
}
]
},
"documentation": "@dev Transfers a token and returns if it was a success\n @param token Token that should be transferred\n @param receiver Receiver to whom the token should be transferred\n @param amount The amount of tokens that should be transferred",
"id": 1670,
"id": 3047,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
@ -642,16 +642,16 @@
"name": "transferToken",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1655,
"id": 3032,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1650,
"id": 3027,
"name": "token",
"nodeType": "VariableDeclaration",
"scope": 1670,
"src": "463:13:13",
"scope": 3047,
"src": "463:13:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
@ -659,10 +659,10 @@
"typeString": "address"
},
"typeName": {
"id": 1649,
"id": 3026,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "463:7:13",
"src": "463:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
@ -673,11 +673,11 @@
},
{
"constant": false,
"id": 1652,
"id": 3029,
"name": "receiver",
"nodeType": "VariableDeclaration",
"scope": 1670,
"src": "487:16:13",
"scope": 3047,
"src": "487:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
@ -685,10 +685,10 @@
"typeString": "address"
},
"typeName": {
"id": 1651,
"id": 3028,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "487:7:13",
"src": "487:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
@ -699,11 +699,11 @@
},
{
"constant": false,
"id": 1654,
"id": 3031,
"name": "amount",
"nodeType": "VariableDeclaration",
"scope": 1670,
"src": "513:14:13",
"scope": 3047,
"src": "513:14:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
@ -711,10 +711,10 @@
"typeString": "uint256"
},
"typeName": {
"id": 1653,
"id": 3030,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "513:7:13",
"src": "513:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
@ -724,20 +724,20 @@
"visibility": "internal"
}
],
"src": "453:80:13"
"src": "453:80:15"
},
"payable": false,
"returnParameters": {
"id": 1658,
"id": 3035,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1657,
"id": 3034,
"name": "transferred",
"nodeType": "VariableDeclaration",
"scope": 1670,
"src": "568:16:13",
"scope": 3047,
"src": "568:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
@ -745,10 +745,10 @@
"typeString": "bool"
},
"typeName": {
"id": 1656,
"id": 3033,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "568:4:13",
"src": "568:4:15",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
@ -758,26 +758,26 @@
"visibility": "internal"
}
],
"src": "567:18:13"
"src": "567:18:15"
},
"scope": 1671,
"src": "430:752:13",
"scope": 3048,
"src": "430:752:15",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "internal"
}
],
"scope": 1672,
"src": "133:1051:13"
"scope": 3049,
"src": "133:1051:15"
}
],
"src": "0:1185:13"
"src": "0:1185:15"
},
"compiler": {
"name": "solc",
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
},
"networks": {},
"schemaVersion": "2.0.1",
"updatedAt": "2018-06-28T15:26:56.488Z"
"schemaVersion": "2.0.0",
"updatedAt": "2018-06-29T09:01:22.084Z"
}

View File

@ -3,29 +3,29 @@
"abi": [],
"bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820ec80f1b4520aa5197e4181778f1e2e4fc460002d4a40e2e8e6709c8986067c220029",
"deployedBytecode": "0x6080604052600080fd00a165627a7a72305820ec80f1b4520aa5197e4181778f1e2e4fc460002d4a40e2e8e6709c8986067c220029",
"sourceMap": "152:166:14:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:166:14;;;;;;;",
"deployedSourceMap": "152:166:14:-;;;;;",
"sourceMap": "152:166:16:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:166:16;;;;;;;",
"deployedSourceMap": "152:166:16:-;;;;;",
"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",
"ast": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol",
"exportedSymbols": {
"SelfAuthorized": [
1688
3065
]
},
"id": 1689,
"id": 3066,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1673,
"id": 3050,
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:23:14"
"src": "0:23:16"
},
{
"baseContracts": [],
@ -33,18 +33,18 @@
"contractKind": "contract",
"documentation": "@title SelfAuthorized - authorizes current contract to perform actions\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true,
"id": 1688,
"id": 3065,
"linearizedBaseContracts": [
1688
3065
],
"name": "SelfAuthorized",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 1686,
"id": 3063,
"nodeType": "Block",
"src": "204:112:14",
"src": "204:112:16",
"statements": [
{
"expression": {
@ -56,7 +56,7 @@
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 1681,
"id": 3058,
"isConstant": false,
"isLValue": false,
"isPure": false,
@ -65,18 +65,18 @@
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 1676,
"id": 3053,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2659,
"src": "222:3:14",
"referencedDeclaration": 4036,
"src": "222:3:16",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 1677,
"id": 3054,
"isConstant": false,
"isLValue": false,
"isPure": false,
@ -84,7 +84,7 @@
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "222:10:14",
"src": "222:10:16",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
@ -97,14 +97,14 @@
"arguments": [
{
"argumentTypes": null,
"id": 1679,
"id": 3056,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2678,
"src": "244:4:14",
"referencedDeclaration": 4055,
"src": "244:4:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SelfAuthorized_$1688",
"typeIdentifier": "t_contract$_SelfAuthorized_$3065",
"typeString": "contract SelfAuthorized"
}
}
@ -112,24 +112,24 @@
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_SelfAuthorized_$1688",
"typeIdentifier": "t_contract$_SelfAuthorized_$3065",
"typeString": "contract SelfAuthorized"
}
],
"id": 1678,
"id": 3055,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "236:7:14",
"src": "236:7:16",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 1680,
"id": 3057,
"isConstant": false,
"isLValue": false,
"isPure": false,
@ -137,13 +137,13 @@
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "236:13:14",
"src": "236:13:16",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "222:27:14",
"src": "222:27:16",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
@ -152,14 +152,14 @@
{
"argumentTypes": null,
"hexValue": "4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207468697320636f6e7472616374",
"id": 1682,
"id": 3059,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "251:46:14",
"src": "251:46:16",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c4780ef0a1d41d59bac8c510cf9ada421bccf2b90f75a8e4ba2e8c09e8d72733",
@ -179,21 +179,21 @@
"typeString": "literal_string \"Method can only be called from this contract\""
}
],
"id": 1675,
"id": 3052,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2662,
2663
4039,
4040
],
"referencedDeclaration": 2663,
"src": "214:7:14",
"referencedDeclaration": 4040,
"src": "214:7:16",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1683,
"id": 3060,
"isConstant": false,
"isLValue": false,
"isPure": false,
@ -201,62 +201,62 @@
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "214:84:14",
"src": "214:84:16",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1684,
"id": 3061,
"nodeType": "ExpressionStatement",
"src": "214:84:14"
"src": "214:84:16"
},
{
"id": 1685,
"id": 3062,
"nodeType": "PlaceholderStatement",
"src": "308:1:14"
"src": "308:1:16"
}
]
},
"documentation": null,
"id": 1687,
"id": 3064,
"name": "authorized",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 1674,
"id": 3051,
"nodeType": "ParameterList",
"parameters": [],
"src": "201:2:14"
"src": "201:2:16"
},
"src": "182:134:14",
"src": "182:134:16",
"visibility": "internal"
}
],
"scope": 1689,
"src": "152:166:14"
"scope": 3066,
"src": "152:166:16"
}
],
"src": "0:319:14"
"src": "0:319:16"
},
"legacyAST": {
"absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/SelfAuthorized.sol",
"exportedSymbols": {
"SelfAuthorized": [
1688
3065
]
},
"id": 1689,
"id": 3066,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1673,
"id": 3050,
"literals": [
"solidity",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:23:14"
"src": "0:23:16"
},
{
"baseContracts": [],
@ -264,18 +264,18 @@
"contractKind": "contract",
"documentation": "@title SelfAuthorized - authorizes current contract to perform actions\n @author Richard Meissner - <richard@gnosis.pm>",
"fullyImplemented": true,
"id": 1688,
"id": 3065,
"linearizedBaseContracts": [
1688
3065
],
"name": "SelfAuthorized",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 1686,
"id": 3063,
"nodeType": "Block",
"src": "204:112:14",
"src": "204:112:16",
"statements": [
{
"expression": {
@ -287,7 +287,7 @@
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 1681,
"id": 3058,
"isConstant": false,
"isLValue": false,
"isPure": false,
@ -296,18 +296,18 @@
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 1676,
"id": 3053,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2659,
"src": "222:3:14",
"referencedDeclaration": 4036,
"src": "222:3:16",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 1677,
"id": 3054,
"isConstant": false,
"isLValue": false,
"isPure": false,
@ -315,7 +315,7 @@
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "222:10:14",
"src": "222:10:16",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
@ -328,14 +328,14 @@
"arguments": [
{
"argumentTypes": null,
"id": 1679,
"id": 3056,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2678,
"src": "244:4:14",
"referencedDeclaration": 4055,
"src": "244:4:16",
"typeDescriptions": {
"typeIdentifier": "t_contract$_SelfAuthorized_$1688",
"typeIdentifier": "t_contract$_SelfAuthorized_$3065",
"typeString": "contract SelfAuthorized"
}
}
@ -343,24 +343,24 @@
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_SelfAuthorized_$1688",
"typeIdentifier": "t_contract$_SelfAuthorized_$3065",
"typeString": "contract SelfAuthorized"
}
],
"id": 1678,
"id": 3055,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "236:7:14",
"src": "236:7:16",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 1680,
"id": 3057,
"isConstant": false,
"isLValue": false,
"isPure": false,
@ -368,13 +368,13 @@
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "236:13:14",
"src": "236:13:16",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "222:27:14",
"src": "222:27:16",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
@ -383,14 +383,14 @@
{
"argumentTypes": null,
"hexValue": "4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207468697320636f6e7472616374",
"id": 1682,
"id": 3059,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "251:46:14",
"src": "251:46:16",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c4780ef0a1d41d59bac8c510cf9ada421bccf2b90f75a8e4ba2e8c09e8d72733",
@ -410,21 +410,21 @@
"typeString": "literal_string \"Method can only be called from this contract\""
}
],
"id": 1675,
"id": 3052,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
2662,
2663
4039,
4040
],
"referencedDeclaration": 2663,
"src": "214:7:14",
"referencedDeclaration": 4040,
"src": "214:7:16",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 1683,
"id": 3060,
"isConstant": false,
"isLValue": false,
"isPure": false,
@ -432,48 +432,48 @@
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "214:84:14",
"src": "214:84:16",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 1684,
"id": 3061,
"nodeType": "ExpressionStatement",
"src": "214:84:14"
"src": "214:84:16"
},
{
"id": 1685,
"id": 3062,
"nodeType": "PlaceholderStatement",
"src": "308:1:14"
"src": "308:1:16"
}
]
},
"documentation": null,
"id": 1687,
"id": 3064,
"name": "authorized",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 1674,
"id": 3051,
"nodeType": "ParameterList",
"parameters": [],
"src": "201:2:14"
"src": "201:2:16"
},
"src": "182:134:14",
"src": "182:134:16",
"visibility": "internal"
}
],
"scope": 1689,
"src": "152:166:14"
"scope": 3066,
"src": "152:166:16"
}
],
"src": "0:319:14"
"src": "0:319:16"
},
"compiler": {
"name": "solc",
"version": "0.4.24+commit.e67f0147.Emscripten.clang"
},
"networks": {},
"schemaVersion": "2.0.1",
"updatedAt": "2018-06-28T15:26:56.488Z"
"schemaVersion": "2.0.0",
"updatedAt": "2018-06-29T09:01:22.084Z"
}

File diff suppressed because it is too large Load Diff

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