From f6ce73055bc58ce5759ad9810b0261f3a0cb105d Mon Sep 17 00:00:00 2001 From: neocybereth Date: Wed, 8 Oct 2025 20:07:51 +1300 Subject: [PATCH 01/17] fix: remove unused dependencies --- apps/namadillo/package.json | 31 +------------------------------ 1 file changed, 1 insertion(+), 30 deletions(-) diff --git a/apps/namadillo/package.json b/apps/namadillo/package.json index 521d44b2d3..09a6aa72f5 100644 --- a/apps/namadillo/package.json +++ b/apps/namadillo/package.json @@ -7,7 +7,6 @@ "license": "MIT", "private": true, "dependencies": { - "@chain-registry/client": "^1.53.5", "@cosmjs/encoding": "^0.32.3", "@keplr-wallet/types": "^0.12.136", "@namada/chain-registry": "^1.3.0", @@ -16,16 +15,13 @@ "@tailwindcss/container-queries": "^0.1.1", "@tanstack/query-core": "^5.40.0", "@tanstack/react-query": "^5.40.0", - "@tanstack/react-query-persist-client": "^5.40.0", "animejs": "^3.2.2", "bignumber.js": "^9.1.1", "clsx": "^2.1.1", "comlink": "^4.4.1", - "crypto-browserify": "^3.12.0", "fathom-client": "^3.7.2", "fp-ts": "^2.16.1", "framer-motion": "^11.3.28", - "idb-keyval": "^6.2.1", "invariant": "^2.2.4", "io-ts": "^2.2.21", "jotai": "^2.6.3", @@ -36,15 +32,11 @@ "react-dom": "^18.3.1", "react-icons": "^5.1.0", "react-paginate": "^8.2.0", - "react-qr-code": "^2.0.15", "react-router-dom": "^6.26.1", "semver": "^7.6.3", "tailwind-merge": "^2.3.0", "toml": "^3.0.0", - "traverse": "^0.6.9", - "vite-plugin-checker": "^0.8.0", - "web-vitals": "^2.1.4", - "wonka": "^6.3.4" + "vite-plugin-checker": "^0.8.0" }, "scripts": { "start:proxy": "node ./scripts/startProxies.js", @@ -78,12 +70,8 @@ ] }, "devDependencies": { - "@eslint/js": "^9.9.1", - "@namada/sdk-node": "^0.20.8", "@namada/vite-esbuild-plugin": "^1.0.1", "@playwright/test": "^1.24.1", - "@svgr/webpack": "^6.5.1", - "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.5.0", "@testing-library/react": "^16.0.0", "@testing-library/user-event": "^14.5.2", @@ -97,35 +85,18 @@ "@types/react-dom": "^18.3.0", "@types/react-paginate": "^7.1.2", "@types/semver": "^7.5.8", - "@types/styled-components": "^5.1.22", - "@types/traverse": "^0.6.36", - "@types/w3c-web-usb": "^1.0.10", "@vitejs/plugin-react": "^4.3.1", "autoprefixer": "^10.4.16", "axios": "^1.8.2", - "dotenv": "^16.0.3", "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "eslint-import-resolver-typescript": "^3.6.3", - "eslint-plugin-import": "^2.30.0", - "eslint-plugin-react": "^7.35.2", - "eslint-plugin-react-hooks": "^4.6.0", - "globals": "^15.9.0", "history": "^5.3.0", "identity-obj-proxy": "^3.0.0", - "jest": "^29.7.0", - "jest-create-mock-instance": "^2.0.0", "jest-environment-jsdom": "^29.7.0", - "jest-fetch-mock": "^3.0.3", "jest-transformer-svg": "^2.0.2", - "local-cors-proxy": "^1.1.0", "postcss": "^8.4.32", "tailwindcss": "^3.4.0", "ts-jest": "^29.2.5", - "ts-node": "^10.9.1", - "tsconfig-paths-webpack-plugin": "^4.1.0", "typescript": "^5.5.4", - "typescript-plugin-css-modules": "^5.1.0", "vite": "^5.4.3", "vite-plugin-node-polyfills": "^0.22.0", "vite-plugin-pwa": "^0.21.1", From 1c8faccfb04526e64cbe0a8d962ca92ad93db31e Mon Sep 17 00:00:00 2001 From: neocybereth Date: Wed, 8 Oct 2025 20:08:08 +1300 Subject: [PATCH 02/17] fix: remove unused dependencies --- yarn.lock | 788 ++---------------------------------------------------- 1 file changed, 19 insertions(+), 769 deletions(-) diff --git a/yarn.lock b/yarn.lock index 5c675d0247..aa818af02b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,13 +12,6 @@ __metadata: languageName: node linkType: hard -"@adobe/css-tools@npm:~4.3.1": - version: 4.3.3 - resolution: "@adobe/css-tools@npm:4.3.3" - checksum: 10c0/e76e712df713964b87cdf2aca1f0477f19bebd845484d5fcba726d3ec7782366e2f26ec8cb2dcfaf47081a5c891987d8a9f5c3f30d11e1eb3c1848adc27fcb24 - languageName: node - linkType: hard - "@adraffy/ens-normalize@npm:1.10.1": version: 1.10.1 resolution: "@adraffy/ens-normalize@npm:1.10.1" @@ -69,7 +62,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.26.2": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.26.2": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" dependencies: @@ -1709,18 +1702,6 @@ __metadata: languageName: node linkType: hard -"@chain-registry/client@npm:^1.53.5": - version: 1.53.47 - resolution: "@chain-registry/client@npm:1.53.47" - dependencies: - "@chain-registry/types": "npm:^0.50.47" - "@chain-registry/utils": "npm:^1.51.47" - bfs-path: "npm:^1.0.2" - cross-fetch: "npm:^3.1.5" - checksum: 10c0/ed62ff0a6bcb5dbc2cc7c83fadf3e107d9958abff0b20652e5c9c95646af96d10c3804da6c9bca2c21a847d00347c8187d187c82613e6533af12cb193faaa3ec - languageName: node - linkType: hard - "@chain-registry/types@npm:^0.50.160": version: 0.50.160 resolution: "@chain-registry/types@npm:0.50.160" @@ -1728,24 +1709,6 @@ __metadata: languageName: node linkType: hard -"@chain-registry/types@npm:^0.50.47": - version: 0.50.47 - resolution: "@chain-registry/types@npm:0.50.47" - checksum: 10c0/2b3516600124efedde4911521a66178c81811a5374a4b83a0050a68bbd4625011f99b1fba967c1d7e96cc70d4d19c429899de7b203969fd26b84bd30ef761e31 - languageName: node - linkType: hard - -"@chain-registry/utils@npm:^1.51.47": - version: 1.51.47 - resolution: "@chain-registry/utils@npm:1.51.47" - dependencies: - "@chain-registry/types": "npm:^0.50.47" - bignumber.js: "npm:9.1.2" - sha.js: "npm:^2.4.11" - checksum: 10c0/7c06fb7c7fd3da492fdfb401cbe053854b9fb50a8db8ef9494e1fb1534cf6ee44e0207bdcacd5c46ab5f0c1c4ad548ab9dd57632607b256704ce9b83c91b86f3 - languageName: node - linkType: hard - "@confio/ics23@npm:^0.6.8": version: 0.6.8 resolution: "@confio/ics23@npm:0.6.8" @@ -2922,13 +2885,6 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:^9.9.1": - version: 9.18.0 - resolution: "@eslint/js@npm:9.18.0" - checksum: 10c0/3938344c5ac7feef4b73fcb30f3c3e753570cea74c24904bb5d07e9c42fcd34fcbc40f545b081356a299e11f360c9c274b348c05fb0113fc3d492e5175eee140 - languageName: node - linkType: hard - "@fluent/syntax@npm:0.19.0": version: 0.19.0 resolution: "@fluent/syntax@npm:0.19.0" @@ -3759,22 +3715,16 @@ __metadata: version: 0.0.0-use.local resolution: "@namada/namadillo@workspace:apps/namadillo" dependencies: - "@chain-registry/client": "npm:^1.53.5" "@cosmjs/encoding": "npm:^0.32.3" - "@eslint/js": "npm:^9.9.1" "@keplr-wallet/types": "npm:^0.12.136" "@namada/chain-registry": "npm:^1.3.0" "@namada/indexer-client": "npm:4.0.3" "@namada/sdk-multicore": "npm:^0.20.8" - "@namada/sdk-node": "npm:^0.20.8" "@namada/vite-esbuild-plugin": "npm:^1.0.1" "@playwright/test": "npm:^1.24.1" - "@svgr/webpack": "npm:^6.5.1" "@tailwindcss/container-queries": "npm:^0.1.1" "@tanstack/query-core": "npm:^5.40.0" "@tanstack/react-query": "npm:^5.40.0" - "@tanstack/react-query-persist-client": "npm:^5.40.0" - "@testing-library/dom": "npm:^10.4.0" "@testing-library/jest-dom": "npm:^6.5.0" "@testing-library/react": "npm:^16.0.0" "@testing-library/user-event": "npm:^14.5.2" @@ -3788,9 +3738,6 @@ __metadata: "@types/react-dom": "npm:^18.3.0" "@types/react-paginate": "npm:^7.1.2" "@types/semver": "npm:^7.5.8" - "@types/styled-components": "npm:^5.1.22" - "@types/traverse": "npm:^0.6.36" - "@types/w3c-web-usb": "npm:^1.0.10" "@vitejs/plugin-react": "npm:^4.3.1" animejs: "npm:^3.2.2" autoprefixer: "npm:^10.4.16" @@ -3798,31 +3745,18 @@ __metadata: bignumber.js: "npm:^9.1.1" clsx: "npm:^2.1.1" comlink: "npm:^4.4.1" - crypto-browserify: "npm:^3.12.0" - dotenv: "npm:^16.0.3" eslint: "npm:^8.57.0" - eslint-config-prettier: "npm:^9.1.0" - eslint-import-resolver-typescript: "npm:^3.6.3" - eslint-plugin-import: "npm:^2.30.0" - eslint-plugin-react: "npm:^7.35.2" - eslint-plugin-react-hooks: "npm:^4.6.0" fathom-client: "npm:^3.7.2" fp-ts: "npm:^2.16.1" framer-motion: "npm:^11.3.28" - globals: "npm:^15.9.0" history: "npm:^5.3.0" - idb-keyval: "npm:^6.2.1" identity-obj-proxy: "npm:^3.0.0" invariant: "npm:^2.2.4" io-ts: "npm:^2.2.21" - jest: "npm:^29.7.0" - jest-create-mock-instance: "npm:^2.0.0" jest-environment-jsdom: "npm:^29.7.0" - jest-fetch-mock: "npm:^3.0.3" jest-transformer-svg: "npm:^2.0.2" jotai: "npm:^2.6.3" jotai-tanstack-query: "npm:^0.8.5" - local-cors-proxy: "npm:^1.1.0" lodash.debounce: "npm:^4.0.8" lodash.isequal: "npm:^4.5.0" postcss: "npm:^8.4.32" @@ -3830,25 +3764,18 @@ __metadata: react-dom: "npm:^18.3.1" react-icons: "npm:^5.1.0" react-paginate: "npm:^8.2.0" - react-qr-code: "npm:^2.0.15" react-router-dom: "npm:^6.26.1" semver: "npm:^7.6.3" tailwind-merge: "npm:^2.3.0" tailwindcss: "npm:^3.4.0" toml: "npm:^3.0.0" - traverse: "npm:^0.6.9" ts-jest: "npm:^29.2.5" - ts-node: "npm:^10.9.1" - tsconfig-paths-webpack-plugin: "npm:^4.1.0" typescript: "npm:^5.5.4" - typescript-plugin-css-modules: "npm:^5.1.0" vite: "npm:^5.4.3" vite-plugin-checker: "npm:^0.8.0" vite-plugin-node-polyfills: "npm:^0.22.0" vite-plugin-pwa: "npm:^0.21.1" vite-tsconfig-paths: "npm:^5.0.1" - web-vitals: "npm:^2.1.4" - wonka: "npm:^6.3.4" languageName: unknown linkType: soft @@ -3886,23 +3813,6 @@ __metadata: languageName: node linkType: hard -"@namada/sdk-node@npm:^0.20.8": - version: 0.20.8 - resolution: "@namada/sdk-node@npm:0.20.8" - dependencies: - "@cosmjs/encoding": "npm:^0.29.0" - "@dao-xyz/borsh": "npm:^5.1.5" - "@ledgerhq/hw-transport": "npm:^6.31.4" - "@ledgerhq/hw-transport-webusb": "npm:^6.29.4" - "@zondax/ledger-namada": "npm:^2.0.0" - bignumber.js: "npm:^9.1.1" - buffer: "npm:^6.0.3" - semver: "npm:^7.7.2" - slip44: "npm:^3.0.18" - checksum: 10c0/8632dd2a5995f310d0aa7ad5c11ef8b50a71ca83da33560ff688231c35312e4ed59234aa32b5bc336767917930e20a3ae30538a6bb73eb9825f2196dd5e8c427 - languageName: node - linkType: hard - "@namada/sdk@npm:^0.20.7": version: 0.20.7 resolution: "@namada/sdk@npm:0.20.7" @@ -4087,150 +3997,6 @@ __metadata: languageName: node linkType: hard -"@parcel/watcher-android-arm64@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-android-arm64@npm:2.5.0" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@parcel/watcher-darwin-arm64@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-darwin-arm64@npm:2.5.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@parcel/watcher-darwin-x64@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-darwin-x64@npm:2.5.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@parcel/watcher-freebsd-x64@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-freebsd-x64@npm:2.5.0" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm-glibc@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-linux-arm-glibc@npm:2.5.0" - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm-musl@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-linux-arm-musl@npm:2.5.0" - conditions: os=linux & cpu=arm & libc=musl - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm64-glibc@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.5.0" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm64-musl@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-linux-arm64-musl@npm:2.5.0" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@parcel/watcher-linux-x64-glibc@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-linux-x64-glibc@npm:2.5.0" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@parcel/watcher-linux-x64-musl@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-linux-x64-musl@npm:2.5.0" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@parcel/watcher-win32-arm64@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-win32-arm64@npm:2.5.0" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@parcel/watcher-win32-ia32@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-win32-ia32@npm:2.5.0" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@parcel/watcher-win32-x64@npm:2.5.0": - version: 2.5.0 - resolution: "@parcel/watcher-win32-x64@npm:2.5.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@parcel/watcher@npm:^2.4.1": - version: 2.5.0 - resolution: "@parcel/watcher@npm:2.5.0" - dependencies: - "@parcel/watcher-android-arm64": "npm:2.5.0" - "@parcel/watcher-darwin-arm64": "npm:2.5.0" - "@parcel/watcher-darwin-x64": "npm:2.5.0" - "@parcel/watcher-freebsd-x64": "npm:2.5.0" - "@parcel/watcher-linux-arm-glibc": "npm:2.5.0" - "@parcel/watcher-linux-arm-musl": "npm:2.5.0" - "@parcel/watcher-linux-arm64-glibc": "npm:2.5.0" - "@parcel/watcher-linux-arm64-musl": "npm:2.5.0" - "@parcel/watcher-linux-x64-glibc": "npm:2.5.0" - "@parcel/watcher-linux-x64-musl": "npm:2.5.0" - "@parcel/watcher-win32-arm64": "npm:2.5.0" - "@parcel/watcher-win32-ia32": "npm:2.5.0" - "@parcel/watcher-win32-x64": "npm:2.5.0" - detect-libc: "npm:^1.0.3" - is-glob: "npm:^4.0.3" - micromatch: "npm:^4.0.5" - node-addon-api: "npm:^7.0.0" - node-gyp: "npm:latest" - dependenciesMeta: - "@parcel/watcher-android-arm64": - optional: true - "@parcel/watcher-darwin-arm64": - optional: true - "@parcel/watcher-darwin-x64": - optional: true - "@parcel/watcher-freebsd-x64": - optional: true - "@parcel/watcher-linux-arm-glibc": - optional: true - "@parcel/watcher-linux-arm-musl": - optional: true - "@parcel/watcher-linux-arm64-glibc": - optional: true - "@parcel/watcher-linux-arm64-musl": - optional: true - "@parcel/watcher-linux-x64-glibc": - optional: true - "@parcel/watcher-linux-x64-musl": - optional: true - "@parcel/watcher-win32-arm64": - optional: true - "@parcel/watcher-win32-ia32": - optional: true - "@parcel/watcher-win32-x64": - optional: true - checksum: 10c0/9bad727d8b11e5d150ec47459254544c583adaa47d047b8ef65e1c74aede1a0767dc7fc6b8997649dae07318d6ef39caba6a1c405d306398d5bcd47074ec5d29 - languageName: node - linkType: hard - "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -4825,7 +4591,7 @@ __metadata: languageName: node linkType: hard -"@svgr/webpack@npm:^6.3.1, @svgr/webpack@npm:^6.5.1": +"@svgr/webpack@npm:^6.3.1": version: 6.5.1 resolution: "@svgr/webpack@npm:6.5.1" dependencies: @@ -4866,27 +4632,6 @@ __metadata: languageName: node linkType: hard -"@tanstack/query-persist-client-core@npm:5.64.0": - version: 5.64.0 - resolution: "@tanstack/query-persist-client-core@npm:5.64.0" - dependencies: - "@tanstack/query-core": "npm:5.64.0" - checksum: 10c0/2a6b5dac03a12f07b24b9eb4d286d841db4307965f713c52fd3b1f186d2e8cfd70b2f2404ef435a11fb0242b94910b4c76ca30e094aa2665e250db7e0fbe9935 - languageName: node - linkType: hard - -"@tanstack/react-query-persist-client@npm:^5.40.0": - version: 5.64.0 - resolution: "@tanstack/react-query-persist-client@npm:5.64.0" - dependencies: - "@tanstack/query-persist-client-core": "npm:5.64.0" - peerDependencies: - "@tanstack/react-query": ^5.64.0 - react: ^18 || ^19 - checksum: 10c0/24252c3ec88ba3e2e95ffedffaeec4b5b686967dd362381307f078e223dce700cffc23f75128f8522f759e12e12f98b4774d457a6836b3b0ae628f84756b4622 - languageName: node - linkType: hard - "@tanstack/react-query@npm:^5.40.0": version: 5.64.0 resolution: "@tanstack/react-query@npm:5.64.0" @@ -4898,22 +4643,6 @@ __metadata: languageName: node linkType: hard -"@testing-library/dom@npm:^10.4.0": - version: 10.4.0 - resolution: "@testing-library/dom@npm:10.4.0" - dependencies: - "@babel/code-frame": "npm:^7.10.4" - "@babel/runtime": "npm:^7.12.5" - "@types/aria-query": "npm:^5.0.1" - aria-query: "npm:5.3.0" - chalk: "npm:^4.1.0" - dom-accessibility-api: "npm:^0.5.9" - lz-string: "npm:^1.5.0" - pretty-format: "npm:^27.0.2" - checksum: 10c0/0352487720ecd433400671e773df0b84b8268fb3fe8e527cdfd7c11b1365b398b4e0eddba6e7e0c85e8d615f48257753283fccec41f6b986fd6c85f15eb5f84f - languageName: node - linkType: hard - "@testing-library/jest-dom@npm:^6.5.0": version: 6.6.3 resolution: "@testing-library/jest-dom@npm:6.6.3" @@ -5007,13 +4736,6 @@ __metadata: languageName: node linkType: hard -"@types/aria-query@npm:^5.0.1": - version: 5.0.4 - resolution: "@types/aria-query@npm:5.0.4" - checksum: 10c0/dc667bc6a3acc7bba2bccf8c23d56cb1f2f4defaa704cfef595437107efaa972d3b3db9ec1d66bc2711bfc35086821edd32c302bffab36f2e79b97f312069f08 - languageName: node - linkType: hard - "@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" @@ -5478,24 +5200,6 @@ __metadata: languageName: node linkType: hard -"@types/postcss-modules-local-by-default@npm:^4.0.2": - version: 4.0.2 - resolution: "@types/postcss-modules-local-by-default@npm:4.0.2" - dependencies: - postcss: "npm:^8.0.0" - checksum: 10c0/af13e40673abf96f1427c467bc9d96986fc0fb702f65ef702de05f70e51af2212bc0bdf177bfd817e418f2238bf210fdee3541dd2d939fde9a4df5f8972ad716 - languageName: node - linkType: hard - -"@types/postcss-modules-scope@npm:^3.0.4": - version: 3.0.4 - resolution: "@types/postcss-modules-scope@npm:3.0.4" - dependencies: - postcss: "npm:^8.0.0" - checksum: 10c0/6364674e429143fd686e0238d071377cf9ae1780a77f99e99292a06adc93057609146aaf55c09310ae99526c37e56be5a8a843086c0ff95513bd34c6bc4c7480 - languageName: node - linkType: hard - "@types/prop-types@npm:*": version: 15.7.14 resolution: "@types/prop-types@npm:15.7.14" @@ -5637,7 +5341,7 @@ __metadata: languageName: node linkType: hard -"@types/styled-components@npm:^5.1.22, @types/styled-components@npm:^5.1.26, @types/styled-components@npm:^5.1.34": +"@types/styled-components@npm:^5.1.26, @types/styled-components@npm:^5.1.34": version: 5.1.34 resolution: "@types/styled-components@npm:5.1.34" dependencies: @@ -5669,13 +5373,6 @@ __metadata: languageName: node linkType: hard -"@types/traverse@npm:^0.6.36": - version: 0.6.37 - resolution: "@types/traverse@npm:0.6.37" - checksum: 10c0/d565353fda30d66601e3b8aa4b36e858bd7816320031b3a1bf98ef7b621de97006505b7b91f406c6657cb9b1ed3bdb05b6a034f8b7c44af50c9084de78b5b7c7 - languageName: node - linkType: hard - "@types/trusted-types@npm:^2.0.2, @types/trusted-types@npm:^2.0.7": version: 2.0.7 resolution: "@types/trusted-types@npm:2.0.7" @@ -6557,15 +6254,6 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:5.3.0": - version: 5.3.0 - resolution: "aria-query@npm:5.3.0" - dependencies: - dequal: "npm:^2.0.3" - checksum: 10c0/2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 - languageName: node - linkType: hard - "aria-query@npm:^5.0.0": version: 5.3.2 resolution: "aria-query@npm:5.3.2" @@ -7089,13 +6777,6 @@ __metadata: languageName: node linkType: hard -"bfs-path@npm:^1.0.2": - version: 1.0.2 - resolution: "bfs-path@npm:1.0.2" - checksum: 10c0/776cd5cf823d0767bab64d9c029bcf3336a5ee3a3e15f8ef9186772885fa2a3dd2bf4e3a5a5e7a96d02805a85d983a51d0aff76712a5b5c0b331db37578d0b79 - languageName: node - linkType: hard - "big.js@npm:^5.2.2": version: 5.2.2 resolution: "big.js@npm:5.2.2" @@ -7103,7 +6784,7 @@ __metadata: languageName: node linkType: hard -"bignumber.js@npm:9.1.2, bignumber.js@npm:^9.1.1": +"bignumber.js@npm:^9.1.1": version: 9.1.2 resolution: "bignumber.js@npm:9.1.2" checksum: 10c0/e17786545433f3110b868725c449fa9625366a6e675cd70eb39b60938d6adbd0158cb4b3ad4f306ce817165d37e63f4aa3098ba4110db1d9a3b9f66abfbaf10d @@ -7713,15 +7394,6 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^4.0.0": - version: 4.0.3 - resolution: "chokidar@npm:4.0.3" - dependencies: - readdirp: "npm:^4.0.1" - checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad - languageName: node - linkType: hard - "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -8153,15 +7825,6 @@ __metadata: languageName: node linkType: hard -"copy-anything@npm:^2.0.1": - version: 2.0.6 - resolution: "copy-anything@npm:2.0.6" - dependencies: - is-what: "npm:^3.14.1" - checksum: 10c0/2702998a8cc015f9917385b7f16b0d85f1f6e5e2fd34d99f14df584838f492f49aa0c390d973684c687e895c5c58d08b308a0400ac3e1e3d6fa1e5884a5402ad - languageName: node - linkType: hard - "copy-webpack-plugin@npm:^11.0.0": version: 11.0.0 resolution: "copy-webpack-plugin@npm:11.0.0" @@ -8349,15 +8012,6 @@ __metadata: languageName: node linkType: hard -"cross-fetch@npm:^3.0.4, cross-fetch@npm:^3.1.5": - version: 3.2.0 - resolution: "cross-fetch@npm:3.2.0" - dependencies: - node-fetch: "npm:^2.7.0" - checksum: 10c0/d8596adf0269130098a676f6739a0922f3cc7b71cc89729925411ebe851a87026171c82ea89154c4811c9867c01c44793205a52e618ce2684650218c7fbeeb9f - languageName: node - linkType: hard - "cross-spawn@npm:^6.0.0": version: 6.0.6 resolution: "cross-spawn@npm:6.0.6" @@ -8926,13 +8580,6 @@ __metadata: languageName: node linkType: hard -"dequal@npm:^2.0.3": - version: 2.0.3 - resolution: "dequal@npm:2.0.3" - checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 - languageName: node - linkType: hard - "des.js@npm:^1.0.0": version: 1.1.0 resolution: "des.js@npm:1.1.0" @@ -8957,15 +8604,6 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^1.0.3": - version: 1.0.3 - resolution: "detect-libc@npm:1.0.3" - bin: - detect-libc: ./bin/detect-libc.js - checksum: 10c0/4da0deae9f69e13bc37a0902d78bf7169480004b1fed3c19722d56cff578d16f0e11633b7fbf5fb6249181236c72e90024cbd68f0b9558ae06e281f47326d50d - languageName: node - linkType: hard - "detect-newline@npm:^3.0.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" @@ -9074,13 +8712,6 @@ __metadata: languageName: node linkType: hard -"dom-accessibility-api@npm:^0.5.9": - version: 0.5.16 - resolution: "dom-accessibility-api@npm:0.5.16" - checksum: 10c0/b2c2eda4fae568977cdac27a9f0c001edf4f95a6a6191dfa611e3721db2478d1badc01db5bb4fa8a848aeee13e442a6c2a4386d65ec65a1436f24715a2f8d053 - languageName: node - linkType: hard - "dom-accessibility-api@npm:^0.6.3": version: 0.6.3 resolution: "dom-accessibility-api@npm:0.6.3" @@ -9222,7 +8853,7 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.0.3, dotenv@npm:^16.4.2": +"dotenv@npm:^16.0.3": version: 16.4.7 resolution: "dotenv@npm:16.4.7" checksum: 10c0/be9f597e36a8daf834452daa1f4cc30e5375a5968f98f46d89b16b983c567398a330580c88395069a77473943c06b877d1ca25b4afafcdd6d4adb549e8293462 @@ -9451,17 +9082,6 @@ __metadata: languageName: node linkType: hard -"errno@npm:^0.1.1": - version: 0.1.8 - resolution: "errno@npm:0.1.8" - dependencies: - prr: "npm:~1.0.1" - bin: - errno: cli.js - checksum: 10c0/83758951967ec57bf00b5f5b7dc797e6d65a6171e57ea57adcf1bd1a0b477fd9b5b35fae5be1ff18f4090ed156bce1db749fe7e317aac19d485a5d150f6a4936 - languageName: node - linkType: hard - "error-ex@npm:^1.3.1, error-ex@npm:^1.3.2": version: 1.3.2 resolution: "error-ex@npm:1.3.2" @@ -11206,13 +10826,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^15.9.0": - version: 15.14.0 - resolution: "globals@npm:15.14.0" - checksum: 10c0/039deb8648bd373b7940c15df9f96ab7508fe92b31bbd39cbd1c1a740bd26db12457aa3e5d211553b234f30e9b1db2fee3683012f543a01a6942c9062857facb - languageName: node - linkType: hard - "globalthis@npm:^1.0.1, globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" @@ -11819,7 +11432,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -11837,13 +11450,6 @@ __metadata: languageName: node linkType: hard -"idb-keyval@npm:^6.2.1": - version: 6.2.1 - resolution: "idb-keyval@npm:6.2.1" - checksum: 10c0/9f0c83703a365e00bd0b4ed6380ce509a06dedfc6ec39b2ba5740085069fd2f2ff5c14ba19356488e3612a2f9c49985971982d836460a982a5d0b4019eeba48a - languageName: node - linkType: hard - "idb@npm:^7.0.1": version: 7.1.1 resolution: "idb@npm:7.1.1" @@ -11892,15 +11498,6 @@ __metadata: languageName: node linkType: hard -"image-size@npm:~0.5.0": - version: 0.5.5 - resolution: "image-size@npm:0.5.5" - bin: - image-size: bin/image-size.js - checksum: 10c0/655204163af06732f483a9fe7cce9dff4a29b7b2e88f5c957a5852e8143fa750f5e54b1955a2ca83de99c5220dbd680002d0d4e09140b01433520f4d5a0b1f4c - languageName: node - linkType: hard - "immediate@npm:~3.0.5": version: 3.0.6 resolution: "immediate@npm:3.0.6" @@ -11908,13 +11505,6 @@ __metadata: languageName: node linkType: hard -"immutable@npm:^5.0.2": - version: 5.0.3 - resolution: "immutable@npm:5.0.3" - checksum: 10c0/3269827789e1026cd25c2ea97f0b2c19be852ffd49eda1b674b20178f73d84fa8d945ad6f5ac5bc4545c2b4170af9f6e1f77129bc1cae7974a4bf9b04a9cdfb9 - languageName: node - linkType: hard - "import-fresh@npm:3.3.0, import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" @@ -12529,13 +12119,6 @@ __metadata: languageName: node linkType: hard -"is-what@npm:^3.14.1": - version: 3.14.1 - resolution: "is-what@npm:3.14.1" - checksum: 10c0/4b770b85454c877b6929a84fd47c318e1f8c2ff70fd72fd625bc3fde8e0c18a6e57345b6e7aa1ee9fbd1c608d27cfe885df473036c5c2e40cd2187250804a2c7 - languageName: node - linkType: hard - "is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -12930,16 +12513,6 @@ __metadata: languageName: node linkType: hard -"jest-fetch-mock@npm:^3.0.3": - version: 3.0.3 - resolution: "jest-fetch-mock@npm:3.0.3" - dependencies: - cross-fetch: "npm:^3.0.4" - promise-polyfill: "npm:^8.1.3" - checksum: 10c0/21ffe8c902ca5adafa7ed61760e100e4c290e99b0b487645f5bb92938ea64c2d1d9dc8af46e65fb7917d6237586067d53af756583a77330dbb4fbda079a63c29 - languageName: node - linkType: hard - "jest-get-type@npm:^29.6.3": version: 29.6.3 resolution: "jest-get-type@npm:29.6.3" @@ -13765,41 +13338,6 @@ __metadata: languageName: node linkType: hard -"less@npm:^4.2.0": - version: 4.2.1 - resolution: "less@npm:4.2.1" - dependencies: - copy-anything: "npm:^2.0.1" - errno: "npm:^0.1.1" - graceful-fs: "npm:^4.1.2" - image-size: "npm:~0.5.0" - make-dir: "npm:^2.1.0" - mime: "npm:^1.4.1" - needle: "npm:^3.1.0" - parse-node-version: "npm:^1.0.1" - source-map: "npm:~0.6.0" - tslib: "npm:^2.3.0" - dependenciesMeta: - errno: - optional: true - graceful-fs: - optional: true - image-size: - optional: true - make-dir: - optional: true - mime: - optional: true - needle: - optional: true - source-map: - optional: true - bin: - lessc: bin/lessc - checksum: 10c0/8c9a5fc71ab8bf501e0b739b603cdda23961c1eb72525e4e2509a09cf15dec5f7d56e669ae30b91a16a5cb2fe5d127a8752a9de975de7822098e3814956a316f - languageName: node - linkType: hard - "leven@npm:^3.1.0": version: 3.1.0 resolution: "leven@npm:3.1.0" @@ -13875,13 +13413,6 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^2.0.5": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 10c0/64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 - languageName: node - linkType: hard - "lilconfig@npm:^3.0.0, lilconfig@npm:^3.1.3, lilconfig@npm:~3.1.3": version: 3.1.3 resolution: "lilconfig@npm:3.1.3" @@ -14141,15 +13672,6 @@ __metadata: languageName: node linkType: hard -"lz-string@npm:^1.5.0": - version: 1.5.0 - resolution: "lz-string@npm:1.5.0" - bin: - lz-string: bin/bin.js - checksum: 10c0/36128e4de34791838abe979b19927c26e67201ca5acf00880377af7d765b38d1c60847e01c5ec61b1a260c48029084ab3893a3925fd6e48a04011364b089991b - languageName: node - linkType: hard - "magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": version: 0.25.9 resolution: "magic-string@npm:0.25.9" @@ -14168,16 +13690,6 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^2.1.0": - version: 2.1.0 - resolution: "make-dir@npm:2.1.0" - dependencies: - pify: "npm:^4.0.1" - semver: "npm:^5.6.0" - checksum: 10c0/ada869944d866229819735bee5548944caef560d7a8536ecbc6536edca28c72add47cc4f6fc39c54fb25d06b58da1f8994cf7d9df7dadea047064749efc085d8 - languageName: node - linkType: hard - "make-dir@npm:^3.1.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" @@ -14356,7 +13868,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8, micromatch@npm:~4.0.8": +"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.8, micromatch@npm:~4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -14401,7 +13913,7 @@ __metadata: languageName: node linkType: hard -"mime@npm:1.6.0, mime@npm:^1.4.1": +"mime@npm:1.6.0": version: 1.6.0 resolution: "mime@npm:1.6.0" bin: @@ -14778,18 +14290,6 @@ __metadata: languageName: node linkType: hard -"needle@npm:^3.1.0": - version: 3.3.1 - resolution: "needle@npm:3.3.1" - dependencies: - iconv-lite: "npm:^0.6.3" - sax: "npm:^1.2.4" - bin: - needle: bin/needle - checksum: 10c0/233b9315d47b735867d03e7a018fb665ee6cacf3a83b991b19538019cf42b538a3e85ca745c840b4c5e9a0ffdca76472f941363bf7c166214ae8cbc650fd4d39 - languageName: node - linkType: hard - "negotiator@npm:0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" @@ -14835,15 +14335,6 @@ __metadata: languageName: node linkType: hard -"node-addon-api@npm:^7.0.0": - version: 7.1.1 - resolution: "node-addon-api@npm:7.1.1" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 - languageName: node - linkType: hard - "node-domexception@npm:^1.0.0": version: 1.0.0 resolution: "node-domexception@npm:1.0.0" @@ -14862,20 +14353,6 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.7.0": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 - languageName: node - linkType: hard - "node-forge@npm:^1, node-forge@npm:^1.3.1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" @@ -15501,13 +14978,6 @@ __metadata: languageName: node linkType: hard -"parse-node-version@npm:^1.0.1": - version: 1.0.1 - resolution: "parse-node-version@npm:1.0.1" - checksum: 10c0/999cd3d7da1425c2e182dce82b226c6dc842562d3ed79ec47f5c719c32a7f6c1a5352495b894fc25df164be7f2ede4224758255da9902ddef81f2b77ba46bb2c - languageName: node - linkType: hard - "parse5-htmlparser2-tree-adapter@npm:^7.0.0": version: 7.1.0 resolution: "parse5-htmlparser2-tree-adapter@npm:7.1.0" @@ -15711,13 +15181,6 @@ __metadata: languageName: node linkType: hard -"pify@npm:^4.0.1": - version: 4.0.1 - resolution: "pify@npm:4.0.1" - checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf - languageName: node - linkType: hard - "pinkie-promise@npm:^2.0.1": version: 2.0.1 resolution: "pinkie-promise@npm:2.0.1" @@ -16047,24 +15510,6 @@ __metadata: languageName: node linkType: hard -"postcss-load-config@npm:^3.1.4": - version: 3.1.4 - resolution: "postcss-load-config@npm:3.1.4" - dependencies: - lilconfig: "npm:^2.0.5" - yaml: "npm:^1.10.2" - peerDependencies: - postcss: ">=8.0.9" - ts-node: ">=9.0.0" - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - checksum: 10c0/7d2cc6695c2fc063e4538316d651a687fdb55e48db453ff699de916a6ee55ab68eac2b120c28a6b8ca7aa746a588888351b810a215b5cd090eabea62c5762ede - languageName: node - linkType: hard - "postcss-load-config@npm:^4.0.2": version: 4.0.2 resolution: "postcss-load-config@npm:4.0.2" @@ -16128,7 +15573,7 @@ __metadata: languageName: node linkType: hard -"postcss-modules-extract-imports@npm:^3.0.0, postcss-modules-extract-imports@npm:^3.1.0": +"postcss-modules-extract-imports@npm:^3.1.0": version: 3.1.0 resolution: "postcss-modules-extract-imports@npm:3.1.0" peerDependencies: @@ -16137,7 +15582,7 @@ __metadata: languageName: node linkType: hard -"postcss-modules-local-by-default@npm:^4.0.4, postcss-modules-local-by-default@npm:^4.0.5": +"postcss-modules-local-by-default@npm:^4.0.5": version: 4.2.0 resolution: "postcss-modules-local-by-default@npm:4.2.0" dependencies: @@ -16150,7 +15595,7 @@ __metadata: languageName: node linkType: hard -"postcss-modules-scope@npm:^3.1.1, postcss-modules-scope@npm:^3.2.0": +"postcss-modules-scope@npm:^3.2.0": version: 3.2.1 resolution: "postcss-modules-scope@npm:3.2.1" dependencies: @@ -16365,7 +15810,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.49, postcss@npm:^8.0.0, postcss@npm:^8.4.32, postcss@npm:^8.4.33, postcss@npm:^8.4.35, postcss@npm:^8.4.43, postcss@npm:^8.4.47": +"postcss@npm:8.4.49, postcss@npm:^8.4.32, postcss@npm:^8.4.33, postcss@npm:^8.4.43, postcss@npm:^8.4.47": version: 8.4.49 resolution: "postcss@npm:8.4.49" dependencies: @@ -16433,17 +15878,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^27.0.2": - version: 27.5.1 - resolution: "pretty-format@npm:27.5.1" - dependencies: - ansi-regex: "npm:^5.0.1" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^17.0.1" - checksum: 10c0/0cbda1031aa30c659e10921fa94e0dd3f903ecbbbe7184a729ad66f2b6e7f17891e8c7d7654c458fa4ccb1a411ffb695b4f17bbcd3fe075fabe181027c4040ed - languageName: node - linkType: hard - "pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": version: 29.7.0 resolution: "pretty-format@npm:29.7.0" @@ -16483,13 +15917,6 @@ __metadata: languageName: node linkType: hard -"promise-polyfill@npm:^8.1.3": - version: 8.3.0 - resolution: "promise-polyfill@npm:8.3.0" - checksum: 10c0/97141f07a31a6be135ec9ed53700a3423a771cabec0ba5e08fcb2bf8cfda855479ff70e444fceb938f560be42b450cd032c14f4a940ed2ad1e5b4dcb78368dce - languageName: node - linkType: hard - "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -16626,13 +16053,6 @@ __metadata: languageName: node linkType: hard -"prr@npm:~1.0.1": - version: 1.0.1 - resolution: "prr@npm:1.0.1" - checksum: 10c0/5b9272c602e4f4472a215e58daff88f802923b84bc39c8860376bb1c0e42aaf18c25d69ad974bd06ec6db6f544b783edecd5502cd3d184748d99080d68e4be5f - languageName: node - linkType: hard - "pseudomap@npm:^1.0.2": version: 1.0.2 resolution: "pseudomap@npm:1.0.2" @@ -16703,13 +16123,6 @@ __metadata: languageName: node linkType: hard -"qr.js@npm:0.0.0": - version: 0.0.0 - resolution: "qr.js@npm:0.0.0" - checksum: 10c0/1c6a4c7a58d04e52ec2fee99e39b680fdc5b2a510a981df42c36b716a8eac6634d130fc4d65af8f030f2a07dbf5fa046b97cdfa7456c250ebb50a73916efdcb5 - languageName: node - linkType: hard - "qs@npm:6.13.0": version: 6.13.0 resolution: "qs@npm:6.13.0" @@ -16868,13 +16281,6 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^17.0.1": - version: 17.0.2 - resolution: "react-is@npm:17.0.2" - checksum: 10c0/2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 - languageName: node - linkType: hard - "react-is@npm:^18.0.0": version: 18.3.1 resolution: "react-is@npm:18.3.1" @@ -16893,18 +16299,6 @@ __metadata: languageName: node linkType: hard -"react-qr-code@npm:^2.0.15": - version: 2.0.15 - resolution: "react-qr-code@npm:2.0.15" - dependencies: - prop-types: "npm:^15.8.1" - qr.js: "npm:0.0.0" - peerDependencies: - react: "*" - checksum: 10c0/6a9d73918623eecbf6204da02bae1851b584f22f0724b2e5cf529a7eee991a757a211822146f670db63c21860ccb2d245b9288f48cd58ca2bff16de0dcdbdb25 - languageName: node - linkType: hard - "react-refresh@npm:^0.14.2": version: 0.14.2 resolution: "react-refresh@npm:0.14.2" @@ -16993,13 +16387,6 @@ __metadata: languageName: node linkType: hard -"readdirp@npm:^4.0.1": - version: 4.1.1 - resolution: "readdirp@npm:4.1.1" - checksum: 10c0/a1afc90d0e57ce4caa28046875519453fd09663ade0d0c29fe0d6a117eca4596cfdf1a9ebb0859ad34cca7b9351d4f0d8d962a4363d40f3f37e57dba51ffb6b6 - languageName: node - linkType: hard - "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -17272,13 +16659,6 @@ __metadata: languageName: node linkType: hard -"reserved-words@npm:^0.1.2": - version: 0.1.2 - resolution: "reserved-words@npm:0.1.2" - checksum: 10c0/88360388d88f4b36c1f5d47f8d596936dbf950bddd642c04ce940f1dab1fa58ef6fec23f5fab81a1bfe5cd0f223b2b635311496fcf0ef3db93ad4dfb6d7be186 - languageName: node - linkType: hard - "resolve-alpn@npm:^1.2.0": version: 1.2.1 resolution: "resolve-alpn@npm:1.2.1" @@ -17645,37 +17025,13 @@ __metadata: languageName: node linkType: hard -"sass@npm:^1.70.0": - version: 1.83.1 - resolution: "sass@npm:1.83.1" - dependencies: - "@parcel/watcher": "npm:^2.4.1" - chokidar: "npm:^4.0.0" - immutable: "npm:^5.0.2" - source-map-js: "npm:>=0.6.2 <2.0.0" - dependenciesMeta: - "@parcel/watcher": - optional: true - bin: - sass: sass.js - checksum: 10c0/9772506cd8290df7b5e800055098e91a8a65100840fd9e90c660deb74b248b3ddbbd1a274b8f7f09777d472d2c873575357bd87939a40fb5a80bdf654985486f - languageName: node - linkType: hard - -"sax@npm:>=0.6.0, sax@npm:^1.2.4": +"sax@npm:>=0.6.0": version: 1.4.1 resolution: "sax@npm:1.4.1" checksum: 10c0/6bf86318a254c5d898ede6bd3ded15daf68ae08a5495a2739564eb265cd13bcc64a07ab466fb204f67ce472bb534eb8612dac587435515169593f4fffa11de7c languageName: node linkType: hard -"sax@npm:~1.3.0": - version: 1.3.0 - resolution: "sax@npm:1.3.0" - checksum: 10c0/599dbe0ba9d8bd55e92d920239b21d101823a6cedff71e542589303fa0fa8f3ece6cf608baca0c51be846a2e88365fac94a9101a9c341d94b98e30c4deea5bea - languageName: node - linkType: hard - "saxes@npm:^6.0.0": version: 6.0.0 resolution: "saxes@npm:6.0.0" @@ -17787,7 +17143,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^5.5.0, semver@npm:^5.6.0": +"semver@npm:^5.5.0": version: 5.7.2 resolution: "semver@npm:5.7.2" bin: @@ -18262,7 +17618,7 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.1": +"source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf @@ -18846,21 +18202,6 @@ __metadata: languageName: node linkType: hard -"stylus@npm:^0.62.0": - version: 0.62.0 - resolution: "stylus@npm:0.62.0" - dependencies: - "@adobe/css-tools": "npm:~4.3.1" - debug: "npm:^4.3.2" - glob: "npm:^7.1.6" - sax: "npm:~1.3.0" - source-map: "npm:^0.7.3" - bin: - stylus: bin/stylus - checksum: 10c0/62afe3a6d781f66d7d283e8218dc1a15530d7d89fc2f09457a723975b2073e96e0d32c61d7f0dd1bd2686aae4ab6cc6933dc85e1b72eebab8aa30167bd16962b - languageName: node - linkType: hard - "sucrase@npm:^3.35.0": version: 3.35.0 resolution: "sucrase@npm:3.35.0" @@ -19338,13 +18679,6 @@ __metadata: languageName: node linkType: hard -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 - languageName: node - linkType: hard - "trash@npm:7.2.0": version: 7.2.0 resolution: "trash@npm:7.2.0" @@ -19361,17 +18695,6 @@ __metadata: languageName: node linkType: hard -"traverse@npm:^0.6.9": - version: 0.6.10 - resolution: "traverse@npm:0.6.10" - dependencies: - gopd: "npm:^1.0.1" - typedarray.prototype.slice: "npm:^1.0.3" - which-typed-array: "npm:^1.1.15" - checksum: 10c0/d37619cd650dda26fc9f8c3c55087098e702abc1a91e57a5701644f3aee67a5c61daf47ca883ebe6777ea810424317bd142b8e90ee0d9dc9171bd19df6cf6fd8 - languageName: node - linkType: hard - "ts-api-utils@npm:^2.0.0": version: 2.0.0 resolution: "ts-api-utils@npm:2.0.0" @@ -19529,7 +18852,7 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^4.1.2, tsconfig-paths@npm:^4.2.0": +"tsconfig-paths@npm:^4.1.2": version: 4.2.0 resolution: "tsconfig-paths@npm:4.2.0" dependencies: @@ -19554,7 +18877,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0": +"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -19721,22 +19044,6 @@ __metadata: languageName: node linkType: hard -"typedarray.prototype.slice@npm:^1.0.3": - version: 1.0.5 - resolution: "typedarray.prototype.slice@npm:1.0.5" - dependencies: - call-bind: "npm:^1.0.8" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.9" - es-errors: "npm:^1.3.0" - get-proto: "npm:^1.0.1" - math-intrinsics: "npm:^1.1.0" - typed-array-buffer: "npm:^1.0.3" - typed-array-byte-offset: "npm:^1.0.4" - checksum: 10c0/4995828640f8079cfbc9e3b4b8fc2e0eeb109edd1a2596806325ae07306dba1cd947e6ed6f63391aa7d5af0ea4f40fddf1b6eb863f8a59869a9dfc5dcfd8eac2 - languageName: node - linkType: hard - "typedarray@npm:^0.0.6": version: 0.0.6 resolution: "typedarray@npm:0.0.6" @@ -19771,32 +19078,6 @@ __metadata: languageName: node linkType: hard -"typescript-plugin-css-modules@npm:^5.1.0": - version: 5.1.0 - resolution: "typescript-plugin-css-modules@npm:5.1.0" - dependencies: - "@types/postcss-modules-local-by-default": "npm:^4.0.2" - "@types/postcss-modules-scope": "npm:^3.0.4" - dotenv: "npm:^16.4.2" - icss-utils: "npm:^5.1.0" - less: "npm:^4.2.0" - lodash.camelcase: "npm:^4.3.0" - postcss: "npm:^8.4.35" - postcss-load-config: "npm:^3.1.4" - postcss-modules-extract-imports: "npm:^3.0.0" - postcss-modules-local-by-default: "npm:^4.0.4" - postcss-modules-scope: "npm:^3.1.1" - reserved-words: "npm:^0.1.2" - sass: "npm:^1.70.0" - source-map-js: "npm:^1.0.2" - stylus: "npm:^0.62.0" - tsconfig-paths: "npm:^4.2.0" - peerDependencies: - typescript: ">=4.0.0" - checksum: 10c0/a578e9055d015e932e1d42c5329d80d44d7dcaca5990c1d32aed62ea3d7ba49424f18c60cc654e96d1865e509f929359a9e571330ea2f5a7be7c1dd79e25ead3 - languageName: node - linkType: hard - "typescript-plugin-styled-components@npm:^2.0.0": version: 2.0.0 resolution: "typescript-plugin-styled-components@npm:2.0.0" @@ -20613,13 +19894,6 @@ __metadata: languageName: node linkType: hard -"web-vitals@npm:^2.1.4": - version: 2.1.4 - resolution: "web-vitals@npm:2.1.4" - checksum: 10c0/c71ab674936c6b4d51679e037e3819c24bdad9f30410fe8a84fd8218d29d9bacf15ae9fd570d361f3e9621aa8454f61277f66ac1a5c19b50facf3220a37a73eb - languageName: node - linkType: hard - "webextension-polyfill-ts@npm:^0.25.0": version: 0.25.0 resolution: "webextension-polyfill-ts@npm:0.25.0" @@ -20657,13 +19931,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db - languageName: node - linkType: hard - "webidl-conversions@npm:^4.0.2": version: 4.0.2 resolution: "webidl-conversions@npm:4.0.2" @@ -20957,16 +20224,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 - languageName: node - linkType: hard - "whatwg-url@npm:^7.0.0": version: 7.1.0 resolution: "whatwg-url@npm:7.1.0" @@ -21049,7 +20306,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18, which-typed-array@npm:^1.1.2": +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18, which-typed-array@npm:^1.1.2": version: 1.1.18 resolution: "which-typed-array@npm:1.1.18" dependencies: @@ -21131,13 +20388,6 @@ __metadata: languageName: node linkType: hard -"wonka@npm:^6.3.4": - version: 6.3.4 - resolution: "wonka@npm:6.3.4" - checksum: 10c0/77329eea673da07717476e1b8f1a22f1e1a4f261bb9a58fa446c03d3da13dbd5b254664f8aded5928d953f33ee5b399a17a4f70336e8b236e478209c0e78cda4 - languageName: node - linkType: hard - "word-wrap@npm:^1.2.5": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" @@ -21617,7 +20867,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^1.10.0, yaml@npm:^1.10.2": +"yaml@npm:^1.10.0": version: 1.10.2 resolution: "yaml@npm:1.10.2" checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f From 49293b5baa6d9a28f08bbaabea3e1e30455ebf43 Mon Sep 17 00:00:00 2001 From: neocybereth Date: Wed, 8 Oct 2025 20:13:36 +1300 Subject: [PATCH 03/17] fix: depdnencies --- apps/namadillo/package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/namadillo/package.json b/apps/namadillo/package.json index 09a6aa72f5..73a229b7bb 100644 --- a/apps/namadillo/package.json +++ b/apps/namadillo/package.json @@ -72,6 +72,7 @@ "devDependencies": { "@namada/vite-esbuild-plugin": "^1.0.1", "@playwright/test": "^1.24.1", + "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.5.0", "@testing-library/react": "^16.0.0", "@testing-library/user-event": "^14.5.2", @@ -91,6 +92,7 @@ "eslint": "^8.57.0", "history": "^5.3.0", "identity-obj-proxy": "^3.0.0", + "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "jest-transformer-svg": "^2.0.2", "postcss": "^8.4.32", From 54c32bb2e37b8bf31c46b146bdb00a643da5cd0f Mon Sep 17 00:00:00 2001 From: neocybereth Date: Wed, 8 Oct 2025 20:13:43 +1300 Subject: [PATCH 04/17] fix: dependencies --- yarn.lock | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 94 insertions(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index aa818af02b..6d6251bfc9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -73,6 +73,17 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.10.4": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.27.1" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.26.0, @babel/compat-data@npm:^7.26.5": version: 7.26.5 resolution: "@babel/compat-data@npm:7.26.5" @@ -326,6 +337,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-option@npm:7.25.9" @@ -3725,6 +3743,7 @@ __metadata: "@tailwindcss/container-queries": "npm:^0.1.1" "@tanstack/query-core": "npm:^5.40.0" "@tanstack/react-query": "npm:^5.40.0" + "@testing-library/dom": "npm:^10.4.0" "@testing-library/jest-dom": "npm:^6.5.0" "@testing-library/react": "npm:^16.0.0" "@testing-library/user-event": "npm:^14.5.2" @@ -3753,6 +3772,7 @@ __metadata: identity-obj-proxy: "npm:^3.0.0" invariant: "npm:^2.2.4" io-ts: "npm:^2.2.21" + jest: "npm:^29.7.0" jest-environment-jsdom: "npm:^29.7.0" jest-transformer-svg: "npm:^2.0.2" jotai: "npm:^2.6.3" @@ -4643,6 +4663,22 @@ __metadata: languageName: node linkType: hard +"@testing-library/dom@npm:^10.4.0": + version: 10.4.1 + resolution: "@testing-library/dom@npm:10.4.1" + dependencies: + "@babel/code-frame": "npm:^7.10.4" + "@babel/runtime": "npm:^7.12.5" + "@types/aria-query": "npm:^5.0.1" + aria-query: "npm:5.3.0" + dom-accessibility-api: "npm:^0.5.9" + lz-string: "npm:^1.5.0" + picocolors: "npm:1.1.1" + pretty-format: "npm:^27.0.2" + checksum: 10c0/19ce048012d395ad0468b0dbcc4d0911f6f9e39464d7a8464a587b29707eed5482000dad728f5acc4ed314d2f4d54f34982999a114d2404f36d048278db815b1 + languageName: node + linkType: hard + "@testing-library/jest-dom@npm:^6.5.0": version: 6.6.3 resolution: "@testing-library/jest-dom@npm:6.6.3" @@ -4736,6 +4772,13 @@ __metadata: languageName: node linkType: hard +"@types/aria-query@npm:^5.0.1": + version: 5.0.4 + resolution: "@types/aria-query@npm:5.0.4" + checksum: 10c0/dc667bc6a3acc7bba2bccf8c23d56cb1f2f4defaa704cfef595437107efaa972d3b3db9ec1d66bc2711bfc35086821edd32c302bffab36f2e79b97f312069f08 + languageName: node + linkType: hard + "@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" @@ -6254,6 +6297,15 @@ __metadata: languageName: node linkType: hard +"aria-query@npm:5.3.0": + version: 5.3.0 + resolution: "aria-query@npm:5.3.0" + dependencies: + dequal: "npm:^2.0.3" + checksum: 10c0/2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 + languageName: node + linkType: hard + "aria-query@npm:^5.0.0": version: 5.3.2 resolution: "aria-query@npm:5.3.2" @@ -8580,6 +8632,13 @@ __metadata: languageName: node linkType: hard +"dequal@npm:^2.0.3": + version: 2.0.3 + resolution: "dequal@npm:2.0.3" + checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 + languageName: node + linkType: hard + "des.js@npm:^1.0.0": version: 1.1.0 resolution: "des.js@npm:1.1.0" @@ -8712,6 +8771,13 @@ __metadata: languageName: node linkType: hard +"dom-accessibility-api@npm:^0.5.9": + version: 0.5.16 + resolution: "dom-accessibility-api@npm:0.5.16" + checksum: 10c0/b2c2eda4fae568977cdac27a9f0c001edf4f95a6a6191dfa611e3721db2478d1badc01db5bb4fa8a848aeee13e442a6c2a4386d65ec65a1436f24715a2f8d053 + languageName: node + linkType: hard + "dom-accessibility-api@npm:^0.6.3": version: 0.6.3 resolution: "dom-accessibility-api@npm:0.6.3" @@ -13672,6 +13738,15 @@ __metadata: languageName: node linkType: hard +"lz-string@npm:^1.5.0": + version: 1.5.0 + resolution: "lz-string@npm:1.5.0" + bin: + lz-string: bin/bin.js + checksum: 10c0/36128e4de34791838abe979b19927c26e67201ca5acf00880377af7d765b38d1c60847e01c5ec61b1a260c48029084ab3893a3925fd6e48a04011364b089991b + languageName: node + linkType: hard + "magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": version: 0.25.9 resolution: "magic-string@npm:0.25.9" @@ -15137,7 +15212,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": +"picocolors@npm:1.1.1, picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 @@ -15878,6 +15953,17 @@ __metadata: languageName: node linkType: hard +"pretty-format@npm:^27.0.2": + version: 27.5.1 + resolution: "pretty-format@npm:27.5.1" + dependencies: + ansi-regex: "npm:^5.0.1" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^17.0.1" + checksum: 10c0/0cbda1031aa30c659e10921fa94e0dd3f903ecbbbe7184a729ad66f2b6e7f17891e8c7d7654c458fa4ccb1a411ffb695b4f17bbcd3fe075fabe181027c4040ed + languageName: node + linkType: hard + "pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": version: 29.7.0 resolution: "pretty-format@npm:29.7.0" @@ -16281,6 +16367,13 @@ __metadata: languageName: node linkType: hard +"react-is@npm:^17.0.1": + version: 17.0.2 + resolution: "react-is@npm:17.0.2" + checksum: 10c0/2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 + languageName: node + linkType: hard + "react-is@npm:^18.0.0": version: 18.3.1 resolution: "react-is@npm:18.3.1" From 3e9a890509060e26b3d59053e29038dd88a020ed Mon Sep 17 00:00:00 2001 From: neocybereth Date: Wed, 8 Oct 2025 20:15:41 +1300 Subject: [PATCH 05/17] fix: dependencies --- apps/namadillo/package.json | 8 ++- yarn.lock | 101 ++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 1 deletion(-) diff --git a/apps/namadillo/package.json b/apps/namadillo/package.json index 73a229b7bb..af1233c8d7 100644 --- a/apps/namadillo/package.json +++ b/apps/namadillo/package.json @@ -15,6 +15,7 @@ "@tailwindcss/container-queries": "^0.1.1", "@tanstack/query-core": "^5.40.0", "@tanstack/react-query": "^5.40.0", + "@tanstack/react-query-persist-client": "^5.40.0", "animejs": "^3.2.2", "bignumber.js": "^9.1.1", "clsx": "^2.1.1", @@ -22,6 +23,7 @@ "fathom-client": "^3.7.2", "fp-ts": "^2.16.1", "framer-motion": "^11.3.28", + "idb-keyval": "^6.2.1", "invariant": "^2.2.4", "io-ts": "^2.2.21", "jotai": "^2.6.3", @@ -32,11 +34,14 @@ "react-dom": "^18.3.1", "react-icons": "^5.1.0", "react-paginate": "^8.2.0", + "react-qr-code": "^2.0.15", "react-router-dom": "^6.26.1", "semver": "^7.6.3", "tailwind-merge": "^2.3.0", "toml": "^3.0.0", - "vite-plugin-checker": "^0.8.0" + "traverse": "^0.6.9", + "vite-plugin-checker": "^0.8.0", + "web-vitals": "^2.1.4" }, "scripts": { "start:proxy": "node ./scripts/startProxies.js", @@ -86,6 +91,7 @@ "@types/react-dom": "^18.3.0", "@types/react-paginate": "^7.1.2", "@types/semver": "^7.5.8", + "@types/traverse": "^0.6.36", "@vitejs/plugin-react": "^4.3.1", "autoprefixer": "^10.4.16", "axios": "^1.8.2", diff --git a/yarn.lock b/yarn.lock index 6d6251bfc9..66d0ab543f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3743,6 +3743,7 @@ __metadata: "@tailwindcss/container-queries": "npm:^0.1.1" "@tanstack/query-core": "npm:^5.40.0" "@tanstack/react-query": "npm:^5.40.0" + "@tanstack/react-query-persist-client": "npm:^5.40.0" "@testing-library/dom": "npm:^10.4.0" "@testing-library/jest-dom": "npm:^6.5.0" "@testing-library/react": "npm:^16.0.0" @@ -3757,6 +3758,7 @@ __metadata: "@types/react-dom": "npm:^18.3.0" "@types/react-paginate": "npm:^7.1.2" "@types/semver": "npm:^7.5.8" + "@types/traverse": "npm:^0.6.36" "@vitejs/plugin-react": "npm:^4.3.1" animejs: "npm:^3.2.2" autoprefixer: "npm:^10.4.16" @@ -3769,6 +3771,7 @@ __metadata: fp-ts: "npm:^2.16.1" framer-motion: "npm:^11.3.28" history: "npm:^5.3.0" + idb-keyval: "npm:^6.2.1" identity-obj-proxy: "npm:^3.0.0" invariant: "npm:^2.2.4" io-ts: "npm:^2.2.21" @@ -3784,11 +3787,13 @@ __metadata: react-dom: "npm:^18.3.1" react-icons: "npm:^5.1.0" react-paginate: "npm:^8.2.0" + react-qr-code: "npm:^2.0.15" react-router-dom: "npm:^6.26.1" semver: "npm:^7.6.3" tailwind-merge: "npm:^2.3.0" tailwindcss: "npm:^3.4.0" toml: "npm:^3.0.0" + traverse: "npm:^0.6.9" ts-jest: "npm:^29.2.5" typescript: "npm:^5.5.4" vite: "npm:^5.4.3" @@ -3796,6 +3801,7 @@ __metadata: vite-plugin-node-polyfills: "npm:^0.22.0" vite-plugin-pwa: "npm:^0.21.1" vite-tsconfig-paths: "npm:^5.0.1" + web-vitals: "npm:^2.1.4" languageName: unknown linkType: soft @@ -4652,6 +4658,34 @@ __metadata: languageName: node linkType: hard +"@tanstack/query-core@npm:5.90.2": + version: 5.90.2 + resolution: "@tanstack/query-core@npm:5.90.2" + checksum: 10c0/695a7450b0bb9f6dd21bebeacfc962dfc886631a3b3a13c33a842ef719b4c3dd30c15febe8c1ade6902a85e0f387c51a97570f430cc8f5c7032ff737d6410597 + languageName: node + linkType: hard + +"@tanstack/query-persist-client-core@npm:5.90.2": + version: 5.90.2 + resolution: "@tanstack/query-persist-client-core@npm:5.90.2" + dependencies: + "@tanstack/query-core": "npm:5.90.2" + checksum: 10c0/696b5e23da9bb7f8737b537fc75286591a8727b0592c89fcada92903d6f1f1b2128fd85fc3f7a5157b00689750d34761446c7cd21fb200b0eef94987a10c5560 + languageName: node + linkType: hard + +"@tanstack/react-query-persist-client@npm:^5.40.0": + version: 5.90.2 + resolution: "@tanstack/react-query-persist-client@npm:5.90.2" + dependencies: + "@tanstack/query-persist-client-core": "npm:5.90.2" + peerDependencies: + "@tanstack/react-query": ^5.90.2 + react: ^18 || ^19 + checksum: 10c0/0f51fb72f23f4c209c4ac2f80f330c1dd979ae0b13a54703f4536470ae04c882530a085609f1b911ebf6f29414abd058592c274cea3a9394f92290259a589a71 + languageName: node + linkType: hard + "@tanstack/react-query@npm:^5.40.0": version: 5.64.0 resolution: "@tanstack/react-query@npm:5.64.0" @@ -5416,6 +5450,13 @@ __metadata: languageName: node linkType: hard +"@types/traverse@npm:^0.6.36": + version: 0.6.37 + resolution: "@types/traverse@npm:0.6.37" + checksum: 10c0/d565353fda30d66601e3b8aa4b36e858bd7816320031b3a1bf98ef7b621de97006505b7b91f406c6657cb9b1ed3bdb05b6a034f8b7c44af50c9084de78b5b7c7 + languageName: node + linkType: hard + "@types/trusted-types@npm:^2.0.2, @types/trusted-types@npm:^2.0.7": version: 2.0.7 resolution: "@types/trusted-types@npm:2.0.7" @@ -11516,6 +11557,13 @@ __metadata: languageName: node linkType: hard +"idb-keyval@npm:^6.2.1": + version: 6.2.2 + resolution: "idb-keyval@npm:6.2.2" + checksum: 10c0/b52f0d2937cc2ec9f1da536b0b5c0875af3043ca210714beaffead4ec1f44f2ad322220305fd024596203855224d9e3523aed83e971dfb62ddc21b5b1721aeef + languageName: node + linkType: hard + "idb@npm:^7.0.1": version: 7.1.1 resolution: "idb@npm:7.1.1" @@ -16209,6 +16257,13 @@ __metadata: languageName: node linkType: hard +"qr.js@npm:0.0.0": + version: 0.0.0 + resolution: "qr.js@npm:0.0.0" + checksum: 10c0/1c6a4c7a58d04e52ec2fee99e39b680fdc5b2a510a981df42c36b716a8eac6634d130fc4d65af8f030f2a07dbf5fa046b97cdfa7456c250ebb50a73916efdcb5 + languageName: node + linkType: hard + "qs@npm:6.13.0": version: 6.13.0 resolution: "qs@npm:6.13.0" @@ -16392,6 +16447,18 @@ __metadata: languageName: node linkType: hard +"react-qr-code@npm:^2.0.15": + version: 2.0.18 + resolution: "react-qr-code@npm:2.0.18" + dependencies: + prop-types: "npm:^15.8.1" + qr.js: "npm:0.0.0" + peerDependencies: + react: "*" + checksum: 10c0/4e13b795cbb10f1dcf0e39d682bb59851e4c84010ba2be7225b2ad9d5c1ffea52d2d38f884ee26235b7002b8ca99e83b805f55e877663c39d67496764d975cf1 + languageName: node + linkType: hard + "react-refresh@npm:^0.14.2": version: 0.14.2 resolution: "react-refresh@npm:0.14.2" @@ -18788,6 +18855,17 @@ __metadata: languageName: node linkType: hard +"traverse@npm:^0.6.9": + version: 0.6.11 + resolution: "traverse@npm:0.6.11" + dependencies: + gopd: "npm:^1.2.0" + typedarray.prototype.slice: "npm:^1.0.5" + which-typed-array: "npm:^1.1.18" + checksum: 10c0/2b57662da3061ed2aa9977a6a3e315fc19f2cfdeb691700a88c12f4d460146abdb4d726740f47a9ca5fa84d3c50096b76ee50047d1a71c2afb168852ad264e36 + languageName: node + linkType: hard + "ts-api-utils@npm:^2.0.0": version: 2.0.0 resolution: "ts-api-utils@npm:2.0.0" @@ -19137,6 +19215,22 @@ __metadata: languageName: node linkType: hard +"typedarray.prototype.slice@npm:^1.0.5": + version: 1.0.5 + resolution: "typedarray.prototype.slice@npm:1.0.5" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.9" + es-errors: "npm:^1.3.0" + get-proto: "npm:^1.0.1" + math-intrinsics: "npm:^1.1.0" + typed-array-buffer: "npm:^1.0.3" + typed-array-byte-offset: "npm:^1.0.4" + checksum: 10c0/4995828640f8079cfbc9e3b4b8fc2e0eeb109edd1a2596806325ae07306dba1cd947e6ed6f63391aa7d5af0ea4f40fddf1b6eb863f8a59869a9dfc5dcfd8eac2 + languageName: node + linkType: hard + "typedarray@npm:^0.0.6": version: 0.0.6 resolution: "typedarray@npm:0.0.6" @@ -19987,6 +20081,13 @@ __metadata: languageName: node linkType: hard +"web-vitals@npm:^2.1.4": + version: 2.1.4 + resolution: "web-vitals@npm:2.1.4" + checksum: 10c0/c71ab674936c6b4d51679e037e3819c24bdad9f30410fe8a84fd8218d29d9bacf15ae9fd570d361f3e9621aa8454f61277f66ac1a5c19b50facf3220a37a73eb + languageName: node + linkType: hard + "webextension-polyfill-ts@npm:^0.25.0": version: 0.25.0 resolution: "webextension-polyfill-ts@npm:0.25.0" From 408121e9a825256a03d969f48ef6238fb75c99ea Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 12:25:14 +1300 Subject: [PATCH 06/17] fix: remove unused export types with knip --- apps/namadillo/package.json | 8 +++-- apps/namadillo/src/App/App.tsx | 2 +- apps/namadillo/src/App/AppRoutes.tsx | 4 +-- .../src/App/Common/FormattedPaginator.tsx | 2 -- .../src/App/Staking/MyValidatorsFilter.tsx | 2 -- .../src/App/Transfer/TransferModule.tsx | 8 ++--- apps/namadillo/src/atoms/balance/services.ts | 2 +- .../src/atoms/integrations/services.ts | 2 +- apps/namadillo/src/atoms/ledger/atoms.ts | 2 +- apps/namadillo/src/atoms/settings/atoms.ts | 4 +-- apps/namadillo/src/atoms/transfer/services.ts | 2 +- apps/namadillo/src/hooks/useNamadaKeychain.ts | 2 +- apps/namadillo/src/hooks/useTransaction.tsx | 2 +- apps/namadillo/src/lib/query.ts | 4 +-- apps/namadillo/src/types.ts | 34 +++++++++---------- apps/namadillo/src/types/events.ts | 6 ++-- .../src/workers/ShieldedSyncMessages.ts | 4 +-- 17 files changed, 44 insertions(+), 46 deletions(-) diff --git a/apps/namadillo/package.json b/apps/namadillo/package.json index af1233c8d7..45bb477873 100644 --- a/apps/namadillo/package.json +++ b/apps/namadillo/package.json @@ -60,7 +60,8 @@ "test:ci": "jest", "test:watch-only": "yarn jest --watchAll=true", "e2e-test": "PLAYWRIGHT_BASE_URL=http://localhost:3000 yarn playwright test", - "e2e-test:headed": "PLAYWRIGHT_BASE_URL=http://localhost:3000 yarn playwright test --project=chromium --headed" + "e2e-test:headed": "PLAYWRIGHT_BASE_URL=http://localhost:3000 yarn playwright test --project=chromium --headed", + "knip": "knip" }, "browserslist": { "production": [ @@ -86,7 +87,7 @@ "@types/jest": "^29.5.12", "@types/lodash.debounce": "^4.0.9", "@types/lodash.isequal": "^4", - "@types/node": "^22.5.4", + "@types/node": "^24.7.0", "@types/react": "^18.3.5", "@types/react-dom": "^18.3.0", "@types/react-paginate": "^7.1.2", @@ -101,10 +102,11 @@ "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "jest-transformer-svg": "^2.0.2", + "knip": "^5.64.2", "postcss": "^8.4.32", "tailwindcss": "^3.4.0", "ts-jest": "^29.2.5", - "typescript": "^5.5.4", + "typescript": "^5.9.3", "vite": "^5.4.3", "vite-plugin-node-polyfills": "^0.22.0", "vite-plugin-pwa": "^0.21.1", diff --git a/apps/namadillo/src/App/App.tsx b/apps/namadillo/src/App/App.tsx index 864780b5b6..916b997274 100644 --- a/apps/namadillo/src/App/App.tsx +++ b/apps/namadillo/src/App/App.tsx @@ -12,7 +12,7 @@ import { useTransactionWatcher } from "hooks/useTransactionWatcher"; import { Outlet } from "react-router-dom"; import { ChainLoader } from "./Setup/ChainLoader"; -export const history = createBrowserHistory({ window }); +const history = createBrowserHistory({ window }); export function App(): JSX.Element { useExtensionEvents(); diff --git a/apps/namadillo/src/App/AppRoutes.tsx b/apps/namadillo/src/App/AppRoutes.tsx index c0ace54e78..781be90472 100644 --- a/apps/namadillo/src/App/AppRoutes.tsx +++ b/apps/namadillo/src/App/AppRoutes.tsx @@ -1,4 +1,3 @@ -import { Router } from "@remix-run/router"; import { applicationFeaturesAtom } from "atoms/settings"; import { useAtomValue } from "jotai"; import { @@ -8,6 +7,7 @@ import { createBrowserRouter, createRoutesFromElements, useLocation, + type Router, } from "react-router-dom"; import { AccountOverview } from "./AccountOverview"; import { App } from "./App"; @@ -48,7 +48,7 @@ import { TransactionDetails } from "./Transactions/TransactionDetails"; import { TransactionHistory } from "./Transactions/TransactionHistory"; import { TransferLayout } from "./Transfer/TransferLayout"; -export const MainRoutes = (): JSX.Element => { +const MainRoutes = (): JSX.Element => { const location = useLocation(); const state = location.state as { backgroundLocation?: Location }; const features = useAtomValue(applicationFeaturesAtom); diff --git a/apps/namadillo/src/App/Common/FormattedPaginator.tsx b/apps/namadillo/src/App/Common/FormattedPaginator.tsx index 675eadc1d3..8df9c15879 100644 --- a/apps/namadillo/src/App/Common/FormattedPaginator.tsx +++ b/apps/namadillo/src/App/Common/FormattedPaginator.tsx @@ -19,5 +19,3 @@ export const FormattedPaginator = ( /> ); }; - -export default FormattedPaginator; diff --git a/apps/namadillo/src/App/Staking/MyValidatorsFilter.tsx b/apps/namadillo/src/App/Staking/MyValidatorsFilter.tsx index 322650bdee..050b6b8630 100644 --- a/apps/namadillo/src/App/Staking/MyValidatorsFilter.tsx +++ b/apps/namadillo/src/App/Staking/MyValidatorsFilter.tsx @@ -7,8 +7,6 @@ import { import clsx from "clsx"; import { ValidatorFilterOptions } from "types"; -export type FilterOptions = "all" | "my-validators"; - type MyValidatorsFilterProps = { onChangeFilter: (type: ValidatorFilterOptions) => void; onToggleMyValidatorsFilterActive: (active: boolean) => void; diff --git a/apps/namadillo/src/App/Transfer/TransferModule.tsx b/apps/namadillo/src/App/Transfer/TransferModule.tsx index 2d24ca9079..c15cbc2fc6 100644 --- a/apps/namadillo/src/App/Transfer/TransferModule.tsx +++ b/apps/namadillo/src/App/Transfer/TransferModule.tsx @@ -56,7 +56,7 @@ type TransferModuleConfig = { ledgerAccountInfo?: LedgerAccountInfo; }; -export type TransferSourceProps = TransferModuleConfig & { +type TransferSourceProps = TransferModuleConfig & { availableAssets?: Record; isLoadingAssets?: boolean; selectedAssetAddress?: Address; @@ -66,14 +66,14 @@ export type TransferSourceProps = TransferModuleConfig & { onChangeAmount?: (amount: BigNumber | undefined) => void; }; -export type IbcOptions = { +type IbcOptions = { sourceChannel: string; onChangeSourceChannel: (channel: string) => void; destinationChannel?: string; onChangeDestinationChannel?: (channel: string) => void; }; -export type TransferDestinationProps = TransferModuleConfig & { +type TransferDestinationProps = TransferModuleConfig & { enableCustomAddress?: boolean; customAddress?: Address; onChangeCustomAddress?: (address: Address) => void; @@ -86,7 +86,7 @@ export type OnSubmitTransferParams = { memo?: string; }; -export type TransferModuleProps = { +type TransferModuleProps = { source: TransferSourceProps; destination: TransferDestinationProps; onSubmitTransfer?: (params: OnSubmitTransferParams) => void; diff --git a/apps/namadillo/src/atoms/balance/services.ts b/apps/namadillo/src/atoms/balance/services.ts index 24f903dfbf..7146e29893 100644 --- a/apps/namadillo/src/atoms/balance/services.ts +++ b/apps/namadillo/src/atoms/balance/services.ts @@ -23,7 +23,7 @@ import { } from "workers/MaspTxWorker"; import MaspTxWorker from "workers/MaspTxWorker?worker"; -export type ShieldedSyncEventMap = { +type ShieldedSyncEventMap = { [SdkEvents.ProgressBarStarted]: ProgressBarStarted[]; [SdkEvents.ProgressBarIncremented]: ProgressBarIncremented[]; [SdkEvents.ProgressBarFinished]: ProgressBarFinished[]; diff --git a/apps/namadillo/src/atoms/integrations/services.ts b/apps/namadillo/src/atoms/integrations/services.ts index 12361be44e..b879cfc1aa 100644 --- a/apps/namadillo/src/atoms/integrations/services.ts +++ b/apps/namadillo/src/atoms/integrations/services.ts @@ -61,7 +61,7 @@ type ShieldedParams = CommonParams & { destinationChannelId: string; }; -export type IbcTransferParams = TransparentParams | ShieldedParams; +type IbcTransferParams = TransparentParams | ShieldedParams; export const getShieldedArgs = async ( target: string, diff --git a/apps/namadillo/src/atoms/ledger/atoms.ts b/apps/namadillo/src/atoms/ledger/atoms.ts index 9ba35d1b6e..e13ae15869 100644 --- a/apps/namadillo/src/atoms/ledger/atoms.ts +++ b/apps/namadillo/src/atoms/ledger/atoms.ts @@ -6,7 +6,7 @@ import { atom } from "jotai"; import { atomWithQuery } from "jotai-tanstack-query"; import { getSdkInstance } from "utils/sdk"; -export type LedgerStatus = { +type LedgerStatus = { connected: boolean; errorMessage: string; }; diff --git a/apps/namadillo/src/atoms/settings/atoms.ts b/apps/namadillo/src/atoms/settings/atoms.ts index e223bfc194..813985cc28 100644 --- a/apps/namadillo/src/atoms/settings/atoms.ts +++ b/apps/namadillo/src/atoms/settings/atoms.ts @@ -14,8 +14,8 @@ import { isRpcAlive, } from "./services"; -export type AttachStatus = "pending" | "attached" | "detached"; -export type ConnectStatus = "idle" | "connecting" | "connected" | "error"; +type AttachStatus = "pending" | "attached" | "detached"; +type ConnectStatus = "idle" | "connecting" | "connected" | "error"; export const namadaExtensionAttachStatus = atom("pending"); export const namadaExtensionConnectionStatus = atom("idle"); diff --git a/apps/namadillo/src/atoms/transfer/services.ts b/apps/namadillo/src/atoms/transfer/services.ts index 9ce0c11690..d6d8b1fe3e 100644 --- a/apps/namadillo/src/atoms/transfer/services.ts +++ b/apps/namadillo/src/atoms/transfer/services.ts @@ -30,7 +30,7 @@ import { } from "workers/MaspTxWorker"; import MaspTxWorker from "workers/MaspTxWorker?worker"; -export type WorkerTransferParams = { +type WorkerTransferParams = { sourceAddress: Address; destinationAddress: Address; tokenAddress: Address; diff --git a/apps/namadillo/src/hooks/useNamadaKeychain.ts b/apps/namadillo/src/hooks/useNamadaKeychain.ts index 8311f0e49b..15c7c7f6c0 100644 --- a/apps/namadillo/src/hooks/useNamadaKeychain.ts +++ b/apps/namadillo/src/hooks/useNamadaKeychain.ts @@ -8,7 +8,7 @@ import { Wallet } from "integrations/types"; import { useAtom, useAtomValue } from "jotai"; import { useCallback, useState } from "react"; -export type InjectedNamada = WindowWithNamada["namada"]; +type InjectedNamada = WindowWithNamada["namada"]; const notAvailableError = "Namada Keychain is not available."; diff --git a/apps/namadillo/src/hooks/useTransaction.tsx b/apps/namadillo/src/hooks/useTransaction.tsx index 5387d590fa..7e375faaa8 100644 --- a/apps/namadillo/src/hooks/useTransaction.tsx +++ b/apps/namadillo/src/hooks/useTransaction.tsx @@ -39,7 +39,7 @@ export type UseTransactionPropsEvents = { onBroadcasted?: (tx: TransactionPair) => void; }; -export type UseTransactionProps = { +type UseTransactionProps = { params: T[]; createTxAtom: AtomType; useDisposableSigner?: boolean; diff --git a/apps/namadillo/src/lib/query.ts b/apps/namadillo/src/lib/query.ts index c7dbb15975..0f4b3dd7d1 100644 --- a/apps/namadillo/src/lib/query.ts +++ b/apps/namadillo/src/lib/query.ts @@ -36,12 +36,12 @@ export type EncodedTxData = { }; }; -export type TransactionNotification = { +type TransactionNotification = { success?: { title: string; text: string }; error?: { title: string; text: string }; }; -export type PreparedTransaction = { +type PreparedTransaction = { encodedTx: WrapperTxProps; signedTx: Uint8Array; meta: T; diff --git a/apps/namadillo/src/types.ts b/apps/namadillo/src/types.ts index cf270797ed..2a63b9d2e6 100644 --- a/apps/namadillo/src/types.ts +++ b/apps/namadillo/src/types.ts @@ -22,7 +22,7 @@ type Unique = { uuid: string; }; -export type PublicKey = string; +type PublicKey = string; export type Address = string; @@ -30,12 +30,12 @@ export type BaseDenom = string; export type ChainId = string; -export type GasLimit = BigNumber; +type GasLimit = BigNumber; -export type GasPrice = BigNumber; +type GasPrice = BigNumber; // For Namada chain, it should be the address. For Ibc, it should be the base denom -export type GasToken = Address | BaseDenom; +type GasToken = Address | BaseDenom; export type AddressBalance = Record; @@ -50,9 +50,9 @@ export type GasConfigToDisplay = { asset: Asset; }; -export type TxGas = Record; +type TxGas = Record; -export type GasTable = Record; +type GasTable = Record; export type ChainSettings = { id: ChainKey; @@ -138,7 +138,7 @@ export type StakingTotals = { totalWithdrawable: BigNumber; }; -export type ChangeInStakingProps = { +type ChangeInStakingProps = { account: Account; changes: ChangeInStakingPosition[]; gasConfig: GasConfig; @@ -149,7 +149,7 @@ export type ChangeInStakingPosition = { amount: BigNumber; }; -export type RedelegateChangesProps = { +type RedelegateChangesProps = { account: Account; changes: RedelegateChange[]; gasConfig: GasConfig; @@ -161,13 +161,13 @@ export type RedelegateChange = { amount: BigNumber; }; -export type ClaimRewardsProps = { +type ClaimRewardsProps = { account: Account; params: ClaimRewardsMsgValue[]; gasConfig: GasConfig; }; -export type Signer = { +type Signer = { publicKey: string; address: string; }; @@ -194,7 +194,7 @@ export type ToastNotification = { timeout?: number; }; -export type ToastNotificationEntryFilter = ( +type ToastNotificationEntryFilter = ( notification: ToastNotification ) => boolean; @@ -233,7 +233,7 @@ export type NamadaAssetWithAmount = { amount: BigNumber; }; -export type AssetWithMinDenomAmount = { +type AssetWithMinDenomAmount = { asset: Asset; minDenomAmount: BigNumber; }; @@ -337,15 +337,15 @@ export const transferPossibleStages = [ type NamadaTransferStages = typeof namadaTransferStages; type IbcTransferStages = typeof ibcTransferStages; -export type AllTransferStages = typeof allTransferStages; +type AllTransferStages = typeof allTransferStages; export type NamadaTransferTxKind = keyof NamadaTransferStages; -export type IbcTransferTxKind = keyof IbcTransferStages; +type IbcTransferTxKind = keyof IbcTransferStages; export type AllTransferTxKind = NamadaTransferTxKind | IbcTransferTxKind; -export type NamadaTransferStage = { +type NamadaTransferStage = { [P in NamadaTransferTxKind]: { type: P; currentStep: TransferStep; @@ -359,9 +359,9 @@ export type IbcTransferStage = { }; }[IbcTransferTxKind]; -export type TransferStage = IbcTransferStage | NamadaTransferStage; +type TransferStage = IbcTransferStage | NamadaTransferStage; -export type BaseTransferTransaction = TransferStage & { +type BaseTransferTransaction = TransferStage & { rpc: string; asset: Asset; hash: string; diff --git a/apps/namadillo/src/types/events.ts b/apps/namadillo/src/types/events.ts index 1029bf5bc7..3015f0222a 100644 --- a/apps/namadillo/src/types/events.ts +++ b/apps/namadillo/src/types/events.ts @@ -18,16 +18,16 @@ export type TransactionEventsStatus = | "Success" | "PartialSuccess"; -export type TransactionEvent = +type TransactionEvent = `${TransactionEventsClasses}.${TransactionEventsStatus}`; -export type TransactionEventHandlers = { +type TransactionEventHandlers = { onError?: TransactionEvent; onSuccess?: TransactionEvent; onPending?: TransactionEvent; }; -export interface EventData extends CustomEvent { +interface EventData extends CustomEvent { detail: { tx: TxProps[]; data: T[]; diff --git a/apps/namadillo/src/workers/ShieldedSyncMessages.ts b/apps/namadillo/src/workers/ShieldedSyncMessages.ts index b73c92747c..e4f6412c71 100644 --- a/apps/namadillo/src/workers/ShieldedSyncMessages.ts +++ b/apps/namadillo/src/workers/ShieldedSyncMessages.ts @@ -16,5 +16,5 @@ type ShiededSyncPayload = { export type Sync = WebWorkerMessage<"sync", ShiededSyncPayload>; export type SyncDone = WebWorkerMessage<"sync-done", null>; -export type ShieldMessageIn = Init | Sync; -export type ShieldMessageOut = InitDone | SyncDone; +type ShieldMessageIn = Init | Sync; +type ShieldMessageOut = InitDone | SyncDone; From 10182926c9cb452155b7e54941235ac47c265d0a Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 12:25:26 +1300 Subject: [PATCH 07/17] fix: remove unused export types with knip --- yarn.lock | 380 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 368 insertions(+), 12 deletions(-) diff --git a/yarn.lock b/yarn.lock index 66d0ab543f..df0d3f31ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2640,6 +2640,34 @@ __metadata: languageName: node linkType: hard +"@emnapi/core@npm:^1.5.0": + version: 1.5.0 + resolution: "@emnapi/core@npm:1.5.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.1.0" + tslib: "npm:^2.4.0" + checksum: 10c0/52ba3485277706d92fa27d92b37e5b4f6ef0742c03ed68f8096f294c6bfa30f0752c82d4c2bfa14bff4dc30d63c9f71a8f9fb64a92743d00807d9e468fafd5ff + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.5.0": + version: 1.5.0 + resolution: "@emnapi/runtime@npm:1.5.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/a85c9fc4e3af49cbe41e5437e5be2551392a931910cd0a5b5d3572532786927810c9cc1db11b232ec8f9657b33d4e6f7c4f985f1a052917d7cd703b5b2a20faa + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.1.0": + version: 1.1.0 + resolution: "@emnapi/wasi-threads@npm:1.1.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/e6d54bf2b1e64cdd83d2916411e44e579b6ae35d5def0dea61a3c452d9921373044dff32a8b8473ae60c80692bdc39323e98b96a3f3d87ba6886b24dd0ef7ca1 + languageName: node + linkType: hard + "@emotion/is-prop-valid@npm:1.2.2": version: 1.2.2 resolution: "@emotion/is-prop-valid@npm:1.2.2" @@ -3753,7 +3781,7 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/lodash.debounce": "npm:^4.0.9" "@types/lodash.isequal": "npm:^4" - "@types/node": "npm:^22.5.4" + "@types/node": "npm:^24.7.0" "@types/react": "npm:^18.3.5" "@types/react-dom": "npm:^18.3.0" "@types/react-paginate": "npm:^7.1.2" @@ -3780,6 +3808,7 @@ __metadata: jest-transformer-svg: "npm:^2.0.2" jotai: "npm:^2.6.3" jotai-tanstack-query: "npm:^0.8.5" + knip: "npm:^5.64.2" lodash.debounce: "npm:^4.0.8" lodash.isequal: "npm:^4.5.0" postcss: "npm:^8.4.32" @@ -3795,7 +3824,7 @@ __metadata: toml: "npm:^3.0.0" traverse: "npm:^0.6.9" ts-jest: "npm:^29.2.5" - typescript: "npm:^5.5.4" + typescript: "npm:^5.9.3" vite: "npm:^5.4.3" vite-plugin-checker: "npm:^0.8.0" vite-plugin-node-polyfills: "npm:^0.22.0" @@ -3944,6 +3973,17 @@ __metadata: languageName: node linkType: hard +"@napi-rs/wasm-runtime@npm:^1.0.5": + version: 1.0.6 + resolution: "@napi-rs/wasm-runtime@npm:1.0.6" + dependencies: + "@emnapi/core": "npm:^1.5.0" + "@emnapi/runtime": "npm:^1.5.0" + "@tybys/wasm-util": "npm:^0.10.1" + checksum: 10c0/af48168c6e13c970498fda3ce7238234a906bc69dd474dc9abd560cdf8a7dea6410147afec8f0191a1d19767c8347d8ec0125a8a93225312f7ac37e06e8c15ad + languageName: node + linkType: hard + "@noble/curves@npm:1.2.0": version: 1.2.0 resolution: "@noble/curves@npm:1.2.0" @@ -4023,6 +4063,141 @@ __metadata: languageName: node linkType: hard +"@oxc-resolver/binding-android-arm-eabi@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.9.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-android-arm64@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-android-arm64@npm:11.9.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-arm64@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.9.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-x64@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-darwin-x64@npm:11.9.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-freebsd-x64@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.9.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.9.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.9.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-gnu@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.9.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-musl@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.9.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.9.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.9.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-riscv64-musl@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.9.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-s390x-gnu@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.9.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-gnu@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.9.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-musl@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.9.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-wasm32-wasi@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.9.0" + dependencies: + "@napi-rs/wasm-runtime": "npm:^1.0.5" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-arm64-msvc@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.9.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-ia32-msvc@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-win32-ia32-msvc@npm:11.9.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-x64-msvc@npm:11.9.0": + version: 11.9.0 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.9.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -4799,6 +4974,15 @@ __metadata: languageName: node linkType: hard +"@tybys/wasm-util@npm:^0.10.1": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/b255094f293794c6d2289300c5fbcafbb5532a3aed3a5ffd2f8dc1828e639b88d75f6a376dd8f94347a44813fd7a7149d8463477a9a49525c8b2dcaa38c2d1e8 + languageName: node + linkType: hard + "@types/animejs@npm:^3.1.12": version: 3.1.12 resolution: "@types/animejs@npm:3.1.12" @@ -5270,6 +5454,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^24.7.0": + version: 24.7.0 + resolution: "@types/node@npm:24.7.0" + dependencies: + undici-types: "npm:~7.14.0" + checksum: 10c0/f036c78062cb3a0d5c6586bf2dac347ed3f4af121cef4ab92c85c44e32be1c50aab5ba96955842b7f8165f0e0f1c8066d1813ae259372df6c0fa9fadb1116a3e + languageName: node + linkType: hard + "@types/parse-json@npm:^4.0.0": version: 4.0.2 resolution: "@types/parse-json@npm:4.0.2" @@ -10132,7 +10325,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.7, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.7, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -10228,6 +10421,15 @@ __metadata: languageName: node linkType: hard +"fd-package-json@npm:^2.0.0": + version: 2.0.0 + resolution: "fd-package-json@npm:2.0.0" + dependencies: + walk-up-path: "npm:^4.0.0" + checksum: 10c0/a0a48745257bc09c939486608dad9f2ced238f0c64266222cc881618ed4c8f6aa0ccfe45a1e6d4f9ce828509e8d617cec60e2a114851bebb1ff4886dc5ed5112 + languageName: node + linkType: hard + "fd-slicer@npm:~1.1.0": version: 1.1.0 resolution: "fd-slicer@npm:1.1.0" @@ -10465,6 +10667,17 @@ __metadata: languageName: node linkType: hard +"formatly@npm:^0.3.0": + version: 0.3.0 + resolution: "formatly@npm:0.3.0" + dependencies: + fd-package-json: "npm:^2.0.0" + bin: + formatly: bin/index.mjs + checksum: 10c0/ef9dbd3cdaee649e9604ea060d8d62d8131eb81117634336592ee2193fc7c98a3f1f1b5d09a045dbd36287ba88edf868ef179d39fbda2f34fbe2be70c42dd014 + languageName: node + linkType: hard + "formdata-polyfill@npm:^4.0.10": version: 4.0.10 resolution: "formdata-polyfill@npm:4.0.10" @@ -12957,6 +13170,15 @@ __metadata: languageName: node linkType: hard +"jiti@npm:^2.6.0": + version: 2.6.1 + resolution: "jiti@npm:2.6.1" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b + languageName: node + linkType: hard + "jose@npm:4.13.1": version: 4.13.1 resolution: "jose@npm:4.13.1" @@ -13414,6 +13636,32 @@ __metadata: languageName: node linkType: hard +"knip@npm:^5.64.2": + version: 5.64.2 + resolution: "knip@npm:5.64.2" + dependencies: + "@nodelib/fs.walk": "npm:^1.2.3" + fast-glob: "npm:^3.3.3" + formatly: "npm:^0.3.0" + jiti: "npm:^2.6.0" + js-yaml: "npm:^4.1.0" + minimist: "npm:^1.2.8" + oxc-resolver: "npm:^11.8.3" + picocolors: "npm:^1.1.1" + picomatch: "npm:^4.0.1" + smol-toml: "npm:^1.4.1" + strip-json-comments: "npm:5.0.2" + zod: "npm:^4.1.11" + peerDependencies: + "@types/node": ">=18" + typescript: ">=5.0.4 <7" + bin: + knip: bin/knip.js + knip-bun: bin/knip-bun.js + checksum: 10c0/53aa2d20a4ca4a764daf231d3ba2d35b7fda5f55cd2e0f1dfc0ed5d8d0481a7d901747e792992bea848177d3c070072cb454dd9a2d412c0b71b28b5a39245998 + languageName: node + linkType: hard + "latest-version@npm:^7.0.0": version: 7.0.0 resolution: "latest-version@npm:7.0.0" @@ -14128,7 +14376,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -14905,6 +15153,72 @@ __metadata: languageName: node linkType: hard +"oxc-resolver@npm:^11.8.3": + version: 11.9.0 + resolution: "oxc-resolver@npm:11.9.0" + dependencies: + "@oxc-resolver/binding-android-arm-eabi": "npm:11.9.0" + "@oxc-resolver/binding-android-arm64": "npm:11.9.0" + "@oxc-resolver/binding-darwin-arm64": "npm:11.9.0" + "@oxc-resolver/binding-darwin-x64": "npm:11.9.0" + "@oxc-resolver/binding-freebsd-x64": "npm:11.9.0" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.9.0" + "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.9.0" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.9.0" + "@oxc-resolver/binding-linux-arm64-musl": "npm:11.9.0" + "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.9.0" + "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.9.0" + "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.9.0" + "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.9.0" + "@oxc-resolver/binding-linux-x64-gnu": "npm:11.9.0" + "@oxc-resolver/binding-linux-x64-musl": "npm:11.9.0" + "@oxc-resolver/binding-wasm32-wasi": "npm:11.9.0" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.9.0" + "@oxc-resolver/binding-win32-ia32-msvc": "npm:11.9.0" + "@oxc-resolver/binding-win32-x64-msvc": "npm:11.9.0" + dependenciesMeta: + "@oxc-resolver/binding-android-arm-eabi": + optional: true + "@oxc-resolver/binding-android-arm64": + optional: true + "@oxc-resolver/binding-darwin-arm64": + optional: true + "@oxc-resolver/binding-darwin-x64": + optional: true + "@oxc-resolver/binding-freebsd-x64": + optional: true + "@oxc-resolver/binding-linux-arm-gnueabihf": + optional: true + "@oxc-resolver/binding-linux-arm-musleabihf": + optional: true + "@oxc-resolver/binding-linux-arm64-gnu": + optional: true + "@oxc-resolver/binding-linux-arm64-musl": + optional: true + "@oxc-resolver/binding-linux-ppc64-gnu": + optional: true + "@oxc-resolver/binding-linux-riscv64-gnu": + optional: true + "@oxc-resolver/binding-linux-riscv64-musl": + optional: true + "@oxc-resolver/binding-linux-s390x-gnu": + optional: true + "@oxc-resolver/binding-linux-x64-gnu": + optional: true + "@oxc-resolver/binding-linux-x64-musl": + optional: true + "@oxc-resolver/binding-wasm32-wasi": + optional: true + "@oxc-resolver/binding-win32-arm64-msvc": + optional: true + "@oxc-resolver/binding-win32-ia32-msvc": + optional: true + "@oxc-resolver/binding-win32-x64-msvc": + optional: true + checksum: 10c0/5a6c3381dd190c003cf07e8020684e9818ffd7fb4e75f4ec171fcc537037c55a28a84980c4949b209ba4f29d7c93aaa57a652287bede5d1dc31d58ebda123431 + languageName: node + linkType: hard + "p-cancelable@npm:^3.0.0": version: 3.0.0 resolution: "p-cancelable@npm:3.0.0" @@ -15274,6 +15588,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.1": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 + languageName: node + linkType: hard + "picomatch@npm:^4.0.2": version: 4.0.2 resolution: "picomatch@npm:4.0.2" @@ -17730,6 +18051,13 @@ __metadata: languageName: node linkType: hard +"smol-toml@npm:^1.4.1": + version: 1.4.2 + resolution: "smol-toml@npm:1.4.2" + checksum: 10c0/e01e5f249b1ad852d09aa22f338a6cb3896ac35c92bf0d35744ce1b1e2f4b67901d4a0e886027617a2a8aa9f1a6c67c919c41b544c4aec137b6ebe042ca10d36 + languageName: node + linkType: hard + "sockjs@npm:^0.3.24": version: 0.3.24 resolution: "sockjs@npm:0.3.24" @@ -18281,6 +18609,13 @@ __metadata: languageName: node linkType: hard +"strip-json-comments@npm:5.0.2": + version: 5.0.2 + resolution: "strip-json-comments@npm:5.0.2" + checksum: 10c0/e9841b8face78a01b0eb66f81e0a3419186a96f1d26817a5e1f5260b0631c10e0a7f711dddc5988edf599e5c079e4dd6e91defd21523e556636ba5679786f5ac + languageName: node + linkType: hard + "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -19284,13 +19619,13 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.5.4": - version: 5.7.3 - resolution: "typescript@npm:5.7.3" +"typescript@npm:^5.9.3": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/b7580d716cf1824736cc6e628ab4cd8b51877408ba2be0869d2866da35ef8366dd6ae9eb9d0851470a39be17cbd61df1126f9e211d8799d764ea7431d5435afa + checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 languageName: node linkType: hard @@ -19304,13 +19639,13 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": - version: 5.7.3 - resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=5786d5" +"typescript@patch:typescript@npm%3A^5.9.3#optional!builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/6fd7e0ed3bf23a81246878c613423730c40e8bdbfec4c6e4d7bf1b847cbb39076e56ad5f50aa9d7ebd89877999abaee216002d3f2818885e41c907caaa192cc4 + checksum: 10c0/ad09fdf7a756814dce65bc60c1657b40d44451346858eea230e10f2e95a289d9183b6e32e5c11e95acc0ccc214b4f36289dcad4bf1886b0adb84d711d336a430 languageName: node linkType: hard @@ -19388,6 +19723,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~7.14.0": + version: 7.14.0 + resolution: "undici-types@npm:7.14.0" + checksum: 10c0/e7f3214b45d788f03c51ceb33817be99c65dae203863aa9386b3ccc47201a245a7955fc721fb581da9c888b6ebad59fa3f53405214afec04c455a479908f0f14 + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.1 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" @@ -19985,6 +20327,13 @@ __metadata: languageName: node linkType: hard +"walk-up-path@npm:^4.0.0": + version: 4.0.0 + resolution: "walk-up-path@npm:4.0.0" + checksum: 10c0/fabe344f91387d1d41df230af962ef18bf703dd4178006d55cd6412caacd187b54440002d4d53a982d4f7f0455567dcffb6d3884533c8b2268928eca3ebd8a19 + languageName: node + linkType: hard + "walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -21192,6 +21541,13 @@ __metadata: languageName: node linkType: hard +"zod@npm:^4.1.11": + version: 4.1.12 + resolution: "zod@npm:4.1.12" + checksum: 10c0/b64c1feb19e99d77075261eaf613e0b2be4dfcd3551eff65ad8b4f2a079b61e379854d066f7d447491fcf193f45babd8095551a9d47973d30b46b6d8e2c46774 + languageName: node + linkType: hard + "zxcvbn@npm:^4.4.2": version: 4.4.2 resolution: "zxcvbn@npm:4.4.2" From 47d3de9f779a4b9a48294799f51acdb433387ec4 Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 12:48:43 +1300 Subject: [PATCH 08/17] fix: all unused exports --- apps/namadillo/src/App/App.tsx | 2 +- apps/namadillo/src/App/AppRoutes.tsx | 2 +- .../namadillo/src/App/Common/BalanceChart.tsx | 104 ------------- .../src/App/Common/FixedWarningBanner.tsx | 23 --- apps/namadillo/src/App/Common/Footer.tsx | 40 ----- apps/namadillo/src/App/Common/Intro.tsx | 33 ---- .../src/App/Common/StorageProvider.tsx | 2 +- apps/namadillo/src/App/Common/TextLink.tsx | 11 -- .../src/App/Common/TokensAnimation.tsx | 146 ------------------ .../src/App/Governance/ProposalAndVote.tsx | 4 +- .../App/Governance/ProposalDescription.tsx | 2 +- .../src/App/Governance/SubmitVote.tsx | 4 +- .../src/App/Governance/VoteHelpText.tsx | 45 ------ apps/namadillo/src/App/Ibc/assets/IbcLogo.tsx | 16 -- apps/namadillo/src/App/Icons/MASPIcon.tsx | 24 --- apps/namadillo/src/App/Icons/ReceiveIcon.tsx | 16 -- apps/namadillo/src/App/Icons/ShieldIcon.tsx | 23 --- .../src/App/Icons/ShieldedSendIcon.tsx | 27 ---- .../src/App/Icons/ShieldedTransferIcon.tsx | 32 ---- apps/namadillo/src/App/Icons/SwapIcon.tsx | 22 --- .../src/App/Icons/UnshieldedTransferIcon.tsx | 16 -- apps/namadillo/src/App/Masp/MaspTopHeader.tsx | 46 ------ .../src/App/Masp/ShieldingOptionCard.tsx | 31 ---- .../src/App/Sidebars/MainnetRoadmap.tsx | 75 --------- .../src/App/Sidebars/RoadmapPhase.tsx | 34 ---- .../src/App/Sidebars/ShieldAllBanner.tsx | 53 ------- .../src/App/Transactions/TransactionCard.tsx | 5 +- .../App/Transactions/TransactionHistory.tsx | 2 +- .../src/App/Transfer/ReceiveCard.tsx | 107 ------------- apps/namadillo/src/atoms/balance/atoms.ts | 2 +- apps/namadillo/src/atoms/balance/services.ts | 9 -- apps/namadillo/src/atoms/chain/services.ts | 5 - apps/namadillo/src/atoms/etc.ts | 7 +- .../namadillo/src/atoms/integrations/atoms.ts | 13 +- .../src/atoms/integrations/services.ts | 28 ---- apps/namadillo/src/atoms/ledger/atoms.ts | 2 +- apps/namadillo/src/atoms/settings/atoms.ts | 18 +-- apps/namadillo/src/atoms/staking/functions.ts | 32 +--- apps/namadillo/src/atoms/staking/services.ts | 9 -- apps/namadillo/src/atoms/store.tsx | 89 ----------- .../namadillo/src/atoms/transactions/atoms.ts | 2 +- apps/namadillo/src/atoms/transfer/services.ts | 9 -- apps/namadillo/src/atoms/utils.ts | 4 +- apps/namadillo/src/atoms/validators/atoms.ts | 2 +- .../src/atoms/validators/functions.ts | 2 +- apps/namadillo/src/constants.ts | 0 apps/namadillo/src/hooks/useCurrentRoute.tsx | 11 -- .../src/hooks/useExtensionConnect.ts | 42 ----- apps/namadillo/src/hooks/useSdk.tsx | 5 - apps/namadillo/src/integrations/utils.ts | 14 +- apps/namadillo/src/lib/query.ts | 19 +-- apps/namadillo/src/lib/staking.ts | 58 +------ apps/namadillo/src/lib/transactions.ts | 2 +- apps/namadillo/src/reportWebVitals.ts | 15 -- apps/namadillo/src/sw.ts | 64 -------- apps/namadillo/src/types.ts | 40 ----- apps/namadillo/src/types/events.ts | 9 -- apps/namadillo/src/urls.ts | 4 - apps/namadillo/src/utils/assets.ts | 33 ---- apps/namadillo/src/utils/dates.ts | 9 +- apps/namadillo/src/utils/etc.ts | 1 - apps/namadillo/src/utils/gas.ts | 2 +- apps/namadillo/src/utils/index.ts | 5 +- apps/namadillo/src/utils/routes.ts | 11 -- apps/namadillo/src/utils/sorting.ts | 2 +- .../src/workers/ShieldedSyncMessages.ts | 3 - 66 files changed, 31 insertions(+), 1498 deletions(-) delete mode 100644 apps/namadillo/src/App/Common/BalanceChart.tsx delete mode 100644 apps/namadillo/src/App/Common/FixedWarningBanner.tsx delete mode 100644 apps/namadillo/src/App/Common/Footer.tsx delete mode 100644 apps/namadillo/src/App/Common/Intro.tsx delete mode 100644 apps/namadillo/src/App/Common/TextLink.tsx delete mode 100644 apps/namadillo/src/App/Common/TokensAnimation.tsx delete mode 100644 apps/namadillo/src/App/Governance/VoteHelpText.tsx delete mode 100644 apps/namadillo/src/App/Ibc/assets/IbcLogo.tsx delete mode 100644 apps/namadillo/src/App/Icons/MASPIcon.tsx delete mode 100644 apps/namadillo/src/App/Icons/ReceiveIcon.tsx delete mode 100644 apps/namadillo/src/App/Icons/ShieldIcon.tsx delete mode 100644 apps/namadillo/src/App/Icons/ShieldedSendIcon.tsx delete mode 100644 apps/namadillo/src/App/Icons/ShieldedTransferIcon.tsx delete mode 100644 apps/namadillo/src/App/Icons/SwapIcon.tsx delete mode 100644 apps/namadillo/src/App/Icons/UnshieldedTransferIcon.tsx delete mode 100644 apps/namadillo/src/App/Masp/MaspTopHeader.tsx delete mode 100644 apps/namadillo/src/App/Masp/ShieldingOptionCard.tsx delete mode 100644 apps/namadillo/src/App/Sidebars/MainnetRoadmap.tsx delete mode 100644 apps/namadillo/src/App/Sidebars/RoadmapPhase.tsx delete mode 100644 apps/namadillo/src/App/Sidebars/ShieldAllBanner.tsx delete mode 100644 apps/namadillo/src/App/Transfer/ReceiveCard.tsx delete mode 100644 apps/namadillo/src/atoms/store.tsx delete mode 100644 apps/namadillo/src/constants.ts delete mode 100644 apps/namadillo/src/hooks/useCurrentRoute.tsx delete mode 100644 apps/namadillo/src/hooks/useExtensionConnect.ts delete mode 100644 apps/namadillo/src/reportWebVitals.ts delete mode 100644 apps/namadillo/src/sw.ts delete mode 100644 apps/namadillo/src/utils/etc.ts delete mode 100644 apps/namadillo/src/utils/routes.ts diff --git a/apps/namadillo/src/App/App.tsx b/apps/namadillo/src/App/App.tsx index 916b997274..864780b5b6 100644 --- a/apps/namadillo/src/App/App.tsx +++ b/apps/namadillo/src/App/App.tsx @@ -12,7 +12,7 @@ import { useTransactionWatcher } from "hooks/useTransactionWatcher"; import { Outlet } from "react-router-dom"; import { ChainLoader } from "./Setup/ChainLoader"; -const history = createBrowserHistory({ window }); +export const history = createBrowserHistory({ window }); export function App(): JSX.Element { useExtensionEvents(); diff --git a/apps/namadillo/src/App/AppRoutes.tsx b/apps/namadillo/src/App/AppRoutes.tsx index 781be90472..eabf6c90f8 100644 --- a/apps/namadillo/src/App/AppRoutes.tsx +++ b/apps/namadillo/src/App/AppRoutes.tsx @@ -1,3 +1,4 @@ +import { Router } from "@remix-run/router"; import { applicationFeaturesAtom } from "atoms/settings"; import { useAtomValue } from "jotai"; import { @@ -7,7 +8,6 @@ import { createBrowserRouter, createRoutesFromElements, useLocation, - type Router, } from "react-router-dom"; import { AccountOverview } from "./AccountOverview"; import { App } from "./App"; diff --git a/apps/namadillo/src/App/Common/BalanceChart.tsx b/apps/namadillo/src/App/Common/BalanceChart.tsx deleted file mode 100644 index 88e4000cfa..0000000000 --- a/apps/namadillo/src/App/Common/BalanceChart.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import { - Heading, - PieChart, - PieChartData, - SkeletonLoading, -} from "@namada/components"; -import BigNumber from "bignumber.js"; -import { useState } from "react"; -import { colors } from "theme"; -import { NamCurrency } from "./NamCurrency"; -import { OpacitySlides } from "./OpacitySlides"; - -type BalanceChartProps = { - bondedAmount: BigNumber; - unbondedAmount: BigNumber; - availableAmount: BigNumber; - withdrawableAmount: BigNumber; - totalAmount: BigNumber; - isLoading: boolean; -}; - -export const BalanceChart = ({ - availableAmount, - bondedAmount, - unbondedAmount, - withdrawableAmount, - totalAmount, - isLoading, -}: BalanceChartProps): JSX.Element => { - const [activeIndex, setActiveIndex] = useState(0); - - const getPiechartData = (): Array => { - if (isLoading) { - return []; - } - - if (totalAmount.eq(0)) { - // Preserves the pie chart circle shape when there is no balance without showing an amount - return [{ value: 0.0000000000001, color: colors.empty }]; - } - - return [ - { - label: "Total Staked Balance", - value: bondedAmount, - color: colors.bond, - }, - { - label: "Available NAM to Stake", - value: availableAmount, - color: colors.balance, - }, - { - label: "Unbonding NAM", - value: unbondedAmount.plus(withdrawableAmount), - color: colors.unbond, - }, - ]; - }; - - const data = getPiechartData(); - - return ( -
- {isLoading ? - - : setActiveIndex(0)} - onMouseEnter={(_data: PieChartData, index: number) => - setActiveIndex(index) - } - > - - {data.map((item, index) => ( -
- - {item.label} - - -
- ))} -
-
- } -
- ); -}; diff --git a/apps/namadillo/src/App/Common/FixedWarningBanner.tsx b/apps/namadillo/src/App/Common/FixedWarningBanner.tsx deleted file mode 100644 index 4017501af5..0000000000 --- a/apps/namadillo/src/App/Common/FixedWarningBanner.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { ReactNode } from "react"; -import { IoWarning } from "react-icons/io5"; - -type FixedWarningBannerProps = { - errorMessage: ReactNode; -}; - -export const FixedWarningBanner = ({ - errorMessage, -}: FixedWarningBannerProps): JSX.Element => { - if (!errorMessage) return <>; - - return ( -
-
- - WARNING:{" "} - -
{errorMessage}
-
-
- ); -}; diff --git a/apps/namadillo/src/App/Common/Footer.tsx b/apps/namadillo/src/App/Common/Footer.tsx deleted file mode 100644 index e9a6961152..0000000000 --- a/apps/namadillo/src/App/Common/Footer.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import { twMerge } from "tailwind-merge"; -type FooterProps = React.ComponentPropsWithoutRef<"div">; - -export const Footer = ({ className, ...props }: FooterProps): JSX.Element => { - return ( - - ); -}; diff --git a/apps/namadillo/src/App/Common/Intro.tsx b/apps/namadillo/src/App/Common/Intro.tsx deleted file mode 100644 index 122c81c677..0000000000 --- a/apps/namadillo/src/App/Common/Intro.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { ActionButton, Image } from "@namada/components"; -import { ConnectExtensionButton } from "App/Common/ConnectExtensionButton"; -import clsx from "clsx"; -import { DISCORD_URL } from "urls"; - -export const Intro = (): JSX.Element => { - return ( -
-
- -

- Your Gateway to the Shielded Multichain -

-
-
- - - Community Help - -
-
- ); -}; diff --git a/apps/namadillo/src/App/Common/StorageProvider.tsx b/apps/namadillo/src/App/Common/StorageProvider.tsx index 5a9e941090..747fae38b6 100644 --- a/apps/namadillo/src/App/Common/StorageProvider.tsx +++ b/apps/namadillo/src/App/Common/StorageProvider.tsx @@ -11,7 +11,7 @@ const HydrateAtoms = (props: { children: JSX.Element }): JSX.Element => { return props.children; }; -export const defaultStore = getDefaultStore(); +const defaultStore = getDefaultStore(); export const StorageProvider = ({ children, diff --git a/apps/namadillo/src/App/Common/TextLink.tsx b/apps/namadillo/src/App/Common/TextLink.tsx deleted file mode 100644 index 6c5a78547d..0000000000 --- a/apps/namadillo/src/App/Common/TextLink.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import clsx from "clsx"; - -export const TextLink: React.FC> = ({ - className, - children, - ...rest -}) => ( - - {children} - -); diff --git a/apps/namadillo/src/App/Common/TokensAnimation.tsx b/apps/namadillo/src/App/Common/TokensAnimation.tsx deleted file mode 100644 index 4be3eb6b17..0000000000 --- a/apps/namadillo/src/App/Common/TokensAnimation.tsx +++ /dev/null @@ -1,146 +0,0 @@ -export const TokensAnimation = (): JSX.Element => { - return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); -}; diff --git a/apps/namadillo/src/App/Governance/ProposalAndVote.tsx b/apps/namadillo/src/App/Governance/ProposalAndVote.tsx index 642f09147d..5f788f5be3 100644 --- a/apps/namadillo/src/App/Governance/ProposalAndVote.tsx +++ b/apps/namadillo/src/App/Governance/ProposalAndVote.tsx @@ -16,9 +16,7 @@ export const ProposalAndVote: React.FC = () => { ); }; -export const WithProposalId: React.FC<{ proposalId: bigint }> = ({ - proposalId, -}) => ( +const WithProposalId: React.FC<{ proposalId: bigint }> = ({ proposalId }) => (
diff --git a/apps/namadillo/src/App/Governance/ProposalDescription.tsx b/apps/namadillo/src/App/Governance/ProposalDescription.tsx index ecd034c3a4..7060a81707 100644 --- a/apps/namadillo/src/App/Governance/ProposalDescription.tsx +++ b/apps/namadillo/src/App/Governance/ProposalDescription.tsx @@ -49,7 +49,7 @@ export const ProposalDescription: React.FC<{ ); }; -export const Loaded: React.FC<{ +const Loaded: React.FC<{ proposal: Proposal; }> = ({ proposal }) => { const [expanded, setExpanded] = useState(false); diff --git a/apps/namadillo/src/App/Governance/SubmitVote.tsx b/apps/namadillo/src/App/Governance/SubmitVote.tsx index 6591da1021..96aec1de10 100644 --- a/apps/namadillo/src/App/Governance/SubmitVote.tsx +++ b/apps/namadillo/src/App/Governance/SubmitVote.tsx @@ -45,9 +45,7 @@ export const SubmitVote: React.FC = () => { ); }; -export const WithProposalId: React.FC<{ proposalId: bigint }> = ({ - proposalId, -}) => { +const WithProposalId: React.FC<{ proposalId: bigint }> = ({ proposalId }) => { const navigate = useNavigate(); const { mutate: createVoteTx, diff --git a/apps/namadillo/src/App/Governance/VoteHelpText.tsx b/apps/namadillo/src/App/Governance/VoteHelpText.tsx deleted file mode 100644 index e68c1a4a0c..0000000000 --- a/apps/namadillo/src/App/Governance/VoteHelpText.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { Stack } from "@namada/components"; - -const Section: React.FC<{ - header: string; - children?: React.ReactNode; -}> = ({ header, children }) => ( - -

{header}

- {children} -
-); - -export const VoteHelpText: React.FC = () => ( - -
-

- The following items summarize the voting options and what they mean for - this proposal: -

-

- YES - This person is your preferred candidate for AADAO’s Oversight Co - mmittee. -

-

- ABSTAIN - This person is not your preferred candidate (please remember - to vote Yes on your preferred candidate’s proposal), or you wish to - contribute to the quorum but you formally decline to vote either for or - against the proposal. -

-

- NO - No votes on this proposal will not have any impact on the election. -

-
- -
-

- While we understand that the three proposals may not “pass” or meet the - quorum, we plan to tally the final “Yes” votes for each candidate, - considering the number of ATOMs (not the number of wallets - voting).Results will be deemed final for this election cycle, at the end - of the voting period of all three proposals. -

-
-
-); diff --git a/apps/namadillo/src/App/Ibc/assets/IbcLogo.tsx b/apps/namadillo/src/App/Ibc/assets/IbcLogo.tsx deleted file mode 100644 index c1803956d1..0000000000 --- a/apps/namadillo/src/App/Ibc/assets/IbcLogo.tsx +++ /dev/null @@ -1,16 +0,0 @@ -export const IbcLogo = (): JSX.Element => { - return ( - - - - - - - ); -}; diff --git a/apps/namadillo/src/App/Icons/MASPIcon.tsx b/apps/namadillo/src/App/Icons/MASPIcon.tsx deleted file mode 100644 index 5dd23c8966..0000000000 --- a/apps/namadillo/src/App/Icons/MASPIcon.tsx +++ /dev/null @@ -1,24 +0,0 @@ -export const MASPIcon = (): JSX.Element => { - return ( - - - - - - - - ); -}; diff --git a/apps/namadillo/src/App/Icons/ReceiveIcon.tsx b/apps/namadillo/src/App/Icons/ReceiveIcon.tsx deleted file mode 100644 index 966a280130..0000000000 --- a/apps/namadillo/src/App/Icons/ReceiveIcon.tsx +++ /dev/null @@ -1,16 +0,0 @@ -export const ReceiveIcon = (): JSX.Element => { - return ( - - - - ); -}; diff --git a/apps/namadillo/src/App/Icons/ShieldIcon.tsx b/apps/namadillo/src/App/Icons/ShieldIcon.tsx deleted file mode 100644 index 219e0579fb..0000000000 --- a/apps/namadillo/src/App/Icons/ShieldIcon.tsx +++ /dev/null @@ -1,23 +0,0 @@ -export const ShieldIcon = (): JSX.Element => { - return ( - - - - - - - - ); -}; diff --git a/apps/namadillo/src/App/Icons/ShieldedSendIcon.tsx b/apps/namadillo/src/App/Icons/ShieldedSendIcon.tsx deleted file mode 100644 index b4907d326a..0000000000 --- a/apps/namadillo/src/App/Icons/ShieldedSendIcon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -export const ShieldedSendIcon = (): JSX.Element => { - return ( - - - - - - - - - ); -}; diff --git a/apps/namadillo/src/App/Icons/ShieldedTransferIcon.tsx b/apps/namadillo/src/App/Icons/ShieldedTransferIcon.tsx deleted file mode 100644 index 5e63c41da8..0000000000 --- a/apps/namadillo/src/App/Icons/ShieldedTransferIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -export const ShieldedTransferIcon = (): JSX.Element => { - return ( - - - - - - - - - - - - - - ); -}; diff --git a/apps/namadillo/src/App/Icons/SwapIcon.tsx b/apps/namadillo/src/App/Icons/SwapIcon.tsx deleted file mode 100644 index 90d778c2ea..0000000000 --- a/apps/namadillo/src/App/Icons/SwapIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -export const SwapIcon = (): JSX.Element => { - return ( - - - - - - - ); -}; diff --git a/apps/namadillo/src/App/Icons/UnshieldedTransferIcon.tsx b/apps/namadillo/src/App/Icons/UnshieldedTransferIcon.tsx deleted file mode 100644 index c0b31bb723..0000000000 --- a/apps/namadillo/src/App/Icons/UnshieldedTransferIcon.tsx +++ /dev/null @@ -1,16 +0,0 @@ -export const UnshieldedTransferIcon = (): JSX.Element => { - return ( - - - - - - - ); -}; diff --git a/apps/namadillo/src/App/Masp/MaspTopHeader.tsx b/apps/namadillo/src/App/Masp/MaspTopHeader.tsx deleted file mode 100644 index 5471fa483a..0000000000 --- a/apps/namadillo/src/App/Masp/MaspTopHeader.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import clsx from "clsx"; -import { twMerge } from "tailwind-merge"; -import arrowImage from "./assets/arrow.svg"; -import shieldedNamImage from "./assets/shielded-account.png"; -import tokenImage from "./assets/token.svg"; -import transparentNamImage from "./assets/transparent-account.png"; - -type MaspTopHeaderProps = { - type: "unshield" | "shield"; - isShielded: boolean; -}; - -export const MaspTopHeader = ({ - type, - isShielded, -}: MaspTopHeaderProps): JSX.Element => { - const namadaImage = isShielded ? shieldedNamImage : transparentNamImage; - const images = - type === "unshield" ? - [namadaImage, tokenImage, transparentNamImage] - : [transparentNamImage, tokenImage, namadaImage]; - - return ( - - - - - - - - ); -}; diff --git a/apps/namadillo/src/App/Masp/ShieldingOptionCard.tsx b/apps/namadillo/src/App/Masp/ShieldingOptionCard.tsx deleted file mode 100644 index 42fa7e987b..0000000000 --- a/apps/namadillo/src/App/Masp/ShieldingOptionCard.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { Stack } from "@namada/components"; -import clsx from "clsx"; - -type UnshieldingOptionCardProps = { - title: string; - icon: React.ReactNode; - onClick: () => void; - children: React.ReactNode; -}; - -export const ShieldingOptionCard = ({ - title, - icon, - children, - onClick, -}: UnshieldingOptionCardProps): JSX.Element => { - return ( - -

{title}

- -
{children}
-
- ); -}; diff --git a/apps/namadillo/src/App/Sidebars/MainnetRoadmap.tsx b/apps/namadillo/src/App/Sidebars/MainnetRoadmap.tsx deleted file mode 100644 index b4212f1519..0000000000 --- a/apps/namadillo/src/App/Sidebars/MainnetRoadmap.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import { ActionButton, Image, Panel } from "@namada/components"; -import { applicationFeaturesAtom } from "atoms/settings"; -import clsx from "clsx"; -import { useAtomValue } from "jotai"; -import { RoadmapPhase } from "./RoadmapPhase"; - -const MainnetRoadmap = (): JSX.Element => { - const { - claimRewardsEnabled, - shieldingRewardsEnabled, - namTransfersEnabled, - maspEnabled, - ibcTransfersEnabled, - } = useAtomValue(applicationFeaturesAtom); - - const getClassName = (enabled: boolean): string => - clsx(!enabled && "opacity-25"); - - return ( - -
- -

- Namada Mainnet Roadmap -

-
    - - <> - Proof of Stake -
    - Governance - -
    - - - Staking Rewards - - - - <> - - IBC Transfers - -
    - MASP Enabled - -
    - - - Shielding Rewards - - - - - NAM Transfers enabled - - -
- - Learn about Mainnet phases - -
-
- ); -}; - -export default MainnetRoadmap; diff --git a/apps/namadillo/src/App/Sidebars/RoadmapPhase.tsx b/apps/namadillo/src/App/Sidebars/RoadmapPhase.tsx deleted file mode 100644 index 60ae6afb49..0000000000 --- a/apps/namadillo/src/App/Sidebars/RoadmapPhase.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import clsx from "clsx"; -import { FaCircleCheck } from "react-icons/fa6"; - -type RoadmapPhaseProps = { - phase: string; - active?: boolean; - children: React.ReactNode; -}; - -export const RoadmapPhase = ({ - phase, - active, - children, -}: RoadmapPhaseProps): JSX.Element => { - const disabledClassName = !active && "opacity-25"; - return ( -
  • - - - Phase {phase} - -
    {children}
    - {active && ( - - - - )} -
  • - ); -}; diff --git a/apps/namadillo/src/App/Sidebars/ShieldAllBanner.tsx b/apps/namadillo/src/App/Sidebars/ShieldAllBanner.tsx deleted file mode 100644 index 2369c10ba6..0000000000 --- a/apps/namadillo/src/App/Sidebars/ShieldAllBanner.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { ActionButton } from "@namada/components"; -import svgImg from "App/Assets/ShieldedParty.svg"; -import { routes } from "App/routes"; -import { applicationFeaturesAtom } from "atoms/settings"; -import { useAtomValue } from "jotai"; -import { useState } from "react"; -import { useNavigate } from "react-router-dom"; -import { twMerge } from "tailwind-merge"; - -export const ShieldAllBanner = (): JSX.Element => { - const { maspEnabled } = useAtomValue(applicationFeaturesAtom); - const [isAnimating, setIsAnimating] = useState(false); - const navigate = useNavigate(); - - if (!maspEnabled) { - return <>; - } - - return ( - <> -
    - - // https://developer.mozilla.org/en-US/docs/Web/CSS/:target - // https://gist.github.com/LeaVerou/5198257 - src={`${svgImg}${isAnimating ? "#hover " : ""}`} - /> - navigate(routes.shield)} - onMouseEnter={() => setIsAnimating(true)} - onMouseLeave={() => setIsAnimating(false)} - > - Shield Assets - -
    - - ); -}; diff --git a/apps/namadillo/src/App/Transactions/TransactionCard.tsx b/apps/namadillo/src/App/Transactions/TransactionCard.tsx index e5dcbd9274..87423cdf3e 100644 --- a/apps/namadillo/src/App/Transactions/TransactionCard.tsx +++ b/apps/namadillo/src/App/Transactions/TransactionCard.tsx @@ -55,10 +55,7 @@ type TransactionInfo = { receiver?: string; }; -export function getToken( - txn: Tx["tx"], - nativeToken: string -): string | undefined { +function getToken(txn: Tx["tx"], nativeToken: string): string | undefined { if ( txn?.kind === "bond" || txn?.kind === "unbond" || diff --git a/apps/namadillo/src/App/Transactions/TransactionHistory.tsx b/apps/namadillo/src/App/Transactions/TransactionHistory.tsx index 3e40c12b0c..f366af5e94 100644 --- a/apps/namadillo/src/App/Transactions/TransactionHistory.tsx +++ b/apps/namadillo/src/App/Transactions/TransactionHistory.tsx @@ -19,7 +19,7 @@ import { PendingTransactionCard } from "./PendingTransactionCard"; import { TransactionCard } from "./TransactionCard"; const ITEMS_PER_PAGE = 30; -export const transferKindOptions = [ +const transferKindOptions = [ "transparentTransfer", "shieldingTransfer", "unshieldingTransfer", diff --git a/apps/namadillo/src/App/Transfer/ReceiveCard.tsx b/apps/namadillo/src/App/Transfer/ReceiveCard.tsx deleted file mode 100644 index 31ca653f80..0000000000 --- a/apps/namadillo/src/App/Transfer/ReceiveCard.tsx +++ /dev/null @@ -1,107 +0,0 @@ -import { Panel, SkeletonLoading } from "@namada/components"; -import { copyToClipboard } from "@namada/utils"; -import { TabSelector } from "App/Common/TabSelector"; -import { allDefaultAccountsAtom } from "atoms/accounts"; -import { useAtomValue } from "jotai"; -import { useState } from "react"; -import { GoCheck, GoCopy } from "react-icons/go"; -import QRCode from "react-qr-code"; -import NamadaLogo from "../Assets/NamadaLogo.svg"; -import NamadaLogoYellow from "../Assets/NamadaLogoYellow.svg"; -import { isShieldedAddress, isTransparentAddress } from "./common"; - -export const ReceiveCard = (): JSX.Element => { - const { data: accounts, isFetching } = useAtomValue(allDefaultAccountsAtom); - const [isShielded, setIsShielded] = useState(true); - const [copied, setCopied] = useState(false); - - const transparentAddress = accounts?.find((acc) => - isTransparentAddress(acc.address) - )?.address; - - const shieldedAddress = accounts?.find((acc) => - isShieldedAddress(acc.address) - )?.address; - - const address = isShielded ? shieldedAddress : transparentAddress; - - const handleCopy = (): void => { - if (!copied && address) { - copyToClipboard(address); - setCopied(true); - setTimeout(() => setCopied(false), 2000); - } - }; - - return ( - -
    -

    Receive

    -

    - Receive funds from external wallets and exchanges -

    -
    - {isFetching ? - - :
    -
    - setIsShielded(!isShielded)} - /> -
    - -
    - -
    - Namada Logo -
    -
    - -
    -

    - {address || "No address available"} -

    - -
    -
    - } -
    - ); -}; diff --git a/apps/namadillo/src/atoms/balance/atoms.ts b/apps/namadillo/src/atoms/balance/atoms.ts index b940fa38cb..8dc7f44ed7 100644 --- a/apps/namadillo/src/atoms/balance/atoms.ts +++ b/apps/namadillo/src/atoms/balance/atoms.ts @@ -334,7 +334,7 @@ export const storageShieldedRewardsAtom = atomWithStorage< Record >("namadillo:shieldedRewards", {}); -export const shieldRewardsAtom = atomWithQuery((get) => { +const shieldRewardsAtom = atomWithQuery((get) => { const viewingKeysQuery = get(viewingKeysAtom); const chainParametersQuery = get(chainParametersAtom); const rpcUrl = get(rpcUrlAtom); diff --git a/apps/namadillo/src/atoms/balance/services.ts b/apps/namadillo/src/atoms/balance/services.ts index 7146e29893..a1e66b128d 100644 --- a/apps/namadillo/src/atoms/balance/services.ts +++ b/apps/namadillo/src/atoms/balance/services.ts @@ -9,9 +9,6 @@ import { import { getSdkInstance } from "utils/sdk"; import { Events, - ProgressBarFinished, - ProgressBarIncremented, - ProgressBarStarted, Worker as ShieldedSyncWorkerApi, } from "workers/ShieldedSyncWorker"; import ShieldedSyncWorker from "workers/ShieldedSyncWorker?worker"; @@ -23,12 +20,6 @@ import { } from "workers/MaspTxWorker"; import MaspTxWorker from "workers/MaspTxWorker?worker"; -type ShieldedSyncEventMap = { - [SdkEvents.ProgressBarStarted]: ProgressBarStarted[]; - [SdkEvents.ProgressBarIncremented]: ProgressBarIncremented[]; - [SdkEvents.ProgressBarFinished]: ProgressBarFinished[]; -}; - let runningShieldedSync: Promise | undefined; export async function shieldedSync({ diff --git a/apps/namadillo/src/atoms/chain/services.ts b/apps/namadillo/src/atoms/chain/services.ts index ed6b2a682b..5bb26b22cf 100644 --- a/apps/namadillo/src/atoms/chain/services.ts +++ b/apps/namadillo/src/atoms/chain/services.ts @@ -37,11 +37,6 @@ export const fetchChainTokens = async ( return (await api.apiV1ChainTokenGet()).data; }; -export const clearShieldedContext = async (chainId: string): Promise => { - const sdk = await getSdkInstance(); - await sdk.getMasp().clearShieldedContext(chainId); -}; - export const fetchMaspRewards = async ( assets: NamadaAsset[] ): Promise => { diff --git a/apps/namadillo/src/atoms/etc.ts b/apps/namadillo/src/atoms/etc.ts index c27577ce0f..7888f2ad5e 100644 --- a/apps/namadillo/src/atoms/etc.ts +++ b/apps/namadillo/src/atoms/etc.ts @@ -10,7 +10,7 @@ type ControlRoutineProps = { lastBlockHeight: BigNumber | undefined; }; -export const controlRoutineAtom = atomWithStorage( +const controlRoutineAtom = atomWithStorage( "namadillo:etc", { shouldUpdateAmount: false, @@ -35,8 +35,3 @@ export const shouldUpdateProposalAtom = atom( (get) => get(controlRoutineAtom).shouldUpdateProposal, changeProps("shouldUpdateProposal") ); - -export const lastBlockHeightAtom = atom( - (get) => get(controlRoutineAtom).lastBlockHeight, - changeProps("lastBlockHeight") -); diff --git a/apps/namadillo/src/atoms/integrations/atoms.ts b/apps/namadillo/src/atoms/integrations/atoms.ts index 9bda46b4a2..499acd0b67 100644 --- a/apps/namadillo/src/atoms/integrations/atoms.ts +++ b/apps/namadillo/src/atoms/integrations/atoms.ts @@ -1,7 +1,7 @@ import { AssetList, Chain } from "@chain-registry/types"; import { DeliverTxResponse, SigningStargateClient } from "@cosmjs/stargate"; import { ExtensionKey } from "@namada/types"; -import { chainAtom, chainTokensAtom } from "atoms/chain"; +import { chainAtom } from "atoms/chain"; import { defaultServerConfigAtom } from "atoms/settings"; import { queryDependentFn } from "atoms/utils"; import BigNumber from "bignumber.js"; @@ -20,7 +20,6 @@ import { import { broadcastIbcTransaction, fetchIbcChannelFromRegistry, - fetchIbcRateLimits, queryAndStoreRpc, queryAssetBalances, } from "./services"; @@ -121,16 +120,6 @@ export const assetBalanceAtomFamily = atomFamily( } ); -export const ibcRateLimitAtom = atomWithQuery((get) => { - const chainTokens = get(chainTokensAtom); - return { - queryKey: ["ibc-rate-limit", chainTokens], - ...queryDependentFn(async () => { - return await fetchIbcRateLimits(); - }, [chainTokens]), - }; -}); - export const ibcChannelsFamily = atomFamily((ibcChainName?: string) => atomWithQuery((get) => { const chainSettings = get(chainAtom); diff --git a/apps/namadillo/src/atoms/integrations/services.ts b/apps/namadillo/src/atoms/integrations/services.ts index b879cfc1aa..48fa1acddf 100644 --- a/apps/namadillo/src/atoms/integrations/services.ts +++ b/apps/namadillo/src/atoms/integrations/services.ts @@ -1,5 +1,4 @@ import { Chain, IBCInfo } from "@chain-registry/types"; -import { OfflineSigner } from "@cosmjs/launchpad"; import { assertIsDeliverTxSuccess, calculateFee, @@ -24,14 +23,11 @@ import { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx"; import { differenceInMinutes } from "date-fns"; import invariant from "invariant"; import { getDefaultStore } from "jotai"; -import toml from "toml"; import { - Asset, Coin, GasConfig, IbcChannels, IbcTransferTransactionData, - LocalnetToml, TransferStep, TransferTransactionData, } from "types"; @@ -44,25 +40,6 @@ import MaspTxWorker from "workers/MaspTxWorker?worker"; import { rpcByChainAtom } from "./atoms"; import { getChannelFromIbcInfo, getRpcByIndex } from "./functions"; -type CommonParams = { - signer: OfflineSigner; - chainId: string; - sourceAddress: string; - destinationAddress: string; - amount: BigNumber; - asset: Asset; - sourceChannelId: string; - gasConfig: GasConfig; -}; - -type TransparentParams = CommonParams & { isShielded: false }; -type ShieldedParams = CommonParams & { - isShielded: true; - destinationChannelId: string; -}; - -type IbcTransferParams = TransparentParams | ShieldedParams; - export const getShieldedArgs = async ( target: string, token: string, @@ -324,11 +301,6 @@ export const handleStandardTransfer = async ( return { ...tx }; }; -export const fetchLocalnetTomlConfig = async (): Promise => { - const response = await fetch("/localnet-config.toml"); - return toml.parse(await response.text()) as LocalnetToml; -}; - export const fetchIbcChannelFromRegistry = async ( ibcChainName: string, ibcInfo: IBCInfo[] diff --git a/apps/namadillo/src/atoms/ledger/atoms.ts b/apps/namadillo/src/atoms/ledger/atoms.ts index e13ae15869..b935199c41 100644 --- a/apps/namadillo/src/atoms/ledger/atoms.ts +++ b/apps/namadillo/src/atoms/ledger/atoms.ts @@ -13,7 +13,7 @@ type LedgerStatus = { const ledgerStatusStopAtom = atom(false); -export const ledgerStatusAtom = atomWithQuery(() => { +const ledgerStatusAtom = atomWithQuery(() => { return { refetchInterval: 1000, queryKey: ["ledger-status"], diff --git a/apps/namadillo/src/atoms/settings/atoms.ts b/apps/namadillo/src/atoms/settings/atoms.ts index 813985cc28..8f102fbc4f 100644 --- a/apps/namadillo/src/atoms/settings/atoms.ts +++ b/apps/namadillo/src/atoms/settings/atoms.ts @@ -50,7 +50,7 @@ export const defaultServerConfigAtom = atomWithQuery((_get) => { }; }); -export const defaultLocalStorageProps = { +const defaultLocalStorageProps = { version: "0.1", indexerUrl: "", signArbitraryEnabled: false, @@ -135,22 +135,6 @@ export const updateRpcUrlAtom = atomWithMutation(() => { }; }); -export const rpcHeartbeatAtom = atomWithQuery((get) => { - const rpcUrl = get(rpcUrlAtom); - return { - queryKey: ["rpc-heartbeat", rpcUrl], - enabled: !!rpcUrl, - retry: false, - refetchOnWindowFocus: true, - refetchInterval: 10_000, - queryFn: async () => { - const valid = await isRpcAlive(rpcUrl); - if (!valid) throw "Unable to verify rpc heartbeat"; - return true; - }, - }; -}); - /** * Returns Indexer url * Priority: user defined indexer URL > TOML config diff --git a/apps/namadillo/src/atoms/staking/functions.ts b/apps/namadillo/src/atoms/staking/functions.ts index 7a37ac4ccf..f4d20f865c 100644 --- a/apps/namadillo/src/atoms/staking/functions.ts +++ b/apps/namadillo/src/atoms/staking/functions.ts @@ -1,12 +1,5 @@ -import { Account, BondProps, RedelegateProps } from "@namada/types"; import BigNumber from "bignumber.js"; -import { - Address, - ChangeInStakingPosition, - MyValidator, - RedelegateChange, - StakingTotals, -} from "types"; +import { MyValidator, StakingTotals } from "types"; export const toStakingTotal = (myValidators: MyValidator[]): StakingTotals => { const totalBonded = myValidators.reduce( @@ -29,26 +22,3 @@ export const toStakingTotal = (myValidators: MyValidator[]): StakingTotals => { return { totalBonded, totalUnbonded, totalWithdrawable }; }; - -export const getStakingChangesParams = ( - account: Account, - nativeToken: Address, - changes: ChangeInStakingPosition[] -): BondProps[] => { - return changes.map((change) => ({ - source: account.address, - validator: change.validatorId, - amount: change.amount, - nativeToken, - })); -}; - -export const getRedelegateChangeParams = ( - account: Account, - changes: RedelegateChange[] -): RedelegateProps[] => { - return changes.map((change: RedelegateChange) => ({ - owner: account.address, - ...change, - })); -}; diff --git a/apps/namadillo/src/atoms/staking/services.ts b/apps/namadillo/src/atoms/staking/services.ts index 233c1b0df1..17bfedd24d 100644 --- a/apps/namadillo/src/atoms/staking/services.ts +++ b/apps/namadillo/src/atoms/staking/services.ts @@ -9,7 +9,6 @@ import { WrapperTxProps, } from "@namada/sdk-multicore"; import { Account } from "@namada/types"; -import { queryClient } from "App/Common/QueryProvider"; import { EncodedTxData, buildTx } from "lib/query"; import { Address, AddressBalance, ChainSettings, GasConfig } from "types"; import { getSdkInstance } from "utils/sdk"; @@ -160,14 +159,6 @@ export const createClaimAndStakeTx = async ( ); }; -export const clearClaimRewards = (accountAddress: string): void => { - const emptyClaimRewards = {}; - queryClient.setQueryData( - ["claim-rewards", accountAddress], - () => emptyClaimRewards - ); -}; - export const simulateShieldedRewards = async ( chainId: string, token: string, diff --git a/apps/namadillo/src/atoms/store.tsx b/apps/namadillo/src/atoms/store.tsx deleted file mode 100644 index 088fad82b8..0000000000 --- a/apps/namadillo/src/atoms/store.tsx +++ /dev/null @@ -1,89 +0,0 @@ -import { QueryClient } from "@tanstack/react-query"; -import { - PersistQueryClientProvider, - PersistedClient, - Persister, -} from "@tanstack/react-query-persist-client"; -import BigNumber from "bignumber.js"; -import { del, get, set } from "idb-keyval"; -import { FunctionComponent, PropsWithChildren } from "react"; -import traverse, { TraverseContext } from "traverse"; - -/** - * Objects lose their prototype when stored in Indexed DB, so in order to store - * and retrieve BigNumbers we traverse the object being stored and write/read the - * `_isBigNumber` property. - */ -const fixBigNumbers = ( - client: PersistedClient, - traverseCallback: (this: TraverseContext, value: unknown) => void -): void => { - const { queries, mutations } = client.clientState; - [...queries, ...mutations].forEach((query) => - traverse(query.state.data).forEach(traverseCallback) - ); -}; - -/** - * Creates an Indexed DB persister - * @see https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API - * - * Taken from https://tanstack.com/query/latest/docs/framework/react/plugins/persistQueryClient#building-a-persister - */ -const createIDBPersister = ( - idbValidKey: IDBValidKey = "reactQuery" -): Persister => ({ - persistClient: async (client: PersistedClient) => { - fixBigNumbers(client, function (value) { - if (BigNumber.isBigNumber(value)) { - this.update({ ...value, _isBigNumber: true }, true); - } - }); - - await set(idbValidKey, client); - }, - restoreClient: async () => { - const client = await get(idbValidKey); - - if (typeof client !== "undefined") { - fixBigNumbers(client, function (value) { - if ( - typeof value === "object" && - value !== null && - "_isBigNumber" in value && - value._isBigNumber - ) { - this.update(BigNumber(value as unknown as BigNumber.Value), true); - } - }); - } - - return client; - }, - removeClient: async () => { - await del(idbValidKey); - }, -}); - -export const queryClient = new QueryClient(); - -const persister = createIDBPersister(); - -export const StoreProvider: FunctionComponent = ({ - children, -}) => { - return ( - Boolean(query.meta?.persist), - }, - }} - > - {children} - - ); -}; diff --git a/apps/namadillo/src/atoms/transactions/atoms.ts b/apps/namadillo/src/atoms/transactions/atoms.ts index 325b046acb..38e100256f 100644 --- a/apps/namadillo/src/atoms/transactions/atoms.ts +++ b/apps/namadillo/src/atoms/transactions/atoms.ts @@ -24,7 +24,7 @@ interface PaginatedTx { pagination: Pagination; } -export const transactionStorageKey = "namadillo:transactions"; +const transactionStorageKey = "namadillo:transactions"; export const transactionHistoryAtom = atomWithStorage< Record diff --git a/apps/namadillo/src/atoms/transfer/services.ts b/apps/namadillo/src/atoms/transfer/services.ts index d6d8b1fe3e..e7897c2810 100644 --- a/apps/namadillo/src/atoms/transfer/services.ts +++ b/apps/namadillo/src/atoms/transfer/services.ts @@ -12,7 +12,6 @@ import { AccountType, GenDisposableSignerResponse, } from "@namada/types"; -import BigNumber from "bignumber.js"; import * as Comlink from "comlink"; import { NamadaKeychain } from "hooks/useNamadaKeychain"; import { buildTx, EncodedTxData, isPublicKeyRevealed } from "lib/query"; @@ -30,14 +29,6 @@ import { } from "workers/MaspTxWorker"; import MaspTxWorker from "workers/MaspTxWorker?worker"; -type WorkerTransferParams = { - sourceAddress: Address; - destinationAddress: Address; - tokenAddress: Address; - amount: BigNumber; - gasConfig: GasConfig; -}; - const workerBuildTxPair = async ({ rpcUrl, nativeToken, diff --git a/apps/namadillo/src/atoms/utils.ts b/apps/namadillo/src/atoms/utils.ts index 7fc7741c6a..cfc2870fb6 100644 --- a/apps/namadillo/src/atoms/utils.ts +++ b/apps/namadillo/src/atoms/utils.ts @@ -15,7 +15,7 @@ export const atomsAreLoaded = (...args: AtomWithQueryResult[]): boolean => { return args.reduce((prev, current) => prev && current.isSuccess, true); }; -export const atomsAreError = (...args: AtomWithQueryResult[]): boolean => { +const atomsAreError = (...args: AtomWithQueryResult[]): boolean => { return args.reduce((prev, current) => prev || current.isError, false); }; @@ -23,7 +23,7 @@ export const atomsAreLoading = (...args: AtomWithQueryResult[]): boolean => { return args.reduce((prev, current) => prev || current.isLoading, false); }; -export const getFirstError = ( +const getFirstError = ( ...args: AtomWithQueryResult[] ): Error | null | undefined => { return args.find((arg) => arg.isError)?.error; diff --git a/apps/namadillo/src/atoms/validators/atoms.ts b/apps/namadillo/src/atoms/validators/atoms.ts index 34c7008cdc..16f3f66ac9 100644 --- a/apps/namadillo/src/atoms/validators/atoms.ts +++ b/apps/namadillo/src/atoms/validators/atoms.ts @@ -13,7 +13,7 @@ import { fetchVotingPower, } from "./services"; -export const votingPowerAtom = atomWithQuery((get) => { +const votingPowerAtom = atomWithQuery((get) => { const api = get(indexerApiAtom); return { queryKey: ["voting-power"], diff --git a/apps/namadillo/src/atoms/validators/functions.ts b/apps/namadillo/src/atoms/validators/functions.ts index 25f1d4e819..668113f1cf 100644 --- a/apps/namadillo/src/atoms/validators/functions.ts +++ b/apps/namadillo/src/atoms/validators/functions.ts @@ -37,7 +37,7 @@ export const toValidator = ( }; }; -export const calculateUnbondingTimeLeft = (unbond: IndexerUnbond): string => { +const calculateUnbondingTimeLeft = (unbond: IndexerUnbond): string => { const timeNow = Math.round(Date.now() / 1000); const withdrawTime = Number(unbond.withdrawTime); const canWithdraw = unbond.canWithdraw; diff --git a/apps/namadillo/src/constants.ts b/apps/namadillo/src/constants.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/namadillo/src/hooks/useCurrentRoute.tsx b/apps/namadillo/src/hooks/useCurrentRoute.tsx deleted file mode 100644 index bce05ccd33..0000000000 --- a/apps/namadillo/src/hooks/useCurrentRoute.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { routes } from "App/routes"; -import { matchPath, useLocation } from "react-router-dom"; - -export const useCurrentRoute = (): string => { - const location = useLocation(); - return ( - Object.values(routes).find((route: string) => { - return matchPath(route, location.pathname) || ""; - }) || "" - ); -}; diff --git a/apps/namadillo/src/hooks/useExtensionConnect.ts b/apps/namadillo/src/hooks/useExtensionConnect.ts deleted file mode 100644 index 1e5b7d781b..0000000000 --- a/apps/namadillo/src/hooks/useExtensionConnect.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { useIntegrationConnection } from "@namada/integrations"; -import { ExtensionKey } from "@namada/types"; -import { ConnectStatus, namadaExtensionConnectionStatus } from "atoms/settings"; -import { useAtom } from "jotai"; -import { useEffect } from "react"; - -type UseConnectOutput = { - connectionStatus: ConnectStatus; - isConnected: boolean; - connect: () => Promise; -}; - -export const useExtensionConnect = ( - chainKey: ExtensionKey = "namada" -): UseConnectOutput => { - const [connectionStatus, setConnectionStatus] = useAtom( - namadaExtensionConnectionStatus - ); - - const [_integration, isConnectingToExtension, withConnection] = - useIntegrationConnection(chainKey); - - useEffect(() => { - if (isConnectingToExtension) { - setConnectionStatus("connecting"); - } - }, [isConnectingToExtension]); - - const handleConnectExtension = async (): Promise => { - if (connectionStatus === "connected") return; - withConnection( - () => setConnectionStatus("connected"), - () => setConnectionStatus("error") - ); - }; - - return { - connect: handleConnectExtension, - isConnected: connectionStatus === "connected", - connectionStatus, - }; -}; diff --git a/apps/namadillo/src/hooks/useSdk.tsx b/apps/namadillo/src/hooks/useSdk.tsx index d2c8ed1188..f670d356c4 100644 --- a/apps/namadillo/src/hooks/useSdk.tsx +++ b/apps/namadillo/src/hooks/useSdk.tsx @@ -7,7 +7,6 @@ import { createContext, FunctionComponent, PropsWithChildren, - useContext, useEffect, useState, } from "react"; @@ -79,7 +78,3 @@ export const SdkProvider: FunctionComponent = ({ ); }; - -export const useSdk = (): SdkContext => { - return useContext(SdkContext); -}; diff --git a/apps/namadillo/src/integrations/utils.ts b/apps/namadillo/src/integrations/utils.ts index 69b9a53a05..627fcf19b4 100644 --- a/apps/namadillo/src/integrations/utils.ts +++ b/apps/namadillo/src/integrations/utils.ts @@ -4,7 +4,7 @@ import { Bech32Config, ChainInfo, Currency } from "@keplr-wallet/types"; import tokenImage from "App/Common/assets/token.svg"; import { getRestApiAddressByIndex, getRpcByIndex } from "atoms/integrations"; import BigNumber from "bignumber.js"; -import { Asset, ChainId, ChainRegistryEntry, GasConfig } from "types"; +import { Asset, GasConfig } from "types"; type GasPriceStep = { low: number; @@ -18,16 +18,6 @@ type CurrencyWithGasPriceStep = Currency & { gasPriceStep?: GasPriceStep; }; -export const findRegistryByChainId = ( - knownChains: Record, - chainId: string -): ChainRegistryEntry | undefined => { - if (chainId in knownChains) { - return knownChains[chainId]; - } - return undefined; -}; - const getSvgOrPng = (image?: { svg?: string; png?: string; @@ -70,7 +60,7 @@ export const getIbcGasConfig = ( }; }; -export const assetsToKeplrCurrencies = (assets: Asset[]): Currency[] => { +const assetsToKeplrCurrencies = (assets: Asset[]): Currency[] => { return assets.map((asset) => ({ coinDenom: asset.symbol, coinMinimalDenom: asset.base, diff --git a/apps/namadillo/src/lib/query.ts b/apps/namadillo/src/lib/query.ts index 0f4b3dd7d1..816d871e08 100644 --- a/apps/namadillo/src/lib/query.ts +++ b/apps/namadillo/src/lib/query.ts @@ -36,19 +36,6 @@ export type EncodedTxData = { }; }; -type TransactionNotification = { - success?: { title: string; text: string }; - error?: { title: string; text: string }; -}; - -type PreparedTransaction = { - encodedTx: WrapperTxProps; - signedTx: Uint8Array; - meta: T; -}; - -export const revealPublicKeyType = "revealPublicKey"; - const getTxProps = ( account: Account, gasConfig: GasConfig, @@ -209,7 +196,7 @@ export const signEncodedTx = async ( }; }; -export const broadcastTransaction = async ( +const broadcastTransaction = async ( encodedTx: EncodedTxData, signedTxs: Uint8Array[] ): Promise, TxResponseProps]>[]> => { @@ -227,9 +214,7 @@ export const broadcastTransaction = async ( // We use this to prevent dispatching events for transfer events // as they are handled by useTransactionWatcher -export const isTransferEventType = ( - eventType?: TransactionEventsClasses -): boolean => { +const isTransferEventType = (eventType?: TransactionEventsClasses): boolean => { return eventType ? [ "IbcTransfer", diff --git a/apps/namadillo/src/lib/staking.ts b/apps/namadillo/src/lib/staking.ts index 06781bbdde..62d1a5a294 100644 --- a/apps/namadillo/src/lib/staking.ts +++ b/apps/namadillo/src/lib/staking.ts @@ -1,22 +1,6 @@ import BigNumber from "bignumber.js"; import { RedelegateChange, Validator } from "types"; -export const getReducedAmounts = ( - stakedAmounts: Record, - updatedAmounts: Record -): Record => { - const reducedAmounts: Record = {}; - for (const address in updatedAmounts) { - if (!stakedAmounts.hasOwnProperty(address)) continue; - if (stakedAmounts[address].gt(updatedAmounts[address])) { - reducedAmounts[address] = stakedAmounts[address].minus( - updatedAmounts[address] - ); - } - } - return reducedAmounts; -}; - export const getTopValidatorsAddresses = ( validators: Validator[], topNumber = 10 @@ -31,47 +15,7 @@ export const getTopValidatorsAddresses = ( .map((validator) => validator.address); }; -export const getIncrementedAmounts = ( - stakedAmounts: Record, - updatedAmounts: Record -): Record => { - const incrementedAmounts: Record = {}; - for (const address in updatedAmounts) { - if ( - !stakedAmounts[address] || - updatedAmounts[address].gt(stakedAmounts[address]) - ) { - incrementedAmounts[address] = updatedAmounts[address].minus( - stakedAmounts[address] || 0 - ); - } - } - return incrementedAmounts; -}; - -export const getPendingToDistributeAmount = ( - stakedAmounts: Record, - updatedAmounts: Record -): BigNumber => { - const incrementedAmounts = Object.values( - getIncrementedAmounts(stakedAmounts, updatedAmounts) - ); - const decreasedAmounts = Object.values( - getReducedAmounts(stakedAmounts, updatedAmounts) - ); - - const incrementedTotal = - incrementedAmounts.length ? - BigNumber.sum(...incrementedAmounts) - : BigNumber(0); - - const decreasedTotal = - decreasedAmounts.length ? BigNumber.sum(...decreasedAmounts) : BigNumber(0); - - return decreasedTotal.minus(incrementedTotal); -}; - -export const buildRedelegateChange = ( +const buildRedelegateChange = ( sourceValidator: string, destinationValidator: string, amount: BigNumber diff --git a/apps/namadillo/src/lib/transactions.ts b/apps/namadillo/src/lib/transactions.ts index 6f121ea6d0..4424b1e6ff 100644 --- a/apps/namadillo/src/lib/transactions.ts +++ b/apps/namadillo/src/lib/transactions.ts @@ -26,7 +26,7 @@ import { import { isNamadaAsset, toDisplayAmount } from "utils"; import { TransactionPair } from "./query"; -export const getEventAttribute = ( +const getEventAttribute = ( tx: DeliverTxResponse, attributeType: string ): Record => { diff --git a/apps/namadillo/src/reportWebVitals.ts b/apps/namadillo/src/reportWebVitals.ts deleted file mode 100644 index 41784a3668..0000000000 --- a/apps/namadillo/src/reportWebVitals.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ReportHandler } from "web-vitals"; - -const reportWebVitals = (onPerfEntry?: ReportHandler): void => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import("web-vitals").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/apps/namadillo/src/sw.ts b/apps/namadillo/src/sw.ts deleted file mode 100644 index caeb08a172..0000000000 --- a/apps/namadillo/src/sw.ts +++ /dev/null @@ -1,64 +0,0 @@ -/// -// need to export default null to satisfy typescript -export default null; -declare let self: ServiceWorkerGlobalScope; - -self.addEventListener("install", () => { - self.skipWaiting(); - console.info("Service worker installed"); -}); -self.addEventListener("activate", (event) => { - event.waitUntil(self.clients.claim()); - console.info("Service worker activated"); -}); - -const CACHE_NAME = "RPC_FETCH_CACHE"; - -const fetchWithCacheFirst = async ( - request: Request, - cacheKey: string -): Promise => { - const cache = await caches.open(CACHE_NAME); - - const cachedResponse = await cache.match(cacheKey); - - if (cachedResponse) { - return cachedResponse; - } - - const response = await fetch(request); - - if (response.ok) { - cache.put(cacheKey, response.clone()); - } - - return response; -}; - -self.addEventListener("fetch", function (e) { - const req = e.request.clone(); - - const res = (async () => { - if (req.method === "POST") { - const payload = await req.json(); - const path = payload?.params?.path; - - if ( - path && - (path.includes("/shell/conv") || - path.includes("/vp/token/denomination")) - ) { - const response = await fetchWithCacheFirst( - e.request, - payload.params.path - ); - - return response; - } - } - - return fetch(e.request); - })(); - - e.respondWith(res); -}); diff --git a/apps/namadillo/src/types.ts b/apps/namadillo/src/types.ts index 2a63b9d2e6..d978d8b373 100644 --- a/apps/namadillo/src/types.ts +++ b/apps/namadillo/src/types.ts @@ -5,11 +5,9 @@ import { IBCInfo, } from "@chain-registry/types"; import { ValidatorStatus } from "@namada/indexer-client"; -import { ClaimRewardsMsgValue } from "@namada/sdk-multicore"; import { Account, ChainKey, ExtensionKey } from "@namada/types"; import { MutationStatus } from "@tanstack/query-core"; import BigNumber from "bignumber.js"; -import { TxKind } from "types/txKind"; declare module "*.module.css" { const content: Record; @@ -22,8 +20,6 @@ type Unique = { uuid: string; }; -type PublicKey = string; - export type Address = string; export type BaseDenom = string; @@ -50,10 +46,6 @@ export type GasConfigToDisplay = { asset: Asset; }; -type TxGas = Record; - -type GasTable = Record; - export type ChainSettings = { id: ChainKey; bench32Prefix: string; @@ -138,35 +130,17 @@ export type StakingTotals = { totalWithdrawable: BigNumber; }; -type ChangeInStakingProps = { - account: Account; - changes: ChangeInStakingPosition[]; - gasConfig: GasConfig; -}; - export type ChangeInStakingPosition = { validatorId: Address; amount: BigNumber; }; -type RedelegateChangesProps = { - account: Account; - changes: RedelegateChange[]; - gasConfig: GasConfig; -}; - export type RedelegateChange = { sourceValidator: Address; destinationValidator: Address; amount: BigNumber; }; -type ClaimRewardsProps = { - account: Account; - params: ClaimRewardsMsgValue[]; - gasConfig: GasConfig; -}; - type Signer = { publicKey: string; address: string; @@ -194,10 +168,6 @@ export type ToastNotification = { timeout?: number; }; -type ToastNotificationEntryFilter = ( - notification: ToastNotification -) => boolean; - export type WalletProvider = { id: ExtensionKey; name: string; @@ -233,11 +203,6 @@ export type NamadaAssetWithAmount = { amount: BigNumber; }; -type AssetWithMinDenomAmount = { - asset: Asset; - minDenomAmount: BigNumber; -}; - export type Coin = { denom: string; minDenomAmount: string; @@ -331,13 +296,8 @@ export const allTransferStages = { ...ibcTransferStages, }; -export const transferPossibleStages = [ - ...new Set(Object.values(allTransferStages).flat()), -] as const; - type NamadaTransferStages = typeof namadaTransferStages; type IbcTransferStages = typeof ibcTransferStages; -type AllTransferStages = typeof allTransferStages; export type NamadaTransferTxKind = keyof NamadaTransferStages; diff --git a/apps/namadillo/src/types/events.ts b/apps/namadillo/src/types/events.ts index 3015f0222a..a20ce11485 100644 --- a/apps/namadillo/src/types/events.ts +++ b/apps/namadillo/src/types/events.ts @@ -18,15 +18,6 @@ export type TransactionEventsStatus = | "Success" | "PartialSuccess"; -type TransactionEvent = - `${TransactionEventsClasses}.${TransactionEventsStatus}`; - -type TransactionEventHandlers = { - onError?: TransactionEvent; - onSuccess?: TransactionEvent; - onPending?: TransactionEvent; -}; - interface EventData extends CustomEvent { detail: { tx: TxProps[]; diff --git a/apps/namadillo/src/urls.ts b/apps/namadillo/src/urls.ts index e634aaddd7..da40cc8443 100644 --- a/apps/namadillo/src/urls.ts +++ b/apps/namadillo/src/urls.ts @@ -1,9 +1,5 @@ export const DISCORD_URL = "https://discord.com/invite/namada"; export const TWITTER_URL = "https://twitter.com/namada"; -export const githubNamadaInterfaceBaseUrl = - "https://raw.githubusercontent.com/anoma/namada-interface/refs/heads/main"; - -export const repositoryUrl = "https://github.com/anoma/namada-interface"; export const bugReportUrl = "https://github.com/anoma/namada-interface/issues/new?template=namadillo.yml"; diff --git a/apps/namadillo/src/utils/assets.ts b/apps/namadillo/src/utils/assets.ts index 5c089d6ec9..8e2d29c84e 100644 --- a/apps/namadillo/src/utils/assets.ts +++ b/apps/namadillo/src/utils/assets.ts @@ -1,4 +1,3 @@ -import { IbcToken, NativeToken } from "@namada/indexer-client"; import { shortenAddress } from "@namada/utils"; import { Address, Asset, AssetWithAmount } from "types"; @@ -11,38 +10,6 @@ export const unknownAsset = (denom: string): Asset => ({ symbol: shortenAddress(denom, 4, 4), }); -// TODO upgrade this function to be as smart as possible -// please refer to `tnamAddressToDenomTrace` and how we could combine both -export const findAssetByToken = ( - token: NativeToken | IbcToken, - assets: Asset[] -): Asset | undefined => { - // first, search by the address - const asset = assets.find((a) => a.address === token.address); - if (asset) { - return asset; - } - - // then, search by trace - if ("trace" in token) { - const traceDenom = token.trace.split("/").at(-1); - if (traceDenom) { - for (let i = 0; i < assets.length; i++) { - const asset = assets[i]; - if ( - asset.base === traceDenom || - asset.denom_units.find( - (u) => u.denom === traceDenom || u.aliases?.includes(traceDenom) - ) - ) { - return asset; - } - } - } - } - return undefined; -}; - export const filterAvailableAssetsWithBalance = ( availableAssets?: Record ): Record => { diff --git a/apps/namadillo/src/utils/dates.ts b/apps/namadillo/src/utils/dates.ts index ef06b1df5f..69229dba66 100644 --- a/apps/namadillo/src/utils/dates.ts +++ b/apps/namadillo/src/utils/dates.ts @@ -1,15 +1,12 @@ import { DateTime } from "luxon"; -export const epochToString = (epoch: bigint): string => - `Epoch ${epoch.toString()}`; - -export const secondsToDateTime = (seconds: bigint): DateTime => +const secondsToDateTime = (seconds: bigint): DateTime => DateTime.fromSeconds(Number(seconds)); -export const secondsToTimeString = (seconds: bigint): string => +const secondsToTimeString = (seconds: bigint): string => secondsToDateTime(seconds).toLocaleString(DateTime.TIME_SIMPLE); -export const secondsToDateString = (seconds: bigint): string => +const secondsToDateString = (seconds: bigint): string => secondsToDateTime(seconds).toLocaleString(DateTime.DATE_MED); export const secondsToDateTimeString = (seconds: bigint): string => diff --git a/apps/namadillo/src/utils/etc.ts b/apps/namadillo/src/utils/etc.ts deleted file mode 100644 index 660d332a8e..0000000000 --- a/apps/namadillo/src/utils/etc.ts +++ /dev/null @@ -1 +0,0 @@ -export const isFirefox = (): boolean => /firefox/i.test(navigator.userAgent); diff --git a/apps/namadillo/src/utils/gas.ts b/apps/namadillo/src/utils/gas.ts index 270be10512..a23030e3ac 100644 --- a/apps/namadillo/src/utils/gas.ts +++ b/apps/namadillo/src/utils/gas.ts @@ -5,7 +5,7 @@ import { Address, Asset, GasConfig, GasConfigToDisplay } from "types"; import { isNamadaAsset, toDisplayAmount } from "utils"; import { unknownAsset } from "./assets"; -export const calculateGasFee = (gasConfig: GasConfig): BigNumber => { +const calculateGasFee = (gasConfig: GasConfig): BigNumber => { return BigNumber(gasConfig.gasPriceInMinDenom).multipliedBy( gasConfig.gasLimit ); diff --git a/apps/namadillo/src/utils/index.ts b/apps/namadillo/src/utils/index.ts index 30735cda86..7ecfd2401d 100644 --- a/apps/namadillo/src/utils/index.ts +++ b/apps/namadillo/src/utils/index.ts @@ -34,9 +34,6 @@ export const proposalTypeStringToString = (type: ProposalType): string => { return typeText[type]; }; -export const epochToString = (epoch: bigint): string => - `Epoch ${epoch.toString()}`; - export const proposalIdToString = (proposalId: bigint): string => `#${proposalId.toString()}`; @@ -110,7 +107,7 @@ export const toBaseAmount = ( return displayAmount.shiftedBy(displayUnit.exponent); }; -export const toGasMsg = (gasLimit: BigNumber): string => { +const toGasMsg = (gasLimit: BigNumber): string => { return `Please raise the Gas Amount above the previously provided ${gasLimit} in the fee options for your transaction.`; }; diff --git a/apps/namadillo/src/utils/routes.ts b/apps/namadillo/src/utils/routes.ts deleted file mode 100644 index 8350a6a6ba..0000000000 --- a/apps/namadillo/src/utils/routes.ts +++ /dev/null @@ -1,11 +0,0 @@ -export type RouteOutput = { - url: string; - toString: () => string; -}; - -export const createRouteOutput = - (index: () => string) => - (route: string): RouteOutput => ({ - url: `${index()}${route}`, - toString: () => route, - }); diff --git a/apps/namadillo/src/utils/sorting.ts b/apps/namadillo/src/utils/sorting.ts index 4dd0c5c39a..a59a9cb287 100644 --- a/apps/namadillo/src/utils/sorting.ts +++ b/apps/namadillo/src/utils/sorting.ts @@ -12,7 +12,7 @@ export const compareBigNumbers = ( return isDescending ? n2.minus(n1).toNumber() : n1.minus(n2).toNumber(); }; -export const compareStrings = ( +const compareStrings = ( str1: string, str2: string, isDescending: boolean diff --git a/apps/namadillo/src/workers/ShieldedSyncMessages.ts b/apps/namadillo/src/workers/ShieldedSyncMessages.ts index e4f6412c71..45d0388e5b 100644 --- a/apps/namadillo/src/workers/ShieldedSyncMessages.ts +++ b/apps/namadillo/src/workers/ShieldedSyncMessages.ts @@ -15,6 +15,3 @@ type ShiededSyncPayload = { }; export type Sync = WebWorkerMessage<"sync", ShiededSyncPayload>; export type SyncDone = WebWorkerMessage<"sync-done", null>; - -type ShieldMessageIn = Init | Sync; -type ShieldMessageOut = InitDone | SyncDone; From 9ffe93d14f9cb52b3003ced29b56cdb3a0bd1a53 Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 12:59:30 +1300 Subject: [PATCH 09/17] fix: dependencies --- apps/namadillo/package.json | 6 ++++++ yarn.lock | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/apps/namadillo/package.json b/apps/namadillo/package.json index 45bb477873..410ca8f409 100644 --- a/apps/namadillo/package.json +++ b/apps/namadillo/package.json @@ -76,6 +76,7 @@ ] }, "devDependencies": { + "@eslint/js": "^9.9.1", "@namada/vite-esbuild-plugin": "^1.0.1", "@playwright/test": "^1.24.1", "@testing-library/dom": "^10.4.0", @@ -97,6 +98,11 @@ "autoprefixer": "^10.4.16", "axios": "^1.8.2", "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-import-resolver-typescript": "^3.6.3", + "eslint-plugin-import": "^2.30.0", + "eslint-plugin-react": "^7.35.2", + "eslint-plugin-react-hooks": "^4.6.0", "history": "^5.3.0", "identity-obj-proxy": "^3.0.0", "jest": "^29.7.0", diff --git a/yarn.lock b/yarn.lock index df0d3f31ec..00be16795f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2931,6 +2931,13 @@ __metadata: languageName: node linkType: hard +"@eslint/js@npm:^9.9.1": + version: 9.37.0 + resolution: "@eslint/js@npm:9.37.0" + checksum: 10c0/84f98a6213522fc76ea104bd910f606136200bd918544e056a7a22442d3f9d5c3c5cd7f4cdf2499d49b1fa140155b87d597a1f16d01644920f05c228e9ca0378 + languageName: node + linkType: hard + "@fluent/syntax@npm:0.19.0": version: 0.19.0 resolution: "@fluent/syntax@npm:0.19.0" @@ -3762,6 +3769,7 @@ __metadata: resolution: "@namada/namadillo@workspace:apps/namadillo" dependencies: "@cosmjs/encoding": "npm:^0.32.3" + "@eslint/js": "npm:^9.9.1" "@keplr-wallet/types": "npm:^0.12.136" "@namada/chain-registry": "npm:^1.3.0" "@namada/indexer-client": "npm:4.0.3" @@ -3795,6 +3803,11 @@ __metadata: clsx: "npm:^2.1.1" comlink: "npm:^4.4.1" eslint: "npm:^8.57.0" + eslint-config-prettier: "npm:^9.1.0" + eslint-import-resolver-typescript: "npm:^3.6.3" + eslint-plugin-import: "npm:^2.30.0" + eslint-plugin-react: "npm:^7.35.2" + eslint-plugin-react-hooks: "npm:^4.6.0" fathom-client: "npm:^3.7.2" fp-ts: "npm:^2.16.1" framer-motion: "npm:^11.3.28" From 64e178e493a4db6877f819633ab9027db905207e Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 13:21:09 +1300 Subject: [PATCH 10/17] fix: dependencies --- apps/namadillo/package.json | 3 +-- apps/namadillo/src/setupTests.ts | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/namadillo/package.json b/apps/namadillo/package.json index 410ca8f409..226659da97 100644 --- a/apps/namadillo/package.json +++ b/apps/namadillo/package.json @@ -108,11 +108,10 @@ "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "jest-transformer-svg": "^2.0.2", - "knip": "^5.64.2", "postcss": "^8.4.32", "tailwindcss": "^3.4.0", "ts-jest": "^29.2.5", - "typescript": "^5.9.3", + "typescript": "^5.5.4", "vite": "^5.4.3", "vite-plugin-node-polyfills": "^0.22.0", "vite-plugin-pwa": "^0.21.1", diff --git a/apps/namadillo/src/setupTests.ts b/apps/namadillo/src/setupTests.ts index 13eb12a25b..3d04c9df2a 100644 --- a/apps/namadillo/src/setupTests.ts +++ b/apps/namadillo/src/setupTests.ts @@ -2,7 +2,7 @@ import "@testing-library/jest-dom"; import { atom } from "jotai"; import { TextDecoder, TextEncoder } from "util"; -global.TextEncoder = TextEncoder; +global.TextEncoder = TextEncoder as any; global.TextDecoder = TextDecoder as typeof global.TextDecoder; jest.mock("atoms/integrations", () => ({ From d2b2c52fadc6effb54c40a837c85013abb70e4e0 Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 13:21:16 +1300 Subject: [PATCH 11/17] fix: dependencies --- yarn.lock | 350 +----------------------------------------------------- 1 file changed, 5 insertions(+), 345 deletions(-) diff --git a/yarn.lock b/yarn.lock index 00be16795f..2d72a764d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2640,34 +2640,6 @@ __metadata: languageName: node linkType: hard -"@emnapi/core@npm:^1.5.0": - version: 1.5.0 - resolution: "@emnapi/core@npm:1.5.0" - dependencies: - "@emnapi/wasi-threads": "npm:1.1.0" - tslib: "npm:^2.4.0" - checksum: 10c0/52ba3485277706d92fa27d92b37e5b4f6ef0742c03ed68f8096f294c6bfa30f0752c82d4c2bfa14bff4dc30d63c9f71a8f9fb64a92743d00807d9e468fafd5ff - languageName: node - linkType: hard - -"@emnapi/runtime@npm:^1.5.0": - version: 1.5.0 - resolution: "@emnapi/runtime@npm:1.5.0" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/a85c9fc4e3af49cbe41e5437e5be2551392a931910cd0a5b5d3572532786927810c9cc1db11b232ec8f9657b33d4e6f7c4f985f1a052917d7cd703b5b2a20faa - languageName: node - linkType: hard - -"@emnapi/wasi-threads@npm:1.1.0": - version: 1.1.0 - resolution: "@emnapi/wasi-threads@npm:1.1.0" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/e6d54bf2b1e64cdd83d2916411e44e579b6ae35d5def0dea61a3c452d9921373044dff32a8b8473ae60c80692bdc39323e98b96a3f3d87ba6886b24dd0ef7ca1 - languageName: node - linkType: hard - "@emotion/is-prop-valid@npm:1.2.2": version: 1.2.2 resolution: "@emotion/is-prop-valid@npm:1.2.2" @@ -3821,7 +3793,6 @@ __metadata: jest-transformer-svg: "npm:^2.0.2" jotai: "npm:^2.6.3" jotai-tanstack-query: "npm:^0.8.5" - knip: "npm:^5.64.2" lodash.debounce: "npm:^4.0.8" lodash.isequal: "npm:^4.5.0" postcss: "npm:^8.4.32" @@ -3837,7 +3808,7 @@ __metadata: toml: "npm:^3.0.0" traverse: "npm:^0.6.9" ts-jest: "npm:^29.2.5" - typescript: "npm:^5.9.3" + typescript: "npm:^5.5.4" vite: "npm:^5.4.3" vite-plugin-checker: "npm:^0.8.0" vite-plugin-node-polyfills: "npm:^0.22.0" @@ -3986,17 +3957,6 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^1.0.5": - version: 1.0.6 - resolution: "@napi-rs/wasm-runtime@npm:1.0.6" - dependencies: - "@emnapi/core": "npm:^1.5.0" - "@emnapi/runtime": "npm:^1.5.0" - "@tybys/wasm-util": "npm:^0.10.1" - checksum: 10c0/af48168c6e13c970498fda3ce7238234a906bc69dd474dc9abd560cdf8a7dea6410147afec8f0191a1d19767c8347d8ec0125a8a93225312f7ac37e06e8c15ad - languageName: node - linkType: hard - "@noble/curves@npm:1.2.0": version: 1.2.0 resolution: "@noble/curves@npm:1.2.0" @@ -4076,141 +4036,6 @@ __metadata: languageName: node linkType: hard -"@oxc-resolver/binding-android-arm-eabi@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.9.0" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@oxc-resolver/binding-android-arm64@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-android-arm64@npm:11.9.0" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-darwin-arm64@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.9.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-darwin-x64@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-darwin-x64@npm:11.9.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-freebsd-x64@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.9.0" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.9.0" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.9.0" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm64-gnu@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.9.0" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm64-musl@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.9.0" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.9.0" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.9.0" - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-riscv64-musl@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.9.0" - conditions: os=linux & cpu=riscv64 & libc=musl - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-s390x-gnu@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.9.0" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-x64-gnu@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.9.0" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-x64-musl@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.9.0" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@oxc-resolver/binding-wasm32-wasi@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.9.0" - dependencies: - "@napi-rs/wasm-runtime": "npm:^1.0.5" - conditions: cpu=wasm32 - languageName: node - linkType: hard - -"@oxc-resolver/binding-win32-arm64-msvc@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.9.0" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-win32-ia32-msvc@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-win32-ia32-msvc@npm:11.9.0" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@oxc-resolver/binding-win32-x64-msvc@npm:11.9.0": - version: 11.9.0 - resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.9.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -4987,15 +4812,6 @@ __metadata: languageName: node linkType: hard -"@tybys/wasm-util@npm:^0.10.1": - version: 0.10.1 - resolution: "@tybys/wasm-util@npm:0.10.1" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/b255094f293794c6d2289300c5fbcafbb5532a3aed3a5ffd2f8dc1828e639b88d75f6a376dd8f94347a44813fd7a7149d8463477a9a49525c8b2dcaa38c2d1e8 - languageName: node - linkType: hard - "@types/animejs@npm:^3.1.12": version: 3.1.12 resolution: "@types/animejs@npm:3.1.12" @@ -10338,7 +10154,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.7, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.7, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -10434,15 +10250,6 @@ __metadata: languageName: node linkType: hard -"fd-package-json@npm:^2.0.0": - version: 2.0.0 - resolution: "fd-package-json@npm:2.0.0" - dependencies: - walk-up-path: "npm:^4.0.0" - checksum: 10c0/a0a48745257bc09c939486608dad9f2ced238f0c64266222cc881618ed4c8f6aa0ccfe45a1e6d4f9ce828509e8d617cec60e2a114851bebb1ff4886dc5ed5112 - languageName: node - linkType: hard - "fd-slicer@npm:~1.1.0": version: 1.1.0 resolution: "fd-slicer@npm:1.1.0" @@ -10680,17 +10487,6 @@ __metadata: languageName: node linkType: hard -"formatly@npm:^0.3.0": - version: 0.3.0 - resolution: "formatly@npm:0.3.0" - dependencies: - fd-package-json: "npm:^2.0.0" - bin: - formatly: bin/index.mjs - checksum: 10c0/ef9dbd3cdaee649e9604ea060d8d62d8131eb81117634336592ee2193fc7c98a3f1f1b5d09a045dbd36287ba88edf868ef179d39fbda2f34fbe2be70c42dd014 - languageName: node - linkType: hard - "formdata-polyfill@npm:^4.0.10": version: 4.0.10 resolution: "formdata-polyfill@npm:4.0.10" @@ -13183,15 +12979,6 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^2.6.0": - version: 2.6.1 - resolution: "jiti@npm:2.6.1" - bin: - jiti: lib/jiti-cli.mjs - checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b - languageName: node - linkType: hard - "jose@npm:4.13.1": version: 4.13.1 resolution: "jose@npm:4.13.1" @@ -13649,32 +13436,6 @@ __metadata: languageName: node linkType: hard -"knip@npm:^5.64.2": - version: 5.64.2 - resolution: "knip@npm:5.64.2" - dependencies: - "@nodelib/fs.walk": "npm:^1.2.3" - fast-glob: "npm:^3.3.3" - formatly: "npm:^0.3.0" - jiti: "npm:^2.6.0" - js-yaml: "npm:^4.1.0" - minimist: "npm:^1.2.8" - oxc-resolver: "npm:^11.8.3" - picocolors: "npm:^1.1.1" - picomatch: "npm:^4.0.1" - smol-toml: "npm:^1.4.1" - strip-json-comments: "npm:5.0.2" - zod: "npm:^4.1.11" - peerDependencies: - "@types/node": ">=18" - typescript: ">=5.0.4 <7" - bin: - knip: bin/knip.js - knip-bun: bin/knip-bun.js - checksum: 10c0/53aa2d20a4ca4a764daf231d3ba2d35b7fda5f55cd2e0f1dfc0ed5d8d0481a7d901747e792992bea848177d3c070072cb454dd9a2d412c0b71b28b5a39245998 - languageName: node - linkType: hard - "latest-version@npm:^7.0.0": version: 7.0.0 resolution: "latest-version@npm:7.0.0" @@ -14389,7 +14150,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8": +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -15166,72 +14927,6 @@ __metadata: languageName: node linkType: hard -"oxc-resolver@npm:^11.8.3": - version: 11.9.0 - resolution: "oxc-resolver@npm:11.9.0" - dependencies: - "@oxc-resolver/binding-android-arm-eabi": "npm:11.9.0" - "@oxc-resolver/binding-android-arm64": "npm:11.9.0" - "@oxc-resolver/binding-darwin-arm64": "npm:11.9.0" - "@oxc-resolver/binding-darwin-x64": "npm:11.9.0" - "@oxc-resolver/binding-freebsd-x64": "npm:11.9.0" - "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.9.0" - "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.9.0" - "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.9.0" - "@oxc-resolver/binding-linux-arm64-musl": "npm:11.9.0" - "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.9.0" - "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.9.0" - "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.9.0" - "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.9.0" - "@oxc-resolver/binding-linux-x64-gnu": "npm:11.9.0" - "@oxc-resolver/binding-linux-x64-musl": "npm:11.9.0" - "@oxc-resolver/binding-wasm32-wasi": "npm:11.9.0" - "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.9.0" - "@oxc-resolver/binding-win32-ia32-msvc": "npm:11.9.0" - "@oxc-resolver/binding-win32-x64-msvc": "npm:11.9.0" - dependenciesMeta: - "@oxc-resolver/binding-android-arm-eabi": - optional: true - "@oxc-resolver/binding-android-arm64": - optional: true - "@oxc-resolver/binding-darwin-arm64": - optional: true - "@oxc-resolver/binding-darwin-x64": - optional: true - "@oxc-resolver/binding-freebsd-x64": - optional: true - "@oxc-resolver/binding-linux-arm-gnueabihf": - optional: true - "@oxc-resolver/binding-linux-arm-musleabihf": - optional: true - "@oxc-resolver/binding-linux-arm64-gnu": - optional: true - "@oxc-resolver/binding-linux-arm64-musl": - optional: true - "@oxc-resolver/binding-linux-ppc64-gnu": - optional: true - "@oxc-resolver/binding-linux-riscv64-gnu": - optional: true - "@oxc-resolver/binding-linux-riscv64-musl": - optional: true - "@oxc-resolver/binding-linux-s390x-gnu": - optional: true - "@oxc-resolver/binding-linux-x64-gnu": - optional: true - "@oxc-resolver/binding-linux-x64-musl": - optional: true - "@oxc-resolver/binding-wasm32-wasi": - optional: true - "@oxc-resolver/binding-win32-arm64-msvc": - optional: true - "@oxc-resolver/binding-win32-ia32-msvc": - optional: true - "@oxc-resolver/binding-win32-x64-msvc": - optional: true - checksum: 10c0/5a6c3381dd190c003cf07e8020684e9818ffd7fb4e75f4ec171fcc537037c55a28a84980c4949b209ba4f29d7c93aaa57a652287bede5d1dc31d58ebda123431 - languageName: node - linkType: hard - "p-cancelable@npm:^3.0.0": version: 3.0.0 resolution: "p-cancelable@npm:3.0.0" @@ -15601,13 +15296,6 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^4.0.1": - version: 4.0.3 - resolution: "picomatch@npm:4.0.3" - checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 - languageName: node - linkType: hard - "picomatch@npm:^4.0.2": version: 4.0.2 resolution: "picomatch@npm:4.0.2" @@ -18064,13 +17752,6 @@ __metadata: languageName: node linkType: hard -"smol-toml@npm:^1.4.1": - version: 1.4.2 - resolution: "smol-toml@npm:1.4.2" - checksum: 10c0/e01e5f249b1ad852d09aa22f338a6cb3896ac35c92bf0d35744ce1b1e2f4b67901d4a0e886027617a2a8aa9f1a6c67c919c41b544c4aec137b6ebe042ca10d36 - languageName: node - linkType: hard - "sockjs@npm:^0.3.24": version: 0.3.24 resolution: "sockjs@npm:0.3.24" @@ -18622,13 +18303,6 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:5.0.2": - version: 5.0.2 - resolution: "strip-json-comments@npm:5.0.2" - checksum: 10c0/e9841b8face78a01b0eb66f81e0a3419186a96f1d26817a5e1f5260b0631c10e0a7f711dddc5988edf599e5c079e4dd6e91defd21523e556636ba5679786f5ac - languageName: node - linkType: hard - "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -19632,7 +19306,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.9.3": +"typescript@npm:^5.5.4": version: 5.9.3 resolution: "typescript@npm:5.9.3" bin: @@ -19652,7 +19326,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.9.3#optional!builtin": +"typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": version: 5.9.3 resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" bin: @@ -20340,13 +20014,6 @@ __metadata: languageName: node linkType: hard -"walk-up-path@npm:^4.0.0": - version: 4.0.0 - resolution: "walk-up-path@npm:4.0.0" - checksum: 10c0/fabe344f91387d1d41df230af962ef18bf703dd4178006d55cd6412caacd187b54440002d4d53a982d4f7f0455567dcffb6d3884533c8b2268928eca3ebd8a19 - languageName: node - linkType: hard - "walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -21554,13 +21221,6 @@ __metadata: languageName: node linkType: hard -"zod@npm:^4.1.11": - version: 4.1.12 - resolution: "zod@npm:4.1.12" - checksum: 10c0/b64c1feb19e99d77075261eaf613e0b2be4dfcd3551eff65ad8b4f2a079b61e379854d066f7d447491fcf193f45babd8095551a9d47973d30b46b6d8e2c46774 - languageName: node - linkType: hard - "zxcvbn@npm:^4.4.2": version: 4.4.2 resolution: "zxcvbn@npm:4.4.2" From a302727014ca032c03a44917e05e4893467a034b Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 13:25:10 +1300 Subject: [PATCH 12/17] fix: test suite --- apps/namadillo/src/setupTests.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/namadillo/src/setupTests.ts b/apps/namadillo/src/setupTests.ts index 3d04c9df2a..ada71bd65e 100644 --- a/apps/namadillo/src/setupTests.ts +++ b/apps/namadillo/src/setupTests.ts @@ -2,7 +2,7 @@ import "@testing-library/jest-dom"; import { atom } from "jotai"; import { TextDecoder, TextEncoder } from "util"; -global.TextEncoder = TextEncoder as any; +global.TextEncoder = TextEncoder as typeof global.TextEncoder; global.TextDecoder = TextDecoder as typeof global.TextDecoder; jest.mock("atoms/integrations", () => ({ From 0cc8f827ab02cfbebc4827b1bc718a2519d14429 Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 13:25:17 +1300 Subject: [PATCH 13/17] fix: test suite --- packages/utils/src/crypto.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/utils/src/crypto.ts b/packages/utils/src/crypto.ts index 7978e58b8e..d59e0ff31c 100644 --- a/packages/utils/src/crypto.ts +++ b/packages/utils/src/crypto.ts @@ -4,7 +4,7 @@ * @returns hash string */ export const sha256Hash = async (msg: Uint8Array): Promise => { - const hashBuffer = await crypto.subtle.digest("SHA-256", msg); + const hashBuffer = await crypto.subtle.digest("SHA-256", msg as BufferSource); const hashArray = Array.from(new Uint8Array(hashBuffer)); return hashArray.map((byte) => byte.toString(16).padStart(2, "0")).join(""); }; From 0d0c5426edab366f89c1af43d3e5311140835745 Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 16:35:12 +1300 Subject: [PATCH 14/17] fix: dependencies --- apps/namadillo/package.json | 1 + yarn.lock | 1 + 2 files changed, 2 insertions(+) diff --git a/apps/namadillo/package.json b/apps/namadillo/package.json index 226659da97..7a4f5a2f7a 100644 --- a/apps/namadillo/package.json +++ b/apps/namadillo/package.json @@ -20,6 +20,7 @@ "bignumber.js": "^9.1.1", "clsx": "^2.1.1", "comlink": "^4.4.1", + "crypto-browserify": "^3.12.0", "fathom-client": "^3.7.2", "fp-ts": "^2.16.1", "framer-motion": "^11.3.28", diff --git a/yarn.lock b/yarn.lock index 2d72a764d0..683b1c15a4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3774,6 +3774,7 @@ __metadata: bignumber.js: "npm:^9.1.1" clsx: "npm:^2.1.1" comlink: "npm:^4.4.1" + crypto-browserify: "npm:^3.12.0" eslint: "npm:^8.57.0" eslint-config-prettier: "npm:^9.1.0" eslint-import-resolver-typescript: "npm:^3.6.3" From f51342fa0c343a1e9a3a2fde37cee2ea5aa49df2 Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 16:41:43 +1300 Subject: [PATCH 15/17] fix: dependencies --- apps/namadillo/package.json | 12 ++---------- yarn.lock | 32 +------------------------------- 2 files changed, 3 insertions(+), 41 deletions(-) diff --git a/apps/namadillo/package.json b/apps/namadillo/package.json index 7a4f5a2f7a..af1233c8d7 100644 --- a/apps/namadillo/package.json +++ b/apps/namadillo/package.json @@ -20,7 +20,6 @@ "bignumber.js": "^9.1.1", "clsx": "^2.1.1", "comlink": "^4.4.1", - "crypto-browserify": "^3.12.0", "fathom-client": "^3.7.2", "fp-ts": "^2.16.1", "framer-motion": "^11.3.28", @@ -61,8 +60,7 @@ "test:ci": "jest", "test:watch-only": "yarn jest --watchAll=true", "e2e-test": "PLAYWRIGHT_BASE_URL=http://localhost:3000 yarn playwright test", - "e2e-test:headed": "PLAYWRIGHT_BASE_URL=http://localhost:3000 yarn playwright test --project=chromium --headed", - "knip": "knip" + "e2e-test:headed": "PLAYWRIGHT_BASE_URL=http://localhost:3000 yarn playwright test --project=chromium --headed" }, "browserslist": { "production": [ @@ -77,7 +75,6 @@ ] }, "devDependencies": { - "@eslint/js": "^9.9.1", "@namada/vite-esbuild-plugin": "^1.0.1", "@playwright/test": "^1.24.1", "@testing-library/dom": "^10.4.0", @@ -89,7 +86,7 @@ "@types/jest": "^29.5.12", "@types/lodash.debounce": "^4.0.9", "@types/lodash.isequal": "^4", - "@types/node": "^24.7.0", + "@types/node": "^22.5.4", "@types/react": "^18.3.5", "@types/react-dom": "^18.3.0", "@types/react-paginate": "^7.1.2", @@ -99,11 +96,6 @@ "autoprefixer": "^10.4.16", "axios": "^1.8.2", "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "eslint-import-resolver-typescript": "^3.6.3", - "eslint-plugin-import": "^2.30.0", - "eslint-plugin-react": "^7.35.2", - "eslint-plugin-react-hooks": "^4.6.0", "history": "^5.3.0", "identity-obj-proxy": "^3.0.0", "jest": "^29.7.0", diff --git a/yarn.lock b/yarn.lock index 683b1c15a4..1c6e3bbf5f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2903,13 +2903,6 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:^9.9.1": - version: 9.37.0 - resolution: "@eslint/js@npm:9.37.0" - checksum: 10c0/84f98a6213522fc76ea104bd910f606136200bd918544e056a7a22442d3f9d5c3c5cd7f4cdf2499d49b1fa140155b87d597a1f16d01644920f05c228e9ca0378 - languageName: node - linkType: hard - "@fluent/syntax@npm:0.19.0": version: 0.19.0 resolution: "@fluent/syntax@npm:0.19.0" @@ -3741,7 +3734,6 @@ __metadata: resolution: "@namada/namadillo@workspace:apps/namadillo" dependencies: "@cosmjs/encoding": "npm:^0.32.3" - "@eslint/js": "npm:^9.9.1" "@keplr-wallet/types": "npm:^0.12.136" "@namada/chain-registry": "npm:^1.3.0" "@namada/indexer-client": "npm:4.0.3" @@ -3761,7 +3753,7 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/lodash.debounce": "npm:^4.0.9" "@types/lodash.isequal": "npm:^4" - "@types/node": "npm:^24.7.0" + "@types/node": "npm:^22.5.4" "@types/react": "npm:^18.3.5" "@types/react-dom": "npm:^18.3.0" "@types/react-paginate": "npm:^7.1.2" @@ -3774,13 +3766,7 @@ __metadata: bignumber.js: "npm:^9.1.1" clsx: "npm:^2.1.1" comlink: "npm:^4.4.1" - crypto-browserify: "npm:^3.12.0" eslint: "npm:^8.57.0" - eslint-config-prettier: "npm:^9.1.0" - eslint-import-resolver-typescript: "npm:^3.6.3" - eslint-plugin-import: "npm:^2.30.0" - eslint-plugin-react: "npm:^7.35.2" - eslint-plugin-react-hooks: "npm:^4.6.0" fathom-client: "npm:^3.7.2" fp-ts: "npm:^2.16.1" framer-motion: "npm:^11.3.28" @@ -5284,15 +5270,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^24.7.0": - version: 24.7.0 - resolution: "@types/node@npm:24.7.0" - dependencies: - undici-types: "npm:~7.14.0" - checksum: 10c0/f036c78062cb3a0d5c6586bf2dac347ed3f4af121cef4ab92c85c44e32be1c50aab5ba96955842b7f8165f0e0f1c8066d1813ae259372df6c0fa9fadb1116a3e - languageName: node - linkType: hard - "@types/parse-json@npm:^4.0.0": version: 4.0.2 resolution: "@types/parse-json@npm:4.0.2" @@ -19411,13 +19388,6 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~7.14.0": - version: 7.14.0 - resolution: "undici-types@npm:7.14.0" - checksum: 10c0/e7f3214b45d788f03c51ceb33817be99c65dae203863aa9386b3ccc47201a245a7955fc721fb581da9c888b6ebad59fa3f53405214afec04c455a479908f0f14 - languageName: node - linkType: hard - "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.1 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" From 254aab3f0b34a76a6373cd2e3aabce63154533c6 Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 16:47:16 +1300 Subject: [PATCH 16/17] fix: cleanup --- apps/namadillo/src/App/Governance/ProposalHeader.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/namadillo/src/App/Governance/ProposalHeader.tsx b/apps/namadillo/src/App/Governance/ProposalHeader.tsx index a34215b3f8..723440e4d0 100644 --- a/apps/namadillo/src/App/Governance/ProposalHeader.tsx +++ b/apps/namadillo/src/App/Governance/ProposalHeader.tsx @@ -158,7 +158,9 @@ const WasmButton: React.FC<{ if (typeof wasmCode !== "undefined") { const href = URL.createObjectURL( - new Blob([wasmCode], { type: "application/octet-stream" }) + new Blob([new Uint8Array(wasmCode)], { + type: "application/octet-stream", + }) ); const filename = `proposal-${proposal.data.id.toString()}.wasm`; From 7dbddf6f644f5350f04b0d3ed5425fbaa7cf3d1b Mon Sep 17 00:00:00 2001 From: neocybereth Date: Thu, 9 Oct 2025 17:08:44 +1300 Subject: [PATCH 17/17] fix: cleanup --- apps/namadillo/src/sw.ts | 64 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 apps/namadillo/src/sw.ts diff --git a/apps/namadillo/src/sw.ts b/apps/namadillo/src/sw.ts new file mode 100644 index 0000000000..caeb08a172 --- /dev/null +++ b/apps/namadillo/src/sw.ts @@ -0,0 +1,64 @@ +/// +// need to export default null to satisfy typescript +export default null; +declare let self: ServiceWorkerGlobalScope; + +self.addEventListener("install", () => { + self.skipWaiting(); + console.info("Service worker installed"); +}); +self.addEventListener("activate", (event) => { + event.waitUntil(self.clients.claim()); + console.info("Service worker activated"); +}); + +const CACHE_NAME = "RPC_FETCH_CACHE"; + +const fetchWithCacheFirst = async ( + request: Request, + cacheKey: string +): Promise => { + const cache = await caches.open(CACHE_NAME); + + const cachedResponse = await cache.match(cacheKey); + + if (cachedResponse) { + return cachedResponse; + } + + const response = await fetch(request); + + if (response.ok) { + cache.put(cacheKey, response.clone()); + } + + return response; +}; + +self.addEventListener("fetch", function (e) { + const req = e.request.clone(); + + const res = (async () => { + if (req.method === "POST") { + const payload = await req.json(); + const path = payload?.params?.path; + + if ( + path && + (path.includes("/shell/conv") || + path.includes("/vp/token/denomination")) + ) { + const response = await fetchWithCacheFirst( + e.request, + payload.params.path + ); + + return response; + } + } + + return fetch(e.request); + })(); + + e.respondWith(res); +});