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 && }
);