From bc68df8fe87c310f406663a73444f918d272422b Mon Sep 17 00:00:00 2001 From: Maxime Beauchamp <15185355+baktun14@users.noreply.github.com> Date: Mon, 7 Oct 2024 16:01:11 -0400 Subject: [PATCH] feat(console): add metamask (#334) --- apps/deploy-web/package.json | 1 + .../src/components/layout/WalletStatus.tsx | 10 +- .../components/settings/CertificateList.tsx | 4 +- .../CertificateProviderContext.tsx | 2 +- .../CustomChainProvider.tsx | 3 +- package-lock.json | 341 +++++++++++++----- packages/dev-config/.eslintrc.base.js | 2 +- packages/ui/components/custom/address.tsx | 2 +- 8 files changed, 258 insertions(+), 107 deletions(-) diff --git a/apps/deploy-web/package.json b/apps/deploy-web/package.json index c48a2f906..28465d876 100644 --- a/apps/deploy-web/package.json +++ b/apps/deploy-web/package.json @@ -26,6 +26,7 @@ "@cosmjs/encoding": "^0.32.4", "@cosmjs/proto-signing": "^0.32.4", "@cosmjs/stargate": "^0.32.4", + "@cosmos-kit/cosmos-extension-metamask": "0.10.0", "@cosmos-kit/cosmostation-extension": "^2.12.2", "@cosmos-kit/keplr": "^2.12.2", "@cosmos-kit/leap": "^2.12.2", diff --git a/apps/deploy-web/src/components/layout/WalletStatus.tsx b/apps/deploy-web/src/components/layout/WalletStatus.tsx index f25c0b2f1..d62748973 100644 --- a/apps/deploy-web/src/components/layout/WalletStatus.tsx +++ b/apps/deploy-web/src/components/layout/WalletStatus.tsx @@ -23,6 +23,7 @@ import { browserEnvConfig } from "@src/config/browser-env.config"; import { useWallet } from "@src/context/WalletProvider"; import { useLoginRequiredEventHandler } from "@src/hooks/useLoginRequiredEventHandler"; import { useManagedEscrowFaqModal } from "@src/hooks/useManagedEscrowFaqModal"; +import { getSplitText } from "@src/hooks/useShortText"; import { useWalletBalance } from "@src/hooks/useWalletBalance"; import { udenomToDenom } from "@src/utils/mathHelpers"; import { uaktToAKT } from "@src/utils/priceUtils"; @@ -104,10 +105,15 @@ export function WalletStatus() { - {walletName} + {walletName?.length > 20 ? ( + {getSplitText(walletName, 4, 4)} + ) : ( + {walletName} + )} -
+
{walletName}
+
diff --git a/apps/deploy-web/src/components/settings/CertificateList.tsx b/apps/deploy-web/src/components/settings/CertificateList.tsx index 10cd555b2..cb4259960 100644 --- a/apps/deploy-web/src/components/settings/CertificateList.tsx +++ b/apps/deploy-web/src/components/settings/CertificateList.tsx @@ -1,7 +1,7 @@ "use client"; -import { useState, useEffect } from "react"; +import { useEffect,useState } from "react"; import { FormattedDate } from "react-intl"; -import { Button, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, CustomPagination } from "@akashnetwork/ui/components"; +import { Button, CustomPagination,Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@akashnetwork/ui/components"; import { Check } from "iconoir-react"; import { ConnectWallet } from "@src/components/shared/ConnectWallet"; diff --git a/apps/deploy-web/src/context/CertificateProvider/CertificateProviderContext.tsx b/apps/deploy-web/src/context/CertificateProvider/CertificateProviderContext.tsx index deddee560..1bdc6a47e 100644 --- a/apps/deploy-web/src/context/CertificateProvider/CertificateProviderContext.tsx +++ b/apps/deploy-web/src/context/CertificateProvider/CertificateProviderContext.tsx @@ -7,11 +7,11 @@ import { useSnackbar } from "notistack"; import { RestApiCertificate } from "@src/types/certificate"; import { AnalyticsEvents } from "@src/utils/analytics"; +import { ApiUrlService, loadWithPagination } from "@src/utils/apiUtils"; import { TransactionMessageData } from "@src/utils/TransactionMessageData"; import { getStorageWallets, updateWallet } from "@src/utils/walletUtils"; import { useSettings } from "../SettingsProvider"; import { useWallet } from "../WalletProvider"; -import { ApiUrlService, loadWithPagination } from "@src/utils/apiUtils"; export type LocalCert = { certPem: string; diff --git a/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.tsx b/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.tsx index 4586935aa..35e3f207d 100644 --- a/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.tsx +++ b/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.tsx @@ -3,6 +3,7 @@ import "@interchain-ui/react/styles"; import "@interchain-ui/react/globalStyles"; import { GasPrice } from "@cosmjs/stargate"; +import { wallets as metamask } from "@cosmos-kit/cosmos-extension-metamask"; import { wallets as cosmostation } from "@cosmos-kit/cosmostation-extension"; import { wallets as keplr } from "@cosmos-kit/keplr"; import { wallets as leap } from "@cosmos-kit/leap"; @@ -22,7 +23,7 @@ export function CustomChainProvider({ children }: Props) { { diff --git a/package-lock.json b/package-lock.json index 7bf578f30..e5ab20bb3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -277,6 +277,7 @@ "@cosmjs/encoding": "^0.32.4", "@cosmjs/proto-signing": "^0.32.4", "@cosmjs/stargate": "^0.32.4", + "@cosmos-kit/cosmos-extension-metamask": "0.10.0", "@cosmos-kit/cosmostation-extension": "^2.12.2", "@cosmos-kit/keplr": "^2.12.2", "@cosmos-kit/leap": "^2.12.2", @@ -2827,20 +2828,22 @@ "integrity": "sha512-HPyeRCroJo04xJVHPvT05eskXn4EbII7LyJBsP2ol5jr0wseBBj94ISheB/Xr/moLY5PjZWW4G0foSD+4RiWsA==" }, "node_modules/@chain-registry/keplr": { - "version": "1.68.71", - "resolved": "https://registry.npmjs.org/@chain-registry/keplr/-/keplr-1.68.71.tgz", - "integrity": "sha512-QLRDj3thHh0FNCI42gZa2v1EAn/d7TqdhCc2TcoFQinz/Ziwym7tC++vzsQr+zAruEwMXru6vSGM7owgJIDBmg==", + "version": "1.68.2", + "resolved": "https://registry.npmjs.org/@chain-registry/keplr/-/keplr-1.68.2.tgz", + "integrity": "sha512-H3rdf/cLx7bNyyKo+1nI9HpLTlLzyeqi0Rmt+ggwtFRC63ZmDaMg/3vPY4rHvu38OdcaOid4Nyfc+7h3EEPW8Q==", + "license": "SEE LICENSE IN LICENSE", "dependencies": { - "@chain-registry/types": "^0.45.57", + "@chain-registry/types": "^0.45.1", "@keplr-wallet/cosmos": "0.12.28", "@keplr-wallet/crypto": "0.12.28", "semver": "^7.5.0" } }, "node_modules/@chain-registry/keplr/node_modules/@chain-registry/types": { - "version": "0.45.57", - "resolved": "https://registry.npmjs.org/@chain-registry/types/-/types-0.45.57.tgz", - "integrity": "sha512-HPyeRCroJo04xJVHPvT05eskXn4EbII7LyJBsP2ol5jr0wseBBj94ISheB/Xr/moLY5PjZWW4G0foSD+4RiWsA==" + "version": "0.45.55", + "resolved": "https://registry.npmjs.org/@chain-registry/types/-/types-0.45.55.tgz", + "integrity": "sha512-uy7DQzLgxLOoVL5EyNUUUvftcoJznij06sXVUavdO/4w8HPFTpuAibY9aB7u/ILpIvirQsa6czMRIuWkRQdHEw==", + "license": "SEE LICENSE IN LICENSE" }, "node_modules/@chain-registry/types": { "version": "0.41.4", @@ -4130,6 +4133,22 @@ "xstream": "^11.14.0" } }, + "node_modules/@cosmos-kit/cosmos-extension-metamask": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@cosmos-kit/cosmos-extension-metamask/-/cosmos-extension-metamask-0.10.0.tgz", + "integrity": "sha512-Ii+1MnVDXECjlLH3djer0GORa/R23dgv6fyKPiXhoE0tynzLTlWcwC4OGHZUxgQIpRdTATshivuZEGVvdV+ctA==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@chain-registry/keplr": "1.68.2", + "@cosmos-kit/core": "^2.13.1", + "@cosmsnap/snapper": "^0.2.5", + "cosmjs-types": ">=0.9.0" + }, + "peerDependencies": { + "@cosmjs/amino": ">=0.32.3", + "@cosmjs/proto-signing": ">=0.32.3" + } + }, "node_modules/@cosmos-kit/cosmostation-extension": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/@cosmos-kit/cosmostation-extension/-/cosmostation-extension-2.13.0.tgz", @@ -4198,22 +4217,6 @@ "@cosmjs/proto-signing": ">=0.32.3" } }, - "node_modules/@cosmos-kit/keplr-mobile/node_modules/@chain-registry/keplr": { - "version": "1.68.2", - "resolved": "https://registry.npmjs.org/@chain-registry/keplr/-/keplr-1.68.2.tgz", - "integrity": "sha512-H3rdf/cLx7bNyyKo+1nI9HpLTlLzyeqi0Rmt+ggwtFRC63ZmDaMg/3vPY4rHvu38OdcaOid4Nyfc+7h3EEPW8Q==", - "dependencies": { - "@chain-registry/types": "^0.45.1", - "@keplr-wallet/cosmos": "0.12.28", - "@keplr-wallet/crypto": "0.12.28", - "semver": "^7.5.0" - } - }, - "node_modules/@cosmos-kit/keplr-mobile/node_modules/@chain-registry/types": { - "version": "0.45.57", - "resolved": "https://registry.npmjs.org/@chain-registry/types/-/types-0.45.57.tgz", - "integrity": "sha512-HPyeRCroJo04xJVHPvT05eskXn4EbII7LyJBsP2ol5jr0wseBBj94ISheB/Xr/moLY5PjZWW4G0foSD+4RiWsA==" - }, "node_modules/@cosmos-kit/leap": { "version": "2.12.2", "resolved": "https://registry.npmjs.org/@cosmos-kit/leap/-/leap-2.12.2.tgz", @@ -4238,22 +4241,6 @@ "@cosmjs/proto-signing": ">=0.32.3" } }, - "node_modules/@cosmos-kit/leap-extension/node_modules/@chain-registry/keplr": { - "version": "1.68.2", - "resolved": "https://registry.npmjs.org/@chain-registry/keplr/-/keplr-1.68.2.tgz", - "integrity": "sha512-H3rdf/cLx7bNyyKo+1nI9HpLTlLzyeqi0Rmt+ggwtFRC63ZmDaMg/3vPY4rHvu38OdcaOid4Nyfc+7h3EEPW8Q==", - "dependencies": { - "@chain-registry/types": "^0.45.1", - "@keplr-wallet/cosmos": "0.12.28", - "@keplr-wallet/crypto": "0.12.28", - "semver": "^7.5.0" - } - }, - "node_modules/@cosmos-kit/leap-extension/node_modules/@chain-registry/types": { - "version": "0.45.57", - "resolved": "https://registry.npmjs.org/@chain-registry/types/-/types-0.45.57.tgz", - "integrity": "sha512-HPyeRCroJo04xJVHPvT05eskXn4EbII7LyJBsP2ol5jr0wseBBj94ISheB/Xr/moLY5PjZWW4G0foSD+4RiWsA==" - }, "node_modules/@cosmos-kit/leap-metamask-cosmos-snap": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/@cosmos-kit/leap-metamask-cosmos-snap/-/leap-metamask-cosmos-snap-0.12.2.tgz", @@ -4271,46 +4258,6 @@ "cosmjs-types": ">=0.9.0" } }, - "node_modules/@cosmos-kit/leap-metamask-cosmos-snap/node_modules/@chain-registry/keplr": { - "version": "1.68.2", - "resolved": "https://registry.npmjs.org/@chain-registry/keplr/-/keplr-1.68.2.tgz", - "integrity": "sha512-H3rdf/cLx7bNyyKo+1nI9HpLTlLzyeqi0Rmt+ggwtFRC63ZmDaMg/3vPY4rHvu38OdcaOid4Nyfc+7h3EEPW8Q==", - "license": "SEE LICENSE IN LICENSE", - "dependencies": { - "@chain-registry/types": "^0.45.1", - "@keplr-wallet/cosmos": "0.12.28", - "@keplr-wallet/crypto": "0.12.28", - "semver": "^7.5.0" - } - }, - "node_modules/@cosmos-kit/leap-metamask-cosmos-snap/node_modules/@chain-registry/types": { - "version": "0.45.61", - "resolved": "https://registry.npmjs.org/@chain-registry/types/-/types-0.45.61.tgz", - "integrity": "sha512-ScSUGG+0FJ+hI19c344ixDRdxdYr5YtU6zCY5Jhb/CJiPxjuoIv2US7a9qBysKGdIYK7iNrp8K5IoSGTRusKfg==", - "license": "SEE LICENSE IN LICENSE" - }, - "node_modules/@cosmos-kit/leap-metamask-cosmos-snap/node_modules/@metamask/providers": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@metamask/providers/-/providers-11.1.2.tgz", - "integrity": "sha512-xjE4cKrGpKZjripkMKMStc0H4LXrWJPijfbaj1kKeDLVhRH2Yu3ZecV3iIhf1EIJePeA+Kx6Pcm7d0IVJ+ea7g==", - "license": "MIT", - "dependencies": { - "@metamask/object-multiplex": "^1.1.0", - "@metamask/safe-event-emitter": "^3.0.0", - "detect-browser": "^5.2.0", - "eth-rpc-errors": "^4.0.2", - "extension-port-stream": "^2.1.1", - "fast-deep-equal": "^3.1.3", - "is-stream": "^2.0.0", - "json-rpc-engine": "^6.1.0", - "json-rpc-middleware-stream": "^4.2.1", - "pump": "^3.0.0", - "webextension-polyfill": "^0.10.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, "node_modules/@cosmos-kit/leap-mobile": { "version": "2.11.2", "resolved": "https://registry.npmjs.org/@cosmos-kit/leap-mobile/-/leap-mobile-2.11.2.tgz", @@ -4322,24 +4269,6 @@ "@cosmos-kit/walletconnect": "^2.10.1" } }, - "node_modules/@cosmos-kit/leap-mobile/node_modules/@chain-registry/keplr": { - "version": "1.68.2", - "resolved": "https://registry.npmjs.org/@chain-registry/keplr/-/keplr-1.68.2.tgz", - "integrity": "sha512-H3rdf/cLx7bNyyKo+1nI9HpLTlLzyeqi0Rmt+ggwtFRC63ZmDaMg/3vPY4rHvu38OdcaOid4Nyfc+7h3EEPW8Q==", - "license": "SEE LICENSE IN LICENSE", - "dependencies": { - "@chain-registry/types": "^0.45.1", - "@keplr-wallet/cosmos": "0.12.28", - "@keplr-wallet/crypto": "0.12.28", - "semver": "^7.5.0" - } - }, - "node_modules/@cosmos-kit/leap-mobile/node_modules/@chain-registry/types": { - "version": "0.45.61", - "resolved": "https://registry.npmjs.org/@chain-registry/types/-/types-0.45.61.tgz", - "integrity": "sha512-ScSUGG+0FJ+hI19c344ixDRdxdYr5YtU6zCY5Jhb/CJiPxjuoIv2US7a9qBysKGdIYK7iNrp8K5IoSGTRusKfg==", - "license": "SEE LICENSE IN LICENSE" - }, "node_modules/@cosmos-kit/react": { "version": "2.18.0", "resolved": "https://registry.npmjs.org/@cosmos-kit/react/-/react-2.18.0.tgz", @@ -4405,6 +4334,92 @@ "resolved": "https://registry.npmjs.org/@cosmostation/extension-client/-/extension-client-0.1.15.tgz", "integrity": "sha512-HlXYJjFrNpjiV/GUKhri1UL8/bhlOIFFLpRF78YDSqq16x0+plIqx5CAvEusFcKTDpVfpeD5sfUHiKvP7euNFg==" }, + "node_modules/@cosmsnap/snapper": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@cosmsnap/snapper/-/snapper-0.2.7.tgz", + "integrity": "sha512-APdNxu6b761pNL9LTk4uxQr+cE88TdW6abtkVKxOgJcOtRsheI5mj7d5/hcIsm1dSiHv6WXefYdcTG9sOU/K9A==", + "license": "MIT", + "dependencies": { + "@cosmjs/amino": "^0.31.3", + "@keplr-wallet/proto-types": "0.12.12", + "@keplr-wallet/types": "0.12.12", + "appwrite": "^14.0.0", + "node-appwrite": "^14.0.0", + "ses": "^0.18.4" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@cosmsnap/snapper/node_modules/@cosmjs/amino": { + "version": "0.31.3", + "resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.31.3.tgz", + "integrity": "sha512-36emtUq895sPRX8PTSOnG+lhJDCVyIcE0Tr5ct59sUbgQiI14y43vj/4WAlJ/utSOxy+Zhj9wxcs4AZfu0BHsw==", + "license": "Apache-2.0", + "dependencies": { + "@cosmjs/crypto": "^0.31.3", + "@cosmjs/encoding": "^0.31.3", + "@cosmjs/math": "^0.31.3", + "@cosmjs/utils": "^0.31.3" + } + }, + "node_modules/@cosmsnap/snapper/node_modules/@cosmjs/crypto": { + "version": "0.31.3", + "resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.31.3.tgz", + "integrity": "sha512-vRbvM9ZKR2017TO73dtJ50KxoGcFzKtKI7C8iO302BQ5p+DuB+AirUg1952UpSoLfv5ki9O416MFANNg8UN/EQ==", + "license": "Apache-2.0", + "dependencies": { + "@cosmjs/encoding": "^0.31.3", + "@cosmjs/math": "^0.31.3", + "@cosmjs/utils": "^0.31.3", + "@noble/hashes": "^1", + "bn.js": "^5.2.0", + "elliptic": "^6.5.4", + "libsodium-wrappers-sumo": "^0.7.11" + } + }, + "node_modules/@cosmsnap/snapper/node_modules/@cosmjs/encoding": { + "version": "0.31.3", + "resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.31.3.tgz", + "integrity": "sha512-6IRtG0fiVYwyP7n+8e54uTx2pLYijO48V3t9TLiROERm5aUAIzIlz6Wp0NYaI5he9nh1lcEGJ1lkquVKFw3sUg==", + "license": "Apache-2.0", + "dependencies": { + "base64-js": "^1.3.0", + "bech32": "^1.1.4", + "readonly-date": "^1.0.0" + } + }, + "node_modules/@cosmsnap/snapper/node_modules/@cosmjs/math": { + "version": "0.31.3", + "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.31.3.tgz", + "integrity": "sha512-kZ2C6glA5HDb9hLz1WrftAjqdTBb3fWQsRR+Us2HsjAYdeE6M3VdXMsYCP5M3yiihal1WDwAY2U7HmfJw7Uh4A==", + "license": "Apache-2.0", + "dependencies": { + "bn.js": "^5.2.0" + } + }, + "node_modules/@cosmsnap/snapper/node_modules/@cosmjs/utils": { + "version": "0.31.3", + "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.31.3.tgz", + "integrity": "sha512-VBhAgzrrYdIe0O5IbKRqwszbQa7ZyQLx9nEQuHQ3HUplQW7P44COG/ye2n6AzCudtqxmwdX7nyX8ta1J07GoqA==", + "license": "Apache-2.0" + }, + "node_modules/@cosmsnap/snapper/node_modules/@keplr-wallet/proto-types": { + "version": "0.12.12", + "resolved": "https://registry.npmjs.org/@keplr-wallet/proto-types/-/proto-types-0.12.12.tgz", + "integrity": "sha512-iAqqNlJpxu/8j+SwOXEH2ymM4W0anfxn+eNeWuqz2c/0JxGTWeLURioxQmCtewtllfHdDHHcoQ7/S+NmXiaEgQ==", + "license": "Apache-2.0", + "dependencies": { + "long": "^4.0.0", + "protobufjs": "^6.11.2" + } + }, + "node_modules/@cosmsnap/snapper/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "license": "Apache-2.0" + }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "license": "MIT", @@ -6537,6 +6552,21 @@ "resolved": "https://registry.npmjs.org/@keplr-wallet/simple-fetch/-/simple-fetch-0.12.28.tgz", "integrity": "sha512-T2CiKS2B5n0ZA7CWw0CA6qIAH0XYI1siE50MP+i+V0ZniCGBeL+BMcDw64vFJUcEH+1L5X4sDAzV37fQxGwllA==" }, + "node_modules/@keplr-wallet/types": { + "version": "0.12.12", + "resolved": "https://registry.npmjs.org/@keplr-wallet/types/-/types-0.12.12.tgz", + "integrity": "sha512-fo6b8j9EXnJukGvZorifJWEm1BPIrvaTLuu5PqaU5k1ANDasm/FL1NaUuaTBVvhRjINtvVXqYpW/rVUinA9MBA==", + "license": "Apache-2.0", + "dependencies": { + "long": "^4.0.0" + } + }, + "node_modules/@keplr-wallet/types/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "license": "Apache-2.0" + }, "node_modules/@keplr-wallet/unit": { "version": "0.12.28", "resolved": "https://registry.npmjs.org/@keplr-wallet/unit/-/unit-0.12.28.tgz", @@ -6646,6 +6676,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@metamask/object-multiplex/-/object-multiplex-1.3.0.tgz", "integrity": "sha512-czcQeVYdSNtabd+NcYQnrM69MciiJyd1qvKH8WM2Id3C0ZiUUX5Xa/MK+/VUk633DBhVOwdNzAKIQ33lGyA+eQ==", + "license": "ISC", "dependencies": { "end-of-stream": "^1.4.4", "once": "^1.4.0", @@ -6655,10 +6686,33 @@ "node": ">=12.0.0" } }, + "node_modules/@metamask/providers": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@metamask/providers/-/providers-11.1.2.tgz", + "integrity": "sha512-xjE4cKrGpKZjripkMKMStc0H4LXrWJPijfbaj1kKeDLVhRH2Yu3ZecV3iIhf1EIJePeA+Kx6Pcm7d0IVJ+ea7g==", + "license": "MIT", + "dependencies": { + "@metamask/object-multiplex": "^1.1.0", + "@metamask/safe-event-emitter": "^3.0.0", + "detect-browser": "^5.2.0", + "eth-rpc-errors": "^4.0.2", + "extension-port-stream": "^2.1.1", + "fast-deep-equal": "^3.1.3", + "is-stream": "^2.0.0", + "json-rpc-engine": "^6.1.0", + "json-rpc-middleware-stream": "^4.2.1", + "pump": "^3.0.0", + "webextension-polyfill": "^0.10.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@metamask/safe-event-emitter": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.1.tgz", "integrity": "sha512-ihb3B0T/wJm1eUuArYP4lCTSEoZsClHhuWyfo/kMX3m/odpqNcPfsz5O2A3NT7dXCAgWPGDQGPqygCpgeniKMw==", + "license": "ISC", "engines": { "node": ">=12.0.0" } @@ -15331,6 +15385,45 @@ "node": ">= 8" } }, + "node_modules/appwrite": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/appwrite/-/appwrite-14.0.1.tgz", + "integrity": "sha512-ORlvfqVif/2K3qKGgGiGfMP33Zwm+xxB1fIC4Lm3sojOkDd8u8YvgKQO0Meq5UXb8Dc0Rl66Z7qlGBAfRQ04bA==", + "license": "BSD-3-Clause", + "dependencies": { + "cross-fetch": "3.1.5", + "isomorphic-form-data": "2.0.0" + } + }, + "node_modules/appwrite/node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "license": "MIT", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/appwrite/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/arg": { "version": "5.0.2", "license": "MIT" @@ -19904,6 +19997,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", + "license": "MIT", "dependencies": { "fast-safe-stringify": "^2.0.6" } @@ -20133,6 +20227,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/extension-port-stream/-/extension-port-stream-2.1.1.tgz", "integrity": "sha512-qknp5o5rj2J9CRKfVB8KJr+uXQlrojNZzdESUPhKYLXf97TPcGf6qWWKmpsNNtUyOdzFhab1ON0jzouNxHHvow==", + "license": "ISC", "dependencies": { "webextension-polyfill": ">=0.10.0 <1.0" }, @@ -22705,6 +22800,29 @@ "node": ">=0.10.0" } }, + "node_modules/isomorphic-form-data": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-form-data/-/isomorphic-form-data-2.0.0.tgz", + "integrity": "sha512-TYgVnXWeESVmQSg4GLVbalmQ+B4NPi/H4eWxqALKj63KsUrcu301YDjBqaOw3h+cbak7Na4Xyps3BiptHtxTfg==", + "license": "MIT", + "dependencies": { + "form-data": "^2.3.2" + } + }, + "node_modules/isomorphic-form-data/node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, "node_modules/isomorphic-ws": { "version": "4.0.1", "license": "MIT", @@ -24719,6 +24837,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", "integrity": "sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==", + "license": "ISC", "dependencies": { "@metamask/safe-event-emitter": "^2.0.0", "eth-rpc-errors": "^4.0.2" @@ -24730,12 +24849,14 @@ "node_modules/json-rpc-engine/node_modules/@metamask/safe-event-emitter": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", - "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==" + "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==", + "license": "ISC" }, "node_modules/json-rpc-middleware-stream": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/json-rpc-middleware-stream/-/json-rpc-middleware-stream-4.2.3.tgz", "integrity": "sha512-4iFb0yffm5vo3eFKDbQgke9o17XBcLQ2c3sONrXSbcOLzP8LTojqo8hRGVgtJShhm5q4ZDSNq039fAx9o65E1w==", + "license": "ISC", "dependencies": { "@metamask/safe-event-emitter": "^3.0.0", "json-rpc-engine": "^6.1.0", @@ -28228,6 +28349,15 @@ "version": "4.3.0", "license": "MIT" }, + "node_modules/node-appwrite": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/node-appwrite/-/node-appwrite-14.1.0.tgz", + "integrity": "sha512-kuKAZrdaAcGYOMUXtxNb1j+uIy+FIMiiU1dFkgwTXLsMLeLvC6HJ8/FH/kN9JyrWR2a2zcGN7gWfyQgWYoLMTA==", + "license": "BSD-3-Clause", + "dependencies": { + "node-fetch-native-with-agent": "1.7.2" + } + }, "node_modules/node-dependency-injection": { "version": "3.1.2", "license": "MIT", @@ -28419,6 +28549,12 @@ "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==" }, + "node_modules/node-fetch-native-with-agent": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-fetch-native-with-agent/-/node-fetch-native-with-agent-1.7.2.tgz", + "integrity": "sha512-5MaOOCuJEvcckoz7/tjdx1M6OusOY6Xc5f459IaruGStWnKzlI1qpNgaAwmn4LmFYcsSlj+jBMk84wmmRxfk5g==", + "license": "MIT" + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -32053,6 +32189,12 @@ "node": ">= 0.8.0" } }, + "node_modules/ses": { + "version": "0.18.4", + "resolved": "https://registry.npmjs.org/ses/-/ses-0.18.4.tgz", + "integrity": "sha512-Ph0PC38Q7uutHmMM9XPqA7rp/2taiRwW6pIZJwTr4gz90DtrBvy/x7AmNPH2uqNPhKriZpYKvPi1xKWjM9xJuQ==", + "license": "Apache-2.0" + }, "node_modules/set-blocking": { "version": "2.0.0", "license": "ISC" @@ -35191,7 +35333,8 @@ "node_modules/webextension-polyfill": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", - "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==" + "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==", + "license": "MPL-2.0" }, "node_modules/webidl-conversions": { "version": "3.0.1", diff --git a/packages/dev-config/.eslintrc.base.js b/packages/dev-config/.eslintrc.base.js index a8d461aa5..0b6ca3f6f 100644 --- a/packages/dev-config/.eslintrc.base.js +++ b/packages/dev-config/.eslintrc.base.js @@ -5,7 +5,7 @@ module.exports = { }, extends: ["eslint:recommended"], plugins: ["simple-import-sort"], - ignorePatterns: ["node_modules", "dist", "build", "public"], + ignorePatterns: ["node_modules", "dist", "build", "public", "Leap"], rules: { "@typescript-eslint/no-unused-vars": ["error", { ignoreRestSiblings: true }], "simple-import-sort/imports": [ diff --git a/packages/ui/components/custom/address.tsx b/packages/ui/components/custom/address.tsx index add9479f2..ae70ac7b5 100644 --- a/packages/ui/components/custom/address.tsx +++ b/packages/ui/components/custom/address.tsx @@ -43,7 +43,7 @@ export const Address: React.FunctionComponent = ({ address, isCopyable, d {...rest} > {formattedAddress} - {isCopyable && } + {isCopyable && } );