diff --git a/.gitignore b/.gitignore
index 27ed070def..430adb7414 100644
--- a/.gitignore
+++ b/.gitignore
@@ -93,8 +93,6 @@ test-results
.github/test-data
junit.xml
-# Leap extension local storage for e2e tests with playwright
-apps/deploy-web/tests/ui/fixture/leapExtensionLocalStorage.*.json
# Clinic.js diagnostic artifacts
.clinic
diff --git a/.npmrc b/.npmrc
index dc26c586f1..e69de29bb2 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1 +0,0 @@
-@leapwallet:registry=https://registry.npmjs.org/
\ No newline at end of file
diff --git a/apps/deploy-web/package.json b/apps/deploy-web/package.json
index 462fea926a..b7efbb10f1 100644
--- a/apps/deploy-web/package.json
+++ b/apps/deploy-web/package.json
@@ -46,7 +46,6 @@
"@cosmos-kit/cosmos-extension-metamask": "~0.15.1",
"@cosmos-kit/cosmostation-extension": "~2.18.1",
"@cosmos-kit/keplr": "~2.17.1",
- "@cosmos-kit/leap": "~2.17.1",
"@cosmos-kit/react": "^2.24.1",
"@emotion/cache": "^11.7.1",
"@emotion/css": "^11.7.1",
@@ -127,7 +126,6 @@
"@chain-registry/types": "^0.50.12",
"@cosmjs/amino": "~0.38.0",
"@faker-js/faker": "^9.4.0",
- "@keplr-wallet/types": "^0.12.111",
"@next/bundle-analyzer": "^15.5.18",
"@octokit/openapi-types": "^22.2.0",
"@playwright/test": "~1.57.0",
diff --git a/apps/deploy-web/src/components/get-started/GetStartedStepper.spec.tsx b/apps/deploy-web/src/components/get-started/GetStartedStepper.spec.tsx
new file mode 100644
index 0000000000..d094092aa2
--- /dev/null
+++ b/apps/deploy-web/src/components/get-started/GetStartedStepper.spec.tsx
@@ -0,0 +1,71 @@
+import { describe, expect, it, vi } from "vitest";
+
+import { DEPENDENCIES, GetStartedStepper } from "./GetStartedStepper";
+
+import { render, screen } from "@testing-library/react";
+import { MockComponents } from "@tests/unit/mocks";
+
+describe(GetStartedStepper.name, () => {
+ it("displays AKT and ACT balance for custodial wallet", () => {
+ setup({
+ isWalletConnected: true,
+ isManagedWallet: false,
+ balanceUAKT: 10_000_000,
+ balanceUACT: 7_000_000
+ });
+
+ expect(screen.queryByText((_, el) => el?.tagName === "SPAN" && /You have 10 AKT and 7 ACT/.test(el.textContent ?? ""))).toBeInTheDocument();
+ });
+
+ it("displays USD balance for managed wallet", () => {
+ setup({
+ isWalletConnected: true,
+ isManagedWallet: true,
+ balanceUAKT: 10_000_000,
+ balanceUUSDC: 5_000_000
+ });
+
+ expect(screen.queryByText(/\$/)).toBeInTheDocument();
+ expect(screen.queryByText(/AKT and/)).not.toBeInTheDocument();
+ });
+
+ it("shows billing not set up when wallet is disconnected", () => {
+ setup({ isWalletConnected: false });
+
+ expect(screen.queryByText("Billing is not set up")).toBeInTheDocument();
+ });
+
+ function setup(input?: {
+ isWalletConnected?: boolean;
+ isManagedWallet?: boolean;
+ isTrialing?: boolean;
+ balanceUAKT?: number;
+ balanceUUSDC?: number;
+ balanceUACT?: number;
+ }) {
+ const deps = MockComponents(DEPENDENCIES, {
+ useWallet: vi.fn(() => ({
+ isWalletConnected: input?.isWalletConnected ?? false,
+ isManaged: input?.isManagedWallet ?? false,
+ isTrialing: input?.isTrialing ?? false,
+ address: "akash1test"
+ })) as unknown as (typeof DEPENDENCIES)["useWallet"],
+ useWalletBalance: vi.fn(() => ({
+ balance:
+ input?.balanceUAKT !== undefined || input?.balanceUUSDC !== undefined || input?.balanceUACT !== undefined
+ ? {
+ balanceUAKT: input?.balanceUAKT ?? 0,
+ balanceUUSDC: input?.balanceUUSDC ?? 0,
+ balanceUACT: input?.balanceUACT ?? 0
+ }
+ : undefined,
+ refetch: vi.fn()
+ })) as unknown as (typeof DEPENDENCIES)["useWalletBalance"],
+ useChainParam: vi.fn(() => ({
+ minDeposit: { akt: 5, act: 5 }
+ })) as unknown as (typeof DEPENDENCIES)["useChainParam"]
+ });
+
+ return render();
+ }
+});
diff --git a/apps/deploy-web/src/components/get-started/GetStartedStepper.tsx b/apps/deploy-web/src/components/get-started/GetStartedStepper.tsx
index 4ba9560b83..ec0d1e3185 100644
--- a/apps/deploy-web/src/components/get-started/GetStartedStepper.tsx
+++ b/apps/deploy-web/src/components/get-started/GetStartedStepper.tsx
@@ -18,16 +18,23 @@ import { RouteStep } from "@src/types/route-steps.type";
import { udenomToDenom } from "@src/utils/mathHelpers";
import { uaktToAKT } from "@src/utils/priceUtils";
import { UrlService } from "@src/utils/urlUtils";
-import LiquidityModal from "../liquidity-modal";
import { ExternalLink } from "../shared/ExternalLink";
import { WalletConnectionButtons } from "../wallet/WalletConnectionButtons";
import { QontoConnector, QontoStepIcon } from "./Stepper";
-export const GetStartedStepper: React.FunctionComponent = () => {
+export const DEPENDENCIES = {
+ useWallet,
+ useWalletBalance,
+ useChainParam,
+ WalletConnectionButtons,
+ AddFundsLink
+};
+
+export const GetStartedStepper: React.FunctionComponent<{ dependencies?: typeof DEPENDENCIES }> = ({ dependencies: d = DEPENDENCIES }) => {
const [activeStep, setActiveStep] = useState(0);
- const { isWalletConnected, address, isManaged: isManagedWallet, isTrialing } = useWallet();
- const { refetch: refetchBalances, balance: walletBalance } = useWalletBalance();
- const { minDeposit } = useChainParam();
+ const { isWalletConnected, isManaged: isManagedWallet, isTrialing } = d.useWallet();
+ const { balance: walletBalance } = d.useWalletBalance();
+ const { minDeposit } = d.useChainParam();
const aktBalance = walletBalance ? uaktToAKT(walletBalance.balanceUAKT) : 0;
const usdcBalance = walletBalance ? udenomToDenom(walletBalance.balanceUUSDC) : 0;
const actBalance = walletBalance ? udenomToDenom(walletBalance.balanceUACT) : 0;
@@ -98,10 +105,10 @@ export const GetStartedStepper: React.FunctionComponent = () => {
@@ -136,7 +143,7 @@ export const GetStartedStepper: React.FunctionComponent = () => {
Billing is not set up
-
+
)}
@@ -162,10 +169,9 @@ export const GetStartedStepper: React.FunctionComponent = () => {
) : (
- You have {aktBalance} AKT and {usdcBalance} USDC
+ You have {aktBalance} AKT and {actBalance} ACT
)}
- {!isManagedWallet && isWalletConnected && }
)}
diff --git a/apps/deploy-web/src/components/liquidity-modal/index.tsx b/apps/deploy-web/src/components/liquidity-modal/index.tsx
deleted file mode 100644
index def406ad9e..0000000000
--- a/apps/deploy-web/src/components/liquidity-modal/index.tsx
+++ /dev/null
@@ -1,225 +0,0 @@
-"use client";
-
-import "../../types/global";
-
-import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
-import { Button, Spinner } from "@akashnetwork/ui/components";
-// import * as Elements from "@leapwallet/elements-umd-types";
-import { Modal } from "@mui/material";
-
-import { useServices } from "@src/context/ServicesProvider";
-import { useWallet } from "@src/context/WalletProvider";
-import { useIsSelfCustodyEnabled } from "@src/hooks/useIsSelfCustodyEnabled";
-import { useSelectedChain } from "@src/hooks/useSelectedChain/useSelectedChain";
-
-export type NonUndefined = T extends undefined ? never : T;
-
-export const DEPENDENCIES = {
- useIsSelfCustodyEnabled
-};
-
-const ToggleLiquidityModalButton: React.FC<{ onClick: () => void }> = ({ onClick }) => {
- const { analyticsService } = useServices();
- const _onClick = () => {
- analyticsService.track("leap_get_more_tokens", {
- category: "wallet",
- label: "Open Leap liquidity modal"
- });
-
- onClick();
- };
-
- return (
-
- );
-};
-
-// TODO: Fix the elements types
-// const convertWalletType = (walletName: string | undefined): Elements.WalletType | undefined => {
-const convertWalletType = (walletName: string | undefined): any => {
- if (!window.LeapElements) {
- return undefined;
- }
- const walletType = window.LeapElements.WalletType;
- switch (walletName) {
- case "leap-extension":
- return walletType.LEAP;
- case "keplr-extension":
- return walletType.KEPLR;
- case "cosmostation-extension":
- return walletType.COSMOSTATION;
- case "keplr-mobile":
- return walletType.WC_KEPLR_MOBILE;
- default:
- return undefined;
- }
-};
-
-// const getTabsConfig = (txnLifecycleHooks: Partial>) => {
-const getTabsConfig = (txnLifecycleHooks: any) => {
- return {
- aggregated: {
- enabled: true,
- orderIndex: 0,
- title: "Swap or Bridge",
- allowedDestinationChains: [
- {
- chainId: "akashnet-2"
- }
- ],
- defaultValues: {
- sourceChainId: "osmosis-1",
- sourceAsset: "uosmo",
- destinationChainId: "akashnet-2",
- destinationAsset: "uakt"
- },
- txnLifecycleHooks
- },
- swap: {
- enabled: false
- },
- "fiat-on-ramp": {
- enabled: true,
- title: "Buy AKT",
- orderIndex: 1,
- allowedDestinationChains: [
- {
- chainId: "akashnet-2"
- }
- ],
- defaultValues: {
- currency: "USD",
- sourceAmount: "10",
- destinationChainId: "akashnet-2",
- destinationAsset: "uakt"
- },
- onTxnComplete: txnLifecycleHooks.onTxnComplete
- },
- transfer: {
- enabled: true,
- orderIndex: 2,
- title: "IBC Transfer",
- defaultValues: {
- sourceChainId: "osmosis-1",
- sourceAsset: { originChainId: "akashnet-2", originDenom: "uakt" }
- },
- txnLifecycleHooks
- }
- };
- // } satisfies Elements.TabsConfig;
-};
-
-type Props = { address: string; aktBalance: number; refreshBalances: () => void; dependencies?: typeof DEPENDENCIES };
-
-const LiquidityModal: React.FC = ({ refreshBalances, dependencies: d = DEPENDENCIES }) => {
- const isSelfCustodyEnabled = d.useIsSelfCustodyEnabled();
- const { analyticsService } = useServices();
- const [isOpen, setIsOpen] = useState(false);
- const [isElementsReady, setIsElementsReady] = useState(false);
- const isElementsMounted = useRef(false);
-
- const { isWalletConnected } = useWallet();
- const { wallet, enable: enableWallet } = useSelectedChain();
-
- const walletName = isWalletConnected ? wallet?.name : undefined;
-
- const handleConnectWallet = useCallback(() => {
- if (!isWalletConnected) {
- return enableWallet();
- } else {
- throw new Error("Wallet is not connected");
- }
- }, [isWalletConnected, enableWallet]);
-
- const tabsConfig = useMemo(() => {
- // const txnLifecycleHooks: Partial> = {
- const txnLifecycleHooks: any = {
- onTxnComplete: () => {
- refreshBalances();
- analyticsService.track("leap_tx_complete", {
- category: "wallet",
- label: "Completed a transaction on Leap liquidity modal"
- });
- }
- };
-
- return getTabsConfig(txnLifecycleHooks);
- }, [refreshBalances]);
-
- const connectedWalletType = useMemo(() => (isElementsReady ? convertWalletType(walletName) : undefined), [isElementsReady, walletName]);
-
- useEffect(() => {
- if (isElementsReady && isOpen && !isElementsMounted.current) {
- isElementsMounted.current = true;
- window.LeapElements?.mountElements?.({
- connectWallet: handleConnectWallet,
- connectedWalletType,
- element: {
- name: "multi-view",
- props: {
- tabsConfig
- }
- },
- enableSmartSwap: true,
- skipClientId: `akashnet-console-${process.env.NODE_ENV}`,
- enableCaching: true,
- elementsRoot: "#leap-elements-portal"
- });
- }
- }, [isOpen, handleConnectWallet, connectedWalletType, tabsConfig, isElementsReady]);
-
- useEffect(() => {
- if (isOpen) {
- document.body.style.overflow = "hidden";
- } else {
- document.body.style.overflow = "auto";
- }
- }, [isOpen]);
-
- useEffect(() => {
- isElementsMounted.current = false;
- }, [connectedWalletType]);
-
- useEffect(() => {
- if (!window) {
- return;
- }
-
- if (window.LeapElements) {
- setIsElementsReady(true);
- return;
- }
-
- const cb = () => {
- setIsElementsReady(true);
- };
-
- window.addEventListener("@leapwallet/elements:load", cb);
-
- return () => {
- window.removeEventListener("@leapwallet/elements:load", cb);
- };
- }, []);
-
- if (!isSelfCustodyEnabled) return null;
-
- return (
- <>
- setIsOpen(o => !o)} />
- {isWalletConnected ? (
- setIsOpen(false)} className="flex items-center justify-center">
-
- {!isElementsReady ?
: null}
-
-
-
- ) : null}
- >
- );
-};
-
-LiquidityModal.displayName = "LiquidityModal";
-
-export default LiquidityModal;
diff --git a/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.spec.tsx b/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.spec.tsx
index 91308484de..b1136e7b63 100644
--- a/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.spec.tsx
+++ b/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.spec.tsx
@@ -24,7 +24,6 @@ describe(CustomChainProvider.name, () => {
const call = vi.mocked(dependencies.ChainStoreProvider).mock.calls[0][0];
expect(call.walletsRegistry).toEqual([
{ names: ["keplr-extension", "keplr-mobile"], loader: expect.any(Function) },
- { names: ["leap-extension", "leap-mobile", "leap-metamask-cosmos-snap"], loader: expect.any(Function) },
{ names: ["cosmostation-extension"], loader: expect.any(Function) },
{ names: ["cosmos-extension-metamask"], loader: expect.any(Function) }
]);
diff --git a/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.tsx b/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.tsx
index eb3f38d9de..bd4a55ccc8 100644
--- a/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.tsx
+++ b/apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.tsx
@@ -25,7 +25,6 @@ export const DEPENDENCIES = {
*/
const WALLETS_PROVIDERS: WalletsRegistry = [
{ names: ["keplr-extension", "keplr-mobile"], loader: () => import("@cosmos-kit/keplr") },
- { names: ["leap-extension", "leap-mobile", "leap-metamask-cosmos-snap"], loader: () => import("@cosmos-kit/leap") },
{ names: ["cosmostation-extension"], loader: () => import("@cosmos-kit/cosmostation-extension") },
{ names: ["cosmos-extension-metamask"], loader: () => import("@cosmos-kit/cosmos-extension-metamask") }
];
diff --git a/apps/deploy-web/src/pages/get-started/index.tsx b/apps/deploy-web/src/pages/get-started/index.tsx
index 0ed70e9fe1..94b6a7552c 100644
--- a/apps/deploy-web/src/pages/get-started/index.tsx
+++ b/apps/deploy-web/src/pages/get-started/index.tsx
@@ -1,8 +1,6 @@
"use client";
import React from "react";
import { Card, CardContent, CardHeader, CardTitle } from "@akashnetwork/ui/components";
-import Head from "next/head";
-import Script from "next/script";
import { GetStartedStepper } from "@src/components/get-started/GetStartedStepper";
import Layout from "@src/components/layout/Layout";
@@ -26,11 +24,6 @@ const GetStarted: React.FunctionComponent = () => {
-
-
-
-
-
);
};
diff --git a/apps/deploy-web/src/services/analytics/analytics.service.ts b/apps/deploy-web/src/services/analytics/analytics.service.ts
index 35353fb8a9..f7e0b12eb7 100644
--- a/apps/deploy-web/src/services/analytics/analytics.service.ts
+++ b/apps/deploy-web/src/services/analytics/analytics.service.ts
@@ -2,6 +2,13 @@
import * as amplitude from "@amplitude/analytics-browser";
import { sessionReplayPlugin } from "@amplitude/plugin-session-replay-browser";
+
+declare global {
+ interface Window {
+ dataLayer?: Record[];
+ }
+}
+
export type AnalyticsUser = {
id?: string;
anonymous?: boolean;
@@ -49,8 +56,6 @@ export type AnalyticsEvent =
| "create_gpu_deployment"
| "authorize_spend"
| "navigate_tab"
- | "leap_get_more_tokens"
- | "leap_tx_complete"
| "deploy_sdl"
| "preview_sdl"
| "import_sdl"
@@ -126,7 +131,6 @@ export type EventProperties = {
const GA_EVENTS = {
successful_tx: "successful_transaction",
- leap_tx_complete: "leap_transaction_complete",
revoke_all_certificates: "revoke_all_certificate"
};
diff --git a/apps/deploy-web/src/styles/index.css b/apps/deploy-web/src/styles/index.css
index 6d481de535..eb0de555d8 100644
--- a/apps/deploy-web/src/styles/index.css
+++ b/apps/deploy-web/src/styles/index.css
@@ -129,16 +129,6 @@ body {
pointer-events: all !important;
}
-#leap-elements-portal.leap-ui.dark {
- /* hsl(357deg, 100%, 62.9%) */
- --primary: 357 100% 62.9%;
- /* hsl(0deg, 85.7%, 97.3%) */
- --primary-foreground: 0 85.7% 97.3%;
- /* hsl(357deg, 100%, 62.9%) */
- --ring: 357 100% 62.9%;
- /* Low border radius */
- --radius: 0.25rem;
-}
.monaco-editor {
position: absolute !important;
diff --git a/apps/deploy-web/src/types/global.ts b/apps/deploy-web/src/types/global.ts
deleted file mode 100644
index f286f88a1a..0000000000
--- a/apps/deploy-web/src/types/global.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import type { Keplr, Window as KeplrWindow } from "@keplr-wallet/types";
-
-declare global {
- interface Window extends KeplrWindow {
- wallet: Keplr | undefined;
- dataLayer?: Record[];
- LeapElements?: {
- mountElements: (args: any) => void;
- WalletType: any;
- };
- }
-}
diff --git a/apps/provider-console/package.json b/apps/provider-console/package.json
index 12249212c4..75ddd25b73 100644
--- a/apps/provider-console/package.json
+++ b/apps/provider-console/package.json
@@ -22,7 +22,6 @@
"@cosmjs/stargate": "~0.28.13",
"@cosmos-kit/cosmostation-extension": "~2.12.2",
"@cosmos-kit/keplr": "~2.12.2",
- "@cosmos-kit/leap-extension": "~2.12.2",
"@cosmos-kit/react": "~2.18.0",
"@emotion/react": "~11.11.4",
"@emotion/styled": "~11.11.5",
diff --git a/apps/provider-console/src/context/CustomChainProvider/CustomChainProvider.tsx b/apps/provider-console/src/context/CustomChainProvider/CustomChainProvider.tsx
index 06b65e86b2..32a864f940 100644
--- a/apps/provider-console/src/context/CustomChainProvider/CustomChainProvider.tsx
+++ b/apps/provider-console/src/context/CustomChainProvider/CustomChainProvider.tsx
@@ -5,7 +5,6 @@ import "@interchain-ui/react/globalStyles";
import { GasPrice } from "@cosmjs/stargate";
import type { MainWalletBase } from "@cosmos-kit/core";
import { wallets as keplr } from "@cosmos-kit/keplr";
-import { wallets as leap } from "@cosmos-kit/leap-extension";
import { ChainProvider } from "@cosmos-kit/react";
import { useChain } from "@cosmos-kit/react";
@@ -14,27 +13,13 @@ import { createDynamicChain } from "@src/config/network.config";
import { useSelectedNetwork } from "@src/hooks/useSelectedNetwork";
import { customRegistry } from "@src/utils/customRegistry";
-declare global {
- interface Window {
- leap?: any;
- }
-}
-
type Props = {
children: React.ReactNode;
};
export function CustomChainProvider({ children }: Props) {
- // Filter out Leap wallets if the extension is not detected
- const availableWallets = [...keplr, ...leap].filter(wallet => {
- if (wallet.walletInfo.name.toLowerCase().includes("leap")) {
- return typeof window !== "undefined" && window.leap;
- }
- return true;
- }) as MainWalletBase[];
+ const availableWallets = [...keplr] as MainWalletBase[];
- // Create dynamic chain from environment configuration - no if/else conditions
- // Following the same pattern as akashSandbox but environment-driven
const dynamicChain = createDynamicChain();
return (
diff --git a/apps/provider-console/src/pages/get-started/index.tsx b/apps/provider-console/src/pages/get-started/index.tsx
index 328194bd51..356167258e 100644
--- a/apps/provider-console/src/pages/get-started/index.tsx
+++ b/apps/provider-console/src/pages/get-started/index.tsx
@@ -1,8 +1,6 @@
"use client";
import React from "react";
import { Card, CardContent, CardHeader, CardTitle } from "@akashnetwork/ui/components";
-import Head from "next/head";
-import Script from "next/script";
import { GetStartedStepper } from "@src/components/get-started/GetStartedStepper";
import { Layout } from "@src/components/layout/Layout";
@@ -18,11 +16,6 @@ const GetStarted: React.FunctionComponent = () => {
-
-
-
-
-
);
};
diff --git a/apps/provider-console/src/styles/index.css b/apps/provider-console/src/styles/index.css
index 97e20b698c..198f5431db 100644
--- a/apps/provider-console/src/styles/index.css
+++ b/apps/provider-console/src/styles/index.css
@@ -19,11 +19,6 @@ body {
white-space: nowrap;
}
-.leap-elements h2 {
- font-weight: 900;
- font-size: 1rem;
-}
-
[data-floating-ui-portal] > div {
z-index: 2000 !important;
pointer-events: auto !important;
diff --git a/doc/e2e-manual-qa-checklist.md b/doc/e2e-manual-qa-checklist.md
index 18c8dd2bab..b6df42e460 100644
--- a/doc/e2e-manual-qa-checklist.md
+++ b/doc/e2e-manual-qa-checklist.md
@@ -69,7 +69,7 @@ The following flows are already covered by automated E2E tests:
Most operations need to be tested for both wallet types:
-- **Custodial Wallets** (Keplr, Leap, etc.) - User controls private keys
+- **Custodial Wallets** (Keplr, Cosmostation, etc.) - User controls private keys
- **Managed Wallets** - Console manages wallet on behalf of user
---
@@ -157,12 +157,12 @@ Most operations need to be tested for both wallet types:
### B. **Wallet Integration Flows**
-#### B1. **Custodial Wallet Connection Flow** (Keplr, Leap, etc.)
+#### B1. **Custodial Wallet Connection Flow** (Keplr, Cosmostation, etc.)
- [ ] **Initial Wallet Connection**
- [ ] User clicks "Connect Wallet" button
- - [ ] Wallet extension modal opens (Keplr/Leap/Cosmostation)
+ - [ ] Wallet extension modal opens (Keplr/Cosmostation/MetaMask)
- [ ] User selects account from wallet extension
- [ ] User approves connection in wallet extension
- [ ] Wallet connects and balance displays
diff --git a/package-lock.json b/package-lock.json
index 9dcf05f61e..f017866c96 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -547,7 +547,6 @@
"@cosmos-kit/cosmos-extension-metamask": "~0.15.1",
"@cosmos-kit/cosmostation-extension": "~2.18.1",
"@cosmos-kit/keplr": "~2.17.1",
- "@cosmos-kit/leap": "~2.17.1",
"@cosmos-kit/react": "^2.24.1",
"@emotion/cache": "^11.7.1",
"@emotion/css": "^11.7.1",
@@ -628,7 +627,6 @@
"@chain-registry/types": "^0.50.12",
"@cosmjs/amino": "~0.38.0",
"@faker-js/faker": "^9.4.0",
- "@keplr-wallet/types": "^0.12.111",
"@next/bundle-analyzer": "^15.5.18",
"@octokit/openapi-types": "^22.2.0",
"@playwright/test": "~1.57.0",
@@ -1028,26 +1026,6 @@
"react-dom": "^18.0.0 || ^19.0.0"
}
},
- "apps/deploy-web/node_modules/@keplr-wallet/types": {
- "version": "0.12.313",
- "resolved": "https://registry.npmjs.org/@keplr-wallet/types/-/types-0.12.313.tgz",
- "integrity": "sha512-of3e8ISp8h9skE6NXHvaj7yKoNLhVkSdbFgcjSKH6JGg584zSIRrlyawjbNg3JI1kqi3MiuuOrFQZ+SOztGK9Q==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "long": "^4.0.0"
- },
- "peerDependencies": {
- "starknet": "^8"
- }
- },
- "apps/deploy-web/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==",
- "dev": true,
- "license": "Apache-2.0"
- },
"apps/deploy-web/node_modules/@noble/ciphers": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz",
@@ -4273,7 +4251,6 @@
"@cosmjs/stargate": "~0.28.13",
"@cosmos-kit/cosmostation-extension": "~2.12.2",
"@cosmos-kit/keplr": "~2.12.2",
- "@cosmos-kit/leap-extension": "~2.12.2",
"@cosmos-kit/react": "~2.18.0",
"@emotion/react": "~11.11.4",
"@emotion/styled": "~11.11.5",
@@ -4348,24 +4325,6 @@
"whatwg-fetch": "^3.6.20"
}
},
- "apps/provider-console/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"
- }
- },
- "apps/provider-console/node_modules/@chain-registry/keplr/node_modules/@chain-registry/types": {
- "version": "0.45.86",
- "resolved": "https://registry.npmjs.org/@chain-registry/types/-/types-0.45.86.tgz",
- "integrity": "sha512-wqp+0a9eeDj9Tjta0dpZGyQB0FKEVrM6R1h6hd/up04abE4UY/IhgmgEdKOazEV7BCECxWeXY3eI4tZA7SwwNA==",
- "license": "SEE LICENSE IN LICENSE"
- },
"apps/provider-console/node_modules/@cosmjs/json-rpc": {
"version": "0.28.13",
"resolved": "https://registry.npmjs.org/@cosmjs/json-rpc/-/json-rpc-0.28.13.tgz",
@@ -4604,20 +4563,6 @@
"@cosmos-kit/keplr-mobile": "^2.12.2"
}
},
- "apps/provider-console/node_modules/@cosmos-kit/leap-extension": {
- "version": "2.12.2",
- "resolved": "https://registry.npmjs.org/@cosmos-kit/leap-extension/-/leap-extension-2.12.2.tgz",
- "integrity": "sha512-IB6+kEUgSxp2FeQwtCN6JlZu8RVn3/EeOxn7TNfbarMi2nP9sAWkclI8Pv4RI7i4Mp5iRFoCokpx4mCBYrQGVQ==",
- "license": "SEE LICENSE IN LICENSE",
- "dependencies": {
- "@chain-registry/keplr": "1.68.2",
- "@cosmos-kit/core": "^2.13.1"
- },
- "peerDependencies": {
- "@cosmjs/amino": ">=0.32.3",
- "@cosmjs/proto-signing": ">=0.32.3"
- }
- },
"apps/provider-console/node_modules/@cosmos-kit/react": {
"version": "2.18.0",
"resolved": "https://registry.npmjs.org/@cosmos-kit/react/-/react-2.18.0.tgz",
@@ -9523,59 +9468,6 @@
"@cosmjs/proto-signing": ">=0.32.3"
}
},
- "node_modules/@cosmos-kit/leap": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/@cosmos-kit/leap/-/leap-2.17.1.tgz",
- "integrity": "sha512-8L5SpANb3PVGUmk6ScnyoDbrkwmQ8GPuGvM9/9FzJud8k1B73CXQ1KsGLNjFK/FSteVQbN2n9+11K9UYEdoqPg==",
- "license": "SEE LICENSE IN LICENSE",
- "dependencies": {
- "@cosmos-kit/leap-extension": "^2.17.1",
- "@cosmos-kit/leap-metamask-cosmos-snap": "^0.17.1",
- "@cosmos-kit/leap-mobile": "^2.16.1"
- }
- },
- "node_modules/@cosmos-kit/leap-extension": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/@cosmos-kit/leap-extension/-/leap-extension-2.17.1.tgz",
- "integrity": "sha512-LXvCSAvRmAexnoqa9iYaKa8bGwIoHKIOl/YznBFBiWrkdjwOwabMXhOJ/UN+sZzhu0syBsinPoZVB+2amLsOjQ==",
- "license": "SEE LICENSE IN LICENSE",
- "dependencies": {
- "@chain-registry/keplr": "^1.69.13",
- "@cosmos-kit/core": "^2.18.1"
- },
- "peerDependencies": {
- "@cosmjs/amino": ">=0.32.3",
- "@cosmjs/proto-signing": ">=0.32.3"
- }
- },
- "node_modules/@cosmos-kit/leap-metamask-cosmos-snap": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/@cosmos-kit/leap-metamask-cosmos-snap/-/leap-metamask-cosmos-snap-0.17.1.tgz",
- "integrity": "sha512-/DSziXSePt72fYsc1/UIt64bYLSx/bjelGZPeWmJFDwNRjU8FUdvdvZxQHrLOLCwKFfzYgyB1Vvc4MPprM7kMw==",
- "license": "SEE LICENSE IN LICENSE",
- "dependencies": {
- "@chain-registry/keplr": "^1.69.13",
- "@cosmos-kit/core": "^2.18.1",
- "@leapwallet/cosmos-snap-provider": "0.1.26",
- "@metamask/providers": "^11.1.1"
- },
- "peerDependencies": {
- "@cosmjs/amino": ">=0.32.3",
- "@cosmjs/proto-signing": ">=0.32.3",
- "cosmjs-types": ">=0.9.0"
- }
- },
- "node_modules/@cosmos-kit/leap-mobile": {
- "version": "2.16.1",
- "resolved": "https://registry.npmjs.org/@cosmos-kit/leap-mobile/-/leap-mobile-2.16.1.tgz",
- "integrity": "sha512-NTmmT6kj68CYmQIup+M+uBichyH9B4R07gtFpfXI0AfyjFLRuEJrrhkEYt5hAMGmxOj21p7vbwjLtfPXb29a5w==",
- "license": "SEE LICENSE IN LICENSE",
- "dependencies": {
- "@chain-registry/keplr": "^1.69.13",
- "@cosmos-kit/core": "^2.18.1",
- "@cosmos-kit/walletconnect": "^2.15.1"
- }
- },
"node_modules/@cosmos-kit/react-lite": {
"version": "2.15.1",
"license": "SEE LICENSE IN LICENSE",
@@ -13003,32 +12895,6 @@
"streamx": "^2.15.0"
}
},
- "node_modules/@leapwallet/cosmos-snap-provider": {
- "version": "0.1.26",
- "resolved": "https://registry.npmjs.org/@leapwallet/cosmos-snap-provider/-/cosmos-snap-provider-0.1.26.tgz",
- "integrity": "sha512-KqT4OTECINPZohosLkAzdYotzV5YYJwzg2r/GKKMv3ndIuiqom/9WCaEs9W3KzPaRe69rOZpjbFmcu0gB4PSww==",
- "license": "(MIT-0 OR Apache-2.0)",
- "dependencies": {
- "@cosmjs/amino": "^0.32.0",
- "@cosmjs/proto-signing": "^0.32.0",
- "bignumber.js": "^9.1.2",
- "long": "^5.2.3"
- }
- },
- "node_modules/@leapwallet/cosmos-snap-provider/node_modules/@cosmjs/proto-signing": {
- "version": "0.32.4",
- "resolved": "https://registry.npmjs.org/@cosmjs/proto-signing/-/proto-signing-0.32.4.tgz",
- "integrity": "sha512-QdyQDbezvdRI4xxSlyM1rSVBO2st5sqtbEIl3IX03uJ7YiZIQHyv6vaHVf1V4mapusCqguiHJzm4N4gsFdLBbQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@cosmjs/amino": "^0.32.4",
- "@cosmjs/crypto": "^0.32.4",
- "@cosmjs/encoding": "^0.32.4",
- "@cosmjs/math": "^0.32.4",
- "@cosmjs/utils": "^0.32.4",
- "cosmjs-types": "^0.9.0"
- }
- },
"node_modules/@lukeed/csprng": {
"version": "1.1.0",
"license": "MIT",
@@ -13058,51 +12924,6 @@
"react-dom": ">=17.0.0"
}
},
- "node_modules/@metamask/object-multiplex": {
- "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",
- "readable-stream": "^2.3.3"
- },
- "engines": {
- "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.2",
- "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.2.tgz",
- "integrity": "sha512-5yb2gMI1BDm0JybZezeoX/3XhPDOtTbcFvpTXM9kxsoZjPZFh4XciqRbpD6N86HYZqWDhEaKUDuOyR0sQHEjMA==",
- "license": "ISC",
- "engines": {
- "node": ">=12.0.0"
- }
- },
"node_modules/@microsoft/tsdoc": {
"version": "0.16.0",
"license": "MIT"
@@ -28833,15 +28654,6 @@
"node": ">= 0.6"
}
},
- "node_modules/eth-rpc-errors": {
- "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"
- }
- },
"node_modules/event-source-polyfill": {
"version": "1.0.31",
"license": "MIT"
@@ -28986,18 +28798,6 @@
"version": "3.0.2",
"license": "MIT"
},
- "node_modules/extension-port-stream": {
- "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"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
"node_modules/fancy-canvas": {
"version": "2.1.0",
"license": "MIT"
@@ -32429,39 +32229,6 @@
"version": "2.3.1",
"license": "MIT"
},
- "node_modules/json-rpc-engine": {
- "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"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "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==",
- "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",
- "readable-stream": "^2.3.3"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
"node_modules/json-schema": {
"version": "0.4.0",
"license": "(AFL-2.1 OR BSD-3-Clause)"
@@ -44016,12 +43783,6 @@
"integrity": "sha512-ArI3kx5jI0atlTtmV0fWU3fjpLmq/nD3Zr1iFFlJLaqa5wLBkUSzINwBPySCX/8jRyjlmy1Volw1kz1g9XE4Jg==",
"license": "Apache-2.0"
},
- "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==",
- "license": "MPL-2.0"
- },
"node_modules/webidl-conversions": {
"version": "3.0.1",
"license": "BSD-2-Clause"
diff --git a/packages/dev-config/.eslintrc.base.js b/packages/dev-config/.eslintrc.base.js
index 23712375e4..96c698c145 100644
--- a/packages/dev-config/.eslintrc.base.js
+++ b/packages/dev-config/.eslintrc.base.js
@@ -12,9 +12,9 @@ module.exports = {
project: ["./tsconfig.json"]
}
},
- "import-x/external-module-folders": ["node_modules", "dist", "build", "public", "Leap"]
+ "import-x/external-module-folders": ["node_modules", "dist", "build", "public"]
},
- ignorePatterns: ["node_modules", "dist", "build", "public", "Leap", "**/next-env.d.ts", "**/env-config.schema.js"],
+ ignorePatterns: ["node_modules", "dist", "build", "public", "**/next-env.d.ts", "**/env-config.schema.js"],
rules: {
"@typescript-eslint/no-unused-vars": ["error", { ignoreRestSiblings: true, argsIgnorePattern: "^_" }],
"simple-import-sort/imports": [