From f3e338df6d16304cc5d9c5367b1e4e566c7df7c2 Mon Sep 17 00:00:00 2001 From: Satoshi Qazi Muhammed Date: Sun, 4 Oct 2026 03:49:16 +0400 Subject: [PATCH] Remove the inherited gh-pages, IPFS and Docker Hub release tooling None of it could run here: the repository has no Pages site, no Pinata or Crust credentials and no npm token, and docker/build.sh pushed to the upstream author's Docker Hub account. Remove the release scripts, the IPFS uploader with @pinata/sdk (axios 0.21) and @crustio/crust-pin, and public/ipfs, whose pin.json and redirect pointed at another project's IPFS build from this site. README: the hosted URL is apps.pezkuwichain.io; drop the IPFS and desktop chapters and the pull of a Docker image that does not exist. .gitignore listed '.log' where '*.log' was meant, which let start.log in. Co-Authored-By: Claude Opus 5.5 (1M context) --- .gitignore | 2 +- README.md | 114 +-------- docker/build.sh | 33 --- package.json | 5 - packages/apps/public/ipfs/index.html | 15 -- packages/apps/public/ipfs/pin.json | 1 - scripts/ipfsUpload.mjs | 215 ----------------- start.log | 38 --- yarn.lock | 333 +-------------------------- 9 files changed, 17 insertions(+), 739 deletions(-) delete mode 100755 docker/build.sh delete mode 100644 packages/apps/public/ipfs/index.html delete mode 100644 packages/apps/public/ipfs/pin.json delete mode 100755 scripts/ipfsUpload.mjs delete mode 100644 start.log diff --git a/.gitignore b/.gitignore index c5cd308..7aa24c3 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,6 @@ tsconfig.*buildinfo yarn-debug.log* yarn-error.log* .idea/ -.log +*.log env-config.js NOTES.md diff --git a/README.md b/README.md index 428b5f2..e34c728 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,7 @@ A Portal into the Pezkuwi and Bizinikiwi networks. Provides a view and interaction layer from a browser. -This can be accessed as a hosted application via https://pezkuwichain.app or you can access the IPFS hosted version via https://pezkuwichain.app/ipfs (via hash) to explore any of the supported Pezkuwi and Bizinikiwi chains. - -If you run one or more IPFS node(s), pinning the UI (which only gets updated on releases) will make it faster for you and others. You can find details about that below in the IPFS chapter below. +It is hosted at https://apps.pezkuwichain.io to explore any of the supported Pezkuwi and Bizinikiwi chains. **Important** If you are a chain developer and would like to add support for your chain to the UI, all the local configuration (API types, settings, logos) can be customized in [the apps-config package](packages/apps-config#README.md), complete with instructions of what goes where. @@ -32,113 +30,11 @@ To get started - ## Docker -You can run a docker container via - +To build and run a container with local changes - ``` -docker run --rm -it --name pezkuwi-ui -e WS_URL=ws://someip:9944 -p 80:80 pezkuwichain/pezkuwi-apps:latest +docker build -t pezkuwi-apps -f docker/Dockerfile . +docker run --rm -it --name pezkuwi-ui -e WS_URL=ws://someip:9944 -p 80:80 pezkuwi-apps ``` -To build a docker container containing local changes - - -``` -docker build -t pezkuwichain/pezkuwi-apps -f docker/Dockerfile . -``` - -When using these Docker commands, you can access the UI via http://localhost:80 (or just http://localhost) - -## IPFS - -IPFS allows sharing files in a decentralized manner in a similar fashion the pezkuwi network exchanges blocks. IPFS works best when many nodes seed the same data. Nodes can seed specific data by **pinning** them. - -You can pin with the following command: - -``` -curl -s https://pezkuwichain.app/apps/ipfs/pin.json | jq -jr .IpfsHash | xargs -0 -I CID ipfs pin add --progress CID -``` - -Here is a script you can save as `/usr/local/bin/pezkuwijs-ipfs-pin.sh`: - -``` -#!/usr/bin/env bash - -IPFS='/usr/local/bin/ipfs' -curl -s https://pezkuwichain.app/apps/ipfs/pin.json | jq -jr .IpfsHash | xargs -0 -I CID $IPFS pin add --progress CID -``` - -I suggest to run the script once. The output should be similar to (the CID/Hash will very likely be different though): -``` -$ /usr/local/bin/pezkuwijs-ipfs-pin.sh -pinned QmNYAbzaE8kRAf68YiN3ZuUxgdwroeav3JhicsHsG5b2oW recursively -``` - -Now that you know the CID (hash), you can check whether the data is already pinned or not: -``` -$ ipfs pin ls | grep QmNYAbzaE8kRAf68YiN3ZuUxgdwroeav3JhicsHsG5b2oW -QmNYAbzaE8kRAf68YiN3ZuUxgdwroeav3JhicsHsG5b2oW recursive -``` - -Now that we know it works, we can automate that with a cron task. Run `crontab -e`. -If you see only comments, append the following to the file and save: -``` -SHELL=/bin/bash -HOME=/ -0 * * * * /usr/local/bin/pezkuwijs-ipfs-pin.sh >/dev/null 2>&1 -``` - -Now our script will run every hours at minute '0' (8:00, 9:00, etc...). To check, we can unpin temporarily: -``` -$ ipfs pin rm QmNYAbzaE8kRAf68YiN3ZuUxgdwroeav3JhicsHsG5b2oW -unpinned QmNYAbzaE8kRAf68YiN3ZuUxgdwroeav3JhicsHsG5b2oW -``` - -Now asking for the CID confirms that is it not there. -``` -$ ipfs pin ls QmNYAbzaE8kRAf68YiN3ZuUxgdwroeav3JhicsHsG5b2oW -Error: path 'QmNYAbzaE8kRAf68YiN3ZuUxgdwroeav3JhicsHsG5b2oW' is not pinned -``` - -Wait until the your cron task runs and try again: -``` -$ ipfs pin ls QmNYAbzaE8kRAf68YiN3ZuUxgdwroeav3JhicsHsG5b2oW -QmNYAbzaE8kRAf68YiN3ZuUxgdwroeav3JhicsHsG5b2oW recursive -``` - -Tada! This is now automatic and you may forget it. - -If you are curious and want to know how many people seed the UI on IPFS, here is the magic command (it may take a while to return the answer as ipfs will search for about 1 minute): -``` -ipfs dht findprovs QmTejwB7mJPBHBoqubjzHSgSxfLMcjnZA3LFefqoQc87VJ | wc -l -``` - -If you are current about the content of what you just pinned, you may use the following command: -``` -$ ipfs ls QmTejwB7mJPBHBoqubjzHSgSxfLMcjnZA3LFefqoQc87VJ -QmPJGyqVCcXm238noz7TZDByyGa35qqc8g6sfyXF3KDXZ3 38078 favicon.ico -QmdouVsVE9rMVB84Cy1ehVi1LAGW1fKcqqQxSEjgxJrv7H 668 index.html -QmWHcGf1JCFZCYjZsw52vM5RiJVbcNpX1fo2NyoBKBvtuf - ipfs/ -QmT6NwDsJzMyBs6bMq845nMumeJWbixBfNXA9hdAhAMdSG - locales/ -QmcgiZpwvpT1E1dkSS3zr5je89rZRVocNKPebgWhn3JVTC 2178582 main.ce05dfca.js -QmdnEtuhFDyw5Tjr82bFPzyveFrbkYjJAnUvBvzwT18YGG 337 manifest.json -QmW7gDKHbmtD7sRTqsvyo84bDpyYPZR3w1wQo8pme2q5HC - next/ -Qmd8UnRQiBobm4qb6dhiC1HoQ7SvwZrWJenoN3JPEV3iiF 480594 pezkuwijs.3af757ad.js -QmUfXPMfNys8Y8dekuankBx7BHiSAjALCpBDKH6F5DdcNm 628284 react.0cecb00d.css -QmSEgXdQbC1ek9Td1mHy3BRvJpfWHm9zQYegTgAUj1QC4g 924156 react.8f083b49.js -QmfGBgFe2aqf83Wv21m9k5DH2ew89CDj4tydoxJWdK6NNL 1552 runtime.3d77e510.js -QmYPa8jcHH7gfopMALr5XTW4i1QM2xgVBe3NeP11y3tErA - static/ -QmeYBC5EgbccC8NEwXC2rvbd93YiHtTM5xYzqCDohXerDf 859984 vendor.8b793a81.js -``` - -## Desktop App - -The main advantage of using Desktop App is that it by default stores encrypted accounts on the filesystem instead of browser's local storage. -Local storage is susceptible to attacks using XSS (Cross-Site Scripting). There's no such risk when with files stored on disk. - -The desktop app uses the [Electron](https://www.electronjs.org/) framework. It provides the same features as web app, the only difference -being different account storage. - -The accounts are stored in the following directories: -* Mac: `~/Library/Application Support/pezkuwi-apps/pezkuwi-accounts` -* Linux: `~/.config/pezkuwi-apps/pezkuwi-accounts` (or `$XDG_CONFIG_HOME/pezkuwi-apps/pezkuwi-accounts` if `$XDG_CONFIG_HOME` is defined) -* Windows: `%APPDATA%\pezkuwi-apps\pezkuwi-accounts` - -For more details on the desktop app, head over to [Electron package README](https://github.com/pezkuwichain/pezkuwi-apps/blob/master/packages/apps-electron/README.md). +The UI is then at http://localhost:80 (or just http://localhost) diff --git a/docker/build.sh b/docker/build.sh deleted file mode 100755 index 5413ed5..0000000 --- a/docker/build.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2017-2025 @polkadot/apps authors & contributors -# This software may be modified and distributed under the terms -# of the Apache-2.0 license. See the LICENSE file for details. - -# fail fast on any non-zero exits -set -e - -# the docker image name and dockerhub repo -NAME="polkadot-js-apps" -REPO="jacogr" - -# extract the current npm version from package.json -VERSION=$(cat package.json \ - | grep version \ - | head -1 \ - | awk -F: '{ print $2 }' \ - | sed 's/[",]//g' \ - | sed 's/ //g') - -echo "*** Building $NAME" -docker build -t $NAME -f docker/Dockerfile . - -docker login -u $REPO -p $DOCKER_PASS - -echo "*** Tagging $REPO/$NAME" -if [[ $VERSION != *"beta"* ]]; then - docker tag $NAME $REPO/$NAME:$VERSION -fi -docker tag $NAME $REPO/$NAME - -echo "*** Publishing $NAME" -docker push $REPO/$NAME diff --git a/package.json b/package.json index 7d883e4..e8e4588 100644 --- a/package.json +++ b/package.json @@ -31,9 +31,6 @@ "build:code": "NODE_ENV=production yarn pezkuwi-dev-build-ts", "build:i18n": "i18next-scanner --config i18next-scanner.config.cjs && node ./scripts/i18nSort.cjs", "build:images": "node scripts/imgConvert.mjs", - "build:release:ghpages": "yarn pezkuwi-ci-ghact-docs", - "build:release:ipfs": "node scripts/ipfsUpload.mjs", - "build:release:www": "yarn pezkuwi-ci-ghact-build && yarn build:release:ghpages && yarn build:release:ipfs", "build:robohash": "node scripts/robohash.cjs", "build:typesBundle": "pezkuwi-dev-run-test --env node --loader extensionless typesBundle", "build:www": "rm -rf packages/apps/build && mkdir -p packages/apps/build && yarn run build:i18n && cd packages/apps && yarn pezkuwi-exec-webpack --config webpack.config.cjs", @@ -51,11 +48,9 @@ "test:skipped": "echo 'tests skipped'" }, "devDependencies": { - "@crustio/crust-pin": "^1.0.0", "@pezkuwi/dev": "^0.85.7", "@pezkuwi/extension-dapp": "^0.62.20", "@pezkuwi/extension-inject": "^0.62.20", - "@pinata/sdk": "^1.2.1", "@types/chart.js": "^2.9.41", "@types/file-saver": "^2.0.7", "@types/react-beautiful-dnd": "^13.1.7", diff --git a/packages/apps/public/ipfs/index.html b/packages/apps/public/ipfs/index.html deleted file mode 100644 index 00bfc40..0000000 --- a/packages/apps/public/ipfs/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - Redirecting to ipfs gateway - - - - -

