UNPKG

@daostack/upgrades

Version:
988 lines (987 loc) 47.9 kB
{ "fileName": "WithStructInConstructor.sol", "contractName": "WithStructInConstructor", "source": "pragma solidity ^0.6.10;\npragma experimental ABIEncoderV2;\n// SPDX-License-Identifier: MIT\n\ncontract WithStructInConstructor {\n\n struct Data {\n string foo;\n string bar;\n uint256 buz;\n }\n\n Data public localData;\n address public sender;\n\n constructor(Data memory _data) public {\n localData.foo = _data.foo;\n localData.bar = _data.bar;\n localData.buz = _data.buz;\n sender = msg.sender;\n }\n\n function foo() public view returns (string memory) {\n return localData.foo;\n }\n\n function bar() public view returns (string memory) {\n return localData.bar;\n }\n\n function buz() public view returns (uint256) {\n return localData.buz;\n }\n}\n", "sourcePath": "contracts/mocks/WithStructInConstructor.sol", "sourceMap": "92:574:26:-:0;;;251:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;311:5;:9;;;295;;;:13;;;:25;;;;;;;;;;;;;:::i;:::-;;342:5;:9;;;326;;;:13;;;:25;;;;;;;;;;;;;:::i;:::-;;373:5;:9;;;357;;;:13;;;:25;;;;;;;397:10;388:6;;:19;;;;;;;;;;;;;;;;;;251:161;;92:574;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6:444:-1:-;;;;119:3;112:4;104:6;100:17;96:27;89:35;86:2;;;137:1;134;127:12;86:2;167:6;161:13;189:65;204:49;246:6;204:49;;;189:65;;;180:74;;274:6;267:5;260:21;310:4;302:6;298:17;343:4;336:5;332:16;378:3;369:6;364:3;360:16;357:25;354:2;;;395:1;392;385:12;354:2;405:39;437:6;432:3;427;405:39;;;79:371;;;;;;;;;500:827;;622:4;610:9;605:3;601:19;597:30;594:2;;;640:1;637;630:12;594:2;658:20;673:4;658:20;;;649:29;;748:1;737:9;733:17;727:24;771:18;763:6;760:30;757:2;;;803:1;800;793:12;757:2;838:70;904:3;895:6;884:9;880:22;838:70;;;831:4;824:5;820:16;813:96;688:232;990:2;979:9;975:18;969:25;1014:18;1006:6;1003:30;1000:2;;;1046:1;1043;1036:12;1000:2;1081:70;1147:3;1138:6;1127:9;1123:22;1081:70;;;1074:4;1067:5;1063:16;1056:96;930:233;1212:2;1245:60;1301:3;1292:6;1281:9;1277:22;1245:60;;;1238:4;1231:5;1227:16;1220:86;1173:144;588:739;;;;;;1334:134;;1418:6;1412:13;1403:22;;1430:33;1457:5;1430:33;;;1397:71;;;;;;1475:386;;1612:2;1600:9;1591:7;1587:23;1583:32;1580:2;;;1628:1;1625;1618:12;1580:2;1684:1;1673:9;1669:17;1663:24;1707:18;1699:6;1696:30;1693:2;;;1739:1;1736;1729:12;1693:2;1759:86;1837:7;1828:6;1817:9;1813:22;1759:86;;;1749:96;;1642:209;1574:287;;;;;;1868:256;;1930:2;1924:9;1914:19;;1968:4;1960:6;1956:17;2067:6;2055:10;2052:22;2031:18;2019:10;2016:34;2013:62;2010:2;;;2088:1;2085;2078:12;2010:2;2108:10;2104:2;2097:22;1908:216;;;;;;2131:322;;2275:18;2267:6;2264:30;2261:2;;;2307:1;2304;2297:12;2261:2;2374:4;2370:9;2363:4;2355:6;2351:17;2347:33;2339:41;;2438:4;2432;2428:15;2420:23;;2198:255;;;;;2460:72;;2522:5;2511:16;;2505:27;;;;;2540:268;2605:1;2612:101;2626:6;2623:1;2620:13;2612:101;;;2702:1;2697:3;2693:11;2687:18;2683:1;2678:3;2674:11;2667:39;2612:101;2648:2;2645:1;2641:10;2636:15;;2612:101;;;2728:6;2725:1;2722:13;2719:2;;;2793:1;2784:6;2779:3;2775:16;2768:27;2719:2;2589:219;;;;;;2816:117;2885:24;2903:5;2885:24;;;2878:5;2875:35;2868:43;2865:2;;;2924:1;2921;2914:12;2865:2;2859:74;;;;92:574:26;;;;;;;", "deployedSourceMap": "92:574:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;200:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;225;;;:::i;:::-;;;;;;;;;;;;;;;;588:76;;;:::i;:::-;;;;;;;;;;;;;;;;416:82;;;:::i;:::-;;;;;;;;;;;;;;;;502;;;:::i;:::-;;;;;;;;;;;;;;;;200:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;225:::-;;;;;;;;;;;;;:::o;588:76::-;624:7;646:9;;;:13;;;;;639:20;;;;588:76;;:::o;416:82::-;452:13;480:9;;;:13;;;;473:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;416:82;;:::o;502:::-;538:13;566:9;;;:13;;;;559:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;502:82;;:::o;5:113:-1:-;;;88:24;106:5;88:24;;;83:3;76:37;70:48;;;;125:347;;237:39;270:5;237:39;;;288:71;352:6;347:3;288:71;;;281:78;;364:52;409:6;404:3;397:4;390:5;386:16;364:52;;;437:29;459:6;437:29;;;432:3;428:39;421:46;;217:255;;;;;;;479:113;562:24;580:5;562:24;;;557:3;550:37;544:48;;;;599:222;;726:2;715:9;711:18;703:26;;740:71;808:1;797:9;793:17;784:6;740:71;;;697:124;;;;;;828:310;;975:2;964:9;960:18;952:26;;1025:9;1019:4;1015:20;1011:1;1000:9;996:17;989:47;1050:78;1123:4;1114:6;1050:78;;;1042:86;;946:192;;;;;;1145:620;;1368:2;1357:9;1353:18;1345:26;;1418:9;1412:4;1408:20;1404:1;1393:9;1389:17;1382:47;1443:78;1516:4;1507:6;1443:78;;;1435:86;;1569:9;1563:4;1559:20;1554:2;1543:9;1539:18;1532:48;1594:78;1667:4;1658:6;1594:78;;;1586:86;;1683:72;1751:2;1740:9;1736:18;1727:6;1683:72;;;1339:426;;;;;;;;1772:222;;1899:2;1888:9;1884:18;1876:26;;1913:71;1981:1;1970:9;1966:17;1957:6;1913:71;;;1870:124;;;;;;2001:122;;2095:5;2089:12;2079:22;;2060:63;;;;;2131:163;;2246:6;2241:3;2234:19;2283:4;2278:3;2274:14;2259:29;;2227:67;;;;;;2302:91;;2364:24;2382:5;2364:24;;;2353:35;;2347:46;;;;;2400:121;;2473:42;2466:5;2462:54;2451:65;;2445:76;;;;;2528:72;;2590:5;2579:16;;2573:27;;;;;2608:268;2673:1;2680:101;2694:6;2691:1;2688:13;2680:101;;;2770:1;2765:3;2761:11;2755:18;2751:1;2746:3;2742:11;2735:39;2680:101;2716:2;2713:1;2709:10;2704:15;;2680:101;;;2796:6;2793:1;2790:13;2787:2;;;2861:1;2852:6;2847:3;2843:16;2836:27;2787:2;2657:219;;;;;;2884:97;;2972:2;2968:7;2963:2;2956:5;2952:14;2948:28;2938:38;;2932:49;;;;;", "abi": [ { "inputs": [ { "components": [ { "internalType": "string", "name": "foo", "type": "string" }, { "internalType": "string", "name": "bar", "type": "string" }, { "internalType": "uint256", "name": "buz", "type": "uint256" } ], "internalType": "struct WithStructInConstructor.Data", "name": "_data", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "bar", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buz", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "foo", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "localData", "outputs": [ { "internalType": "string", "name": "foo", "type": "string" }, { "internalType": "string", "name": "bar", "type": "string" }, { "internalType": "uint256", "name": "buz", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sender", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "ast": { "absolutePath": "contracts/mocks/WithStructInConstructor.sol", "exportedSymbols": { "WithStructInConstructor": [ 5221 ] }, "id": 5222, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 5149, "literals": [ "solidity", "^", "0.6", ".10" ], "nodeType": "PragmaDirective", "src": "0:24:26" }, { "id": 5150, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "25:33:26" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 5221, "linearizedBaseContracts": [ 5221 ], "name": "WithStructInConstructor", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "WithStructInConstructor.Data", "id": 5157, "members": [ { "constant": false, "id": 5152, "mutability": "mutable", "name": "foo", "nodeType": "VariableDeclaration", "overrides": null, "scope": 5157, "src": "148:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 5151, "name": "string", "nodeType": "ElementaryTypeName", "src": "148:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 5154, "mutability": "mutable", "name": "bar", "nodeType": "VariableDeclaration", "overrides": null, "scope": 5157, "src": "164:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 5153, "name": "string", "nodeType": "ElementaryTypeName", "src": "164:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 5156, "mutability": "mutable", "name": "buz", "nodeType": "VariableDeclaration", "overrides": null, "scope": 5157, "src": "180:11:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 5155, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "180:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "name": "Data", "nodeType": "StructDefinition", "scope": 5221, "src": "130:66:26", "visibility": "public" }, { "constant": false, "functionSelector": "4efe8268", "id": 5159, "mutability": "mutable", "name": "localData", "nodeType": "VariableDeclaration", "overrides": null, "scope": 5221, "src": "200:21:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_storage", "typeString": "struct WithStructInConstructor.Data" }, "typeName": { "contractScope": null, "id": 5158, "name": "Data", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 5157, "src": "200:4:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_storage_ptr", "typeString": "struct WithStructInConstructor.Data" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "67e404ce", "id": 5161, "mutability": "mutable", "name": "sender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 5221, "src": "225:21:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 5160, "name": "address", "nodeType": "ElementaryTypeName", "src": "225:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "body": { "id": 5192, "nodeType": "Block", "src": "289:123:26", "statements": [ { "expression": { "argumentTypes": null, "id": 5171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 5166, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5159, "src": "295:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 5168, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "foo", "nodeType": "MemberAccess", "referencedDeclaration": 5152, "src": "295:13:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 5169, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5163, "src": "311:5:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_memory_ptr", "typeString": "struct WithStructInConstructor.Data memory" } }, "id": 5170, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "foo", "nodeType": "MemberAccess", "referencedDeclaration": 5152, "src": "311:9:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "295:25:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 5172, "nodeType": "ExpressionStatement", "src": "295:25:26" }, { "expression": { "argumentTypes": null, "id": 5178, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 5173, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5159, "src": "326:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 5175, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "bar", "nodeType": "MemberAccess", "referencedDeclaration": 5154, "src": "326:13:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 5176, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5163, "src": "342:5:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_memory_ptr", "typeString": "struct WithStructInConstructor.Data memory" } }, "id": 5177, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bar", "nodeType": "MemberAccess", "referencedDeclaration": 5154, "src": "342:9:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "326:25:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 5179, "nodeType": "ExpressionStatement", "src": "326:25:26" }, { "expression": { "argumentTypes": null, "id": 5185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 5180, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5159, "src": "357:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 5182, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "buz", "nodeType": "MemberAccess", "referencedDeclaration": 5156, "src": "357:13:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 5183, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5163, "src": "373:5:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_memory_ptr", "typeString": "struct WithStructInConstructor.Data memory" } }, "id": 5184, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "buz", "nodeType": "MemberAccess", "referencedDeclaration": 5156, "src": "373:9:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "357:25:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 5186, "nodeType": "ExpressionStatement", "src": "357:25:26" }, { "expression": { "argumentTypes": null, "id": 5190, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 5187, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5161, "src": "388:6:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 5188, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "397:3:26", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 5189, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "397:10:26", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "388:19:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 5191, "nodeType": "ExpressionStatement", "src": "388:19:26" } ] }, "documentation": null, "id": 5193, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 5164, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 5163, "mutability": "mutable", "name": "_data", "nodeType": "VariableDeclaration", "overrides": null, "scope": 5193, "src": "263:17:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_memory_ptr", "typeString": "struct WithStructInConstructor.Data" }, "typeName": { "contractScope": null, "id": 5162, "name": "Data", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 5157, "src": "263:4:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_storage_ptr", "typeString": "struct WithStructInConstructor.Data" } }, "value": null, "visibility": "internal" } ], "src": "262:19:26" }, "returnParameters": { "id": 5165, "nodeType": "ParameterList", "parameters": [], "src": "289:0:26" }, "scope": 5221, "src": "251:161:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 5201, "nodeType": "Block", "src": "467:31:26", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 5198, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5159, "src": "480:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 5199, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "foo", "nodeType": "MemberAccess", "referencedDeclaration": 5152, "src": "480:13:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 5197, "id": 5200, "nodeType": "Return", "src": "473:20:26" } ] }, "documentation": null, "functionSelector": "c2985578", "id": 5202, "implemented": true, "kind": "function", "modifiers": [], "name": "foo", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 5194, "nodeType": "ParameterList", "parameters": [], "src": "428:2:26" }, "returnParameters": { "id": 5197, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 5196, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 5202, "src": "452:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 5195, "name": "string", "nodeType": "ElementaryTypeName", "src": "452:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "451:15:26" }, "scope": 5221, "src": "416:82:26", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { "id": 5210, "nodeType": "Block", "src": "553:31:26", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 5207, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5159, "src": "566:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 5208, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bar", "nodeType": "MemberAccess", "referencedDeclaration": 5154, "src": "566:13:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 5206, "id": 5209, "nodeType": "Return", "src": "559:20:26" } ] }, "documentation": null, "functionSelector": "febb0f7e", "id": 5211, "implemented": true, "kind": "function", "modifiers": [], "name": "bar", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 5203, "nodeType": "ParameterList", "parameters": [], "src": "514:2:26" }, "returnParameters": { "id": 5206, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 5205, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 5211, "src": "538:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 5204, "name": "string", "nodeType": "ElementaryTypeName", "src": "538:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "537:15:26" }, "scope": 5221, "src": "502:82:26", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { "id": 5219, "nodeType": "Block", "src": "633:31:26", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 5216, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5159, "src": "646:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$5157_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 5217, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "buz", "nodeType": "MemberAccess", "referencedDeclaration": 5156, "src": "646:13:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 5215, "id": 5218, "nodeType": "Return", "src": "639:20:26" } ] }, "documentation": null, "functionSelector": "bbe8f084", "id": 5220, "implemented": true, "kind": "function", "modifiers": [], "name": "buz", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 5212, "nodeType": "ParameterList", "parameters": [], "src": "600:2:26" }, "returnParameters": { "id": 5215, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 5214, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 5220, "src": "624:7:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 5213, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "624:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "623:9:26" }, "scope": 5221, "src": "588:76:26", "stateMutability": "view", "virtual": false, "visibility": "public" } ], "scope": 5222, "src": "92:574:26" } ], "src": "0:667:26" }, "bytecode": "0x6080604052348015620000125760006000fd5b506040516200099b3803806200099b8339818101604052810190620000389190620002bc565b5b8060000151600060005060000160005090805190602001906200005e929190620000e4565b5080602001516000600050600101600050908051906020019062000084929190620000e4565b508060400151600060005060020160005081909090555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50620003c5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200012757805160ff19168380011785556200015d565b828001600101855582156200015d579182015b828111156200015c57825182600050909055916020019190600101906200013a565b5b5090506200016c919062000170565b5090565b6200019c91906200017c565b808211156200019857600081815060009055506001016200017c565b5090565b9056620003c4565b600082601f8301121515620001b95760006000fd5b8151620001d0620001ca8262000334565b62000304565b91508082526020830160208301858383011115620001ee5760006000fd5b620001fb8382846200036e565b5050505b92915050565b600060608284031215620002195760006000fd5b62000225606062000304565b9050600082015167ffffffffffffffff811115620002435760006000fd5b6200025184828501620001a4565b600083015250602082015167ffffffffffffffff811115620002735760006000fd5b6200028184828501620001a4565b60208301525060406200029784828501620002a4565b6040830152505b92915050565b600081519050620002b581620003a6565b5b92915050565b600060208284031215620002d05760006000fd5b600082015167ffffffffffffffff811115620002ec5760006000fd5b620002fa8482850162000205565b9150505b92915050565b6000604051905081810181811067ffffffffffffffff82111715620003295760006000fd5b80604052505b919050565b600067ffffffffffffffff8211156200034d5760006000fd5b601f19601f83011690506020810190505b919050565b60008190505b919050565b60005b838110156200038f5780820151818401525b60208101905062000371565b838111156200039f576000848401525b505b505050565b620003b18162000363565b81141515620003c05760006000fd5b5b50565b5b6105c680620003d56000396000f3fe60806040523480156100115760006000fd5b506004361061005c5760003560e01c80634efe82681461006257806367e404ce14610082578063bbe8f084146100a0578063c2985578146100be578063febb0f7e146100dc5761005c565b60006000fd5b61006a6100fa565b60405161007993929190610489565b60405180910390f35b61008a61024e565b604051610097919061044a565b60405180910390f35b6100a8610274565b6040516100b591906104cf565b60405180910390f35b6100c661028c565b6040516100d39190610466565b60405180910390f35b6100e461033c565b6040516100f19190610466565b60405180910390f35b6000600050806000016000508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561019a5780601f1061016f5761010080835404028352916020019161019a565b820191906000526020600020905b81548152906001019060200180831161017d57829003601f168201915b505050505090806001016000508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561023b5780601f106102105761010080835404028352916020019161023b565b820191906000526020600020905b81548152906001019060200180831161021e57829003601f168201915b5050505050908060020160005054905083565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006000600050600201600050549050610289565b90565b606060006000506000016000508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561032d5780601f106103025761010080835404028352916020019161032d565b820191906000526020600020905b81548152906001019060200180831161031057829003601f168201915b50505050509050610339565b90565b606060006000506001016000508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b505050505090506103e9565b905661058f565b6103f981610509565b82525b5050565b600061040b826104eb565b61041581856104f7565b9350610425818560208601610548565b61042e8161057d565b84019150505b92915050565b6104438161053d565b82525b5050565b600060208201905061045f60008301846103f0565b5b92915050565b600060208201905081810360008301526104808184610400565b90505b92915050565b600060608201905081810360008301526104a38186610400565b905081810360208301526104b78185610400565b90506104c6604083018461043a565b5b949350505050565b60006020820190506104e4600083018461043a565b5b92915050565b6000815190505b919050565b60008282526020820190505b92915050565b60006105148261051c565b90505b919050565b600073ffffffffffffffffffffffffffffffffffffffff821690505b919050565b60008190505b919050565b60005b838110156105675780820151818401525b60208101905061054b565b83811115610576576000848401525b505b505050565b6000601f19601f83011690505b919050565bfea2646970667358221220520ac470a1ed0af6eb86592087078bc83e0ce40f30b68765d50296b264c60e6f64736f6c634300060a0033", "deployedBytecode": "0x60806040523480156100115760006000fd5b506004361061005c5760003560e01c80634efe82681461006257806367e404ce14610082578063bbe8f084146100a0578063c2985578146100be578063febb0f7e146100dc5761005c565b60006000fd5b61006a6100fa565b60405161007993929190610489565b60405180910390f35b61008a61024e565b604051610097919061044a565b60405180910390f35b6100a8610274565b6040516100b591906104cf565b60405180910390f35b6100c661028c565b6040516100d39190610466565b60405180910390f35b6100e461033c565b6040516100f19190610466565b60405180910390f35b6000600050806000016000508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561019a5780601f1061016f5761010080835404028352916020019161019a565b820191906000526020600020905b81548152906001019060200180831161017d57829003601f168201915b505050505090806001016000508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561023b5780601f106102105761010080835404028352916020019161023b565b820191906000526020600020905b81548152906001019060200180831161021e57829003601f168201915b5050505050908060020160005054905083565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006000600050600201600050549050610289565b90565b606060006000506000016000508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561032d5780601f106103025761010080835404028352916020019161032d565b820191906000526020600020905b81548152906001019060200180831161031057829003601f168201915b50505050509050610339565b90565b606060006000506001016000508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b505050505090506103e9565b905661058f565b6103f981610509565b82525b5050565b600061040b826104eb565b61041581856104f7565b9350610425818560208601610548565b61042e8161057d565b84019150505b92915050565b6104438161053d565b82525b5050565b600060208201905061045f60008301846103f0565b5b92915050565b600060208201905081810360008301526104808184610400565b90505b92915050565b600060608201905081810360008301526104a38186610400565b905081810360208301526104b78185610400565b90506104c6604083018461043a565b5b949350505050565b60006020820190506104e4600083018461043a565b5b92915050565b6000815190505b919050565b60008282526020820190505b92915050565b60006105148261051c565b90505b919050565b600073ffffffffffffffffffffffffffffffffffffffff821690505b919050565b60008190505b919050565b60005b838110156105675780820151818401525b60208101905061054b565b83811115610576576000848401525b505b505050565b6000601f19601f83011690505b919050565bfea2646970667358221220520ac470a1ed0af6eb86592087078bc83e0ce40f30b68765d50296b264c60e6f64736f6c634300060a0033", "compiler": { "name": "solc", "version": "0.6.10+commit.00c0fcaf.Emscripten.clang", "optimizer": {}, "evmVersion": "constantinople" } }