@ayanworks/polygon-did-registry-contract
Version:
Smart Contract to register DID on Polygon
1 lines • 840 kB
JSON
{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"id","type":"address"},{"indexed":false,"internalType":"string","name":"doc","type":"string"}],"name":"DIDCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"id","type":"address"},{"indexed":false,"internalType":"string","name":"doc","type":"string"}],"name":"DIDUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_id","type":"address"},{"indexed":false,"internalType":"string","name":"_resourceId","type":"string"},{"indexed":false,"internalType":"string","name":"_resourcePayload","type":"string"}],"name":"ResourceAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"TransferOwnership","type":"event"},{"inputs":[{"internalType":"address","name":"_id","type":"address"},{"internalType":"string","name":"_resourceId","type":"string"},{"internalType":"string","name":"_resourcePayload","type":"string"}],"name":"addResource","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_id","type":"address"},{"internalType":"string","name":"_doc","type":"string"}],"name":"createDID","outputs":[{"internalType":"address","name":"controller","type":"address"},{"internalType":"uint256","name":"created","type":"uint256"},{"internalType":"uint256","name":"updated","type":"uint256"},{"internalType":"string","name":"didDoc","type":"string"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_id","type":"address"}],"name":"getAllResources","outputs":[{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_id","type":"address"}],"name":"getDIDDoc","outputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_id","type":"address"},{"internalType":"string","name":"_resourceId","type":"string"}],"name":"getResource","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_id","type":"address"},{"internalType":"string","name":"_doc","type":"string"}],"name":"updateDIDDoc","outputs":[{"internalType":"address","name":"controller","type":"address"},{"internalType":"uint256","name":"created","type":"uint256"},{"internalType":"uint256","name":"updated","type":"uint256"},{"internalType":"string","name":"didDoc","type":"string"}],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"details":"Smart Contract for Polygon DID Method","kind":"dev","methods":{"addResource(address,string,string)":{"details":"To add linked resource in the DID doc","params":{"_id":"- Address that refers to the DID doc","_resourceId":"- Id that refers to the resource"}},"createDID(address,string)":{"details":"Register a new DID","params":{"_doc":"- A string object that holds the DID Doc","_id":"- Address that will refer the DID doc"}},"getAllResources(address)":{"details":"Reads all DID linked resource for a specific DID from Chain","params":{"_id":"- Address that refers to the DID doc"}},"getDIDDoc(address)":{"details":"Reads DID Doc from Chain","params":{"_id":"- Address that refers to the DID doc position"}},"getOwner()":{"details":"Reads contract owner from chain"},"getResource(address,string)":{"details":"Reads DID linked resource from Chain","params":{"_id":"- Address that refers to the DID doc","_resourceId":"- Id that refers to a specific resource"}},"initialize()":{"details":"initializes the ownership of contract*"},"transferOwnership(address)":{"details":"transfer the ownership of contract","params":{"_newOwner":"- Address of the new owner to whom the ownership needs to be passed*"}},"updateDIDDoc(address,string)":{"details":"To Update the DID doc","params":{"_doc":"- A String that holds the DID doc","_id":"- Address that refers to the DID doc"}}},"title":"PolygonDidRegistry","version":1},"evm":{"assembly":" /* \"PolygonDidRegistry.sol\":144:6019 contract PolygonDidRegistry {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"PolygonDidRegistry.sol\":144:6019 contract PolygonDidRegistry {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x893d20e8\n gt\n tag_12\n jumpi\n dup1\n 0x893d20e8\n eq\n tag_7\n jumpi\n dup1\n 0xb7797527\n eq\n tag_8\n jumpi\n dup1\n 0xc02d8e90\n eq\n tag_9\n jumpi\n dup1\n 0xd4b9d14a\n eq\n tag_10\n jumpi\n dup1\n 0xf2fde38b\n eq\n tag_11\n jumpi\n jump(tag_2)\n tag_12:\n dup1\n 0x0b50af3a\n eq\n tag_3\n jumpi\n dup1\n 0x34303fc7\n eq\n tag_4\n jumpi\n dup1\n 0x63d61166\n eq\n tag_5\n jumpi\n dup1\n 0x8129fc1c\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"PolygonDidRegistry.sol\":4590:5183 function addResource(... */\n tag_3:\n tag_13\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_14\n swap2\n swap1\n tag_15\n jump\t// in\n tag_14:\n tag_16\n jump\t// in\n tag_13:\n mload(0x40)\n tag_17\n swap4\n swap3\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"PolygonDidRegistry.sol\":5373:5546 function getResource(... */\n tag_4:\n tag_19\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_20\n swap2\n swap1\n tag_21\n jump\t// in\n tag_20:\n tag_22\n jump\t// in\n tag_19:\n mload(0x40)\n tag_23\n swap2\n swap1\n tag_24\n jump\t// in\n tag_23:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"PolygonDidRegistry.sol\":2425:3193 function createDID(... */\n tag_5:\n tag_25\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_26\n swap2\n swap1\n tag_21\n jump\t// in\n tag_26:\n tag_27\n jump\t// in\n tag_25:\n mload(0x40)\n tag_28\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_29\n jump\t// in\n tag_28:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"PolygonDidRegistry.sol\":1374:1521 function initialize() external nonReentrant {... */\n tag_6:\n tag_30\n tag_31\n jump\t// in\n tag_30:\n stop\n /* \"PolygonDidRegistry.sol\":2172:2258 function getOwner() public view returns (address _owner) {... */\n tag_7:\n tag_32\n tag_33\n jump\t// in\n tag_32:\n mload(0x40)\n tag_34\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"PolygonDidRegistry.sol\":3315:3670 function getDIDDoc(... */\n tag_8:\n tag_36\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_37\n swap2\n swap1\n tag_38\n jump\t// in\n tag_37:\n tag_39\n jump\t// in\n tag_36:\n mload(0x40)\n tag_40\n swap3\n swap2\n swap1\n tag_41\n jump\t// in\n tag_40:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"PolygonDidRegistry.sol\":5694:6017 function getAllResources(... */\n tag_9:\n tag_42\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_43\n swap2\n swap1\n tag_38\n jump\t// in\n tag_43:\n tag_44\n jump\t// in\n tag_42:\n mload(0x40)\n tag_45\n swap2\n swap1\n tag_46\n jump\t// in\n tag_45:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"PolygonDidRegistry.sol\":3832:4407 function updateDIDDoc(... */\n tag_10:\n tag_47\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_48\n swap2\n swap1\n tag_21\n jump\t// in\n tag_48:\n tag_49\n jump\t// in\n tag_47:\n mload(0x40)\n tag_50\n swap5\n swap4\n swap3\n swap2\n swap1\n tag_29\n jump\t// in\n tag_50:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"PolygonDidRegistry.sol\":1682:2106 function transferOwnership(... */\n tag_11:\n tag_51\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_52\n swap2\n swap1\n tag_38\n jump\t// in\n tag_52:\n tag_53\n jump\t// in\n tag_51:\n mload(0x40)\n tag_54\n swap2\n swap1\n tag_24\n jump\t// in\n tag_54:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"PolygonDidRegistry.sol\":4590:5183 function addResource(... */\n tag_16:\n /* \"PolygonDidRegistry.sol\":4775:4782 address */\n 0x00\n /* \"PolygonDidRegistry.sol\":4784:4797 string memory */\n 0x60\n /* \"PolygonDidRegistry.sol\":4799:4812 string memory */\n dup1\n /* \"PolygonDidRegistry.sol\":4753:4756 _id */\n dup6\n /* \"PolygonDidRegistry.sol\":921:931 msg.sender */\n caller\n /* \"PolygonDidRegistry.sol\":893:931 polyDIDs[_id].controller == msg.sender */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"PolygonDidRegistry.sol\":893:901 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":893:906 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":902:905 _id */\n dup4\n /* \"PolygonDidRegistry.sol\":893:906 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":893:917 polyDIDs[_id].controller */\n 0x00\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"PolygonDidRegistry.sol\":893:931 polyDIDs[_id].controller == msg.sender */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"PolygonDidRegistry.sol\":872:1008 require(... */\n tag_56\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_57\n swap1\n tag_58\n jump\t// in\n tag_57:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_56:\n /* \"PolygonDidRegistry.sol\":4851:4852 0 */\n 0x00\n /* \"PolygonDidRegistry.sol\":4836:4853 _id != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"PolygonDidRegistry.sol\":4836:4839 _id */\n dup8\n /* \"PolygonDidRegistry.sol\":4836:4853 _id != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"PolygonDidRegistry.sol\":4828:4882 require(_id != address(0), 'Invalid address provided') */\n tag_60\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_61\n swap1\n tag_62\n jump\t// in\n tag_61:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_60:\n /* \"PolygonDidRegistry.sol\":4944:4945 0 */\n 0x00\n /* \"PolygonDidRegistry.sol\":4902:4914 resourceData */\n 0x02\n /* \"PolygonDidRegistry.sol\":4902:4919 resourceData[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":4915:4918 _id */\n dup10\n /* \"PolygonDidRegistry.sol\":4902:4919 resourceData[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":4920:4931 _resourceId */\n dup8\n /* \"PolygonDidRegistry.sol\":4902:4932 resourceData[_id][_resourceId] */\n mload(0x40)\n tag_63\n swap2\n swap1\n tag_64\n jump\t// in\n tag_63:\n swap1\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n keccak256\n /* \"PolygonDidRegistry.sol\":4896:4940 bytes(resourceData[_id][_resourceId]).length */\n dup1\n sload\n tag_65\n swap1\n tag_66\n jump\t// in\n tag_65:\n swap1\n pop\n /* \"PolygonDidRegistry.sol\":4896:4945 bytes(resourceData[_id][_resourceId]).length == 0 */\n sub\n /* \"PolygonDidRegistry.sol\":4892:5001 if (bytes(resourceData[_id][_resourceId]).length == 0) {... */\n tag_67\n jumpi\n /* \"PolygonDidRegistry.sol\":4959:4967 keysById */\n 0x03\n /* \"PolygonDidRegistry.sol\":4959:4972 keysById[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":4968:4971 _id */\n dup9\n /* \"PolygonDidRegistry.sol\":4959:4972 keysById[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":4978:4989 _resourceId */\n dup7\n /* \"PolygonDidRegistry.sol\":4959:4990 keysById[_id].push(_resourceId) */\n swap1\n dup1\n 0x01\n dup2\n sload\n add\n dup1\n dup3\n sstore\n dup1\n swap2\n pop\n pop\n 0x01\n swap1\n sub\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n add\n 0x00\n swap1\n swap2\n swap1\n swap2\n swap1\n swap2\n pop\n swap1\n dup2\n tag_69\n swap2\n swap1\n tag_70\n jump\t// in\n tag_69:\n pop\n /* \"PolygonDidRegistry.sol\":4892:5001 if (bytes(resourceData[_id][_resourceId]).length == 0) {... */\n tag_67:\n /* \"PolygonDidRegistry.sol\":5043:5059 _resourcePayload */\n dup5\n /* \"PolygonDidRegistry.sol\":5010:5022 resourceData */\n 0x02\n /* \"PolygonDidRegistry.sol\":5010:5027 resourceData[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":5023:5026 _id */\n dup10\n /* \"PolygonDidRegistry.sol\":5010:5027 resourceData[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":5028:5039 _resourceId */\n dup8\n /* \"PolygonDidRegistry.sol\":5010:5040 resourceData[_id][_resourceId] */\n mload(0x40)\n tag_71\n swap2\n swap1\n tag_64\n jump\t// in\n tag_71:\n swap1\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n keccak256\n /* \"PolygonDidRegistry.sol\":5010:5059 resourceData[_id][_resourceId] = _resourcePayload */\n swap1\n dup2\n tag_72\n swap2\n swap1\n tag_70\n jump\t// in\n tag_72:\n pop\n /* \"PolygonDidRegistry.sol\":5074:5123 ResourceAdded(_id, _resourceId, _resourcePayload) */\n 0x3ca597429c9c2c28edc44f100c640f078525bd8c70c80e6123233864b6d604e0\n /* \"PolygonDidRegistry.sol\":5088:5091 _id */\n dup8\n /* \"PolygonDidRegistry.sol\":5093:5104 _resourceId */\n dup8\n /* \"PolygonDidRegistry.sol\":5106:5122 _resourcePayload */\n dup8\n /* \"PolygonDidRegistry.sol\":5074:5123 ResourceAdded(_id, _resourceId, _resourcePayload) */\n mload(0x40)\n tag_73\n swap4\n swap3\n swap2\n swap1\n tag_18\n jump\t// in\n tag_73:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"PolygonDidRegistry.sol\":5141:5144 _id */\n dup7\n /* \"PolygonDidRegistry.sol\":5146:5157 _resourceId */\n dup7\n /* \"PolygonDidRegistry.sol\":5159:5175 _resourcePayload */\n dup7\n /* \"PolygonDidRegistry.sol\":5133:5176 return (_id, _resourceId, _resourcePayload) */\n swap4\n pop\n swap4\n pop\n swap4\n pop\n /* \"PolygonDidRegistry.sol\":4590:5183 function addResource(... */\n pop\n swap4\n pop\n swap4\n pop\n swap4\n swap1\n pop\n jump\t// out\n /* \"PolygonDidRegistry.sol\":5373:5546 function getResource(... */\n tag_22:\n /* \"PolygonDidRegistry.sol\":5477:5490 string memory */\n 0x60\n /* \"PolygonDidRegistry.sol\":5509:5521 resourceData */\n 0x02\n /* \"PolygonDidRegistry.sol\":5509:5526 resourceData[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":5522:5525 _id */\n dup5\n /* \"PolygonDidRegistry.sol\":5509:5526 resourceData[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":5527:5538 _resourceId */\n dup3\n /* \"PolygonDidRegistry.sol\":5509:5539 resourceData[_id][_resourceId] */\n mload(0x40)\n tag_75\n swap2\n swap1\n tag_64\n jump\t// in\n tag_75:\n swap1\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n keccak256\n /* \"PolygonDidRegistry.sol\":5502:5539 return resourceData[_id][_resourceId] */\n dup1\n sload\n tag_76\n swap1\n tag_66\n jump\t// in\n tag_76:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_77\n swap1\n tag_66\n jump\t// in\n tag_77:\n dup1\n iszero\n tag_78\n jumpi\n dup1\n 0x1f\n lt\n tag_79\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_78)\n tag_79:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_80:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_80\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_78:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n /* \"PolygonDidRegistry.sol\":5373:5546 function getResource(... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"PolygonDidRegistry.sol\":2425:3193 function createDID(... */\n tag_27:\n /* \"PolygonDidRegistry.sol\":2546:2564 address controller */\n 0x00\n /* \"PolygonDidRegistry.sol\":2578:2593 uint256 created */\n dup1\n /* \"PolygonDidRegistry.sol\":2607:2622 uint256 updated */\n 0x00\n /* \"PolygonDidRegistry.sol\":2636:2656 string memory didDoc */\n 0x60\n /* \"PolygonDidRegistry.sol\":2704:2705 0 */\n 0x00\n /* \"PolygonDidRegistry.sol\":2689:2706 _id != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"PolygonDidRegistry.sol\":2689:2692 _id */\n dup7\n /* \"PolygonDidRegistry.sol\":2689:2706 _id != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"PolygonDidRegistry.sol\":2681:2735 require(_id != address(0), 'Invalid address provided') */\n tag_82\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_83\n swap1\n tag_62\n jump\t// in\n tag_83:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_82:\n /* \"PolygonDidRegistry.sol\":2781:2784 _id */\n dup6\n /* \"PolygonDidRegistry.sol\":2753:2784 polyDIDs[_id].controller != _id */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"PolygonDidRegistry.sol\":2753:2761 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":2753:2766 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":2762:2765 _id */\n dup9\n /* \"PolygonDidRegistry.sol\":2753:2766 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":2753:2777 polyDIDs[_id].controller */\n 0x00\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"PolygonDidRegistry.sol\":2753:2784 polyDIDs[_id].controller != _id */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"PolygonDidRegistry.sol\":2745:2806 require(polyDIDs[_id].controller != _id, 'DID already exist') */\n tag_84\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_85\n swap1\n tag_86\n jump\t// in\n tag_85:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_84:\n /* \"PolygonDidRegistry.sol\":2843:2846 _id */\n dup6\n /* \"PolygonDidRegistry.sol\":2816:2824 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":2816:2829 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":2825:2828 _id */\n dup9\n /* \"PolygonDidRegistry.sol\":2816:2829 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":2816:2840 polyDIDs[_id].controller */\n 0x00\n add\n 0x00\n /* \"PolygonDidRegistry.sol\":2816:2846 polyDIDs[_id].controller = _id */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"PolygonDidRegistry.sol\":2880:2895 block.timestamp */\n timestamp\n /* \"PolygonDidRegistry.sol\":2856:2864 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":2856:2869 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":2865:2868 _id */\n dup9\n /* \"PolygonDidRegistry.sol\":2856:2869 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":2856:2877 polyDIDs[_id].created */\n 0x01\n add\n /* \"PolygonDidRegistry.sol\":2856:2895 polyDIDs[_id].created = block.timestamp */\n dup2\n swap1\n sstore\n pop\n /* \"PolygonDidRegistry.sol\":2929:2944 block.timestamp */\n timestamp\n /* \"PolygonDidRegistry.sol\":2905:2913 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":2905:2918 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":2914:2917 _id */\n dup9\n /* \"PolygonDidRegistry.sol\":2905:2918 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":2905:2926 polyDIDs[_id].updated */\n 0x02\n add\n /* \"PolygonDidRegistry.sol\":2905:2944 polyDIDs[_id].updated = block.timestamp */\n dup2\n swap1\n sstore\n pop\n /* \"PolygonDidRegistry.sol\":2977:2981 _doc */\n dup5\n /* \"PolygonDidRegistry.sol\":2954:2962 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":2954:2967 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":2963:2966 _id */\n dup9\n /* \"PolygonDidRegistry.sol\":2954:2967 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":2954:2974 polyDIDs[_id].didDoc */\n 0x03\n add\n /* \"PolygonDidRegistry.sol\":2954:2981 polyDIDs[_id].didDoc = _doc */\n swap1\n dup2\n tag_87\n swap2\n swap1\n tag_70\n jump\t// in\n tag_87:\n pop\n /* \"PolygonDidRegistry.sol\":2996:3017 DIDCreated(_id, _doc) */\n 0x1b7934654ba536b6962955e057ce42885353bbaad8c605a5ce0678e632f28410\n /* \"PolygonDidRegistry.sol\":3007:3010 _id */\n dup7\n /* \"PolygonDidRegistry.sol\":3012:3016 _doc */\n dup7\n /* \"PolygonDidRegistry.sol\":2996:3017 DIDCreated(_id, _doc) */\n mload(0x40)\n tag_88\n swap3\n swap2\n swap1\n tag_89\n jump\t// in\n tag_88:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log1\n /* \"PolygonDidRegistry.sol\":3048:3056 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":3048:3061 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":3057:3060 _id */\n dup8\n /* \"PolygonDidRegistry.sol\":3048:3061 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":3048:3072 polyDIDs[_id].controller */\n 0x00\n add\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"PolygonDidRegistry.sol\":3086:3094 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":3086:3099 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":3095:3098 _id */\n dup9\n /* \"PolygonDidRegistry.sol\":3086:3099 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":3086:3107 polyDIDs[_id].created */\n 0x01\n add\n sload\n /* \"PolygonDidRegistry.sol\":3121:3129 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":3121:3134 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":3130:3133 _id */\n dup10\n /* \"PolygonDidRegistry.sol\":3121:3134 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":3121:3142 polyDIDs[_id].updated */\n 0x02\n add\n sload\n /* \"PolygonDidRegistry.sol\":3156:3164 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":3156:3169 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":3165:3168 _id */\n dup11\n /* \"PolygonDidRegistry.sol\":3156:3169 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":3156:3176 polyDIDs[_id].didDoc */\n 0x03\n add\n /* \"PolygonDidRegistry.sol\":3027:3186 return (... */\n dup1\n dup1\n sload\n tag_90\n swap1\n tag_66\n jump\t// in\n tag_90:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_91\n swap1\n tag_66\n jump\t// in\n tag_91:\n dup1\n iszero\n tag_92\n jumpi\n dup1\n 0x1f\n lt\n tag_93\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_92)\n tag_93:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_94:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_94\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_92:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n swap4\n pop\n swap4\n pop\n swap4\n pop\n swap4\n pop\n /* \"PolygonDidRegistry.sol\":2425:3193 function createDID(... */\n swap3\n swap6\n swap2\n swap5\n pop\n swap3\n pop\n jump\t// out\n /* \"PolygonDidRegistry.sol\":1374:1521 function initialize() external nonReentrant {... */\n tag_31:\n /* \"PolygonDidRegistry.sol\":1075:1086 initialized */\n 0x04\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xff\n and\n /* \"PolygonDidRegistry.sol\":1074:1086 !initialized */\n iszero\n /* \"PolygonDidRegistry.sol\":1066:1137 require(!initialized, 'Contract instance has already been initialized') */\n tag_96\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_97\n swap1\n tag_98\n jump\t// in\n tag_97:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_96:\n /* \"PolygonDidRegistry.sol\":1161:1165 true */\n 0x01\n /* \"PolygonDidRegistry.sol\":1147:1158 initialized */\n 0x04\n 0x00\n /* \"PolygonDidRegistry.sol\":1147:1165 initialized = true */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xff\n mul\n not\n and\n swap1\n dup4\n iszero\n iszero\n mul\n or\n swap1\n sstore\n pop\n /* \"PolygonDidRegistry.sol\":1458:1459 0 */\n 0x00\n /* \"PolygonDidRegistry.sol\":1436:1460 msg.sender != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"PolygonDidRegistry.sol\":1436:1446 msg.sender */\n caller\n /* \"PolygonDidRegistry.sol\":1436:1460 msg.sender != address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"PolygonDidRegistry.sol\":1428:1486 require(msg.sender != address(0), 'Invalid owner address') */\n tag_100\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_101\n swap1\n tag_102\n jump\t// in\n tag_101:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_100:\n /* \"PolygonDidRegistry.sol\":1504:1514 msg.sender */\n caller\n /* \"PolygonDidRegistry.sol\":1496:1501 owner */\n 0x00\n dup1\n /* \"PolygonDidRegistry.sol\":1496:1514 owner = msg.sender */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"PolygonDidRegistry.sol\":1374:1521 function initialize() external nonReentrant {... */\n jump\t// out\n /* \"PolygonDidRegistry.sol\":2172:2258 function getOwner() public view returns (address _owner) {... */\n tag_33:\n /* \"PolygonDidRegistry.sol\":2213:2227 address _owner */\n 0x00\n /* \"PolygonDidRegistry.sol\":2246:2251 owner */\n dup1\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"PolygonDidRegistry.sol\":2239:2251 return owner */\n swap1\n pop\n /* \"PolygonDidRegistry.sol\":2172:2258 function getOwner() public view returns (address _owner) {... */\n swap1\n jump\t// out\n /* \"PolygonDidRegistry.sol\":3315:3670 function getDIDDoc(... */\n tag_39:\n /* \"PolygonDidRegistry.sol\":3382:3395 string memory */\n 0x60\n /* \"PolygonDidRegistry.sol\":3397:3412 string[] memory */\n dup1\n /* \"PolygonDidRegistry.sol\":3424:3446 string[] memory result */\n 0x00\n /* \"PolygonDidRegistry.sol\":3462:3470 keysById */\n 0x03\n /* \"PolygonDidRegistry.sol\":3462:3475 keysById[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":3471:3474 _id */\n dup6\n /* \"PolygonDidRegistry.sol\":3462:3475 keysById[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":3462:3482 keysById[_id].length */\n dup1\n sload\n swap1\n pop\n /* \"PolygonDidRegistry.sol\":3449:3483 new string[](keysById[_id].length) */\n 0xffffffffffffffff\n dup2\n gt\n iszero\n tag_105\n jumpi\n tag_106\n tag_107\n jump\t// in\n tag_106:\n tag_105:\n mload(0x40)\n swap1\n dup1\n dup3\n mstore\n dup1\n 0x20\n mul\n 0x20\n add\n dup3\n add\n 0x40\n mstore\n dup1\n iszero\n tag_108\n jumpi\n dup2\n 0x20\n add\n tag_109:\n 0x60\n dup2\n mstore\n 0x20\n add\n swap1\n 0x01\n swap1\n sub\n swap1\n dup2\n tag_109\n jumpi\n swap1\n pop\n tag_108:\n pop\n /* \"PolygonDidRegistry.sol\":3424:3483 string[] memory result = new string[](keysById[_id].length) */\n swap1\n pop\n /* \"PolygonDidRegistry.sol\":3499:3508 uint256 i */\n 0x00\n /* \"PolygonDidRegistry.sol\":3494:3617 for (uint256 i = 0; i < keysById[_id].length; i++) {... */\n tag_110:\n /* \"PolygonDidRegistry.sol\":3518:3526 keysById */\n 0x03\n /* \"PolygonDidRegistry.sol\":3518:3531 keysById[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":3527:3530 _id */\n dup7\n /* \"PolygonDidRegistry.sol\":3518:3531 keysById[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":3518:3538 keysById[_id].length */\n dup1\n sload\n swap1\n pop\n /* \"PolygonDidRegistry.sol\":3514:3515 i */\n dup2\n /* \"PolygonDidRegistry.sol\":3514:3538 i < keysById[_id].length */\n lt\n /* \"PolygonDidRegistry.sol\":3494:3617 for (uint256 i = 0; i < keysById[_id].length; i++) {... */\n iszero\n tag_111\n jumpi\n /* \"PolygonDidRegistry.sol\":3571:3583 resourceData */\n 0x02\n /* \"PolygonDidRegistry.sol\":3571:3588 resourceData[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":3584:3587 _id */\n dup7\n /* \"PolygonDidRegistry.sol\":3571:3588 resourceData[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":3589:3597 keysById */\n 0x03\n /* \"PolygonDidRegistry.sol\":3589:3602 keysById[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":3598:3601 _id */\n dup8\n /* \"PolygonDidRegistry.sol\":3589:3602 keysById[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":3603:3604 i */\n dup3\n /* \"PolygonDidRegistry.sol\":3589:3605 keysById[_id][i] */\n dup2\n sload\n dup2\n lt\n tag_113\n jumpi\n tag_114\n tag_115\n jump\t// in\n tag_114:\n tag_113:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n add\n /* \"PolygonDidRegistry.sol\":3571:3606 resourceData[_id][keysById[_id][i]] */\n mload(0x40)\n tag_117\n swap2\n swap1\n tag_118\n jump\t// in\n tag_117:\n swap1\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n keccak256\n /* \"PolygonDidRegistry.sol\":3559:3606 result[i] = resourceData[_id][keysById[_id][i]] */\n dup1\n sload\n tag_119\n swap1\n tag_66\n jump\t// in\n tag_119:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_120\n swap1\n tag_66\n jump\t// in\n tag_120:\n dup1\n iszero\n tag_121\n jumpi\n dup1\n 0x1f\n lt\n tag_122\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_121)\n tag_122:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_123:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_123\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_121:\n pop\n pop\n pop\n pop\n pop\n /* \"PolygonDidRegistry.sol\":3559:3565 result */\n dup3\n /* \"PolygonDidRegistry.sol\":3566:3567 i */\n dup3\n /* \"PolygonDidRegistry.sol\":3559:3568 result[i] */\n dup2\n mload\n dup2\n lt\n tag_124\n jumpi\n tag_125\n tag_115\n jump\t// in\n tag_125:\n tag_124:\n 0x20\n mul\n 0x20\n add\n add\n /* \"PolygonDidRegistry.sol\":3559:3606 result[i] = resourceData[_id][keysById[_id][i]] */\n dup2\n swap1\n mstore\n pop\n /* \"PolygonDidRegistry.sol\":3540:3543 i++ */\n dup1\n dup1\n tag_126\n swap1\n tag_127\n jump\t// in\n tag_126:\n swap2\n pop\n pop\n /* \"PolygonDidRegistry.sol\":3494:3617 for (uint256 i = 0; i < keysById[_id].length; i++) {... */\n jump(tag_110)\n tag_111:\n pop\n /* \"PolygonDidRegistry.sol\":3634:3642 polyDIDs */\n 0x01\n /* \"PolygonDidRegistry.sol\":3634:3647 polyDIDs[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":3643:3646 _id */\n dup6\n /* \"PolygonDidRegistry.sol\":3634:3647 polyDIDs[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":3634:3654 polyDIDs[_id].didDoc */\n 0x03\n add\n /* \"PolygonDidRegistry.sol\":3656:3662 result */\n dup2\n /* \"PolygonDidRegistry.sol\":3626:3663 return (polyDIDs[_id].didDoc, result) */\n dup2\n dup1\n sload\n tag_128\n swap1\n tag_66\n jump\t// in\n tag_128:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_129\n swap1\n tag_66\n jump\t// in\n tag_129:\n dup1\n iszero\n tag_130\n jumpi\n dup1\n 0x1f\n lt\n tag_131\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_130)\n tag_131:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_132:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_132\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_130:\n pop\n pop\n pop\n pop\n pop\n swap2\n pop\n swap3\n pop\n swap3\n pop\n pop\n /* \"PolygonDidRegistry.sol\":3315:3670 function getDIDDoc(... */\n swap2\n pop\n swap2\n jump\t// out\n /* \"PolygonDidRegistry.sol\":5694:6017 function getAllResources(... */\n tag_44:\n /* \"PolygonDidRegistry.sol\":5767:5782 string[] memory */\n 0x60\n /* \"PolygonDidRegistry.sol\":5794:5816 string[] memory result */\n 0x00\n /* \"PolygonDidRegistry.sol\":5832:5840 keysById */\n 0x03\n /* \"PolygonDidRegistry.sol\":5832:5845 keysById[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":5841:5844 _id */\n dup5\n /* \"PolygonDidRegistry.sol\":5832:5845 keysById[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":5832:5852 keysById[_id].length */\n dup1\n sload\n swap1\n pop\n /* \"PolygonDidRegistry.sol\":5819:5853 new string[](keysById[_id].length) */\n 0xffffffffffffffff\n dup2\n gt\n iszero\n tag_134\n jumpi\n tag_135\n tag_107\n jump\t// in\n tag_135:\n tag_134:\n mload(0x40)\n swap1\n dup1\n dup3\n mstore\n dup1\n 0x20\n mul\n 0x20\n add\n dup3\n add\n 0x40\n mstore\n dup1\n iszero\n tag_136\n jumpi\n dup2\n 0x20\n add\n tag_137:\n 0x60\n dup2\n mstore\n 0x20\n add\n swap1\n 0x01\n swap1\n sub\n swap1\n dup2\n tag_137\n jumpi\n swap1\n pop\n tag_136:\n pop\n /* \"PolygonDidRegistry.sol\":5794:5853 string[] memory result = new string[](keysById[_id].length) */\n swap1\n pop\n /* \"PolygonDidRegistry.sol\":5869:5878 uint256 i */\n 0x00\n /* \"PolygonDidRegistry.sol\":5864:5987 for (uint256 i = 0; i < keysById[_id].length; i++) {... */\n tag_138:\n /* \"PolygonDidRegistry.sol\":5888:5896 keysById */\n 0x03\n /* \"PolygonDidRegistry.sol\":5888:5901 keysById[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":5897:5900 _id */\n dup6\n /* \"PolygonDidRegistry.sol\":5888:5901 keysById[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":5888:5908 keysById[_id].length */\n dup1\n sload\n swap1\n pop\n /* \"PolygonDidRegistry.sol\":5884:5885 i */\n dup2\n /* \"PolygonDidRegistry.sol\":5884:5908 i < keysById[_id].length */\n lt\n /* \"PolygonDidRegistry.sol\":5864:5987 for (uint256 i = 0; i < keysById[_id].length; i++) {... */\n iszero\n tag_139\n jumpi\n /* \"PolygonDidRegistry.sol\":5941:5953 resourceData */\n 0x02\n /* \"PolygonDidRegistry.sol\":5941:5958 resourceData[_id] */\n 0x00\n /* \"PolygonDidRegistry.sol\":5954:5957 _id */\n dup6\n /* \"PolygonDidRegistry.sol\":5941:5958 resourceData[_id] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"PolygonDidRegistry.sol\":5959:5967 keysById */\n 0x03\n /* \"PolygonDidRegistry.sol\":5959:5972 keysById[_id] */\n 0x00\n