diff --git a/contracts/RewardsManager.sol b/contracts/RewardsManager.sol
index 350aecf..f4945f3 100644
--- a/contracts/RewardsManager.sol
+++ b/contracts/RewardsManager.sol
@@ -177,12 +177,17 @@ contract RewardsManager {
return result;
}
+ struct OrderDetails {
+ uint256 id;
+ uint256 pendingQuantity;
+ }
+
struct PendingOrderDto {
address user;
- uint256[] rewardsArray;
- uint256[] pendingArray;
+ OrderDetails[] orders;
}
+
function getAllPendingOrders()
public
view
@@ -199,22 +204,21 @@ contract RewardsManager {
if (paymentsManager.isCurrentEmployee(user)) {
- uint256[] memory rewardsArray = new uint256[](rewardCount);
- uint256[] memory pendingArray = new uint256[](rewardCount);
+ OrderDetails[] memory userOrders = new OrderDetails[](rewardCount);
for (uint256 i = 0; i < rewardCount; i++) {
- rewardsArray[i] = rewards[i].id;
+ OrderDetails memory order;
+ order.id = rewards[i].id;
+
if (orders[user][i] > 0) {
- pendingArray[i] = orders[user][i] - collected[user][i];
- } else {
- pendingArray[i] = 0;
+ order.pendingQuantity = orders[user][i] - collected[user][i];
}
+ userOrders[i] = order;
}
PendingOrderDto memory dto = PendingOrderDto(
user,
- rewardsArray,
- pendingArray
+ userOrders
);
dtos[dtoCounter] = dto;
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 840ea4d..180c13e 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -10,14 +10,19 @@
"dependencies": {
"@chakra-ui/icons": "^2.0.16",
"@chakra-ui/react": "^2.4.6",
+ "@radix-ui/react-scroll-area": "^1.0.2",
"@tanstack/react-query": "^4.20.9",
+ "@tanstack/react-table": "^8.7.6",
"@types/jest": "^29.2.5",
"@types/node": "^18.11.18",
"@types/react": "^18.0.26",
"@types/react-dom": "^18.0.10",
"@typescript-eslint/eslint-plugin": "^5.48.0",
"@vitejs/plugin-react": "^3.0.1",
+ "buffer": "^6.0.3",
"ethers": "^5.4.7",
+ "ipfs-http-client": "^60.0.0",
+ "jazzicon-ts": "^2.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.6.1",
@@ -2048,6 +2053,11 @@
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
"dev": true
},
+ "node_modules/@chainsafe/is-ip": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@chainsafe/is-ip/-/is-ip-2.0.1.tgz",
+ "integrity": "sha512-nqSJ8u2a1Rv9FYbyI8qpDhTYujaKEyLknNrTejLYoSWmdeg+2WB7R6BZqPZYfrJzDxVi3rl6ZQuoaEvpKRZWgQ=="
+ },
"node_modules/@chakra-ui/accordion": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.1.5.tgz",
@@ -4424,6 +4434,44 @@
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"dev": true
},
+ "node_modules/@ipld/dag-cbor": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-9.0.0.tgz",
+ "integrity": "sha512-zdsiSiYDEOIDW7mmWOYWC9gukjXO+F8wqxz/LfN7iSwTfIyipC8+UQrCbPupFMRb/33XQTZk8yl3My8vUQBRoA==",
+ "dependencies": {
+ "cborg": "^1.10.0",
+ "multiformats": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@ipld/dag-json": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-10.0.1.tgz",
+ "integrity": "sha512-XE1Eqw3eNVrSfOhtqCM/gwCxEgYFBzkDlkwhEeMmMvhd0rLBfSyVzXbahZSlv97tiTPEIx5rt41gcFAda3W8zg==",
+ "dependencies": {
+ "cborg": "^1.10.0",
+ "multiformats": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@ipld/dag-pb": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-4.0.0.tgz",
+ "integrity": "sha512-8FB/qTlNowCiszL9Sek8xH6xIQxIioXuzZ5B1jVPknQMVkd08nZUHzDjrn1Y6MqJ5PrXWLrBwNghGMWPPpvNVw==",
+ "dependencies": {
+ "multiformats": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
"node_modules/@istanbuljs/load-nyc-config": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
@@ -5230,6 +5278,115 @@
"integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==",
"dev": true
},
+ "node_modules/@libp2p/interface-connection": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-3.0.8.tgz",
+ "integrity": "sha512-JiI9xVPkiSgW9hkvHWA4e599OLPNSACrpgtx6UffHG9N+Jpt0IOmM4iLic8bSIYkZJBOQFG1Sv/gVNB98Uq0Nw==",
+ "dependencies": {
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "@libp2p/interfaces": "^3.0.0",
+ "@multiformats/multiaddr": "^11.0.0",
+ "it-stream-types": "^1.0.4",
+ "uint8arraylist": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@libp2p/interface-keychain": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@libp2p/interface-keychain/-/interface-keychain-2.0.4.tgz",
+ "integrity": "sha512-RCH0PL9um/ejsPiWIOzxFzjPzL2nT2tRUtCDo1aBQqoBi7eYp4I4ya1KbzgWDPTmNuuFtCReRMQsZ7/KVirKPA==",
+ "dependencies": {
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "multiformats": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@libp2p/interface-peer-id": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz",
+ "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==",
+ "dependencies": {
+ "multiformats": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@libp2p/interface-peer-info": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-info/-/interface-peer-info-1.0.8.tgz",
+ "integrity": "sha512-LRvZt/9bZFYW7seAwuSg2hZuPl+FRTAsij5HtyvVwmpfVxipm6yQrKjQ+LiK/SZhIDVsSJ+UjF0mluJj+jeAzQ==",
+ "dependencies": {
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "@multiformats/multiaddr": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@libp2p/interface-pubsub": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-3.0.6.tgz",
+ "integrity": "sha512-c1aVHAhxmEh9IpLBgJyCsMscVDl7YUeP1Iq6ILEQoWiPJhNpQqdfmqyk7ZfrzuBU19VFe1EqH0bLuLDbtfysTQ==",
+ "dependencies": {
+ "@libp2p/interface-connection": "^3.0.0",
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "@libp2p/interfaces": "^3.0.0",
+ "it-pushable": "^3.0.0",
+ "uint8arraylist": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@libp2p/interfaces": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@libp2p/interfaces/-/interfaces-3.3.1.tgz",
+ "integrity": "sha512-3N+goQt74SmaVOjwpwMPKLNgh1uDQGw8GD12c40Kc86WOq0qvpm3NfACW+H8Su2X6KmWjCSMzk9JWs9+8FtUfg==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@libp2p/logger": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-2.0.5.tgz",
+ "integrity": "sha512-WEhxsc7+gsfuTcljI4vSgW/H2f18aBaC+JiO01FcX841Wxe9szjzHdBLDh9eqygUlzoK0LEeIBfctN7ibzus5A==",
+ "dependencies": {
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "debug": "^4.3.3",
+ "interface-datastore": "^7.0.0",
+ "multiformats": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@libp2p/peer-id": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-2.0.1.tgz",
+ "integrity": "sha512-uGIR4rS+j+IzzIu0kih4MonZEfRmjGNfXaSPMIFOeMxZItZT6TIpxoVNYxHl4YtneSFKzlLnf9yx9EhRcyfy8Q==",
+ "dependencies": {
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "@libp2p/interfaces": "^3.2.0",
+ "multiformats": "^11.0.0",
+ "uint8arrays": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
"node_modules/@motionone/animation": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz",
@@ -5294,6 +5451,35 @@
"tslib": "^2.3.1"
}
},
+ "node_modules/@multiformats/multiaddr": {
+ "version": "11.4.0",
+ "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.4.0.tgz",
+ "integrity": "sha512-rLIhSOCKQhm/fCjg+5tVM9xrtjbZjZKJg6bb65YbFsNoPSYhweEohXO8Pkg2xbRy3NqVEVkS+8DB/+VhNvjd5Q==",
+ "dependencies": {
+ "@chainsafe/is-ip": "^2.0.1",
+ "dns-over-http-resolver": "^2.1.0",
+ "err-code": "^3.0.1",
+ "multiformats": "^11.0.0",
+ "uint8arrays": "^4.0.2",
+ "varint": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/@multiformats/multiaddr-to-uri": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/@multiformats/multiaddr-to-uri/-/multiaddr-to-uri-9.0.2.tgz",
+ "integrity": "sha512-vrWmfFadmix5Ab9l//oRQdQ7O3J5bGJpJRMSm21bHlQB0XV4xtNU6vMZBVXeu3Su79LgflEp37cjTFE3yKf3Hw==",
+ "dependencies": {
+ "@multiformats/multiaddr": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -5567,6 +5753,191 @@
"url": "https://opencollective.com/popperjs"
}
},
+ "node_modules/@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
+ },
+ "node_modules/@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
+ },
+ "node_modules/@protobufjs/codegen": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
+ },
+ "node_modules/@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
+ },
+ "node_modules/@protobufjs/fetch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
+ }
+ },
+ "node_modules/@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
+ },
+ "node_modules/@protobufjs/inquire": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
+ },
+ "node_modules/@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
+ },
+ "node_modules/@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
+ },
+ "node_modules/@protobufjs/utf8": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
+ },
+ "node_modules/@radix-ui/number": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz",
+ "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "node_modules/@radix-ui/primitive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz",
+ "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "node_modules/@radix-ui/react-compose-refs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz",
+ "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-context": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz",
+ "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-direction": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz",
+ "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-presence": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz",
+ "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-primitive": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.1.tgz",
+ "integrity": "sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-scroll-area": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.2.tgz",
+ "integrity": "sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/number": "1.0.0",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.1",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-slot": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz",
+ "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-callback-ref": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz",
+ "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-layout-effect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz",
+ "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
"node_modules/@remix-run/router": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.2.1.tgz",
@@ -5950,6 +6321,37 @@
}
}
},
+ "node_modules/@tanstack/react-table": {
+ "version": "8.7.6",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.7.6.tgz",
+ "integrity": "sha512-/QijmMFeP7wDLBnr0MQ/5MlbXePbIL/1nOtkxBC9zvmBu4gDKJEDBqipUyM7Wc/iBpSd0IFyqBlvZvTPD9FYDA==",
+ "dependencies": {
+ "@tanstack/table-core": "8.7.6"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "react": ">=16",
+ "react-dom": ">=16"
+ }
+ },
+ "node_modules/@tanstack/table-core": {
+ "version": "8.7.6",
+ "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.7.6.tgz",
+ "integrity": "sha512-sqiNTMzB6cpyL8DFH6/VqW48SwiflLqxQqYpo2wNock7rdVGvlm0BLNI8vZUJbr1+fmmWmHwBvi5OMgZw8n1DA==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
"node_modules/@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
@@ -6429,6 +6831,11 @@
"integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
"dev": true
},
+ "node_modules/@types/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
+ },
"node_modules/@types/node": {
"version": "18.11.18",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
@@ -7596,6 +8003,11 @@
"integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
"dev": true
},
+ "node_modules/any-signal": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz",
+ "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg=="
+ },
"node_modules/anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
@@ -8214,8 +8626,26 @@
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
},
"node_modules/batch": {
"version": "0.6.1",
@@ -8267,6 +8697,18 @@
"node": ">=8"
}
},
+ "node_modules/blob-to-it": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-2.0.0.tgz",
+ "integrity": "sha512-O9P902MzxHg8fjIAzmK4HSo9WmcMn1ACJvSHJvIYWDr4na7GLyR5iQTf0i2EXlnM5EIWmWtk+vh38tTph9JiPA==",
+ "dependencies": {
+ "browser-readablestream-to-it": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
"node_modules/bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
@@ -8360,7 +8802,6 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -8388,6 +8829,15 @@
"integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
"dev": true
},
+ "node_modules/browser-readablestream-to-it": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-2.0.0.tgz",
+ "integrity": "sha512-x7L6NN0FF0LchYKA7D5x2/oJ+n6Y8A0gFaazIxH2AkHr+fjFJvsDUYLLQKAfIkpKiLjQEkbjF0DBw7HRT1ylNA==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
"node_modules/browserslist": {
"version": "4.21.4",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
@@ -8424,6 +8874,29 @@
"node-int64": "^0.4.0"
}
},
+ "node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -8442,6 +8915,17 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/busboy": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
+ "dependencies": {
+ "streamsearch": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=10.16.0"
+ }
+ },
"node_modules/bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -8538,6 +9022,14 @@
"node": ">=4"
}
},
+ "node_modules/cborg": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.0.tgz",
+ "integrity": "sha512-/eM0JCaL99HDHxjySNQJLaolZFVdl6VA0/hEKIoiQPcQzE5LrG5QHdml0HaBt31brgB9dNe1zMr3f8IVrpotRQ==",
+ "bin": {
+ "cborg": "cli.js"
+ }
+ },
"node_modules/chai": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
@@ -8848,8 +9340,7 @@
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
"node_modules/confusing-browser-globals": {
"version": "1.0.11",
@@ -9447,6 +9938,15 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
"integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
},
+ "node_modules/dag-jose": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/dag-jose/-/dag-jose-4.0.0.tgz",
+ "integrity": "sha512-tw595L3UYoOUT9dSJPbBEG/qpRpw24kRZxa5SLRnlnr+g5L7O8oEs1d3W5TiVA1oJZbthVsf0Vi3zFN66qcEBA==",
+ "dependencies": {
+ "@ipld/dag-cbor": "^9.0.0",
+ "multiformats": "^11.0.0"
+ }
+ },
"node_modules/damerau-levenshtein": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
@@ -9741,6 +10241,21 @@
"integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==",
"dev": true
},
+ "node_modules/dns-over-http-resolver": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-2.1.1.tgz",
+ "integrity": "sha512-Lm/eXB7yAQLJ5WxlBGwYfBY7utduXPZykcSmcG6K7ozM0wrZFvxZavhT6PqI0kd/5CUTfev/RrEFQqyU4CGPew==",
+ "dependencies": {
+ "debug": "^4.3.1",
+ "native-fetch": "^4.0.2",
+ "receptacle": "^1.3.2",
+ "undici": "^5.12.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
"node_modules/dns-packet": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz",
@@ -9902,6 +10417,17 @@
"node": ">=0.10.0"
}
},
+ "node_modules/electron-fetch": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz",
+ "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==",
+ "dependencies": {
+ "encoding": "^0.1.13"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/electron-to-chromium": {
"version": "1.4.284",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
@@ -9962,6 +10488,14 @@
"node": ">= 0.8"
}
},
+ "node_modules/encoding": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "dependencies": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
"node_modules/enhanced-resolve": {
"version": "5.12.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
@@ -9984,6 +10518,11 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
+ "node_modules/err-code": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz",
+ "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA=="
+ },
"node_modules/error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -11598,6 +12137,11 @@
"integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
"dev": true
},
+ "node_modules/fast-fifo": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz",
+ "integrity": "sha512-Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g=="
+ },
"node_modules/fast-glob": {
"version": "3.2.11",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
@@ -12247,6 +12791,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/get-iterator": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz",
+ "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg=="
+ },
"node_modules/get-nonce": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
@@ -12860,7 +13409,6 @@
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "dev": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
@@ -12898,6 +13446,25 @@
"node": ">=4"
}
},
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
"node_modules/ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@@ -12989,6 +13556,40 @@
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
+ "node_modules/interface-datastore": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.4.tgz",
+ "integrity": "sha512-Q8LZS/jfFFHz6XyZazLTAc078SSCoa27ZPBOfobWdpDiFO7FqPA2yskitUJIhaCgxNK8C+/lMBUTBNfVIDvLiw==",
+ "dependencies": {
+ "interface-store": "^3.0.0",
+ "nanoid": "^4.0.0",
+ "uint8arrays": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/interface-datastore/node_modules/nanoid": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.1.tgz",
+ "integrity": "sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==",
+ "bin": {
+ "nanoid": "bin/nanoid.js"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ }
+ },
+ "node_modules/interface-store": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.4.tgz",
+ "integrity": "sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
"node_modules/internal-slot": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz",
@@ -13020,6 +13621,157 @@
"node": ">= 10"
}
},
+ "node_modules/ipfs-core-types": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.14.0.tgz",
+ "integrity": "sha512-qO1xVO3n5m7scTXXtMz8hDTLdwXInnwqadIDQpXC446BIlaYyRWUvLcFQ2bOjQql9/CPNTaPHzjzr5Y1XxqpJw==",
+ "dependencies": {
+ "@ipld/dag-pb": "^4.0.0",
+ "@libp2p/interface-keychain": "^2.0.0",
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "@libp2p/interface-peer-info": "^1.0.2",
+ "@libp2p/interface-pubsub": "^3.0.0",
+ "@multiformats/multiaddr": "^11.0.0",
+ "@types/node": "^18.0.0",
+ "interface-datastore": "^7.0.0",
+ "ipfs-unixfs": "^9.0.0",
+ "multiformats": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/ipfs-core-utils": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.18.0.tgz",
+ "integrity": "sha512-7N/KfsOPGJu9mwN8EQwrW9HXgS5RNM3WUyjIMWk49KlpYmsXectXuC9i6npI1vn1W/oUaIOZt3lHx37jecnepw==",
+ "dependencies": {
+ "@libp2p/logger": "^2.0.0",
+ "@multiformats/multiaddr": "^11.0.0",
+ "@multiformats/multiaddr-to-uri": "^9.0.1",
+ "any-signal": "^3.0.0",
+ "blob-to-it": "^2.0.0",
+ "browser-readablestream-to-it": "^2.0.0",
+ "err-code": "^3.0.1",
+ "ipfs-core-types": "^0.14.0",
+ "ipfs-unixfs": "^9.0.0",
+ "ipfs-utils": "^9.0.13",
+ "it-all": "^2.0.0",
+ "it-map": "^2.0.0",
+ "it-peekable": "^2.0.0",
+ "it-to-stream": "^1.0.0",
+ "merge-options": "^3.0.4",
+ "multiformats": "^11.0.0",
+ "nanoid": "^4.0.0",
+ "parse-duration": "^1.0.0",
+ "timeout-abort-controller": "^3.0.0",
+ "uint8arrays": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/ipfs-core-utils/node_modules/nanoid": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.1.tgz",
+ "integrity": "sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==",
+ "bin": {
+ "nanoid": "bin/nanoid.js"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ }
+ },
+ "node_modules/ipfs-http-client": {
+ "version": "60.0.0",
+ "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-60.0.0.tgz",
+ "integrity": "sha512-d6Rqc1UP5nWhp7j0PumK80CA5LvbTvskro+qGw7hgWvbfQ0rX/5ddig7ELvVYJbJM4YBxCJSaSHDEOGoSpzzKg==",
+ "dependencies": {
+ "@ipld/dag-cbor": "^9.0.0",
+ "@ipld/dag-json": "^10.0.0",
+ "@ipld/dag-pb": "^4.0.0",
+ "@libp2p/logger": "^2.0.0",
+ "@libp2p/peer-id": "^2.0.0",
+ "@multiformats/multiaddr": "^11.0.0",
+ "any-signal": "^3.0.0",
+ "dag-jose": "^4.0.0",
+ "err-code": "^3.0.1",
+ "ipfs-core-types": "^0.14.0",
+ "ipfs-core-utils": "^0.18.0",
+ "ipfs-utils": "^9.0.13",
+ "it-first": "^2.0.0",
+ "it-last": "^2.0.0",
+ "merge-options": "^3.0.4",
+ "multiformats": "^11.0.0",
+ "parse-duration": "^1.0.0",
+ "stream-to-it": "^0.2.2",
+ "uint8arrays": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/ipfs-unixfs": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-9.0.1.tgz",
+ "integrity": "sha512-jh2CbXyxID+v3jLml9CqMwjdSS9ZRnsGfQGGPOfem0/hT/L48xUeTPvh7qLFWkZcIMhZtG+fnS1teei8x5uGBg==",
+ "dependencies": {
+ "err-code": "^3.0.1",
+ "protobufjs": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/ipfs-utils": {
+ "version": "9.0.14",
+ "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz",
+ "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==",
+ "dependencies": {
+ "any-signal": "^3.0.0",
+ "browser-readablestream-to-it": "^1.0.0",
+ "buffer": "^6.0.1",
+ "electron-fetch": "^1.7.2",
+ "err-code": "^3.0.1",
+ "is-electron": "^2.2.0",
+ "iso-url": "^1.1.5",
+ "it-all": "^1.0.4",
+ "it-glob": "^1.0.1",
+ "it-to-stream": "^1.0.0",
+ "merge-options": "^3.0.4",
+ "nanoid": "^3.1.20",
+ "native-fetch": "^3.0.0",
+ "node-fetch": "^2.6.8",
+ "react-native-fetch-api": "^3.0.0",
+ "stream-to-it": "^0.2.2"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/ipfs-utils/node_modules/browser-readablestream-to-it": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz",
+ "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw=="
+ },
+ "node_modules/ipfs-utils/node_modules/it-all": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz",
+ "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A=="
+ },
+ "node_modules/ipfs-utils/node_modules/native-fetch": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz",
+ "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==",
+ "peerDependencies": {
+ "node-fetch": "*"
+ }
+ },
"node_modules/is-arguments": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@@ -13148,6 +13900,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-electron": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz",
+ "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw=="
+ },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -13462,6 +14219,14 @@
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"dev": true
},
+ "node_modules/iso-url": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz",
+ "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/istanbul-lib-coverage": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
@@ -13567,6 +14332,91 @@
"node": ">=8"
}
},
+ "node_modules/it-all": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.0.tgz",
+ "integrity": "sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/it-first": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/it-first/-/it-first-2.0.0.tgz",
+ "integrity": "sha512-fzZGzVf01exFyIZXNjkpSMFr1eW2+J1K0v018tYY26Dd4f/O3pWlBTdrOBfSQRZwtI8Pst6c7eKhYczWvFs6tA==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/it-glob": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz",
+ "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==",
+ "dependencies": {
+ "@types/minimatch": "^3.0.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "node_modules/it-last": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/it-last/-/it-last-2.0.0.tgz",
+ "integrity": "sha512-u0GHZ01tWYtPvDkOaqZSLLWjFv3IJw9cPL9mbEV7wnE8DOsbVoXIuKpnz3U6pySl5RzPVjTzSHOc961ZYttBxg==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/it-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/it-map/-/it-map-2.0.0.tgz",
+ "integrity": "sha512-mLgtk/NZaN7NZ06iLrMXCA6jjhtZO0vZT5Ocsp31H+nsGI18RSPVmUbFyA1sWx7q+g92J22Sixya7T2QSSAwfA==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/it-peekable": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-2.0.0.tgz",
+ "integrity": "sha512-+eacms2jr2wQqIRxU25eqWPHaEeR4IurrS9hTScmCJpWagRkC8WHw7atciEA6KArOiyxHCAXg5Q5We7/RhvqAQ==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/it-pushable": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.2.tgz",
+ "integrity": "sha512-zU9FbeoGT0f+yobwm8agol2OTMXbq4ZSWLEi7hug6TEZx4qVhGhGyp31cayH04aBYsIoO2Nr5kgMjH/oWj2BJQ==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/it-stream-types": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/it-stream-types/-/it-stream-types-1.0.5.tgz",
+ "integrity": "sha512-I88Ka1nHgfX62e5mi5LLL+oueqz7Ltg0bUdtsUKDe9SoUqbQPf2Mp5kxDTe9pNhHQGs4pvYPAINwuZ1HAt42TA==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/it-to-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz",
+ "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==",
+ "dependencies": {
+ "buffer": "^6.0.3",
+ "fast-fifo": "^1.0.0",
+ "get-iterator": "^1.0.2",
+ "p-defer": "^3.0.0",
+ "p-fifo": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ }
+ },
"node_modules/jake": {
"version": "10.8.5",
"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
@@ -13655,6 +14505,14 @@
"node": ">=8"
}
},
+ "node_modules/jazzicon-ts": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/jazzicon-ts/-/jazzicon-ts-2.0.0.tgz",
+ "integrity": "sha512-Yf+FyyrZDIiTaDfs/N+oBL4AKrhzWFjnqopHPJLWM2McIVRzc1D3EN11dwrftCoD1kLdhrAViCoThl9u7eqM+w==",
+ "engines": {
+ "node": ">=16"
+ }
+ },
"node_modules/jest": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
@@ -16008,6 +16866,11 @@
"integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
"dev": true
},
+ "node_modules/long": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz",
+ "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A=="
+ },
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -16124,6 +16987,25 @@
"integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
"dev": true
},
+ "node_modules/merge-options": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz",
+ "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==",
+ "dependencies": {
+ "is-plain-obj": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/merge-options/node_modules/is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -16288,7 +17170,6 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -16332,6 +17213,15 @@
"multicast-dns": "cli.js"
}
},
+ "node_modules/multiformats": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz",
+ "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
"node_modules/mz": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
@@ -16354,6 +17244,14 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
+ "node_modules/native-fetch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-4.0.2.tgz",
+ "integrity": "sha512-4QcVlKFtv2EYVS5MBgsGX5+NWKtbDbIECdUXDBGDMAZXq3Jkv9zf+y8iS7Ub8fEdga3GpYeazp9gauNqXHJOCg==",
+ "peerDependencies": {
+ "undici": "*"
+ }
+ },
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -16392,10 +17290,9 @@
}
},
"node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dev": true,
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
+ "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -16414,20 +17311,17 @@
"node_modules/node-fetch/node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"node_modules/node-fetch/node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"node_modules/node-fetch/node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -16746,6 +17640,23 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/p-defer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
+ "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-fifo": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz",
+ "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==",
+ "dependencies": {
+ "fast-fifo": "^1.0.0",
+ "p-defer": "^3.0.0"
+ }
+ },
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -16819,6 +17730,11 @@
"node": ">=6"
}
},
+ "node_modules/parse-duration": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz",
+ "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg=="
+ },
"node_modules/parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -18430,6 +19346,29 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
+ "node_modules/protobufjs": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.2.tgz",
+ "integrity": "sha512-++PrQIjrom+bFDPpfmqXfAGSQs40116JRrqqyf53dymUMvvb5d/LMRyicRoF1AUKoXVS1/IgJXlEgcpr4gTF3Q==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/node": ">=13.7.0",
+ "long": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -18803,6 +19742,14 @@
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
"dev": true
},
+ "node_modules/react-native-fetch-api": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz",
+ "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==",
+ "dependencies": {
+ "p-defer": "^3.0.0"
+ }
+ },
"node_modules/react-refresh": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
@@ -19032,7 +19979,6 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -19054,6 +20000,14 @@
"node": ">=8.10.0"
}
},
+ "node_modules/receptacle": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz",
+ "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
"node_modules/recrawl-sync": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/recrawl-sync/-/recrawl-sync-2.2.3.tgz",
@@ -19360,6 +20314,11 @@
"node": ">=10"
}
},
+ "node_modules/retimer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz",
+ "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA=="
+ },
"node_modules/retry": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
@@ -19579,8 +20538,7 @@
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/sanitize.css": {
"version": "13.0.0",
@@ -20078,11 +21036,26 @@
"node": ">= 0.8"
}
},
+ "node_modules/stream-to-it": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz",
+ "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==",
+ "dependencies": {
+ "get-iterator": "^1.0.2"
+ }
+ },
+ "node_modules/streamsearch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
"dependencies": {
"safe-buffer": "~5.2.0"
}
@@ -20091,7 +21064,6 @@
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -20737,6 +21709,14 @@
"integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
"dev": true
},
+ "node_modules/timeout-abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz",
+ "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==",
+ "dependencies": {
+ "retimer": "^3.0.0"
+ }
+ },
"node_modules/tiny-glob": {
"version": "0.2.9",
"resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
@@ -20997,6 +21977,30 @@
"node": ">=4.2.0"
}
},
+ "node_modules/uint8arraylist": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/uint8arraylist/-/uint8arraylist-2.4.3.tgz",
+ "integrity": "sha512-oEVZr4/GrH87K0kjNce6z8pSCzLEPqHNLNR5sj8cJOySrTP8Vb/pMIbZKLJGhQKxm1TiZ31atNrpn820Pyqpow==",
+ "dependencies": {
+ "uint8arrays": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
+ "node_modules/uint8arrays": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz",
+ "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==",
+ "dependencies": {
+ "multiformats": "^11.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=7.0.0"
+ }
+ },
"node_modules/unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
@@ -21012,6 +22016,17 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/undici": {
+ "version": "5.19.0",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-5.19.0.tgz",
+ "integrity": "sha512-7XnhXXW0/AMTx17x1T3OOYY14FGiXbkyE/itv4jY1v8CnSQBMXW3yZ/Ppt7YlOv1D63tm9N4g5Au1Abe+gwpkw==",
+ "dependencies": {
+ "busboy": "^1.6.0"
+ },
+ "engines": {
+ "node": ">=12.18"
+ }
+ },
"node_modules/unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
@@ -21190,8 +22205,7 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/util.promisify": {
"version": "1.0.1",
@@ -21246,6 +22260,11 @@
"node": ">=10.12.0"
}
},
+ "node_modules/varint": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
+ "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
+ },
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -24435,6 +25454,11 @@
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
"dev": true
},
+ "@chainsafe/is-ip": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@chainsafe/is-ip/-/is-ip-2.0.1.tgz",
+ "integrity": "sha512-nqSJ8u2a1Rv9FYbyI8qpDhTYujaKEyLknNrTejLYoSWmdeg+2WB7R6BZqPZYfrJzDxVi3rl6ZQuoaEvpKRZWgQ=="
+ },
"@chakra-ui/accordion": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.1.5.tgz",
@@ -26042,6 +27066,32 @@
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"dev": true
},
+ "@ipld/dag-cbor": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-9.0.0.tgz",
+ "integrity": "sha512-zdsiSiYDEOIDW7mmWOYWC9gukjXO+F8wqxz/LfN7iSwTfIyipC8+UQrCbPupFMRb/33XQTZk8yl3My8vUQBRoA==",
+ "requires": {
+ "cborg": "^1.10.0",
+ "multiformats": "^11.0.0"
+ }
+ },
+ "@ipld/dag-json": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-10.0.1.tgz",
+ "integrity": "sha512-XE1Eqw3eNVrSfOhtqCM/gwCxEgYFBzkDlkwhEeMmMvhd0rLBfSyVzXbahZSlv97tiTPEIx5rt41gcFAda3W8zg==",
+ "requires": {
+ "cborg": "^1.10.0",
+ "multiformats": "^11.0.0"
+ }
+ },
+ "@ipld/dag-pb": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-4.0.0.tgz",
+ "integrity": "sha512-8FB/qTlNowCiszL9Sek8xH6xIQxIioXuzZ5B1jVPknQMVkd08nZUHzDjrn1Y6MqJ5PrXWLrBwNghGMWPPpvNVw==",
+ "requires": {
+ "multiformats": "^11.0.0"
+ }
+ },
"@istanbuljs/load-nyc-config": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
@@ -26658,6 +27708,83 @@
"integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==",
"dev": true
},
+ "@libp2p/interface-connection": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-3.0.8.tgz",
+ "integrity": "sha512-JiI9xVPkiSgW9hkvHWA4e599OLPNSACrpgtx6UffHG9N+Jpt0IOmM4iLic8bSIYkZJBOQFG1Sv/gVNB98Uq0Nw==",
+ "requires": {
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "@libp2p/interfaces": "^3.0.0",
+ "@multiformats/multiaddr": "^11.0.0",
+ "it-stream-types": "^1.0.4",
+ "uint8arraylist": "^2.1.2"
+ }
+ },
+ "@libp2p/interface-keychain": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@libp2p/interface-keychain/-/interface-keychain-2.0.4.tgz",
+ "integrity": "sha512-RCH0PL9um/ejsPiWIOzxFzjPzL2nT2tRUtCDo1aBQqoBi7eYp4I4ya1KbzgWDPTmNuuFtCReRMQsZ7/KVirKPA==",
+ "requires": {
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "multiformats": "^11.0.0"
+ }
+ },
+ "@libp2p/interface-peer-id": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz",
+ "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==",
+ "requires": {
+ "multiformats": "^11.0.0"
+ }
+ },
+ "@libp2p/interface-peer-info": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-info/-/interface-peer-info-1.0.8.tgz",
+ "integrity": "sha512-LRvZt/9bZFYW7seAwuSg2hZuPl+FRTAsij5HtyvVwmpfVxipm6yQrKjQ+LiK/SZhIDVsSJ+UjF0mluJj+jeAzQ==",
+ "requires": {
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "@multiformats/multiaddr": "^11.0.0"
+ }
+ },
+ "@libp2p/interface-pubsub": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-3.0.6.tgz",
+ "integrity": "sha512-c1aVHAhxmEh9IpLBgJyCsMscVDl7YUeP1Iq6ILEQoWiPJhNpQqdfmqyk7ZfrzuBU19VFe1EqH0bLuLDbtfysTQ==",
+ "requires": {
+ "@libp2p/interface-connection": "^3.0.0",
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "@libp2p/interfaces": "^3.0.0",
+ "it-pushable": "^3.0.0",
+ "uint8arraylist": "^2.1.2"
+ }
+ },
+ "@libp2p/interfaces": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@libp2p/interfaces/-/interfaces-3.3.1.tgz",
+ "integrity": "sha512-3N+goQt74SmaVOjwpwMPKLNgh1uDQGw8GD12c40Kc86WOq0qvpm3NfACW+H8Su2X6KmWjCSMzk9JWs9+8FtUfg=="
+ },
+ "@libp2p/logger": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-2.0.5.tgz",
+ "integrity": "sha512-WEhxsc7+gsfuTcljI4vSgW/H2f18aBaC+JiO01FcX841Wxe9szjzHdBLDh9eqygUlzoK0LEeIBfctN7ibzus5A==",
+ "requires": {
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "debug": "^4.3.3",
+ "interface-datastore": "^7.0.0",
+ "multiformats": "^11.0.0"
+ }
+ },
+ "@libp2p/peer-id": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-2.0.1.tgz",
+ "integrity": "sha512-uGIR4rS+j+IzzIu0kih4MonZEfRmjGNfXaSPMIFOeMxZItZT6TIpxoVNYxHl4YtneSFKzlLnf9yx9EhRcyfy8Q==",
+ "requires": {
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "@libp2p/interfaces": "^3.2.0",
+ "multiformats": "^11.0.0",
+ "uint8arrays": "^4.0.2"
+ }
+ },
"@motionone/animation": {
"version": "10.15.1",
"resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz",
@@ -26722,6 +27849,27 @@
"tslib": "^2.3.1"
}
},
+ "@multiformats/multiaddr": {
+ "version": "11.4.0",
+ "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.4.0.tgz",
+ "integrity": "sha512-rLIhSOCKQhm/fCjg+5tVM9xrtjbZjZKJg6bb65YbFsNoPSYhweEohXO8Pkg2xbRy3NqVEVkS+8DB/+VhNvjd5Q==",
+ "requires": {
+ "@chainsafe/is-ip": "^2.0.1",
+ "dns-over-http-resolver": "^2.1.0",
+ "err-code": "^3.0.1",
+ "multiformats": "^11.0.0",
+ "uint8arrays": "^4.0.2",
+ "varint": "^6.0.0"
+ }
+ },
+ "@multiformats/multiaddr-to-uri": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/@multiformats/multiaddr-to-uri/-/multiaddr-to-uri-9.0.2.tgz",
+ "integrity": "sha512-vrWmfFadmix5Ab9l//oRQdQ7O3J5bGJpJRMSm21bHlQB0XV4xtNU6vMZBVXeu3Su79LgflEp37cjTFE3yKf3Hw==",
+ "requires": {
+ "@multiformats/multiaddr": "^11.0.0"
+ }
+ },
"@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -26908,6 +28056,161 @@
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz",
"integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw=="
},
+ "@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
+ },
+ "@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
+ },
+ "@protobufjs/codegen": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
+ },
+ "@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
+ },
+ "@protobufjs/fetch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "requires": {
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
+ }
+ },
+ "@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
+ },
+ "@protobufjs/inquire": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
+ },
+ "@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
+ },
+ "@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
+ },
+ "@protobufjs/utf8": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
+ },
+ "@radix-ui/number": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz",
+ "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/primitive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz",
+ "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-compose-refs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz",
+ "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-context": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz",
+ "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-direction": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz",
+ "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-presence": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz",
+ "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ }
+ },
+ "@radix-ui/react-primitive": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.1.tgz",
+ "integrity": "sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.1"
+ }
+ },
+ "@radix-ui/react-scroll-area": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.2.tgz",
+ "integrity": "sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/number": "1.0.0",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-direction": "1.0.0",
+ "@radix-ui/react-presence": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.1",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-layout-effect": "1.0.0"
+ }
+ },
+ "@radix-ui/react-slot": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz",
+ "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "1.0.0"
+ }
+ },
+ "@radix-ui/react-use-callback-ref": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz",
+ "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-use-layout-effect": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz",
+ "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
"@remix-run/router": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.2.1.tgz",
@@ -27143,6 +28446,19 @@
"use-sync-external-store": "^1.2.0"
}
},
+ "@tanstack/react-table": {
+ "version": "8.7.6",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.7.6.tgz",
+ "integrity": "sha512-/QijmMFeP7wDLBnr0MQ/5MlbXePbIL/1nOtkxBC9zvmBu4gDKJEDBqipUyM7Wc/iBpSd0IFyqBlvZvTPD9FYDA==",
+ "requires": {
+ "@tanstack/table-core": "8.7.6"
+ }
+ },
+ "@tanstack/table-core": {
+ "version": "8.7.6",
+ "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.7.6.tgz",
+ "integrity": "sha512-sqiNTMzB6cpyL8DFH6/VqW48SwiflLqxQqYpo2wNock7rdVGvlm0BLNI8vZUJbr1+fmmWmHwBvi5OMgZw8n1DA=="
+ },
"@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
@@ -27563,6 +28879,11 @@
"integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
"dev": true
},
+ "@types/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
+ },
"@types/node": {
"version": "18.11.18",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
@@ -28428,6 +29749,11 @@
"integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
"dev": true
},
+ "any-signal": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz",
+ "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg=="
+ },
"anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
@@ -28895,8 +30221,12 @@
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
"batch": {
"version": "0.6.1",
@@ -28939,6 +30269,14 @@
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true
},
+ "blob-to-it": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-2.0.0.tgz",
+ "integrity": "sha512-O9P902MzxHg8fjIAzmK4HSo9WmcMn1ACJvSHJvIYWDr4na7GLyR5iQTf0i2EXlnM5EIWmWtk+vh38tTph9JiPA==",
+ "requires": {
+ "browser-readablestream-to-it": "^2.0.0"
+ }
+ },
"bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
@@ -29024,7 +30362,6 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -29049,6 +30386,11 @@
"integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
"dev": true
},
+ "browser-readablestream-to-it": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-2.0.0.tgz",
+ "integrity": "sha512-x7L6NN0FF0LchYKA7D5x2/oJ+n6Y8A0gFaazIxH2AkHr+fjFJvsDUYLLQKAfIkpKiLjQEkbjF0DBw7HRT1ylNA=="
+ },
"browserslist": {
"version": "4.21.4",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
@@ -29069,6 +30411,15 @@
"node-int64": "^0.4.0"
}
},
+ "buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
"buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
@@ -29081,6 +30432,14 @@
"integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
"dev": true
},
+ "busboy": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
+ "requires": {
+ "streamsearch": "^1.1.0"
+ }
+ },
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -29146,6 +30505,11 @@
"integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==",
"dev": true
},
+ "cborg": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.0.tgz",
+ "integrity": "sha512-/eM0JCaL99HDHxjySNQJLaolZFVdl6VA0/hEKIoiQPcQzE5LrG5QHdml0HaBt31brgB9dNe1zMr3f8IVrpotRQ=="
+ },
"chai": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
@@ -29402,8 +30766,7 @@
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
"confusing-browser-globals": {
"version": "1.0.11",
@@ -29821,6 +31184,15 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
"integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
},
+ "dag-jose": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/dag-jose/-/dag-jose-4.0.0.tgz",
+ "integrity": "sha512-tw595L3UYoOUT9dSJPbBEG/qpRpw24kRZxa5SLRnlnr+g5L7O8oEs1d3W5TiVA1oJZbthVsf0Vi3zFN66qcEBA==",
+ "requires": {
+ "@ipld/dag-cbor": "^9.0.0",
+ "multiformats": "^11.0.0"
+ }
+ },
"damerau-levenshtein": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
@@ -30055,6 +31427,17 @@
"integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==",
"dev": true
},
+ "dns-over-http-resolver": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-2.1.1.tgz",
+ "integrity": "sha512-Lm/eXB7yAQLJ5WxlBGwYfBY7utduXPZykcSmcG6K7ozM0wrZFvxZavhT6PqI0kd/5CUTfev/RrEFQqyU4CGPew==",
+ "requires": {
+ "debug": "^4.3.1",
+ "native-fetch": "^4.0.2",
+ "receptacle": "^1.3.2",
+ "undici": "^5.12.0"
+ }
+ },
"dns-packet": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz",
@@ -30179,6 +31562,14 @@
"jake": "^10.8.5"
}
},
+ "electron-fetch": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz",
+ "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==",
+ "requires": {
+ "encoding": "^0.1.13"
+ }
+ },
"electron-to-chromium": {
"version": "1.4.284",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
@@ -30229,6 +31620,14 @@
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"dev": true
},
+ "encoding": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "requires": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
"enhanced-resolve": {
"version": "5.12.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
@@ -30245,6 +31644,11 @@
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
"dev": true
},
+ "err-code": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz",
+ "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA=="
+ },
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -31346,6 +32750,11 @@
"integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
"dev": true
},
+ "fast-fifo": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz",
+ "integrity": "sha512-Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g=="
+ },
"fast-glob": {
"version": "3.2.11",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
@@ -31831,6 +33240,11 @@
"has-symbols": "^1.0.3"
}
},
+ "get-iterator": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz",
+ "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg=="
+ },
"get-nonce": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
@@ -32299,7 +33713,6 @@
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
}
@@ -32326,6 +33739,11 @@
"harmony-reflect": "^1.4.6"
}
},
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ },
"ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@@ -32391,6 +33809,28 @@
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true
},
+ "interface-datastore": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.4.tgz",
+ "integrity": "sha512-Q8LZS/jfFFHz6XyZazLTAc078SSCoa27ZPBOfobWdpDiFO7FqPA2yskitUJIhaCgxNK8C+/lMBUTBNfVIDvLiw==",
+ "requires": {
+ "interface-store": "^3.0.0",
+ "nanoid": "^4.0.0",
+ "uint8arrays": "^4.0.2"
+ },
+ "dependencies": {
+ "nanoid": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.1.tgz",
+ "integrity": "sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww=="
+ }
+ }
+ },
+ "interface-store": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.4.tgz",
+ "integrity": "sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ=="
+ },
"internal-slot": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz",
@@ -32416,6 +33856,133 @@
"integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==",
"dev": true
},
+ "ipfs-core-types": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.14.0.tgz",
+ "integrity": "sha512-qO1xVO3n5m7scTXXtMz8hDTLdwXInnwqadIDQpXC446BIlaYyRWUvLcFQ2bOjQql9/CPNTaPHzjzr5Y1XxqpJw==",
+ "requires": {
+ "@ipld/dag-pb": "^4.0.0",
+ "@libp2p/interface-keychain": "^2.0.0",
+ "@libp2p/interface-peer-id": "^2.0.0",
+ "@libp2p/interface-peer-info": "^1.0.2",
+ "@libp2p/interface-pubsub": "^3.0.0",
+ "@multiformats/multiaddr": "^11.0.0",
+ "@types/node": "^18.0.0",
+ "interface-datastore": "^7.0.0",
+ "ipfs-unixfs": "^9.0.0",
+ "multiformats": "^11.0.0"
+ }
+ },
+ "ipfs-core-utils": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.18.0.tgz",
+ "integrity": "sha512-7N/KfsOPGJu9mwN8EQwrW9HXgS5RNM3WUyjIMWk49KlpYmsXectXuC9i6npI1vn1W/oUaIOZt3lHx37jecnepw==",
+ "requires": {
+ "@libp2p/logger": "^2.0.0",
+ "@multiformats/multiaddr": "^11.0.0",
+ "@multiformats/multiaddr-to-uri": "^9.0.1",
+ "any-signal": "^3.0.0",
+ "blob-to-it": "^2.0.0",
+ "browser-readablestream-to-it": "^2.0.0",
+ "err-code": "^3.0.1",
+ "ipfs-core-types": "^0.14.0",
+ "ipfs-unixfs": "^9.0.0",
+ "ipfs-utils": "^9.0.13",
+ "it-all": "^2.0.0",
+ "it-map": "^2.0.0",
+ "it-peekable": "^2.0.0",
+ "it-to-stream": "^1.0.0",
+ "merge-options": "^3.0.4",
+ "multiformats": "^11.0.0",
+ "nanoid": "^4.0.0",
+ "parse-duration": "^1.0.0",
+ "timeout-abort-controller": "^3.0.0",
+ "uint8arrays": "^4.0.2"
+ },
+ "dependencies": {
+ "nanoid": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.1.tgz",
+ "integrity": "sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww=="
+ }
+ }
+ },
+ "ipfs-http-client": {
+ "version": "60.0.0",
+ "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-60.0.0.tgz",
+ "integrity": "sha512-d6Rqc1UP5nWhp7j0PumK80CA5LvbTvskro+qGw7hgWvbfQ0rX/5ddig7ELvVYJbJM4YBxCJSaSHDEOGoSpzzKg==",
+ "requires": {
+ "@ipld/dag-cbor": "^9.0.0",
+ "@ipld/dag-json": "^10.0.0",
+ "@ipld/dag-pb": "^4.0.0",
+ "@libp2p/logger": "^2.0.0",
+ "@libp2p/peer-id": "^2.0.0",
+ "@multiformats/multiaddr": "^11.0.0",
+ "any-signal": "^3.0.0",
+ "dag-jose": "^4.0.0",
+ "err-code": "^3.0.1",
+ "ipfs-core-types": "^0.14.0",
+ "ipfs-core-utils": "^0.18.0",
+ "ipfs-utils": "^9.0.13",
+ "it-first": "^2.0.0",
+ "it-last": "^2.0.0",
+ "merge-options": "^3.0.4",
+ "multiformats": "^11.0.0",
+ "parse-duration": "^1.0.0",
+ "stream-to-it": "^0.2.2",
+ "uint8arrays": "^4.0.2"
+ }
+ },
+ "ipfs-unixfs": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-9.0.1.tgz",
+ "integrity": "sha512-jh2CbXyxID+v3jLml9CqMwjdSS9ZRnsGfQGGPOfem0/hT/L48xUeTPvh7qLFWkZcIMhZtG+fnS1teei8x5uGBg==",
+ "requires": {
+ "err-code": "^3.0.1",
+ "protobufjs": "^7.0.0"
+ }
+ },
+ "ipfs-utils": {
+ "version": "9.0.14",
+ "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz",
+ "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==",
+ "requires": {
+ "any-signal": "^3.0.0",
+ "browser-readablestream-to-it": "^1.0.0",
+ "buffer": "^6.0.1",
+ "electron-fetch": "^1.7.2",
+ "err-code": "^3.0.1",
+ "is-electron": "^2.2.0",
+ "iso-url": "^1.1.5",
+ "it-all": "^1.0.4",
+ "it-glob": "^1.0.1",
+ "it-to-stream": "^1.0.0",
+ "merge-options": "^3.0.4",
+ "nanoid": "^3.1.20",
+ "native-fetch": "^3.0.0",
+ "node-fetch": "^2.6.8",
+ "react-native-fetch-api": "^3.0.0",
+ "stream-to-it": "^0.2.2"
+ },
+ "dependencies": {
+ "browser-readablestream-to-it": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz",
+ "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw=="
+ },
+ "it-all": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz",
+ "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A=="
+ },
+ "native-fetch": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz",
+ "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==",
+ "requires": {}
+ }
+ }
+ },
"is-arguments": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@@ -32499,6 +34066,11 @@
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true
},
+ "is-electron": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.1.tgz",
+ "integrity": "sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw=="
+ },
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -32714,6 +34286,11 @@
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"dev": true
},
+ "iso-url": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz",
+ "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng=="
+ },
"istanbul-lib-coverage": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
@@ -32798,6 +34375,63 @@
"istanbul-lib-report": "^3.0.0"
}
},
+ "it-all": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.0.tgz",
+ "integrity": "sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg=="
+ },
+ "it-first": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/it-first/-/it-first-2.0.0.tgz",
+ "integrity": "sha512-fzZGzVf01exFyIZXNjkpSMFr1eW2+J1K0v018tYY26Dd4f/O3pWlBTdrOBfSQRZwtI8Pst6c7eKhYczWvFs6tA=="
+ },
+ "it-glob": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz",
+ "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==",
+ "requires": {
+ "@types/minimatch": "^3.0.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "it-last": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/it-last/-/it-last-2.0.0.tgz",
+ "integrity": "sha512-u0GHZ01tWYtPvDkOaqZSLLWjFv3IJw9cPL9mbEV7wnE8DOsbVoXIuKpnz3U6pySl5RzPVjTzSHOc961ZYttBxg=="
+ },
+ "it-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/it-map/-/it-map-2.0.0.tgz",
+ "integrity": "sha512-mLgtk/NZaN7NZ06iLrMXCA6jjhtZO0vZT5Ocsp31H+nsGI18RSPVmUbFyA1sWx7q+g92J22Sixya7T2QSSAwfA=="
+ },
+ "it-peekable": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-2.0.0.tgz",
+ "integrity": "sha512-+eacms2jr2wQqIRxU25eqWPHaEeR4IurrS9hTScmCJpWagRkC8WHw7atciEA6KArOiyxHCAXg5Q5We7/RhvqAQ=="
+ },
+ "it-pushable": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.2.tgz",
+ "integrity": "sha512-zU9FbeoGT0f+yobwm8agol2OTMXbq4ZSWLEi7hug6TEZx4qVhGhGyp31cayH04aBYsIoO2Nr5kgMjH/oWj2BJQ=="
+ },
+ "it-stream-types": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/it-stream-types/-/it-stream-types-1.0.5.tgz",
+ "integrity": "sha512-I88Ka1nHgfX62e5mi5LLL+oueqz7Ltg0bUdtsUKDe9SoUqbQPf2Mp5kxDTe9pNhHQGs4pvYPAINwuZ1HAt42TA=="
+ },
+ "it-to-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz",
+ "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==",
+ "requires": {
+ "buffer": "^6.0.3",
+ "fast-fifo": "^1.0.0",
+ "get-iterator": "^1.0.2",
+ "p-defer": "^3.0.0",
+ "p-fifo": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ }
+ },
"jake": {
"version": "10.8.5",
"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
@@ -32861,6 +34495,11 @@
}
}
},
+ "jazzicon-ts": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/jazzicon-ts/-/jazzicon-ts-2.0.0.tgz",
+ "integrity": "sha512-Yf+FyyrZDIiTaDfs/N+oBL4AKrhzWFjnqopHPJLWM2McIVRzc1D3EN11dwrftCoD1kLdhrAViCoThl9u7eqM+w=="
+ },
"jest": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
@@ -34634,6 +36273,11 @@
"integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
"dev": true
},
+ "long": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz",
+ "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A=="
+ },
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -34731,6 +36375,21 @@
"integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
"dev": true
},
+ "merge-options": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz",
+ "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==",
+ "requires": {
+ "is-plain-obj": "^2.1.0"
+ },
+ "dependencies": {
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="
+ }
+ }
+ },
"merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -34849,7 +36508,6 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -34884,6 +36542,11 @@
"thunky": "^1.0.2"
}
},
+ "multiformats": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz",
+ "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA=="
+ },
"mz": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
@@ -34900,6 +36563,12 @@
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
},
+ "native-fetch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-4.0.2.tgz",
+ "integrity": "sha512-4QcVlKFtv2EYVS5MBgsGX5+NWKtbDbIECdUXDBGDMAZXq3Jkv9zf+y8iS7Ub8fEdga3GpYeazp9gauNqXHJOCg==",
+ "requires": {}
+ },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -34935,10 +36604,9 @@
}
},
"node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "dev": true,
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
+ "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
"requires": {
"whatwg-url": "^5.0.0"
},
@@ -34946,20 +36614,17 @@
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -35190,6 +36855,20 @@
"word-wrap": "^1.2.3"
}
},
+ "p-defer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
+ "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw=="
+ },
+ "p-fifo": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz",
+ "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==",
+ "requires": {
+ "fast-fifo": "^1.0.0",
+ "p-defer": "^3.0.0"
+ }
+ },
"p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -35242,6 +36921,11 @@
"callsites": "^3.0.0"
}
},
+ "parse-duration": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.2.tgz",
+ "integrity": "sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg=="
+ },
"parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -36267,6 +37951,25 @@
}
}
},
+ "protobufjs": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.2.tgz",
+ "integrity": "sha512-++PrQIjrom+bFDPpfmqXfAGSQs40116JRrqqyf53dymUMvvb5d/LMRyicRoF1AUKoXVS1/IgJXlEgcpr4gTF3Q==",
+ "requires": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/node": ">=13.7.0",
+ "long": "^5.0.0"
+ }
+ },
"proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -36541,6 +38244,14 @@
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
"dev": true
},
+ "react-native-fetch-api": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz",
+ "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==",
+ "requires": {
+ "p-defer": "^3.0.0"
+ }
+ },
"react-refresh": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
@@ -36689,7 +38400,6 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -36705,6 +38415,14 @@
"picomatch": "^2.2.1"
}
},
+ "receptacle": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz",
+ "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
"recrawl-sync": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/recrawl-sync/-/recrawl-sync-2.2.3.tgz",
@@ -36940,6 +38658,11 @@
"integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==",
"dev": true
},
+ "retimer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz",
+ "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA=="
+ },
"retry": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
@@ -37092,8 +38815,7 @@
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sanitize.css": {
"version": "13.0.0",
@@ -37493,11 +39215,23 @@
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true
},
+ "stream-to-it": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz",
+ "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==",
+ "requires": {
+ "get-iterator": "^1.0.2"
+ }
+ },
+ "streamsearch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg=="
+ },
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
"requires": {
"safe-buffer": "~5.2.0"
},
@@ -37505,8 +39239,7 @@
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "dev": true
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
}
}
},
@@ -37985,6 +39718,14 @@
"integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
"dev": true
},
+ "timeout-abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz",
+ "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==",
+ "requires": {
+ "retimer": "^3.0.0"
+ }
+ },
"tiny-glob": {
"version": "0.2.9",
"resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
@@ -38190,6 +39931,22 @@
"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
"dev": true
},
+ "uint8arraylist": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/uint8arraylist/-/uint8arraylist-2.4.3.tgz",
+ "integrity": "sha512-oEVZr4/GrH87K0kjNce6z8pSCzLEPqHNLNR5sj8cJOySrTP8Vb/pMIbZKLJGhQKxm1TiZ31atNrpn820Pyqpow==",
+ "requires": {
+ "uint8arrays": "^4.0.2"
+ }
+ },
+ "uint8arrays": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz",
+ "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==",
+ "requires": {
+ "multiformats": "^11.0.0"
+ }
+ },
"unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
@@ -38202,6 +39959,14 @@
"which-boxed-primitive": "^1.0.2"
}
},
+ "undici": {
+ "version": "5.19.0",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-5.19.0.tgz",
+ "integrity": "sha512-7XnhXXW0/AMTx17x1T3OOYY14FGiXbkyE/itv4jY1v8CnSQBMXW3yZ/Ppt7YlOv1D63tm9N4g5Au1Abe+gwpkw==",
+ "requires": {
+ "busboy": "^1.6.0"
+ }
+ },
"unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
@@ -38313,8 +40078,7 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"util.promisify": {
"version": "1.0.1",
@@ -38357,6 +40121,11 @@
"source-map": "^0.7.3"
}
},
+ "varint": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
+ "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
+ },
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index 68fbc58..bbae0c3 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -15,14 +15,19 @@
"dependencies": {
"@chakra-ui/icons": "^2.0.16",
"@chakra-ui/react": "^2.4.6",
+ "@radix-ui/react-scroll-area": "^1.0.2",
"@tanstack/react-query": "^4.20.9",
+ "@tanstack/react-table": "^8.7.6",
"@types/jest": "^29.2.5",
"@types/node": "^18.11.18",
"@types/react": "^18.0.26",
"@types/react-dom": "^18.0.10",
"@typescript-eslint/eslint-plugin": "^5.48.0",
"@vitejs/plugin-react": "^3.0.1",
+ "buffer": "^6.0.3",
"ethers": "^5.4.7",
+ "ipfs-http-client": "^60.0.0",
+ "jazzicon-ts": "^2.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.6.1",
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index bc3269e..adfc519 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -1,10 +1,13 @@
import { ChakraProvider, extendTheme } from "@chakra-ui/react";
import { Router } from "@routes/Router";
+import { PaymnetManagerServiceProvider } from "@services/PaymentManagerService";
+import { RewardManagerServiceProvider } from "@services/RewardManagerService";
import { WalletServiceProvider } from "@services/WalletService";
+import { rawTheme } from "@styles/theme";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { ReactElement, useState } from "react";
-const theme = extendTheme();
+const theme = extendTheme(rawTheme);
const App = (): ReactElement => {
const [client] = useState(() => new QueryClient());
@@ -13,7 +16,11 @@ const App = (): ReactElement => {
-
+
+
+
+
+
diff --git a/frontend/src/components/ConnectYourWallet/ConnectYourWallet.tsx b/frontend/src/components/ConnectYourWallet/ConnectYourWallet.tsx
new file mode 100644
index 0000000..0b32998
--- /dev/null
+++ b/frontend/src/components/ConnectYourWallet/ConnectYourWallet.tsx
@@ -0,0 +1,16 @@
+import { Container, Flex, Heading } from "@chakra-ui/react";
+import { ReactElement } from "react";
+
+export const ConnectYourWallet = (): ReactElement => {
+ return (
+
+
+ Please connect your
+
+ wallet
+
+ to enjoy all the functionalities
+
+
+ );
+};
diff --git a/frontend/src/components/ScrollArea/ScrollArea.tsx b/frontend/src/components/ScrollArea/ScrollArea.tsx
new file mode 100644
index 0000000..96dd8f0
--- /dev/null
+++ b/frontend/src/components/ScrollArea/ScrollArea.tsx
@@ -0,0 +1,36 @@
+import { BackgroundProps, chakra } from "@chakra-ui/react";
+import * as CustomScroll from "@radix-ui/react-scroll-area";
+import { ReactElement } from "react";
+
+const Root = chakra(CustomScroll.Root);
+const Viewport = chakra(CustomScroll.Viewport);
+const Scrollbar = chakra(CustomScroll.Scrollbar);
+const Thumb = chakra(CustomScroll.Thumb);
+
+type Props = {
+ children: ReactElement;
+ thumbColor: BackgroundProps["bg"];
+};
+
+export const ScrollArea = ({ children, thumbColor }: Props): ReactElement => {
+ return (
+
+
+ {children}
+
+
+
+
+
+ );
+};
diff --git a/frontend/src/components/TableError/TableError.tsx b/frontend/src/components/TableError/TableError.tsx
new file mode 100644
index 0000000..d0ab098
--- /dev/null
+++ b/frontend/src/components/TableError/TableError.tsx
@@ -0,0 +1,21 @@
+import { WarningIcon } from "@chakra-ui/icons";
+import { Flex, Text } from "@chakra-ui/react";
+import { ReactElement } from "react";
+
+export const TableError = (): ReactElement => {
+ return (
+
+
+
+ An error has occurred please reload the page
+
+
+ );
+};
diff --git a/frontend/src/components/TableLoading/Loading/Loading.tsx b/frontend/src/components/TableLoading/Loading/Loading.tsx
new file mode 100644
index 0000000..37deb9c
--- /dev/null
+++ b/frontend/src/components/TableLoading/Loading/Loading.tsx
@@ -0,0 +1,20 @@
+import { Skeleton, Td, Tr } from "@chakra-ui/react";
+import { ReactElement } from "react";
+
+type Props = {
+ columns: number;
+};
+
+export const Loading = ({ columns }: Props): ReactElement => {
+ return (
+
+ {[...Array(columns)].map((x, i) => {
+ return (
+
+
+ |
+ );
+ })}
+
+ );
+};
diff --git a/frontend/src/components/TableLoading/TableLoading.tsx b/frontend/src/components/TableLoading/TableLoading.tsx
new file mode 100644
index 0000000..5665a73
--- /dev/null
+++ b/frontend/src/components/TableLoading/TableLoading.tsx
@@ -0,0 +1,38 @@
+import { Table, Tbody, Th, Thead, Tr } from "@chakra-ui/react";
+import { ReactElement } from "react";
+import { Loading } from "./Loading/Loading";
+
+export const tableHead = {
+ transactionsHead: ["From", "Reward", "Quantity", "Manage"],
+ requestsHead: ["From", "Amount", "Status", "Manage"],
+ wwardsHead: ["Name", "Amount", "Price", "Manage"],
+ usersHead: ["Addres", "Role"],
+};
+
+type Props = {
+ columns: number;
+ tableHead: string[];
+};
+
+export const TableLoading = ({ columns, tableHead }: Props): ReactElement => {
+ return (
+
+
+
+ {tableHead.map((head, i) => {
+ return (
+
+ {head}
+ |
+ );
+ })}
+
+
+
+ {[...Array(6)].map((x, i) => {
+ return ;
+ })}
+
+
+ );
+};
diff --git a/frontend/src/routes/About/AboutPage.tsx b/frontend/src/routes/About/AboutPage.tsx
index 6c9c6de..e984954 100644
--- a/frontend/src/routes/About/AboutPage.tsx
+++ b/frontend/src/routes/About/AboutPage.tsx
@@ -1,13 +1,13 @@
import {
- Stack,
- Text,
Center,
Container,
+ Divider,
Flex,
Heading,
- Spacer,
Image,
- Divider,
+ Spacer,
+ Stack,
+ Text,
} from "@chakra-ui/react";
import { ReactElement } from "react";
@@ -17,7 +17,7 @@ const AboutPage = (): ReactElement => {
The future of
-
+
receiving rewards
is here!
diff --git a/frontend/src/routes/Admin/Admin.tsx b/frontend/src/routes/Admin/Admin.tsx
index 04fbf57..d6df985 100644
--- a/frontend/src/routes/Admin/Admin.tsx
+++ b/frontend/src/routes/Admin/Admin.tsx
@@ -1,18 +1,16 @@
-import { NoWalletDetected } from "@components/NoWalletDetected";
-import { ReactElement } from "react";
-import ManagePage from "./ManagePage";
+import { WalletService } from "@services/WalletService";
+import { paths } from "@utils/paths";
+import { ReactElement, useContext } from "react";
+import { Navigate } from "react-router-dom";
+import { ManagePage } from "./ManagePage/ManagePage";
const Admin = (): ReactElement => {
- if (window.ethereum === undefined) {
- /*
-
- Maybe we should check for administrator permissions instead? - suggestion
-
- */
- return ;
+ const context = useContext(WalletService);
+ if (context.status === "auth" && context.wallet.isAdmin) {
+ return ;
}
- return ;
+ return ;
};
export default Admin;
diff --git a/frontend/src/routes/Admin/ManagePage.tsx b/frontend/src/routes/Admin/ManagePage.tsx
deleted file mode 100644
index d107f31..0000000
--- a/frontend/src/routes/Admin/ManagePage.tsx
+++ /dev/null
@@ -1,85 +0,0 @@
-import {
- Center,
- Flex,
- Grid,
- GridItem,
- Spacer,
- Tab,
- TabList,
- TabPanel,
- TabPanels,
- Tabs,
-} from "@chakra-ui/react";
-import { ReactElement } from "react";
-import AwardsPanel from "./panels/AwardsPanel";
-import RequestsPanel from "./panels/RequestsPanel";
-import TransactionsPanel from "./panels/TransactionsPanel";
-import UsersPanel from "./panels/UsersPanel";
-
-const selectedTabStyle = { color: "blue.700", bg: "purple.200" };
-
-const ManagePage = (): ReactElement => {
- return (
-
-
-
-
-
-
-
- Transactions
-
-
- Requests
-
-
- Awards
-
-
- Users
-
-
-
-
-
-
-
-
-
-
- {" "}
-
-
-
- {" "}
-
-
-
- {" "}
-
-
-
-
-
-
-
-
- );
-};
-
-export default ManagePage;
diff --git a/frontend/src/routes/Admin/ManagePage/AwardsPanel/AddAward/AddAward.tsx b/frontend/src/routes/Admin/ManagePage/AwardsPanel/AddAward/AddAward.tsx
new file mode 100644
index 0000000..501799e
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/AwardsPanel/AddAward/AddAward.tsx
@@ -0,0 +1,157 @@
+import {
+ Button,
+ Flex,
+ Input,
+ Modal,
+ ModalBody,
+ ModalCloseButton,
+ ModalContent,
+ ModalFooter,
+ ModalHeader,
+ ModalOverlay,
+ NumberInput,
+ NumberInputField,
+ Text,
+ useDisclosure,
+ useToast,
+} from "@chakra-ui/react";
+import { Loading } from "@routes/ContentWraper/TopBar/ConnectWallet/Loading/Loading";
+import { useRewardManagerService } from "@services/RewardManagerService";
+import { useMutation } from "@tanstack/react-query";
+import { Buffer } from "buffer";
+import { ReactElement, useState } from "react";
+
+export const AddAward = (): ReactElement => {
+ const { isOpen, onOpen, onClose } = useDisclosure();
+
+ const rewardManagerService = useRewardManagerService();
+
+ const [name, setName] = useState("");
+ const [amount, setAmount] = useState(0);
+ const [price, setPrice] = useState(0);
+ const [image, setImage] = useState();
+ const [isInvalid, setIsInvalid] = useState(false);
+ const handleImage = (file: FileList | null) => {
+ if (file === null) {
+ return;
+ }
+ const data = file[0];
+ const reader = new window.FileReader();
+ reader.readAsArrayBuffer(data);
+ reader.onloadend = () => {
+ if (reader.result && typeof reader.result != "string") {
+ setImage(Buffer.from(reader.result));
+ }
+ };
+ };
+ const { mutate, isLoading } = useMutation(rewardManagerService._addReward);
+ const toast = useToast();
+ const handleSubmit = () => {
+ if (name === "") {
+ setIsInvalid(true);
+ return;
+ }
+ mutate(
+ {
+ inStock: amount,
+ image: image,
+ name: name,
+ price: price,
+ },
+ {
+ onError: () => {
+ onClose();
+ toast({
+ title: "Error",
+ description: "Failed to add the award",
+ status: "error",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ onSuccess: () => {
+ onClose();
+ toast({
+ title: "Whooo",
+ description: "The award has been added",
+ status: "success",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ }
+ );
+ };
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+ {isLoading ? (
+
+ ) : (
+
+
+ Name:
+ Amount:
+ Price:
+ Image:
+
+
+ setName(value.target.value)}
+ placeholder="Gift card"
+ value={name}
+ />
+ setAmount(Number(value))}
+ value={amount}
+ >
+
+
+ setPrice(Number(value))}
+ precision={2}
+ step={0.01}
+ value={price}
+ >
+
+
+
+ handleImage(value.target.files)}
+ type="file"
+ />
+
+
+ )}
+
+ {!isLoading && (
+
+
+
+
+ )}
+
+
+ >
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/AwardsPanel/AwardsPanel.tsx b/frontend/src/routes/Admin/ManagePage/AwardsPanel/AwardsPanel.tsx
new file mode 100644
index 0000000..5fdf789
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/AwardsPanel/AwardsPanel.tsx
@@ -0,0 +1,24 @@
+import { TableError } from "@components/TableError/TableError";
+import { tableHead, TableLoading } from "@components/TableLoading/TableLoading";
+import { useRewardManagerService } from "@services/RewardManagerService";
+import { useQuery } from "@tanstack/react-query";
+import { ReactElement } from "react";
+import { AwardsTable } from "./AwardsTable/AwardsTable";
+
+const AwardsPanel = (): ReactElement => {
+ const rewardManagerService = useRewardManagerService();
+ const quer = useQuery(
+ rewardManagerService.rewardKey(),
+ rewardManagerService._getAllRewards
+ );
+
+ if (quer.status === "loading") {
+ return ;
+ }
+ if (quer.status === "success") {
+ return ;
+ }
+ return ;
+};
+
+export default AwardsPanel;
diff --git a/frontend/src/routes/Admin/ManagePage/AwardsPanel/AwardsTable/AwardsTable.tsx b/frontend/src/routes/Admin/ManagePage/AwardsPanel/AwardsTable/AwardsTable.tsx
new file mode 100644
index 0000000..a56d8fc
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/AwardsPanel/AwardsTable/AwardsTable.tsx
@@ -0,0 +1,88 @@
+import { Image, Table, Tbody, Td, Text, Th, Thead, Tr } from "@chakra-ui/react";
+import { ScrollArea } from "@components/ScrollArea/ScrollArea";
+import { Awards } from "@services/RewardManagerService";
+import {
+ ColumnDef,
+ flexRender,
+ getCoreRowModel,
+ useReactTable,
+} from "@tanstack/react-table";
+import { ethers } from "ethers";
+import { Fragment, ReactElement } from "react";
+import { EditAward } from "./EditAward/EditAward";
+
+type Props = {
+ data: Awards[];
+};
+
+export const AwardsTable = ({ data }: Props): ReactElement => {
+ const columns: ColumnDef[] = [
+ { accessorKey: "name", header: "Name" },
+ { accessorKey: "inStock", header: "Amount" },
+ {
+ accessorKey: "price",
+ header: "Price",
+ cell: ({ row }) => {
+ return (
+
+ {parseFloat(ethers.utils.formatEther(row.original.price))}
+
+ );
+ },
+ },
+ {
+ accessorKey: "imgHash",
+ header: "Image",
+ cell: ({ row }) => {
+ return (
+
+ );
+ },
+ },
+ {
+ accessorKey: "manage",
+ header: "Manage",
+ cell: ({ row }) => {
+ return ;
+ },
+ },
+ ];
+ const { getHeaderGroups, getRowModel } = useReactTable({
+ columns,
+ data,
+ getCoreRowModel: getCoreRowModel(),
+ });
+ return (
+
+
+
+ {getHeaderGroups().map((headerGroup) => (
+
+ {headerGroup.headers.map((header) => (
+
+ {flexRender(
+ header.column.columnDef.header,
+ header.getContext()
+ )}
+ |
+ ))}
+
+ ))}
+
+
+ {getRowModel().rows.map((row) => (
+
+
+ {row.getVisibleCells().map((cell) => (
+
+ {flexRender(cell.column.columnDef.cell, cell.getContext())}
+ |
+ ))}
+
+
+ ))}
+
+
+
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/AwardsPanel/AwardsTable/EditAward/EditAward.tsx b/frontend/src/routes/Admin/ManagePage/AwardsPanel/AwardsTable/EditAward/EditAward.tsx
new file mode 100644
index 0000000..5da05fb
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/AwardsPanel/AwardsTable/EditAward/EditAward.tsx
@@ -0,0 +1,119 @@
+import { EditIcon } from "@chakra-ui/icons";
+import {
+ Button,
+ Flex,
+ IconButton,
+ Modal,
+ ModalBody,
+ ModalCloseButton,
+ ModalContent,
+ ModalFooter,
+ ModalHeader,
+ ModalOverlay,
+ NumberInput,
+ NumberInputField,
+ Text,
+ useDisclosure,
+ useToast,
+} from "@chakra-ui/react";
+import { Loading } from "@routes/ContentWraper/TopBar/ConnectWallet/Loading/Loading";
+import {
+ Awards,
+ useRewardManagerService,
+} from "@services/RewardManagerService";
+import { useMutation } from "@tanstack/react-query";
+import { ReactElement, useState } from "react";
+
+type Props = {
+ award: Awards;
+};
+
+export const EditAward = ({ award }: Props): ReactElement => {
+ const rewardManagerService = useRewardManagerService();
+
+ const [amount, setAmount] = useState(award.inStock);
+ const [price, setPrice] = useState(award.price);
+
+ const { mutate, isLoading } = useMutation(rewardManagerService._editReward);
+ const toast = useToast();
+ const handleSubmit = () => {
+ mutate(
+ {
+ oldAward: award,
+ newAward: { ...award, inStock: amount, price: price },
+ },
+ {
+ onError: () => {
+ toast({
+ title: "Error",
+ description: "Failed to change the award",
+ status: "error",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ onSuccess: () => {
+ toast({
+ title: "Whooo",
+ description: "The award has been changed",
+ status: "success",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ }
+ );
+ };
+ const { isOpen, onOpen, onClose } = useDisclosure();
+ return (
+ <>
+ }
+ onClick={onOpen}
+ variant="secondary"
+ />
+
+
+
+
+
+
+
+
+
+ {isLoading ? (
+
+ ) : (
+
+
+ Amount:
+
+
+ setAmount(Number(value))}
+ placeholder="10"
+ value={amount}
+ >
+
+
+
+
+ )}
+
+
+ {!isLoading && (
+
+
+
+
+ )}
+
+
+ >
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/ManagePage.tsx b/frontend/src/routes/Admin/ManagePage/ManagePage.tsx
new file mode 100644
index 0000000..5b9fde0
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/ManagePage.tsx
@@ -0,0 +1,103 @@
+import {
+ Flex,
+ Tab,
+ TabList,
+ TabPanel,
+ TabPanels,
+ Tabs,
+} from "@chakra-ui/react";
+import { ReactElement } from "react";
+import { AddAward } from "./AwardsPanel/AddAward/AddAward";
+import AwardsPanel from "./AwardsPanel/AwardsPanel";
+import RequestsPanel from "./RequestsPanel/RequestsPanel";
+import TransactionsPanel from "./TransactionsPanel/TransactionsPanel";
+import UsersPanel from "./UsersPanel/UsersPanel";
+
+const selectedTabStyle = { color: "white" };
+
+export const ManagePage = (): ReactElement => {
+ return (
+
+
+
+
+
+ Transactions
+
+
+ Requests
+
+
+ Awards
+
+
+ Users
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/RequestsPanel/RequestTable/EditRequest/EditRequest.tsx b/frontend/src/routes/Admin/ManagePage/RequestsPanel/RequestTable/EditRequest/EditRequest.tsx
new file mode 100644
index 0000000..28d561f
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/RequestsPanel/RequestTable/EditRequest/EditRequest.tsx
@@ -0,0 +1,128 @@
+import { EditIcon } from "@chakra-ui/icons";
+import {
+ Button,
+ Flex,
+ IconButton,
+ Input,
+ Modal,
+ ModalBody,
+ ModalCloseButton,
+ ModalContent,
+ ModalFooter,
+ ModalHeader,
+ ModalOverlay,
+ Select,
+ Text,
+ useDisclosure,
+ useToast,
+} from "@chakra-ui/react";
+import {
+ Requests,
+ usePaymnetManagerService,
+} from "@services/PaymentManagerService";
+import { useMutation } from "@tanstack/react-query";
+import { ReactElement, useState } from "react";
+
+type Props = {
+ request: Requests;
+};
+
+export const EditRequest = ({ request }: Props): ReactElement => {
+ const paymentManagerService = usePaymnetManagerService();
+
+ const [status, setStatus] = useState(request.status);
+ const [decisionReason, setDecisionReason] = useState(request.decisionReason);
+
+ const handleStatusChange = (e: React.ChangeEvent) => {
+ if (e.target.value === "1") {
+ setStatus(1);
+ } else {
+ setStatus(2);
+ }
+ };
+
+ const { isOpen, onOpen, onClose } = useDisclosure();
+
+ const { mutate } = useMutation(paymentManagerService.changeRequestStatus);
+ const toast = useToast();
+ const handleSubmit = () => {
+ mutate(
+ {
+ ...request,
+ status,
+ decisionReason,
+ },
+ {
+ onError: () => {
+ onClose();
+ toast({
+ title: "Error",
+ description: "Failed to edit the request",
+ status: "error",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ onSuccess: () => {
+ onClose();
+ toast({
+ title: "Whooo",
+ description: "The request has been edited",
+ status: "success",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ }
+ );
+ };
+ return (
+ <>
+ }
+ onClick={onOpen}
+ variant="secondary"
+ />
+
+
+
+
+
+
+
+
+
+
+
+ Status:
+ Decision Reason:
+
+
+
+
+ setDecisionReason(value.target.value)}
+ value={decisionReason}
+ />
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/RequestsPanel/RequestTable/RequestTable.tsx b/frontend/src/routes/Admin/ManagePage/RequestsPanel/RequestTable/RequestTable.tsx
new file mode 100644
index 0000000..16ea179
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/RequestsPanel/RequestTable/RequestTable.tsx
@@ -0,0 +1,85 @@
+import { Table, Tbody, Td, Text, Th, Thead, Tr } from "@chakra-ui/react";
+import { ScrollArea } from "@components/ScrollArea/ScrollArea";
+import { Requests } from "@services/PaymentManagerService";
+import {
+ ColumnDef,
+ flexRender,
+ getCoreRowModel,
+ useReactTable,
+} from "@tanstack/react-table";
+import { ethers } from "ethers";
+import { Fragment, ReactElement } from "react";
+import { EditRequest } from "./EditRequest/EditRequest";
+
+type Props = {
+ data: Requests[];
+};
+
+export const RequestTable = ({ data }: Props): ReactElement => {
+ const columns: ColumnDef[] = [
+ {
+ accessorKey: "amount",
+ header: "Amount",
+ cell: ({ row }) => {
+ return (
+
+ {parseFloat(ethers.utils.formatEther(row.original.amount))}
+
+ );
+ },
+ },
+ { accessorKey: "requestReason", header: "Request Reason" },
+ {
+ accessorKey: "status",
+ header: "Status",
+ cell: () => {
+ return Pending;
+ },
+ },
+ {
+ accessorKey: "manage",
+ header: "Manage",
+ cell: ({ row }) => {
+ return ;
+ },
+ },
+ ];
+ const { getHeaderGroups, getRowModel } = useReactTable({
+ columns,
+ data,
+ getCoreRowModel: getCoreRowModel(),
+ });
+ return (
+
+
+
+ {getHeaderGroups().map((headerGroup) => (
+
+ {headerGroup.headers.map((header) => (
+
+ {flexRender(
+ header.column.columnDef.header,
+ header.getContext()
+ )}
+ |
+ ))}
+
+ ))}
+
+
+ {getRowModel().rows.map((row) => (
+
+
+ {row.getVisibleCells().map((cell) => (
+
+ {flexRender(cell.column.columnDef.cell, cell.getContext())}
+ |
+ ))}
+
+
+ ))}
+
+
+
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/RequestsPanel/RequestsPanel.tsx b/frontend/src/routes/Admin/ManagePage/RequestsPanel/RequestsPanel.tsx
new file mode 100644
index 0000000..ef21c63
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/RequestsPanel/RequestsPanel.tsx
@@ -0,0 +1,24 @@
+import { TableError } from "@components/TableError/TableError";
+import { tableHead, TableLoading } from "@components/TableLoading/TableLoading";
+import { usePaymnetManagerService } from "@services/PaymentManagerService";
+import { useQuery } from "@tanstack/react-query";
+import { ReactElement } from "react";
+import { RequestTable } from "./RequestTable/RequestTable";
+
+const RequestPanel = (): ReactElement => {
+ const paymentManagerService = usePaymnetManagerService();
+ const quer = useQuery(
+ paymentManagerService.requestKey(),
+ paymentManagerService._getAllRequests
+ );
+
+ if (quer.status === "loading") {
+ return ;
+ }
+ if (quer.status === "success") {
+ return ;
+ }
+ return ;
+};
+
+export default RequestPanel;
diff --git a/frontend/src/routes/Admin/ManagePage/TransactionsPanel/TransactionTable/Received/Received.tsx b/frontend/src/routes/Admin/ManagePage/TransactionsPanel/TransactionTable/Received/Received.tsx
new file mode 100644
index 0000000..87dbb10
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/TransactionsPanel/TransactionTable/Received/Received.tsx
@@ -0,0 +1,123 @@
+import {
+ Button,
+ Modal,
+ ModalBody,
+ ModalCloseButton,
+ ModalContent,
+ ModalFooter,
+ ModalHeader,
+ ModalOverlay,
+ NumberDecrementStepper,
+ NumberIncrementStepper,
+ NumberInput,
+ NumberInputField,
+ NumberInputStepper,
+ Text,
+ useDisclosure,
+ useToast,
+} from "@chakra-ui/react";
+import {
+ RewardManagerServiceValue,
+ Transactions,
+} from "@services/RewardManagerService";
+import { useMutation } from "@tanstack/react-query";
+import { ReactElement, useState } from "react";
+
+type Props = {
+ rewardManagerService: RewardManagerServiceValue;
+ transaction: Transactions;
+};
+
+export const Received = ({
+ transaction,
+ rewardManagerService,
+}: Props): ReactElement => {
+ const [value, setValue] = useState(1);
+ const handleChange = (value: number) => {
+ setValue(value);
+ };
+ const { mutate } = useMutation(rewardManagerService._markCollected);
+ const toast = useToast();
+ const handleSubmit = () => {
+ mutate(
+ {
+ address: transaction.address,
+ quantity: Number(transaction.quantity),
+ id: transaction.id,
+ },
+ {
+ onError: () => {
+ toast({
+ title: "Error",
+ description: "Failed to collect the award",
+ status: "error",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ onSuccess: () => {
+ toast({
+ title: "Whooo",
+ description: "The award has been collected",
+ status: "success",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ }
+ );
+ };
+ const { isOpen, onOpen, onClose } = useDisclosure();
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+
+ {"How many " +
+ transaction.rewardId +
+ " have you given out to " +
+ transaction.address +
+ "?"}
+
+
+ Quantity
+
+ handleChange(Number(value))}
+ value={value}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/TransactionsPanel/TransactionTable/TransactionTable.tsx b/frontend/src/routes/Admin/ManagePage/TransactionsPanel/TransactionTable/TransactionTable.tsx
new file mode 100644
index 0000000..a3667cf
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/TransactionsPanel/TransactionTable/TransactionTable.tsx
@@ -0,0 +1,78 @@
+import { Table, Tbody, Td, Th, Thead, Tr } from "@chakra-ui/react";
+import { ScrollArea } from "@components/ScrollArea/ScrollArea";
+import {
+ Transactions,
+ useRewardManagerService,
+} from "@services/RewardManagerService";
+import {
+ ColumnDef,
+ flexRender,
+ getCoreRowModel,
+ useReactTable,
+} from "@tanstack/react-table";
+import { Fragment, ReactElement } from "react";
+import { Received } from "./Received/Received";
+
+type Props = {
+ data: Transactions[];
+};
+
+export const TransactionTable = ({ data }: Props): ReactElement => {
+ const rewardManagerService = useRewardManagerService();
+
+ const columns: ColumnDef[] = [
+ { accessorKey: "address", header: "From" },
+ { accessorKey: "reward", header: "Reward" },
+ { accessorKey: "quantity", header: "Quantity" },
+ {
+ accessorKey: "manage",
+ header: "Manage",
+ cell: ({ row }) => {
+ return (
+
+ );
+ },
+ },
+ ];
+ const { getHeaderGroups, getRowModel } = useReactTable({
+ columns,
+ data,
+ getCoreRowModel: getCoreRowModel(),
+ });
+ return (
+
+
+
+ {getHeaderGroups().map((headerGroup) => (
+
+ {headerGroup.headers.map((header) => (
+
+ {flexRender(
+ header.column.columnDef.header,
+ header.getContext()
+ )}
+ |
+ ))}
+
+ ))}
+
+
+ {getRowModel().rows.map((row) => (
+
+
+ {row.getVisibleCells().map((cell) => (
+
+ {flexRender(cell.column.columnDef.cell, cell.getContext())}
+ |
+ ))}
+
+
+ ))}
+
+
+
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/TransactionsPanel/TransactionsPanel.tsx b/frontend/src/routes/Admin/ManagePage/TransactionsPanel/TransactionsPanel.tsx
new file mode 100644
index 0000000..a2afa77
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/TransactionsPanel/TransactionsPanel.tsx
@@ -0,0 +1,25 @@
+import { TableError } from "@components/TableError/TableError";
+import { tableHead, TableLoading } from "@components/TableLoading/TableLoading";
+import { useRewardManagerService } from "@services/RewardManagerService";
+import { useQuery } from "@tanstack/react-query";
+import { ReactElement } from "react";
+import { TransactionTable } from "./TransactionTable/TransactionTable";
+
+const TransactionsPanel = (): ReactElement => {
+ const rewardManagerService = useRewardManagerService();
+ const quer = useQuery(
+ rewardManagerService.listKey(),
+ rewardManagerService._getTransactionData,
+ { cacheTime: 10 * 60 * 1000 }
+ );
+
+ if (quer.status === "loading") {
+ return ;
+ }
+ if (quer.status === "success") {
+ return ;
+ }
+ return ;
+};
+
+export default TransactionsPanel;
diff --git a/frontend/src/routes/Admin/ManagePage/UsersPanel/FireEmployee/FireEmployee.tsx b/frontend/src/routes/Admin/ManagePage/UsersPanel/FireEmployee/FireEmployee.tsx
new file mode 100644
index 0000000..3a09710
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/UsersPanel/FireEmployee/FireEmployee.tsx
@@ -0,0 +1,47 @@
+import { Button, Flex, Input, Text, useToast } from "@chakra-ui/react";
+import { usePaymnetManagerService } from "@services/PaymentManagerService";
+import { useMutation } from "@tanstack/react-query";
+import { ReactElement, useState } from "react";
+
+export const FireEmployee = (): ReactElement => {
+ const [address, setAddress] = useState("");
+ const paymentManagerService = usePaymnetManagerService();
+ const { mutate } = useMutation(paymentManagerService.fireEmployee);
+ const toast = useToast();
+ const handleSubmit = () => {
+ mutate(address, {
+ onError: () => {
+ toast({
+ title: "Error",
+ description: "Failed to collect the award",
+ status: "error",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ onSuccess: () => {
+ toast({
+ title: "Whooo",
+ description: "The award has been collected",
+ status: "success",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ });
+ };
+ return (
+
+ Fire Employee
+
+ setAddress(value.target.value)}
+ placeholder="0x46A4FA36a08e583f26Daf2eac9121d839E428Dfac"
+ value={address}
+ w="96"
+ />
+
+
+
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/UsersPanel/HireEmployee/HireEmployee.tsx b/frontend/src/routes/Admin/ManagePage/UsersPanel/HireEmployee/HireEmployee.tsx
new file mode 100644
index 0000000..b27681f
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/UsersPanel/HireEmployee/HireEmployee.tsx
@@ -0,0 +1,47 @@
+import { Button, Flex, Input, Text, useToast } from "@chakra-ui/react";
+import { usePaymnetManagerService } from "@services/PaymentManagerService";
+import { useMutation } from "@tanstack/react-query";
+import { ReactElement, useState } from "react";
+
+export const HireEmployee = (): ReactElement => {
+ const [address, setAddress] = useState("");
+ const paymentManagerService = usePaymnetManagerService();
+ const { mutate } = useMutation(paymentManagerService.hireEmployee);
+ const toast = useToast();
+ const handleSubmit = () => {
+ mutate(address, {
+ onError: () => {
+ toast({
+ title: "Error",
+ description: "Failed to collect the award",
+ status: "error",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ onSuccess: () => {
+ toast({
+ title: "Whooo",
+ description: "The award has been collected",
+ status: "success",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ });
+ };
+ return (
+
+ Hire Employee
+
+ setAddress(value.target.value)}
+ placeholder="0x46A4FA36a08e583f26Daf2eac9121d839E428Dfac"
+ value={address}
+ w="96"
+ />
+
+
+
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/UsersPanel/HireEmployer/HireEmployer.tsx b/frontend/src/routes/Admin/ManagePage/UsersPanel/HireEmployer/HireEmployer.tsx
new file mode 100644
index 0000000..59e2bf8
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/UsersPanel/HireEmployer/HireEmployer.tsx
@@ -0,0 +1,47 @@
+import { Button, Flex, Input, Text, useToast } from "@chakra-ui/react";
+import { usePaymnetManagerService } from "@services/PaymentManagerService";
+import { useMutation } from "@tanstack/react-query";
+import { ReactElement, useState } from "react";
+
+export const HireEmployer = (): ReactElement => {
+ const [address, setAddress] = useState("");
+ const paymentManagerService = usePaymnetManagerService();
+ const { mutate } = useMutation(paymentManagerService.hireEmployer);
+ const toast = useToast();
+ const handleSubmit = () => {
+ mutate(address, {
+ onError: () => {
+ toast({
+ title: "Error",
+ description: "Failed to collect the award",
+ status: "error",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ onSuccess: () => {
+ toast({
+ title: "Whooo",
+ description: "The award has been collected",
+ status: "success",
+ duration: 5000,
+ isClosable: true,
+ });
+ },
+ });
+ };
+ return (
+
+ Hire Employer
+
+ setAddress(value.target.value)}
+ placeholder="0x46A4FA36a08e583f26Daf2eac9121d839E428Dfac"
+ value={address}
+ w="96"
+ />
+
+
+
+ );
+};
diff --git a/frontend/src/routes/Admin/ManagePage/UsersPanel/UsersPanel.tsx b/frontend/src/routes/Admin/ManagePage/UsersPanel/UsersPanel.tsx
new file mode 100644
index 0000000..696bf69
--- /dev/null
+++ b/frontend/src/routes/Admin/ManagePage/UsersPanel/UsersPanel.tsx
@@ -0,0 +1,23 @@
+import { Flex } from "@chakra-ui/react";
+import { ReactElement } from "react";
+import { FireEmployee } from "./FireEmployee/FireEmployee";
+import { HireEmployee } from "./HireEmployee/HireEmployee";
+import { HireEmployer } from "./HireEmployer/HireEmployer";
+
+const UsersPanel = (): ReactElement => {
+ return (
+
+
+
+
+
+ );
+};
+
+export default UsersPanel;
diff --git a/frontend/src/routes/Admin/panels/AwardsPanel.tsx b/frontend/src/routes/Admin/panels/AwardsPanel.tsx
deleted file mode 100644
index d93e05b..0000000
--- a/frontend/src/routes/Admin/panels/AwardsPanel.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Box } from "@chakra-ui/react";
-import { ReactElement } from "react";
-
-const AwardsPanel = (): ReactElement => {
- return (
- <>
-
- Awards
-
- >
- );
-};
-
-export default AwardsPanel;
diff --git a/frontend/src/routes/Admin/panels/RequestsPanel.tsx b/frontend/src/routes/Admin/panels/RequestsPanel.tsx
deleted file mode 100644
index 9f7c0d7..0000000
--- a/frontend/src/routes/Admin/panels/RequestsPanel.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Box } from "@chakra-ui/react";
-import { ReactElement } from "react";
-
-const RequestsPanel = (): ReactElement => {
- return (
- <>
-
- Requests
-
- >
- );
-};
-
-export default RequestsPanel;
diff --git a/frontend/src/routes/Admin/panels/TransactionsPanel.tsx b/frontend/src/routes/Admin/panels/TransactionsPanel.tsx
deleted file mode 100644
index cb242f2..0000000
--- a/frontend/src/routes/Admin/panels/TransactionsPanel.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Box } from "@chakra-ui/react";
-import { ReactElement } from "react";
-
-const TransactionsPanel = (): ReactElement => {
- return (
- <>
-
- Transactions
-
- >
- );
-};
-
-export default TransactionsPanel;
diff --git a/frontend/src/routes/Admin/panels/UsersPanel.tsx b/frontend/src/routes/Admin/panels/UsersPanel.tsx
deleted file mode 100644
index 2809aff..0000000
--- a/frontend/src/routes/Admin/panels/UsersPanel.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Box } from "@chakra-ui/react";
-import { ReactElement } from "react";
-
-const UsersPanel = (): ReactElement => {
- return (
- <>
-
- Users
-
- >
- );
-};
-
-export default UsersPanel;
diff --git a/frontend/src/routes/ContentWraper/Menu/PopoverMenu/PopoverMenu.tsx b/frontend/src/routes/ContentWraper/Menu/PopoverMenu/PopoverMenu.tsx
deleted file mode 100644
index a0e7236..0000000
--- a/frontend/src/routes/ContentWraper/Menu/PopoverMenu/PopoverMenu.tsx
+++ /dev/null
@@ -1,87 +0,0 @@
-import { CloseIcon, CopyIcon } from '@chakra-ui/icons';
-import {
- Popover,
- PopoverTrigger,
- PopoverContent,
- PopoverHeader,
- PopoverBody,
- Button,
- Box,
- Flex,
- Spacer,
- Text,
-} from '@chakra-ui/react';
-import { ReactElement } from "react";
-
-type Props = {
- disconnectFunction: () => void;
- walletAddress: string;
-};
-
-export const commonButtonWidth = '300px';
-
-export const PopoverMenu = ({ disconnectFunction, walletAddress }: Props): ReactElement => {
-
- return (
-
-
-
-
-
-
-
-
-
- {walletAddress}
-
-
-
-
-
-
-
-
-
- TTPSC Balance
- {/* TODO: Set correct TTPSC Account balance */}
- 0,00
-
-
-
- )
-};
-
-export default PopoverMenu;
diff --git a/frontend/src/routes/ContentWraper/TopBar/ConnectWallet/ConnectWallet.tsx b/frontend/src/routes/ContentWraper/TopBar/ConnectWallet/ConnectWallet.tsx
index f9daa40..df58e5b 100644
--- a/frontend/src/routes/ContentWraper/TopBar/ConnectWallet/ConnectWallet.tsx
+++ b/frontend/src/routes/ContentWraper/TopBar/ConnectWallet/ConnectWallet.tsx
@@ -9,7 +9,6 @@ import {
import { useAnonWalletService } from "@services/WalletService";
import { useMutation } from "@tanstack/react-query";
import { ReactElement, useState } from "react";
-import { commonButtonWidth } from "../../Menu/PopoverMenu/PopoverMenu";
import { Error } from "./Error/Error";
import { Loading } from "./Loading/Loading";
@@ -29,12 +28,8 @@ export const ConnectWallet = (): ReactElement => {
return (
<>