Redirecting to

-

https://ipfs.io/ipfs/QmfP9XAMVLZZ8yUr7kQ6CkCTRBefWJPMkHVpArFXGVPUQ3/

- - \ No newline at end of file diff --git a/packages/apps/public/ipfs/pin.json b/packages/apps/public/ipfs/pin.json deleted file mode 100644 index 1e60cd4..0000000 --- a/packages/apps/public/ipfs/pin.json +++ /dev/null @@ -1 +0,0 @@ -{"IpfsHash":"QmfP9XAMVLZZ8yUr7kQ6CkCTRBefWJPMkHVpArFXGVPUQ3","PinSize":38434264,"Timestamp":"2025-11-13T10:57:56.829Z","ID":"4f80829e-924c-4c74-8f0b-51ad7dccdbe7","Name":"dotapps.io","NumberOfFiles":189,"MimeType":"directory","GroupId":null,"Keyvalues":null} \ No newline at end of file diff --git a/scripts/ipfsUpload.mjs b/scripts/ipfsUpload.mjs deleted file mode 100755 index f73a990..0000000 --- a/scripts/ipfsUpload.mjs +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright 2017-2026 @pezkuwi/apps authors & contributors -// SPDX-License-Identifier: Apache-2.0 - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-nocheck Currently we have a bit too many of these - -import CrustPinner from '@crustio/crust-pin'; -import PinataSDK from '@pinata/sdk'; -// @ts-expect-error No definition file -import cloudflare from 'dnslink-cloudflare'; -import fs from 'node:fs'; - -// @ts-expect-error No definition file -import { execSync } from '@pezkuwi/dev/scripts/util.mjs'; - -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore Using ignore since the file won't be there in dev -import { createWsEndpoints } from '../packages/apps-config/build/endpoints/index.js'; - -console.log('$ scripts/ipfsUpload.mjs', process.argv.slice(2).join(' ')); - -// https://gateway.pinata.cloud/ipfs/ -const GATEWAY = 'https://ipfs.io/ipfs/'; -const DOMAIN = 'dotapps.io'; -const DST = 'packages/apps/build'; -const SRC = 'packages/apps/public'; -const WOPTS = { encoding: 'utf8', flag: 'w' }; -const PINMETA = { name: DOMAIN }; - -const repo = `https://${process.env.GH_PAT}@github.com/${process.env.GITHUB_REPOSITORY}.git`; - -async function wait (delay = 2500) { - return new Promise((resolve) => { - setTimeout(() => resolve(undefined), delay); - }); -} - -function createPinata () { - try { - // For 1.2.1 - return PinataSDK(process.env.PINATA_API_KEY, process.env.PINATA_SECRET_KEY); - // For 2.1.0+ - // return new PinataSDK({ - // pinataApiKey: process.env.PINATA_API_KEY, - // pinataSecretApiKey: process.env.PINATA_SECRET_KEY - // }); - } catch { - console.error('Unable to create Pinata'); - } - - return null; -} - -function createCrust () { - try { - // eslint-disable-next-line new-cap - return new CrustPinner.default(process.env.CRUST_SEEDS); - } catch { - console.error('Unable to create Crust'); - } - - return null; -} - -const pinata = createPinata(); -const crust = createCrust(); - -function writeFiles (name, content) { - [DST, SRC].forEach((root) => - fs.writeFileSync(`${root}/ipfs/${name}`, content, WOPTS) - ); -} - -function updateGh (hash) { - execSync('git add --all .'); - execSync(`git commit --no-status --quiet -m "[CI Skip] publish/ipfs ${hash} - - -skip-checks: true"`); - execSync(`git push ${repo} HEAD:${process.env.GITHUB_REF}`, true); -} - -async function pin () { - if (!pinata) { - console.error('Pinata not available, cannot pin'); - - return; - } - - // 1. Pin on pinata - const result = await pinata.pinFromFS(DST, { pinataMetadata: PINMETA }); - const url = `${GATEWAY}${result.IpfsHash}/`; - const html = ` - - - Redirecting to ipfs gateway - - - - -

Redirecting to

-

${url}

- -`; - - writeFiles('index.html', html); - writeFiles('pin.json', JSON.stringify(result)); - updateGh(result.IpfsHash); - - // 2. Decentralized pin on Crust - if (crust) { - await crust.pin(result.IpfsHash).catch(console.error); - } - - console.log(`Pinned ${result.IpfsHash}`); - - await wait(); - - return result.IpfsHash; -} - -async function unpin (exclude) { - if (!pinata) { - console.error('Pinata not available, cannot unpin'); - - return; - } - - const result = await pinata.pinList({ metadata: PINMETA, status: 'pinned' }); - - await wait(); - - console.log('Available Pinata pins', result.rows); - - if (result.count > 1) { - const hashes = result.rows - .map((r) => r.ipfs_pin_hash) - .filter((hash) => hash !== exclude); - - for (let i = 0, count = hashes.length; i < count; i++) { - const hash = hashes[i]; - - try { - await pinata.unpin(hash); - - console.log(`Unpinned ${hash}`); - } catch (error) { - console.error(`Failed unpinning ${hash}`, error); - } - - await wait(); - } - } -} - -async function dnslink (hash) { - const records = createWsEndpoints(() => '') - .map((e) => e.dnslink) - .reduce((all, dnslink) => { - if (dnslink && !all.includes(dnslink)) { - all.push(dnslink); - } - - return all; - }, [null]) - .map((sub) => - ['_dnslink', sub, DOMAIN] - .filter((entry) => !!entry) - .join('.') - ); - - for (let i = 0, count = records.length; i < count; i++) { - const record = records[i]; - - try { - await cloudflare( - { token: process.env.CF_API_TOKEN }, - { link: `/ipfs/${hash}`, record, zone: DOMAIN } - ); - - console.log(`Updated dnslink ${record}`); - } catch (error) { - console.error(`Failed updating dnslink ${record}`, error); - } - - await wait(); - } - - console.log(`Dnslink ${hash} for ${records.join(', ')}`); -} - -async function main () { - const pkgJson = JSON.parse(fs.readFileSync('package.json', 'utf-8')); - - // only run on non-beta versions - if (!pkgJson.version.includes('-')) { - console.log('Pinning'); - - const hash = await pin(); - - await dnslink(hash); - await unpin(hash); - - console.log('Completed'); - } else { - console.log('Skipping'); - } -} - -main() - .catch(console.error) - .finally(() => process.exit(0)); diff --git a/start.log b/start.log deleted file mode 100644 index 5f6c3c1..0000000 --- a/start.log +++ /dev/null @@ -1,38 +0,0 @@ -$ pezkuwi-dev-clean-build -$ webpack serve --config webpack.serve.cjs --port 3000 - [webpack-dev-server] Project is running at: - [webpack-dev-server] Loopback: http://localhost:3000/ - [webpack-dev-server] On Your Network (IPv4): http://172.31.134.70:3000/ - [webpack-dev-server] Content not from webpack is served from '/home/mamostehp/pezkuwi-apps/packages/apps/build' directory -assets by info 53.4 MiB [immutable] - assets by status 51.2 MiB [big] 49 assets - + 33 assets -assets by path locales/ 2.57 MiB - assets by path locales/en/*.json 317 KiB - asset locales/en/translation.json 89.1 KiB [emitted] [from: public/locales/en/translation.json] [copied] - + 57 assets - + 19 assets -asset kurdistan_map.png 446 KiB [emitted] [from: public/kurdistan_map.png] [copied] [big] -asset favicon.ico 37.2 KiB [emitted] [from: public/favicon.ico] [copied] -asset index.html 13.3 KiB [emitted] -asset manifest.json 335 bytes [emitted] [from: public/manifest.json] [copied] -asset ipfs/pin.json 258 bytes [emitted] [from: public/ipfs/pin.json] [copied] -asset env-config.js 199 bytes [emitted] [from: public/env-config.js] [copied] -asset _headers 77 bytes [emitted] [from: public/_headers] [copied] -Entrypoint main [big] 39.6 MiB = 63 assets -orphan modules 17 MiB (javascript) 13.5 KiB (runtime) [orphan] 4483 modules -runtime modules 66.7 KiB 30 modules -built modules 48.1 MiB (javascript) 551 KiB (css/mini-extract) 1 bytes (asset) [built] - modules by path ../ 48 MiB (javascript) 551 KiB (css/mini-extract) 1 bytes (asset) - javascript modules 41.3 MiB 3374 modules - json modules 6.73 MiB - optional modules 6.73 MiB [optional] 6 modules - ../../node_modules/secp256k1/lib/messages.json 2.2 KiB [built] [code generated] - ../../node_modules/elliptic/package.json 1.11 KiB [built] [code generated] - css modules 551 KiB - css ../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/semantic-ui-css/semantic.min.css 99 bytes [built] [code generated] - css ../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/semantic-ui-css/semantic.min.css (1) 551 KiB [built] [code generated] - ../../node_modules/@acala-network/chopsticks-executor/dist/esm/chopsticks_ex...(truncated) 1 bytes (asset) 42 bytes (javascript) [built] [code generated] - + 15 modules -webpack 5.104.1 compiled successfully in 21060 ms - [webpack-dev-server] Gracefully shutting down. To force exit, press ^C again. Please wait... diff --git a/yarn.lock b/yarn.lock index 97e42ac..3998cc2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -292,17 +292,7 @@ __metadata: languageName: node linkType: hard -"@crustio/crust-pin@npm:^1.0.0": - version: 1.0.0 - resolution: "@crustio/crust-pin@npm:1.0.0" - dependencies: - "@crustio/type-definitions": "npm:^1.2.0" - "@polkadot/api": "npm:^4.2.1" - checksum: 10/3450f436b51e1b920371827cdf0677b663e3487a227e7e8748abaf6dd558fb9a87fc0661b6f559321c2abc82069415d7e2f9ded9cc3c52754add224612d38556 - languageName: node - linkType: hard - -"@crustio/type-definitions@npm:1.3.0, @crustio/type-definitions@npm:^1.2.0": +"@crustio/type-definitions@npm:1.3.0": version: 1.3.0 resolution: "@crustio/type-definitions@npm:1.3.0" dependencies: @@ -3315,19 +3305,6 @@ __metadata: languageName: node linkType: hard -"@pinata/sdk@npm:^1.2.1": - version: 1.2.1 - resolution: "@pinata/sdk@npm:1.2.1" - dependencies: - axios: "npm:^0.21.1" - base-path-converter: "npm:^1.0.2" - form-data: "npm:^2.3.3" - is-ipfs: "npm:^0.6.0" - recursive-fs: "npm:^1.1.2" - checksum: 10/ebb39b4ad7352fc593147905eb4ead7bc729116c5d27aec5d2bb4a8e66c098aecdde1dc5f324e138a9edab108f90ecf8171d4dba279b737c6e331c69b71250b5 - languageName: node - linkType: hard - "@pinojs/redact@npm:^0.4.0": version: 0.4.0 resolution: "@pinojs/redact@npm:0.4.0" @@ -3667,21 +3644,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-derive@npm:4.17.1": - version: 4.17.1 - resolution: "@polkadot/api-derive@npm:4.17.1" - dependencies: - "@babel/runtime": "npm:^7.14.6" - "@polkadot/api": "npm:4.17.1" - "@polkadot/rpc-core": "npm:4.17.1" - "@polkadot/types": "npm:4.17.1" - "@polkadot/util": "npm:^6.11.1" - "@polkadot/util-crypto": "npm:^6.11.1" - "@polkadot/x-rxjs": "npm:^6.11.1" - checksum: 10/852ddc827ef8ce1ef013f20dcc45aa22af6f3a9258a1bc3bb48420ee6dd783dd1b3da925baadf5be701fe12de6bc8289513546a64aff88750c59178f8509b647 - languageName: node - linkType: hard - "@polkadot/api-derive@npm:7.15.1": version: 7.15.1 resolution: "@polkadot/api-derive@npm:7.15.1" @@ -3793,26 +3755,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/api@npm:4.17.1, @polkadot/api@npm:^4.2.1": - version: 4.17.1 - resolution: "@polkadot/api@npm:4.17.1" - dependencies: - "@babel/runtime": "npm:^7.14.6" - "@polkadot/api-derive": "npm:4.17.1" - "@polkadot/keyring": "npm:^6.11.1" - "@polkadot/metadata": "npm:4.17.1" - "@polkadot/rpc-core": "npm:4.17.1" - "@polkadot/rpc-provider": "npm:4.17.1" - "@polkadot/types": "npm:4.17.1" - "@polkadot/types-known": "npm:4.17.1" - "@polkadot/util": "npm:^6.11.1" - "@polkadot/util-crypto": "npm:^6.11.1" - "@polkadot/x-rxjs": "npm:^6.11.1" - eventemitter3: "npm:^4.0.7" - checksum: 10/b56480346204fb498abf030ad2f5239910b197977c516365c25106b1e9e01a011ac40dc1a587c3e9332bd25f7de62fa9c9bfdc38bf35b760a985ae22d95bf16f - languageName: node - linkType: hard - "@polkadot/api@npm:7.15.1, @polkadot/api@npm:^7.2.1": version: 7.15.1 resolution: "@polkadot/api@npm:7.15.1" @@ -3919,7 +3861,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/keyring@npm:^6.11.1, @polkadot/keyring@npm:^6.9.1": +"@polkadot/keyring@npm:^6.9.1": version: 6.11.1 resolution: "@polkadot/keyring@npm:6.11.1" dependencies: @@ -4154,20 +4096,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/rpc-core@npm:4.17.1": - version: 4.17.1 - resolution: "@polkadot/rpc-core@npm:4.17.1" - dependencies: - "@babel/runtime": "npm:^7.14.6" - "@polkadot/metadata": "npm:4.17.1" - "@polkadot/rpc-provider": "npm:4.17.1" - "@polkadot/types": "npm:4.17.1" - "@polkadot/util": "npm:^6.11.1" - "@polkadot/x-rxjs": "npm:^6.11.1" - checksum: 10/3d1ac506f044d1e204d3121fe43ef67e916bb5ded1d24b6139ac2d7f1ae5509e550275627068b931ba209b075a09f9259db0dce80162ac5cdb1bd07ebdb9e089 - languageName: node - linkType: hard - "@polkadot/rpc-core@npm:7.15.1": version: 7.15.1 resolution: "@polkadot/rpc-core@npm:7.15.1" @@ -4268,22 +4196,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/rpc-provider@npm:4.17.1": - version: 4.17.1 - resolution: "@polkadot/rpc-provider@npm:4.17.1" - dependencies: - "@babel/runtime": "npm:^7.14.6" - "@polkadot/types": "npm:4.17.1" - "@polkadot/util": "npm:^6.11.1" - "@polkadot/util-crypto": "npm:^6.11.1" - "@polkadot/x-fetch": "npm:^6.11.1" - "@polkadot/x-global": "npm:^6.11.1" - "@polkadot/x-ws": "npm:^6.11.1" - eventemitter3: "npm:^4.0.7" - checksum: 10/18a44cbee748f7c600013dcd3efaf99df922a995957683d167d551573a718e2c7eaa7fdd49da39d24c1b8c8168ddb38c4f443c7863284b3f3a0969b56f789f08 - languageName: node - linkType: hard - "@polkadot/rpc-provider@npm:7.15.1": version: 7.15.1 resolution: "@polkadot/rpc-provider@npm:7.15.1" @@ -5365,18 +5277,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-fetch@npm:^6.11.1": - version: 6.11.1 - resolution: "@polkadot/x-fetch@npm:6.11.1" - dependencies: - "@babel/runtime": "npm:^7.14.6" - "@polkadot/x-global": "npm:6.11.1" - "@types/node-fetch": "npm:^2.5.10" - node-fetch: "npm:^2.6.1" - checksum: 10/06d96c8a3ece6b11651948f644823de28aed0eea416466fc00b9dfa60b89a39476b679784c4b64c7ca541a95cb6552030f66974df58269eda0024721850ff1be - languageName: node - linkType: hard - "@polkadot/x-fetch@npm:^8.7.1": version: 8.7.1 resolution: "@polkadot/x-fetch@npm:8.7.1" @@ -5425,7 +5325,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-global@npm:6.11.1, @polkadot/x-global@npm:^6.11.1": +"@polkadot/x-global@npm:6.11.1": version: 6.11.1 resolution: "@polkadot/x-global@npm:6.11.1" dependencies: @@ -5726,18 +5626,6 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-ws@npm:^6.11.1": - version: 6.11.1 - resolution: "@polkadot/x-ws@npm:6.11.1" - dependencies: - "@babel/runtime": "npm:^7.14.6" - "@polkadot/x-global": "npm:6.11.1" - "@types/websocket": "npm:^1.0.3" - websocket: "npm:^1.0.34" - checksum: 10/056b7e03d7bc643ab2d4d3beba7fa97e3dcab8c9cb152677610214ecc34f0c02c2ae7e40d33903c8aeafa0f9c20e106d94785849ca1b9c890e031b1ecd98a9b8 - languageName: node - linkType: hard - "@polkadot/x-ws@npm:^8.7.1": version: 8.7.1 resolution: "@polkadot/x-ws@npm:8.7.1" @@ -6866,7 +6754,7 @@ __metadata: languageName: node linkType: hard -"@types/node-fetch@npm:^2.5.10, @types/node-fetch@npm:^2.6.1, @types/node-fetch@npm:^2.6.2": +"@types/node-fetch@npm:^2.6.1, @types/node-fetch@npm:^2.6.2": version: 2.6.13 resolution: "@types/node-fetch@npm:2.6.13" dependencies: @@ -7205,7 +7093,7 @@ __metadata: languageName: node linkType: hard -"@types/websocket@npm:^1.0.3, @types/websocket@npm:^1.0.5": +"@types/websocket@npm:^1.0.5": version: 1.0.10 resolution: "@types/websocket@npm:1.0.10" dependencies: @@ -8564,15 +8452,6 @@ __metadata: languageName: node linkType: hard -"axios@npm:^0.21.1": - version: 0.21.4 - resolution: "axios@npm:0.21.4" - dependencies: - follow-redirects: "npm:^1.14.0" - checksum: 10/da644592cb6f8f9f8c64fdabd7e1396d6769d7a4c1ea5f8ae8beb5c2eb90a823e3a574352b0b934ac62edc762c0f52647753dc54f7d07279127a7e5c4cd20272 - languageName: node - linkType: hard - "axios@npm:^1.6.2, axios@npm:^1.8.4": version: 1.13.2 resolution: "axios@npm:1.13.2" @@ -8682,14 +8561,7 @@ __metadata: languageName: node linkType: hard -"base-path-converter@npm:^1.0.2": - version: 1.0.2 - resolution: "base-path-converter@npm:1.0.2" - checksum: 10/dc17bc8fd480e844b1fa496dc4c2ae0b29e70d144aae984f750aae52b7cfb691d43f43bf2c67f7220bdaf787284788923c792ca2840e62e716887b21011c53e5 - languageName: node - linkType: hard - -"base-x@npm:^3.0.2, base-x@npm:^3.0.8": +"base-x@npm:^3.0.8": version: 3.0.11 resolution: "base-x@npm:3.0.11" dependencies: @@ -8980,15 +8852,6 @@ __metadata: languageName: node linkType: hard -"bs58@npm:^4.0.1": - version: 4.0.1 - resolution: "bs58@npm:4.0.1" - dependencies: - base-x: "npm:^3.0.2" - checksum: 10/b3c5365bb9e0c561e1a82f1a2d809a1a692059fae016be233a6127ad2f50a6b986467c3a50669ce4c18929dcccb297c5909314dd347a25a68c21b68eb3e95ac2 - languageName: node - linkType: hard - "btoa@npm:^1.2.1": version: 1.2.1 resolution: "btoa@npm:1.2.1" @@ -9019,7 +8882,7 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.5.0, buffer@npm:^5.6.0": +"buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" dependencies: @@ -9439,32 +9302,6 @@ __metadata: languageName: node linkType: hard -"cids@npm:~0.7.0": - version: 0.7.5 - resolution: "cids@npm:0.7.5" - dependencies: - buffer: "npm:^5.5.0" - class-is: "npm:^1.1.0" - multibase: "npm:~0.6.0" - multicodec: "npm:^1.0.0" - multihashes: "npm:~0.4.15" - checksum: 10/b916b0787e238dd9f84fb5e155333cadf07fd7ad34ea8dbd47f98bb618eecc9c70760767c0966d0eae73050c4fa6080fdc387e515565b009d2126253c7775fac - languageName: node - linkType: hard - -"cids@npm:~0.8.0": - version: 0.8.3 - resolution: "cids@npm:0.8.3" - dependencies: - buffer: "npm:^5.6.0" - class-is: "npm:^1.1.0" - multibase: "npm:^1.0.0" - multicodec: "npm:^1.0.1" - multihashes: "npm:^1.0.1" - checksum: 10/2772d22314e80e4baf3ca3c82b0468b712ab342472ede571609837438fba1d24259cd3c6d9751a868485d8bc373c122f6847b0df91b16cd77ce65f7709294ec9 - languageName: node - linkType: hard - "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": version: 1.0.7 resolution: "cipher-base@npm:1.0.7" @@ -9476,13 +9313,6 @@ __metadata: languageName: node linkType: hard -"class-is@npm:^1.1.0": - version: 1.1.0 - resolution: "class-is@npm:1.1.0" - checksum: 10/8147a3e4ce86eb103d78621d665b87e8e33fcb3f54932fdca894b8222820903b43b2f6b4335d8822104702a5dc904c8f187127fdea4e7d48d905488b35c9e6a7 - languageName: node - linkType: hard - "classnames@npm:^2.2.6": version: 2.5.1 resolution: "classnames@npm:2.5.1" @@ -12469,7 +12299,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.0, follow-redirects@npm:^1.15.6": +"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.6": version: 1.15.11 resolution: "follow-redirects@npm:1.15.11" peerDependenciesMeta: @@ -12498,20 +12328,6 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^2.3.3": - version: 2.5.5 - resolution: "form-data@npm:2.5.5" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - es-set-tostringtag: "npm:^2.1.0" - hasown: "npm:^2.0.2" - mime-types: "npm:^2.1.35" - safe-buffer: "npm:^5.2.1" - checksum: 10/4b6a8d07bb67089da41048e734215f68317a8e29dd5385a972bf5c458a023313c69d3b5d6b8baafbb7f808fa9881e0e2e030ffe61e096b3ddc894c516401271d - languageName: node - linkType: hard - "form-data@npm:^4.0.0, form-data@npm:^4.0.4": version: 4.0.5 resolution: "form-data@npm:4.0.5" @@ -13918,7 +13734,7 @@ __metadata: languageName: node linkType: hard -"ip-regex@npm:^4.0.0, ip-regex@npm:^4.3.0": +"ip-regex@npm:^4.3.0": version: 4.3.0 resolution: "ip-regex@npm:4.3.0" checksum: 10/7ff904b891221b1847f3fdf3dbb3e6a8660dc39bc283f79eb7ed88f5338e1a3d1104b779bc83759159be266249c59c2160e779ee39446d79d4ed0890dfd06f08 @@ -14176,29 +13992,6 @@ __metadata: languageName: node linkType: hard -"is-ip@npm:^3.1.0": - version: 3.1.0 - resolution: "is-ip@npm:3.1.0" - dependencies: - ip-regex: "npm:^4.0.0" - checksum: 10/da2c2b282407194adf2320bade0bad94be9c9d0bdab85ff45b1b62d8185f31c65dff3884519d57bf270277e5ea2046c7916a6e5a6db22fe4b7ddcdd3760f23eb - languageName: node - linkType: hard - -"is-ipfs@npm:^0.6.0": - version: 0.6.3 - resolution: "is-ipfs@npm:0.6.3" - dependencies: - bs58: "npm:^4.0.1" - cids: "npm:~0.7.0" - mafmt: "npm:^7.0.0" - multiaddr: "npm:^7.2.1" - multibase: "npm:~0.6.0" - multihashes: "npm:~0.4.13" - checksum: 10/764f0c5837f266ee3940e3ebf098fa5797e2eef0224b226dd3bba094d099130897f9de8aadbb15e98f1df5810dfe2e511895dd2be2746f598dc9a07c5664694d - languageName: node - linkType: hard - "is-ipfs@npm:^8.0.1": version: 8.0.4 resolution: "is-ipfs@npm:8.0.4" @@ -15180,15 +14973,6 @@ __metadata: languageName: node linkType: hard -"mafmt@npm:^7.0.0": - version: 7.1.0 - resolution: "mafmt@npm:7.1.0" - dependencies: - multiaddr: "npm:^7.3.0" - checksum: 10/b81405cb133b8e0a6787cc0e1529ddaf6a47478811a14190c048e5a6c260f99e118b3df00ca60caccbe20a63b5eacf8ffe29950102932137ea36f962196fcea4 - languageName: node - linkType: hard - "magic-string@npm:^0.25.7": version: 0.25.9 resolution: "magic-string@npm:0.25.9" @@ -15737,7 +15521,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:^2.1.35, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -16072,50 +15856,6 @@ __metadata: languageName: node linkType: hard -"multiaddr@npm:^7.2.1, multiaddr@npm:^7.3.0": - version: 7.5.0 - resolution: "multiaddr@npm:7.5.0" - dependencies: - buffer: "npm:^5.5.0" - cids: "npm:~0.8.0" - class-is: "npm:^1.1.0" - is-ip: "npm:^3.1.0" - multibase: "npm:^0.7.0" - varint: "npm:^5.0.0" - checksum: 10/4ac0a4c3c416dd8dd310591783c7c7d30ede61a25f17ab2ffd0ec687b235ea697745ee26ba92f8725763162c8366a71eda031b4281b83392a5fba85490b9dfb1 - languageName: node - linkType: hard - -"multibase@npm:^0.7.0": - version: 0.7.0 - resolution: "multibase@npm:0.7.0" - dependencies: - base-x: "npm:^3.0.8" - buffer: "npm:^5.5.0" - checksum: 10/a5cbbf00b8aa61bcb92a706e210d8f258e8413cff2893584fedbc316c98bf2a44b8f648b57c124ddfaa29750c3b686ee5ba973cb8da84a896c19d63101b09445 - languageName: node - linkType: hard - -"multibase@npm:^1.0.0, multibase@npm:^1.0.1": - version: 1.0.1 - resolution: "multibase@npm:1.0.1" - dependencies: - base-x: "npm:^3.0.8" - buffer: "npm:^5.5.0" - checksum: 10/f04306f3e809ea1d49330d87ebb6b93878182bc782b58790c2044aa2f4f0a625f5e8a155b4e1b6f327a6315f005ce49dd1e3b7fc13136895ff43ed1f42276d6d - languageName: node - linkType: hard - -"multibase@npm:~0.6.0": - version: 0.6.1 - resolution: "multibase@npm:0.6.1" - dependencies: - base-x: "npm:^3.0.8" - buffer: "npm:^5.5.0" - checksum: 10/c9e3bf20dc1b109019b94b14a76731ea0a6b0e654a4ef627ba154bfc2b8602ac43b160c44d8245d18cd6a9ed971826efb204230f22b929c8b3e72da13dbc1859 - languageName: node - linkType: hard - "multicast-dns@npm:^7.2.5": version: 7.2.5 resolution: "multicast-dns@npm:7.2.5" @@ -16128,16 +15868,6 @@ __metadata: languageName: node linkType: hard -"multicodec@npm:^1.0.0, multicodec@npm:^1.0.1": - version: 1.0.4 - resolution: "multicodec@npm:1.0.4" - dependencies: - buffer: "npm:^5.6.0" - varint: "npm:^5.0.0" - checksum: 10/3a78ac54d3715e6b095a1805f63b4c4e7d5bb4642445691c0c4e6442cad9f97823469634e73ee362ba748596570db1050d69d5cc74a88928b1e9658916cdfbcd - languageName: node - linkType: hard - "multiformats@npm:^12.1.3": version: 12.1.3 resolution: "multiformats@npm:12.1.3" @@ -16152,28 +15882,6 @@ __metadata: languageName: node linkType: hard -"multihashes@npm:^1.0.1": - version: 1.0.1 - resolution: "multihashes@npm:1.0.1" - dependencies: - buffer: "npm:^5.6.0" - multibase: "npm:^1.0.1" - varint: "npm:^5.0.0" - checksum: 10/99b1c5321265b5a16073a38f4fbd8952bf7dbf7362d90961e0b2838c7798ec463b81021d4bf1c5314ec7ad39d1eaf533acc672156bbe3cf771663348b7f2721d - languageName: node - linkType: hard - -"multihashes@npm:~0.4.13, multihashes@npm:~0.4.15": - version: 0.4.21 - resolution: "multihashes@npm:0.4.21" - dependencies: - buffer: "npm:^5.5.0" - multibase: "npm:^0.7.0" - varint: "npm:^5.0.0" - checksum: 10/a482d9ba7ed0ad41db22ca589f228e4b7a30207a229a64dfc9888796752314fca00a8d03025fe40d6d73965bbb246f54b73626c5a235463e30c06c7bf7a8785f - languageName: node - linkType: hard - "mute-stream@npm:0.0.8, mute-stream@npm:~0.0.4": version: 0.0.8 resolution: "mute-stream@npm:0.0.8" @@ -16330,7 +16038,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7, node-fetch@npm:^2.7.0": +"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.7, node-fetch@npm:^2.7.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -17067,11 +16775,9 @@ __metadata: version: 0.0.0-use.local resolution: "pezkuwi-apps@workspace:." dependencies: - "@crustio/crust-pin": "npm:^1.0.0" "@pezkuwi/dev": "npm:^0.85.7" "@pezkuwi/extension-dapp": "npm:^0.62.20" "@pezkuwi/extension-inject": "npm:^0.62.20" - "@pinata/sdk": "npm:^1.2.1" "@types/chart.js": "npm:^2.9.41" "@types/file-saver": "npm:^2.0.7" "@types/react-beautiful-dnd": "npm:^13.1.7" @@ -18187,16 +17893,6 @@ __metadata: languageName: node linkType: hard -"recursive-fs@npm:^1.1.2": - version: 1.1.2 - resolution: "recursive-fs@npm:1.1.2" - bin: - recursive-copy: ./bin/recursive-copy - recursive-delete: ./bin/recursive-delete - checksum: 10/f0226cfe4ec5e5d7759bb4ae16a73ac00c2586637a519cac3e5b742d915d6f007beb7086db1a2acad10976bf36ba871240faf385233af60d83cfdb50fce65df3 - languageName: node - linkType: hard - "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -21134,13 +20830,6 @@ __metadata: languageName: node linkType: hard -"varint@npm:^5.0.0": - version: 5.0.2 - resolution: "varint@npm:5.0.2" - checksum: 10/e1a66bf9a6cea96d1f13259170d4d41b845833acf3a9df990ea1e760d279bd70d5b1f4c002a50197efd2168a2fd43eb0b808444600fd4d23651e8d42fe90eb05 - languageName: node - linkType: hard - "vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2"