diff --git a/apps/landing/package.json b/apps/landing/package.json
index b324af8..cb038e7 100644
--- a/apps/landing/package.json
+++ b/apps/landing/package.json
@@ -7,12 +7,12 @@
"scripts": {
"prod:build": "rm -rf dist && sass ./styles/index.scss ./dist/index.css && pnpm run autoprefix && pnpm run pack",
"prod:build:apps": "pnpm run prod:build",
- "prod:deploy": "dfx deploy msq_landing --no-asset-upgrade --network=ic",
+ "prod:deploy": "dfx deploy msq_landing --network=ic",
"prod:deploy:frontend": "pnpm run prod:deploy",
"prod:deploy:landing": "pnpm run prod:deploy",
"dev:build": "pnpm run prod:build",
"dev:build:apps": "pnpm run prod:build",
- "dev:deploy": "dfx deploy msq_landing --no-asset-upgrade",
+ "dev:deploy": "dfx deploy msq_landing",
"dev:deploy:frontend": "pnpm run dev:deploy",
"dev:deploy:landing": "pnpm run dev:deploy",
"watch": "sass --watch ./styles/index.scss ./dist/index.css",
diff --git a/apps/site/package.json b/apps/site/package.json
index 6e625fe..2e051e1 100644
--- a/apps/site/package.json
+++ b/apps/site/package.json
@@ -9,7 +9,7 @@
"prod:build": "pnpm run propagateEnv && tsc && vite build",
"prod:build:apps": "pnpm run prod:build",
"prod:deploy": "dfx deploy --network=ic",
- "prod:deploy:frontend": "dfx deploy msq_frontend --no-asset-upgrade --network=ic",
+ "prod:deploy:frontend": "dfx deploy msq_frontend --network=ic",
"prod:deploy:site": "pnpm run prod:deploy:frontend",
"prod:deploy:backend": "dfx deploy msq_statistics --network=ic",
"dev:build": "pnpm run propagateEnv && tsc && vite build --mode dev",
@@ -17,7 +17,7 @@
"dev": "pnpm run propagateEnv && vite --mode dev",
"dev:gen": "dfx generate",
"dev:deploy": "dfx deploy",
- "dev:deploy:frontend": "dfx deploy msq_frontend --no-asset-upgrade",
+ "dev:deploy:frontend": "dfx deploy msq_frontend",
"dev:deploy:site": "pnpm run dev:deploy:frontend",
"dev:deploy:backend": "dfx deploy msq_statistics",
"propagateEnv": "node ../../propagate-env.js",
diff --git a/apps/site/src/frontend/backend.ts b/apps/site/src/frontend/backend.ts
index ccb9844..15c6474 100644
--- a/apps/site/src/frontend/backend.ts
+++ b/apps/site/src/frontend/backend.ts
@@ -7,7 +7,6 @@ import type { _SERVICE as StatisticsBackend } from "../declarations/msq_statisti
import { Principal } from "@dfinity/principal";
import { ICP_INDEX_TOKEN_IDX, bytesToHex } from "@fort-major/msq-shared";
import { AccountIdentifier } from "@dfinity/ledger-icp";
-import { DEFAULT_SUBACCOUNT } from "./utils";
export const canisterId = import.meta.env.VITE_CANISTER_ID_MSQ_STATISTICS;
diff --git a/apps/site/src/frontend/components/account-card/style.ts b/apps/site/src/frontend/components/account-card/style.ts
index 67e01f2..72ce6fa 100644
--- a/apps/site/src/frontend/components/account-card/style.ts
+++ b/apps/site/src/frontend/components/account-card/style.ts
@@ -1,6 +1,5 @@
import { css, styled } from "solid-styled-components";
import {
- BlinkAnimation,
COLOR_CHARTREUSE,
COLOR_BLACK,
COLOR_GRAY_115,
diff --git a/apps/site/src/frontend/components/add-account-btn/index.tsx b/apps/site/src/frontend/components/add-account-btn/index.tsx
index 8bacdaf..95a9692 100644
--- a/apps/site/src/frontend/components/add-account-btn/index.tsx
+++ b/apps/site/src/frontend/components/add-account-btn/index.tsx
@@ -2,7 +2,7 @@ import { styled } from "solid-styled-components";
import { ANIM_DURATION, COLOR_GRAY_105, COLOR_GRAY_115, COLOR_GRAY_130, COLOR_WHITE } from "../../ui-kit";
import { eventHandler, getClassName } from "../../utils";
import { EIconKind, Icon } from "../../ui-kit/icon";
-import { Size16, Text, WeightSemiBold } from "../../ui-kit/typography";
+import { Text } from "../../ui-kit/typography";
interface IAddAccountBtnProps {
disabled?: boolean | undefined;
diff --git a/apps/site/src/frontend/components/add-new-mask-btn/index.tsx b/apps/site/src/frontend/components/add-new-mask-btn/index.tsx
index d86bc7b..2a745a1 100644
--- a/apps/site/src/frontend/components/add-new-mask-btn/index.tsx
+++ b/apps/site/src/frontend/components/add-new-mask-btn/index.tsx
@@ -1,7 +1,7 @@
import { AddNewMaskBtnIconWrapper, AddNewMaskBtnText, AddNewMaskBtnWrapper } from "./style";
import { eventHandler } from "../../utils";
import { EIconKind, Icon } from "../../ui-kit/icon";
-import { Text, WeightSemiBold } from "../../ui-kit/typography";
+import { Text } from "../../ui-kit/typography";
export interface IAddNewMaskBtnProps {
onClick: () => void;
diff --git a/apps/site/src/frontend/components/add-new-mask-btn/style.ts b/apps/site/src/frontend/components/add-new-mask-btn/style.ts
index 9eb37d0..87c49fe 100644
--- a/apps/site/src/frontend/components/add-new-mask-btn/style.ts
+++ b/apps/site/src/frontend/components/add-new-mask-btn/style.ts
@@ -1,5 +1,5 @@
import { css, styled } from "solid-styled-components";
-import { ANIM_DURATION, COLOR_BLACK, COLOR_GRAY_105, COLOR_GRAY_115, COLOR_WHITE } from "../../ui-kit";
+import { ANIM_DURATION, COLOR_GRAY_105, COLOR_GRAY_115, COLOR_WHITE } from "../../ui-kit";
export const AddNewMaskBtnWrapper = styled.div`
display: flex;
diff --git a/apps/site/src/frontend/components/cabinet-nav/index.tsx b/apps/site/src/frontend/components/cabinet-nav/index.tsx
index 2902c1a..e65b4d5 100644
--- a/apps/site/src/frontend/components/cabinet-nav/index.tsx
+++ b/apps/site/src/frontend/components/cabinet-nav/index.tsx
@@ -2,7 +2,7 @@ import { useLocation, useNavigate } from "@solidjs/router";
import { CabinetNavItem, CabinetNavItemDot, CabinetNavWrapper } from "./styles";
import { For, Match, Switch } from "solid-js";
import { eventHandler } from "../../utils";
-import { Size16, Text, WeightSemiBold } from "../../ui-kit/typography";
+import { Text } from "../../ui-kit/typography";
interface IItemProps {
title: string;
diff --git a/apps/site/src/frontend/components/cabinet-nav/styles.ts b/apps/site/src/frontend/components/cabinet-nav/styles.ts
index b528586..1ef9f65 100644
--- a/apps/site/src/frontend/components/cabinet-nav/styles.ts
+++ b/apps/site/src/frontend/components/cabinet-nav/styles.ts
@@ -1,12 +1,5 @@
import { styled } from "solid-styled-components";
-import {
- ANIM_DURATION,
- BAR_HEIGHT,
- COLOR_CHARTREUSE,
- COLOR_GRAY_105,
- COLOR_GRAY_115,
- HEADER_HEIGHT,
-} from "../../ui-kit";
+import { ANIM_DURATION, COLOR_CHARTREUSE, COLOR_GRAY_105, COLOR_GRAY_115 } from "../../ui-kit";
export const CabinetNavWrapper = styled.nav`
display: flex;
diff --git a/apps/site/src/frontend/components/header/index.tsx b/apps/site/src/frontend/components/header/index.tsx
index 836014b..5f4e045 100644
--- a/apps/site/src/frontend/components/header/index.tsx
+++ b/apps/site/src/frontend/components/header/index.tsx
@@ -5,7 +5,7 @@ import { EIconKind, Icon } from "../../ui-kit/icon";
import { Show } from "solid-js";
import { useLocation, useNavigate } from "@solidjs/router";
import { eventHandler } from "../../utils";
-import { Size18, Text, WeightSemiBold } from "../../ui-kit/typography";
+import { Text } from "../../ui-kit/typography";
const HeaderDiv = styled.header`
position: fixed;
diff --git a/apps/site/src/frontend/components/login-option/index.tsx b/apps/site/src/frontend/components/login-option/index.tsx
index fb1d1be..79860b6 100644
--- a/apps/site/src/frontend/components/login-option/index.tsx
+++ b/apps/site/src/frontend/components/login-option/index.tsx
@@ -5,7 +5,7 @@ import { Show, createSignal } from "solid-js";
import { eventHandler } from "../../utils";
import { Input } from "../../ui-kit/input";
import { EIconKind, Icon } from "../../ui-kit/icon";
-import { ColorGray140, Size12, Size16, Text, WeightSemiBold } from "../../ui-kit/typography";
+import { Text } from "../../ui-kit/typography";
import { COLOR_GRAY_140 } from "../../ui-kit";
export interface ILoginOptionProps {
diff --git a/apps/site/src/frontend/components/login-option/style.ts b/apps/site/src/frontend/components/login-option/style.ts
index bd1e875..dd314ed 100644
--- a/apps/site/src/frontend/components/login-option/style.ts
+++ b/apps/site/src/frontend/components/login-option/style.ts
@@ -1,5 +1,5 @@
import { css, styled } from "solid-styled-components";
-import { ANIM_DURATION, COLOR_BLACK, COLOR_GRAY_105, COLOR_GRAY_115, COLOR_GRAY_140, COLOR_WHITE } from "../../ui-kit";
+import { ANIM_DURATION, COLOR_BLACK, COLOR_GRAY_105, COLOR_GRAY_140, COLOR_WHITE } from "../../ui-kit";
export const LoginOptionWrapper = styled.div<{ editable?: boolean | undefined }>`
display: flex;
diff --git a/apps/site/src/frontend/components/modal/index.tsx b/apps/site/src/frontend/components/modal/index.tsx
index 6f964d5..f968df0 100644
--- a/apps/site/src/frontend/components/modal/index.tsx
+++ b/apps/site/src/frontend/components/modal/index.tsx
@@ -1,7 +1,7 @@
import { JSXElement, children, onCleanup, onMount } from "solid-js";
import { Portal } from "solid-js/web";
import { styled } from "solid-styled-components";
-import { disableScroll, enableScroll, eventHandler } from "../../utils";
+import { disableScroll, enableScroll } from "../../utils";
export function Modal(props: { children: JSXElement }) {
const c = children(() => props.children);
diff --git a/apps/site/src/frontend/components/notification-bar/index.tsx b/apps/site/src/frontend/components/notification-bar/index.tsx
index e9a6a98..40386bb 100644
--- a/apps/site/src/frontend/components/notification-bar/index.tsx
+++ b/apps/site/src/frontend/components/notification-bar/index.tsx
@@ -1,4 +1,4 @@
-import { Size16, Text, WeightMedium } from "../../ui-kit/typography";
+import { Text } from "../../ui-kit/typography";
import { NotificationBarWrapper } from "./style";
export function NotificationBar() {
diff --git a/apps/site/src/frontend/components/notification-bar/style.ts b/apps/site/src/frontend/components/notification-bar/style.ts
index ad197e0..2376e2a 100644
--- a/apps/site/src/frontend/components/notification-bar/style.ts
+++ b/apps/site/src/frontend/components/notification-bar/style.ts
@@ -1,5 +1,5 @@
import { styled } from "solid-styled-components";
-import { BAR_HEIGHT, COLOR_DARK_BLUE, COLOR_WHITE } from "../../ui-kit";
+import { BAR_HEIGHT, COLOR_DARK_BLUE } from "../../ui-kit";
export const NotificationBarWrapper = styled.noindex`
position: fixed;
diff --git a/apps/site/src/frontend/components/spoiler/index.tsx b/apps/site/src/frontend/components/spoiler/index.tsx
index 119b67f..f6fb986 100644
--- a/apps/site/src/frontend/components/spoiler/index.tsx
+++ b/apps/site/src/frontend/components/spoiler/index.tsx
@@ -1,6 +1,7 @@
import { JSXElement, Match, Switch, children, createEffect, createSignal } from "solid-js";
import { SpoilerChildren, SpoilerHeader, SpoilerWrapper } from "./style";
import { EIconKind, Icon } from "../../ui-kit/icon";
+
export interface ISpoilerProps {
defaultOpen?: boolean | undefined;
header: JSXElement;
diff --git a/apps/site/src/frontend/components/spoiler/style.ts b/apps/site/src/frontend/components/spoiler/style.ts
index 46450f2..15f7ac8 100644
--- a/apps/site/src/frontend/components/spoiler/style.ts
+++ b/apps/site/src/frontend/components/spoiler/style.ts
@@ -1,4 +1,4 @@
-import { css, styled } from "solid-styled-components";
+import { styled } from "solid-styled-components";
import { COLOR_GRAY_140 } from "../../ui-kit";
export const SpoilerWrapper = styled.div`
diff --git a/apps/site/src/frontend/components/txn-history-modal/index.tsx b/apps/site/src/frontend/components/txn-history-modal/index.tsx
index 0c1df4b..7caddc9 100644
--- a/apps/site/src/frontend/components/txn-history-modal/index.tsx
+++ b/apps/site/src/frontend/components/txn-history-modal/index.tsx
@@ -9,13 +9,12 @@ import {
} from "./style";
import { Text } from "../../ui-kit/typography";
import { COLOR_GRAY_140, COLOR_GRAY_190, COLOR_WHITE, FONT_WEIGHT_MEDIUM, FONT_WEIGHT_REGULAR } from "../../ui-kit";
-import { For, Match, Show, Switch, createSignal, onMount } from "solid-js";
+import { For, Match, Switch, createSignal, onMount } from "solid-js";
import { TxnHistoryEntry } from "../txn-history-entry";
import { Button, EButtonKind } from "../../ui-kit/button";
import { eventHandler } from "../../utils";
import { Modal } from "../modal";
import { EIconKind, Icon } from "../../ui-kit/icon";
-import { useNavigate } from "@solidjs/router";
export interface ITxnHistoryModalProps {
tokenId: string;
diff --git a/apps/site/src/frontend/index.tsx b/apps/site/src/frontend/index.tsx
index a2ca523..a00acdf 100644
--- a/apps/site/src/frontend/index.tsx
+++ b/apps/site/src/frontend/index.tsx
@@ -25,6 +25,7 @@ import { AssetsStore } from "./store/assets";
import { OriginDataStore } from "./store/origins";
import {
Error404Page,
+ ErrorAssetNotFoundPage,
ErrorEnableMsqPage,
ErrorInstallMetaMaskPage,
ErrorMSQConnectionRejectedPage,
@@ -70,6 +71,7 @@ export function App() {
+
diff --git a/apps/site/src/frontend/pages/cabinet/my-assets/receive/index.tsx b/apps/site/src/frontend/pages/cabinet/my-assets/receive/index.tsx
index e9c3bbd..fa559d7 100644
--- a/apps/site/src/frontend/pages/cabinet/my-assets/receive/index.tsx
+++ b/apps/site/src/frontend/pages/cabinet/my-assets/receive/index.tsx
@@ -1,14 +1,12 @@
import { css, styled } from "solid-styled-components";
import {
ANIM_DURATION,
- BAR_HEIGHT,
COLOR_ACCENT,
COLOR_BLACK,
COLOR_GRAY_108,
COLOR_GRAY_140,
COLOR_GRAY_150,
COLOR_WHITE,
- HEADER_HEIGHT,
} from "../../../../ui-kit";
import { EIconKind, Icon } from "../../../../ui-kit/icon";
import { H5, Text } from "../../../../ui-kit/typography";
diff --git a/apps/site/src/frontend/pages/cabinet/my-assets/send/style.ts b/apps/site/src/frontend/pages/cabinet/my-assets/send/style.ts
index 87e5eab..6922b1b 100644
--- a/apps/site/src/frontend/pages/cabinet/my-assets/send/style.ts
+++ b/apps/site/src/frontend/pages/cabinet/my-assets/send/style.ts
@@ -1,12 +1,5 @@
import { css, styled } from "solid-styled-components";
-import {
- BAR_HEIGHT,
- COLOR_BLACK,
- COLOR_GRAY_140,
- COLOR_GRAY_190,
- COLOR_WHITE,
- HEADER_HEIGHT,
-} from "../../../../ui-kit";
+import { COLOR_BLACK, COLOR_GRAY_140, COLOR_GRAY_190, COLOR_WHITE } from "../../../../ui-kit";
export const SendPageMixin = css`
display: flex !important;
diff --git a/apps/site/src/frontend/pages/cabinet/my-assets/style.ts b/apps/site/src/frontend/pages/cabinet/my-assets/style.ts
index 7b09c51..6e8b7cf 100644
--- a/apps/site/src/frontend/pages/cabinet/my-assets/style.ts
+++ b/apps/site/src/frontend/pages/cabinet/my-assets/style.ts
@@ -1,7 +1,6 @@
import { css, styled } from "solid-styled-components";
import {
ANIM_DURATION,
- COLOR_CHARTREUSE,
COLOR_ERROR_RED,
COLOR_GRAY_115,
COLOR_GRAY_130,
diff --git a/apps/site/src/frontend/pages/error/index.tsx b/apps/site/src/frontend/pages/error/index.tsx
index 76380d3..d1e0c60 100644
--- a/apps/site/src/frontend/pages/error/index.tsx
+++ b/apps/site/src/frontend/pages/error/index.tsx
@@ -2,11 +2,11 @@ import { css, styled } from "solid-styled-components";
import { EIconKind } from "../../ui-kit/icon";
import { H2, Text } from "../../ui-kit/typography";
import { Button, EButtonKind } from "../../ui-kit/button";
-import { Show, createEffect, onMount } from "solid-js";
+import { Show, createEffect } from "solid-js";
import { useNavigate } from "@solidjs/router";
import { ErrorSpoiler } from "../../components/error-spoiler";
import { COLOR_GRAY_105, COLOR_GRAY_140, COLOR_GRAY_190 } from "../../ui-kit";
-import { DISCORD_LINK, METAMASK_LINK, delay } from "@fort-major/msq-shared";
+import { DISCORD_LINK, METAMASK_LINK } from "@fort-major/msq-shared";
import isMobile from "ismobilejs";
import { useMsqClient } from "../../store/global";
@@ -41,6 +41,22 @@ export function ErrorMobileNotSupportedPage() {
);
}
+export function ErrorAssetNotFoundPage() {
+ const navigate = useNavigate();
+
+ return (
+ navigate('/'),
+ }}
+ />
+ );
+}
+
export function ErrorMSQConnectionRejectedPage() {
const navigate = useNavigate();
const msq = useMsqClient();
diff --git a/apps/site/src/frontend/pages/index/index.tsx b/apps/site/src/frontend/pages/index/index.tsx
index ac42069..6e7ba31 100644
--- a/apps/site/src/frontend/pages/index/index.tsx
+++ b/apps/site/src/frontend/pages/index/index.tsx
@@ -2,7 +2,6 @@ import { Outlet, useLocation, useNavigate } from "@solidjs/router";
import { ErrorPage } from "../error";
import { EIconKind } from "../../ui-kit/icon";
import { DISCORD_LINK, debugStringify, logError } from "@fort-major/msq-shared";
-import isMobile from "ismobilejs";
import { createEffect } from "solid-js";
export function IndexPage() {
diff --git a/apps/site/src/frontend/pages/integration/login/style.ts b/apps/site/src/frontend/pages/integration/login/style.ts
index 68f3646..216b68c 100644
--- a/apps/site/src/frontend/pages/integration/login/style.ts
+++ b/apps/site/src/frontend/pages/integration/login/style.ts
@@ -1,5 +1,5 @@
import { styled } from "solid-styled-components";
-import { ANIM_DURATION, COLOR_GRAY_130, COLOR_GRAY_140, COLOR_WHITE } from "../../../ui-kit";
+import { ANIM_DURATION, COLOR_GRAY_130, COLOR_WHITE } from "../../../ui-kit";
export const LoginHeadingSection = styled.section`
position: fixed;
diff --git a/apps/site/src/frontend/pages/integration/payment/checkout/style.ts b/apps/site/src/frontend/pages/integration/payment/checkout/style.ts
index d938725..fa62f29 100644
--- a/apps/site/src/frontend/pages/integration/payment/checkout/style.ts
+++ b/apps/site/src/frontend/pages/integration/payment/checkout/style.ts
@@ -1,5 +1,5 @@
import { css, styled } from "solid-styled-components";
-import { COLOR_ACCENT, COLOR_BLUE, COLOR_GRAY_110, COLOR_GRAY_130 } from "../../../../ui-kit";
+import { COLOR_ACCENT, COLOR_GRAY_110, COLOR_GRAY_130 } from "../../../../ui-kit";
export const CheckoutPageWrapper = styled.div`
position: relative;
diff --git a/apps/site/src/frontend/pages/statistics/index.tsx b/apps/site/src/frontend/pages/statistics/index.tsx
index 13634aa..f972e8e 100644
--- a/apps/site/src/frontend/pages/statistics/index.tsx
+++ b/apps/site/src/frontend/pages/statistics/index.tsx
@@ -5,7 +5,6 @@ import { Line } from "solid-chartjs";
import { COLOR_ACCENT } from "../../ui-kit";
import { Stat, StatsWrapper } from "./style";
import { Text } from "../../ui-kit/typography";
-import { log } from "@fort-major/msq-shared";
interface IStat {
labels: string[];
diff --git a/apps/site/src/frontend/pages/txn/success.tsx b/apps/site/src/frontend/pages/txn/success.tsx
index b71b58d..5882603 100644
--- a/apps/site/src/frontend/pages/txn/success.tsx
+++ b/apps/site/src/frontend/pages/txn/success.tsx
@@ -1,5 +1,5 @@
import { styled } from "solid-styled-components";
-import { H3, Size16, Size20, Text, WeightSemiBold } from "../../ui-kit/typography";
+import { H3, Text } from "../../ui-kit/typography";
import { AccountCard } from "../../components/account-card";
import { Button, EButtonKind } from "../../ui-kit/button";
import { onMount } from "solid-js";
diff --git a/apps/site/src/frontend/store/assets.tsx b/apps/site/src/frontend/store/assets.tsx
index be82fb4..22c7999 100644
--- a/apps/site/src/frontend/store/assets.tsx
+++ b/apps/site/src/frontend/store/assets.tsx
@@ -1,6 +1,6 @@
import { createStore, produce } from "solid-js/store";
import { useMsqClient } from "./global";
-import { Accessor, Setter, createContext, createEffect, createSignal, onCleanup, onMount, useContext } from "solid-js";
+import { Accessor, Setter, createContext, createSignal, onCleanup, onMount, useContext } from "solid-js";
import {
DEFAULT_PRINCIPAL,
IAssetMetadata,
@@ -19,6 +19,7 @@ import { AnonymousIdentity } from "@dfinity/agent";
import { ISendPageProps } from "../pages/cabinet/my-assets/send";
import { IPaymentCheckoutPageProps } from "../pages/integration/payment/checkout";
import { ITxnHistoryPageProps } from "../pages/cabinet/my-assets/txn-history";
+import { useNavigate } from "@solidjs/router";
export type IAssetDataExt = {
accounts: {
@@ -114,6 +115,7 @@ export function AssetsStore(props: IChildren) {
const [refreshPeriodically, setRefreshPeriodically] = createSignal(true);
const [initialized, setInitialized] = createSignal(false);
const _msq = useMsqClient();
+ const navigate = useNavigate();
onMount(async () => {
while (refreshPeriodically()) {
@@ -130,25 +132,42 @@ export function AssetsStore(props: IChildren) {
const init = async () => {
if (initialized()) return;
+ await addPredefinedAssets();
+
await fetch();
await refresh();
setInitialized(true);
};
- const fetch = async (assetIds?: string[]): Promise => {
+ const addPredefinedAssets = async () => {
const msq = _msq()!;
- let fetchedAllAssetData = await msq.getAllAssetData(assetIds);
+ let fetchedAllAssetData = await msq.getAllAssetData();
- // CREATE PRE-DEFINED ASSETS
const assetsToCreate = [];
+
for (let asset of PRE_DEFINED_ASSETS) {
if (fetchedAllAssetData[asset.assetId]) continue;
assetsToCreate.push(asset);
}
+
if (assetsToCreate.length > 0) {
await msq.addAsset({ assets: assetsToCreate });
- fetchedAllAssetData = await msq.getAllAssetData(assetIds);
+ }
+ };
+
+ const fetch = async (assetIds?: string[]): Promise => {
+ const msq = _msq()!;
+
+ let fetchedAllAssetData = await msq.getAllAssetData(assetIds);
+
+ // trap, if it is proposed for payment, but not listed in user's wallet
+ if (assetIds) {
+ for (let assetId of assetIds) {
+ if (fetchedAllAssetData[assetId]) continue;
+
+ navigate("/token-not-found");
+ }
}
const allAssetDataKeys = Object.keys(fetchedAllAssetData);
diff --git a/apps/site/src/frontend/ui-kit/icon.tsx b/apps/site/src/frontend/ui-kit/icon.tsx
index d34fd08..92426c3 100644
--- a/apps/site/src/frontend/ui-kit/icon.tsx
+++ b/apps/site/src/frontend/ui-kit/icon.tsx
@@ -1,5 +1,5 @@
import { Match, Switch } from "solid-js";
-import { COLOR_BLACK, COLOR_WHITE } from ".";
+import { COLOR_WHITE } from ".";
import { IChildren, eventHandler } from "../utils";
import { keyframes, styled } from "solid-styled-components";
diff --git a/apps/site/src/frontend/utils/index.ts b/apps/site/src/frontend/utils/index.ts
index 6c5f4e2..9c41d67 100644
--- a/apps/site/src/frontend/utils/index.ts
+++ b/apps/site/src/frontend/utils/index.ts
@@ -5,7 +5,6 @@ import {
ErrorCode,
IStatistics,
PRE_LISTED_TOKENS,
- Principal,
TAccountId,
debugStringify,
err,
@@ -97,7 +96,7 @@ export async function makeAgent(identity?: Identity | undefined, host?: string):
icHost = storedHost === null ? import.meta.env.VITE_MSQ_DFX_NETWORK_HOST : storedHost;
}
- const agent = new HttpAgent({ host: icHost, identity });
+ const agent = new HttpAgent({ host: icHost, identity, retryTimes: 10 });
if (icHost) {
await agent.fetchRootKey();
diff --git a/package.json b/package.json
index 76f2c02..2f5cd22 100644
--- a/package.json
+++ b/package.json
@@ -30,10 +30,10 @@
"cargo:repair": "turbo cargo:repair"
},
"dependencies": {
- "@dfinity/agent": "^1.1",
- "@dfinity/candid": "^1.1",
- "@dfinity/identity": "^1.1",
- "@dfinity/principal": "^1.1",
+ "@dfinity/agent": "^1.2",
+ "@dfinity/candid": "^1.2",
+ "@dfinity/identity": "^1.2",
+ "@dfinity/principal": "^1.2",
"zod": "3.22.4"
},
"devDependencies": {
diff --git a/packages/client/package.json b/packages/client/package.json
index df1514f..6e29db7 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -5,7 +5,7 @@
"It is done in src/index.ts:1",
"Just set SNAP_VERSION to the actual one"
],
- "version": "0.2.11",
+ "version": "0.3.3",
"main": "./dist/cjs/index",
"module": "./dist/esm/index",
"unpkg": "./dist/esm/index",
diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts
index 92cc0b3..35f7eeb 100644
--- a/packages/client/src/client.ts
+++ b/packages/client/src/client.ts
@@ -1,4 +1,4 @@
-import { IGetSnapsResponse, IMetaMaskEthereumProvider, ISnapRequest } from "./types";
+import { IGetSnapsResponse, ISnapRequest } from "./types";
import {
type IIdentityLinkRequest,
type IIdentityUnlinkRequest,
diff --git a/packages/client/src/identity.ts b/packages/client/src/identity.ts
index bf34616..610187c 100644
--- a/packages/client/src/identity.ts
+++ b/packages/client/src/identity.ts
@@ -18,7 +18,6 @@ import {
makeAvatarSvg,
Principal,
IHttpAgentRequest,
- debugStringify,
} from "@fort-major/msq-shared";
import { SECP256K1_OID, wrapDER } from "./der";
diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts
index 0408e76..8fd08af 100644
--- a/packages/client/src/index.ts
+++ b/packages/client/src/index.ts
@@ -1,4 +1,4 @@
-export const SNAP_VERSION: string = "^0.2.10";
+export const SNAP_VERSION: string = "^0.3.3";
export {
MsqClient,
diff --git a/packages/client/src/internal.ts b/packages/client/src/internal.ts
index 1dacd38..f7c531e 100644
--- a/packages/client/src/internal.ts
+++ b/packages/client/src/internal.ts
@@ -3,7 +3,6 @@ import {
type IIdentityGetLoginOptionsRequest,
type IIdentityGetLoginOptionsResponse,
type IIdentityLoginRequest,
- type IShowICRC1TransferConfirmRequest,
type IStatistics,
SNAP_METHODS,
type TIdentityId,
diff --git a/packages/shared/package.json b/packages/shared/package.json
index c6755e0..fdb74de 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -1,6 +1,6 @@
{
"name": "@fort-major/msq-shared",
- "version": "0.2.11",
+ "version": "0.3.3",
"main": "./dist/cjs/index",
"module": "./dist/esm/index",
"unpkg": "./dist/esm/index",
diff --git a/packages/snap/package.json b/packages/snap/package.json
index 735ad21..889898e 100644
--- a/packages/snap/package.json
+++ b/packages/snap/package.json
@@ -1,6 +1,6 @@
{
"name": "@fort-major/msq",
- "version": "0.2.10",
+ "version": "0.3.3",
"description": "Privacy-focused MetaMask snap for the Internet Computer (ICP)",
"keywords": [
"MetaMask",
@@ -53,7 +53,7 @@
"ts-jest": "29.1.1"
},
"dependencies": {
- "@dfinity/identity-secp256k1": "^1.1",
+ "@dfinity/identity-secp256k1": "^1.2",
"@fort-major/msq-shared": "workspace:*",
"@metamask/snaps-sdk": "^3.2"
}
diff --git a/packages/snap/snap.manifest.json b/packages/snap/snap.manifest.json
index 955e535..d35a16f 100644
--- a/packages/snap/snap.manifest.json
+++ b/packages/snap/snap.manifest.json
@@ -1,5 +1,5 @@
{
- "version": "0.2.10",
+ "version": "0.3.3",
"description": "Privacy-focused MetaMask snap for the Internet Computer (ICP)",
"proposedName": "MSQ - Safe ICP Wallet",
"repository": {
@@ -7,7 +7,7 @@
"url": "https://github.com/fort-major/msq.git"
},
"source": {
- "shasum": "7jGZZgytkjdOaVs5Z1q3AjkWZN74bQZ4CXCT0jhftWs=",
+ "shasum": "HP2Qt6zRVhY51DWfMu+he84jn3ni7+OQ7/vHqy79JA4=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
diff --git a/packages/snap/src/protocols/statistics.ts b/packages/snap/src/protocols/statistics.ts
index ea92dd5..aa5b505 100644
--- a/packages/snap/src/protocols/statistics.ts
+++ b/packages/snap/src/protocols/statistics.ts
@@ -1,11 +1,4 @@
-import {
- IStatisticsData,
- type IStatistics,
- ZStatisticsData,
- zodParse,
- fromCBOR,
- ZStatisticsIncrementRequest,
-} from "@fort-major/msq-shared";
+import { type IStatistics, zodParse, fromCBOR, ZStatisticsIncrementRequest } from "@fort-major/msq-shared";
import { StateManager } from "../state";
/**
diff --git a/packages/snap/src/state.ts b/packages/snap/src/state.ts
index 3846471..56ed20c 100644
--- a/packages/snap/src/state.ts
+++ b/packages/snap/src/state.ts
@@ -467,14 +467,10 @@ async function retrieveStateWrapped(): Promise {
},
});
- if (state == null) {
- const s = makeDefaultState();
- STATE = s;
+ STATE = state == null ? makeDefaultState() : zodParse(ZState, fromCBOR(state.data as string));
- STATE_UPDATE_TIMESTAMP = Date.now();
- } else {
- STATE = zodParse(ZState, fromCBOR(state.data as string));
- }
+ LAST_STATE_PERSIST_TIMESTAMP = Date.now();
+ STATE_UPDATE_TIMESTAMP = LAST_STATE_PERSIST_TIMESTAMP;
}
return createDeepOnChangeProxy(STATE, () => {
@@ -535,8 +531,6 @@ async function persistStateLocal(): Promise {
zodParse(ZState, STATE);
- LAST_STATE_PERSIST_TIMESTAMP = Date.now();
-
await snap.request({
method: "snap_manageState",
params: {
@@ -544,4 +538,6 @@ async function persistStateLocal(): Promise {
newState: { data: toCBOR(STATE) },
},
});
+
+ LAST_STATE_PERSIST_TIMESTAMP = Date.now();
}
diff --git a/packages/snap/test/protected.test.ts b/packages/snap/test/protected.test.ts
index ee4c473..c0cff77 100644
--- a/packages/snap/test/protected.test.ts
+++ b/packages/snap/test/protected.test.ts
@@ -4,7 +4,6 @@ import {
IIdentityAddRequest,
IIdentityGetLoginOptionsRequest,
IIdentityLoginRequest,
- IShowICRC1TransferConfirmRequest,
SNAP_METHODS,
toCBOR,
} from "@fort-major/msq-shared";
diff --git a/packages/snap/test/sign.test.ts b/packages/snap/test/sign.test.ts
index 3464b71..8b6ce44 100644
--- a/packages/snap/test/sign.test.ts
+++ b/packages/snap/test/sign.test.ts
@@ -8,7 +8,6 @@ import {
IIdentitySignRequest,
SNAP_METHODS,
bytesToHex,
- delay,
fromCBOR,
toCBOR,
} from "@fort-major/msq-shared";
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7a5a5da..b9389e8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,17 +9,17 @@ importers:
.:
dependencies:
'@dfinity/agent':
- specifier: ^1.1
- version: 1.1.1(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)
+ specifier: ^1.2
+ version: 1.2.0(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)
'@dfinity/candid':
- specifier: ^1.1
- version: 1.1.1(@dfinity/principal@1.1.1)
+ specifier: ^1.2
+ version: 1.2.0(@dfinity/principal@1.2.0)
'@dfinity/identity':
- specifier: ^1.1
- version: 1.1.1(@dfinity/agent@1.1.1)(@dfinity/principal@1.1.1)(@peculiar/webcrypto@1.4.5)
+ specifier: ^1.2
+ version: 1.2.0(@dfinity/agent@1.2.0)(@dfinity/principal@1.2.0)(@peculiar/webcrypto@1.4.5)
'@dfinity/principal':
- specifier: ^1.1
- version: 1.1.1
+ specifier: ^1.2
+ version: 1.2.0
zod:
specifier: 3.22.4
version: 3.22.4
@@ -120,10 +120,10 @@ importers:
dependencies:
'@dfinity/ledger-icp':
specifier: ^2.2
- version: 2.2.1(@dfinity/agent@1.1.1)(@dfinity/candid@1.1.1)(@dfinity/nns-proto@1.0.1)(@dfinity/principal@1.1.1)(@dfinity/utils@2.1.2)
+ version: 2.2.2(@dfinity/agent@1.2.0)(@dfinity/candid@1.2.0)(@dfinity/nns-proto@1.0.2)(@dfinity/principal@1.2.0)(@dfinity/utils@2.1.3)
'@dfinity/ledger-icrc':
specifier: ^2.2
- version: 2.2.0(@dfinity/agent@1.1.1)(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)(@dfinity/utils@2.1.2)
+ version: 2.2.1(@dfinity/agent@1.2.0)(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)(@dfinity/utils@2.1.3)
'@fort-major/msq-client':
specifier: workspace:*
version: link:../../packages/client
@@ -218,8 +218,8 @@ importers:
packages/snap:
dependencies:
'@dfinity/identity-secp256k1':
- specifier: ^1.1
- version: 1.1.1(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)
+ specifier: ^1.2
+ version: 1.2.0(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)
'@fort-major/msq-shared':
specifier: workspace:*
version: link:../shared
@@ -1644,14 +1644,14 @@ packages:
requiresBuild: true
optional: true
- /@dfinity/agent@1.1.1(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1):
- resolution: {integrity: sha512-FR7Vd+WMKetuwVhan5qevzk7QnsR44IfooaRjB/PohO+DztIg77uNsYKieloqeBqsqkxYkSJc8hYoAQm64YHNw==}
+ /@dfinity/agent@1.2.0(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0):
+ resolution: {integrity: sha512-i9mH0PO73nrhLc9lZv14SWr4muyMcs6uqqlG2SHQtRUFRXbqj4DOhKsU0Sm+kC8eWYCSu65WPKPYwwAR7YM6ug==}
peerDependencies:
- '@dfinity/candid': ^1.1.1
- '@dfinity/principal': ^1.1.1
+ '@dfinity/candid': ^1.2.0
+ '@dfinity/principal': ^1.2.0
dependencies:
- '@dfinity/candid': 1.1.1(@dfinity/principal@1.1.1)
- '@dfinity/principal': 1.1.1
+ '@dfinity/candid': 1.2.0(@dfinity/principal@1.2.0)
+ '@dfinity/principal': 1.2.0
'@noble/curves': 1.4.0
'@noble/hashes': 1.4.0
base64-arraybuffer: 0.2.0
@@ -1660,18 +1660,18 @@ packages:
simple-cbor: 0.4.1
dev: false
- /@dfinity/candid@1.1.1(@dfinity/principal@1.1.1):
- resolution: {integrity: sha512-CQlM5zWkzdlZ5tO4zQL6Ch0Wj9zROJpQ6Lcof8d3OE42FMIQwpLQeDKQ3i/CtxDuIHYia8dFI0rxM1E96WBpKQ==}
+ /@dfinity/candid@1.2.0(@dfinity/principal@1.2.0):
+ resolution: {integrity: sha512-L6gV3ODIFC9qNenq3zuRvHrTwH36IM5utVH2wMS5f5eIUeG9fNe+avYLRPBUJwdeX7cM7xhvDgE/m/aN2cZvKQ==}
peerDependencies:
- '@dfinity/principal': ^1.1.1
+ '@dfinity/principal': ^1.2.0
dependencies:
- '@dfinity/principal': 1.1.1
+ '@dfinity/principal': 1.2.0
dev: false
- /@dfinity/identity-secp256k1@1.1.1(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1):
- resolution: {integrity: sha512-b2CjWI/3qqtCBjhLS5lmtQmxKCMDBAktyPKBHckBoKrPv2iuzZ7oWA0C7SmN8xXvzfcAoT+Ue1RRK1Z069IpDg==}
+ /@dfinity/identity-secp256k1@1.2.0(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0):
+ resolution: {integrity: sha512-QAsVycTLY0HH5OS/Ub8G0A70WZb9nkJR9fzZywUIAKpFRY8ZXHiXrT/ifM6AqY9L/83l/ywrwuSKbHVngshpkw==}
dependencies:
- '@dfinity/agent': 1.1.1(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)
+ '@dfinity/agent': 1.2.0(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)
'@noble/curves': 1.4.0
'@noble/hashes': 1.4.0
asn1js: 3.0.5
@@ -1683,73 +1683,73 @@ packages:
- '@dfinity/principal'
dev: false
- /@dfinity/identity@1.1.1(@dfinity/agent@1.1.1)(@dfinity/principal@1.1.1)(@peculiar/webcrypto@1.4.5):
- resolution: {integrity: sha512-GGMk9uYquyeZ4c1sPgsm+Iw3GVl0Qm6czVRTBaztZGk3Pmw8/+6byDSQiLqFApBwQCxit7uVozMR0fXC2IuENQ==}
+ /@dfinity/identity@1.2.0(@dfinity/agent@1.2.0)(@dfinity/principal@1.2.0)(@peculiar/webcrypto@1.4.5):
+ resolution: {integrity: sha512-XKFRor195wrXw7yYPh33czh3GJt5shZRRettOcwFYikxAXmOvIlCjATGVGRv2icGBq4AV8SOBJA0lqhnfaUguQ==}
peerDependencies:
- '@dfinity/agent': ^1.1.1
- '@dfinity/principal': ^1.1.1
+ '@dfinity/agent': ^1.2.0
+ '@dfinity/principal': ^1.2.0
'@peculiar/webcrypto': ^1.4.0
dependencies:
- '@dfinity/agent': 1.1.1(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)
- '@dfinity/principal': 1.1.1
+ '@dfinity/agent': 1.2.0(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)
+ '@dfinity/principal': 1.2.0
'@noble/curves': 1.4.0
'@noble/hashes': 1.4.0
'@peculiar/webcrypto': 1.4.5
borc: 2.1.2
dev: false
- /@dfinity/ledger-icp@2.2.1(@dfinity/agent@1.1.1)(@dfinity/candid@1.1.1)(@dfinity/nns-proto@1.0.1)(@dfinity/principal@1.1.1)(@dfinity/utils@2.1.2):
- resolution: {integrity: sha512-0+muT7oPhrvSHQevX3XAMbyfwghYzFlEjLeiNQSsH/3Y1lBuY0GVn0UufR/5iBHkuDkCMmWGGLdHLyr55Qn44g==}
+ /@dfinity/ledger-icp@2.2.2(@dfinity/agent@1.2.0)(@dfinity/candid@1.2.0)(@dfinity/nns-proto@1.0.2)(@dfinity/principal@1.2.0)(@dfinity/utils@2.1.3):
+ resolution: {integrity: sha512-QnXKirEACNJXs9UFUdDQX2okN6KyVxGjuUjrWg52bRrg6hGEcbVkfqATkrdka+1wR8JQpwdwUVDP7P3W9ZDyXA==}
peerDependencies:
'@dfinity/agent': ^1.0.1
'@dfinity/candid': ^1.0.1
- '@dfinity/nns-proto': ^1.0.1
+ '@dfinity/nns-proto': ^1.0.2
'@dfinity/principal': ^1.0.1
- '@dfinity/utils': ^2.1.2
+ '@dfinity/utils': ^2.1.3
dependencies:
- '@dfinity/agent': 1.1.1(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)
- '@dfinity/candid': 1.1.1(@dfinity/principal@1.1.1)
- '@dfinity/nns-proto': 1.0.1
- '@dfinity/principal': 1.1.1
- '@dfinity/utils': 2.1.2(@dfinity/agent@1.1.1)(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)
+ '@dfinity/agent': 1.2.0(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)
+ '@dfinity/candid': 1.2.0(@dfinity/principal@1.2.0)
+ '@dfinity/nns-proto': 1.0.2
+ '@dfinity/principal': 1.2.0
+ '@dfinity/utils': 2.1.3(@dfinity/agent@1.2.0)(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)
dev: false
- /@dfinity/ledger-icrc@2.2.0(@dfinity/agent@1.1.1)(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)(@dfinity/utils@2.1.2):
- resolution: {integrity: sha512-Le17WLCotBsREWzB29Vm6ApYsmYfe7qQl6GmS0WW6vIMfL+ddBffLfDkzbCraM0ok4PVI/3jxt3TRwBNirvxTQ==}
+ /@dfinity/ledger-icrc@2.2.1(@dfinity/agent@1.2.0)(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)(@dfinity/utils@2.1.3):
+ resolution: {integrity: sha512-Mt5PrPGZ5+YsvRXjjx0GH4O+3SuLY0lPpliVWvJGymy24VTGmFjsdDhJnubZXyDZMKZ8+ALpwarYcbctxFXM1g==}
peerDependencies:
'@dfinity/agent': ^1.0.1
'@dfinity/candid': ^1.0.1
'@dfinity/principal': ^1.0.1
- '@dfinity/utils': ^2.1.2
+ '@dfinity/utils': ^2.1.3
dependencies:
- '@dfinity/agent': 1.1.1(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)
- '@dfinity/candid': 1.1.1(@dfinity/principal@1.1.1)
- '@dfinity/principal': 1.1.1
- '@dfinity/utils': 2.1.2(@dfinity/agent@1.1.1)(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)
+ '@dfinity/agent': 1.2.0(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)
+ '@dfinity/candid': 1.2.0(@dfinity/principal@1.2.0)
+ '@dfinity/principal': 1.2.0
+ '@dfinity/utils': 2.1.3(@dfinity/agent@1.2.0)(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)
dev: false
- /@dfinity/nns-proto@1.0.1:
- resolution: {integrity: sha512-zMtlERvmE3X9vlx13rMPghWJNiTAzEU8R6CA5EScnK3EnDFUMdFhBPeW06/BmqG3ngVqES+AM58u9v/SB4ECDQ==}
+ /@dfinity/nns-proto@1.0.2:
+ resolution: {integrity: sha512-GszvkrGOFCFhMNGCjBLBOJJ7tqNIynqgB7ZCX5hKoK3Nd2VDI6sJ+B3kldnz59bHYeB2fTnXl+DogsL5iCRYFQ==}
dependencies:
google-protobuf: 3.21.2
dev: false
- /@dfinity/principal@1.1.1:
- resolution: {integrity: sha512-nXk8Cx01Y76/FAjYlMQHUpiI4cJkafAksgvnWFljIFWQMvOzjo2YCUIcZ3H+aVtEXJpXy61a6aseSSUQuaxlVw==}
+ /@dfinity/principal@1.2.0:
+ resolution: {integrity: sha512-7eurqPDL5ptlTTLMJPeiO75FAumXHsWEWDVQaN6XpA3aZtmofNK4Sb5g5Ne9syeuoCJcW3mFBbbFtFNxggxu+g==}
dependencies:
'@noble/hashes': 1.4.0
dev: false
- /@dfinity/utils@2.1.2(@dfinity/agent@1.1.1)(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1):
- resolution: {integrity: sha512-iMbprcyLOQFhrvvb5b51acDvSsnXmMEpGBC/dwFNEDQBMPeX/rB3lm9HUOQf3ga1wOs20pYi4Rh42xVXhvmHdg==}
+ /@dfinity/utils@2.1.3(@dfinity/agent@1.2.0)(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0):
+ resolution: {integrity: sha512-czFTjrohgDY+vNi0MidYYbYvHzU0ukgWNRXcBDxXMS5vAe0KU+PuFkkt2EQ5w1nczmHxzjZ2A6TqTUU4aILi+A==}
peerDependencies:
'@dfinity/agent': ^1.0.1
'@dfinity/candid': ^1.0.1
'@dfinity/principal': ^1.0.1
dependencies:
- '@dfinity/agent': 1.1.1(@dfinity/candid@1.1.1)(@dfinity/principal@1.1.1)
- '@dfinity/candid': 1.1.1(@dfinity/principal@1.1.1)
- '@dfinity/principal': 1.1.1
+ '@dfinity/agent': 1.2.0(@dfinity/candid@1.2.0)(@dfinity/principal@1.2.0)
+ '@dfinity/candid': 1.2.0(@dfinity/principal@1.2.0)
+ '@dfinity/principal': 1.2.0
dev: false
/@emotion/babel-plugin@11.11.0:
@@ -3009,7 +3009,7 @@ packages:
'@metamask/snaps-utils': 7.0.4(@babel/runtime@7.24.1)(@metamask/approval-controller@6.0.1)
'@metamask/utils': 8.4.0
'@reduxjs/toolkit': 1.9.7
- express: 4.19.1
+ express: 4.19.2
jest-environment-node: 29.7.0
jest-matcher-utils: 29.7.0
readable-stream: 3.6.2
@@ -3654,104 +3654,112 @@ packages:
picomatch: 2.3.1
dev: true
- /@rollup/rollup-android-arm-eabi@4.13.0:
- resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==}
+ /@rollup/rollup-android-arm-eabi@4.13.1:
+ resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==}
cpu: [arm]
os: [android]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-android-arm64@4.13.0:
- resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==}
+ /@rollup/rollup-android-arm64@4.13.1:
+ resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-darwin-arm64@4.13.0:
- resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==}
+ /@rollup/rollup-darwin-arm64@4.13.1:
+ resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-darwin-x64@4.13.0:
- resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==}
+ /@rollup/rollup-darwin-x64@4.13.1:
+ resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-arm-gnueabihf@4.13.0:
- resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==}
+ /@rollup/rollup-linux-arm-gnueabihf@4.13.1:
+ resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-arm64-gnu@4.13.0:
- resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==}
+ /@rollup/rollup-linux-arm64-gnu@4.13.1:
+ resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-arm64-musl@4.13.0:
- resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==}
+ /@rollup/rollup-linux-arm64-musl@4.13.1:
+ resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-riscv64-gnu@4.13.0:
- resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==}
+ /@rollup/rollup-linux-riscv64-gnu@4.13.1:
+ resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-x64-gnu@4.13.0:
- resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==}
+ /@rollup/rollup-linux-s390x-gnu@4.13.1:
+ resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.13.1:
+ resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-linux-x64-musl@4.13.0:
- resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==}
+ /@rollup/rollup-linux-x64-musl@4.13.1:
+ resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-win32-arm64-msvc@4.13.0:
- resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==}
+ /@rollup/rollup-win32-arm64-msvc@4.13.1:
+ resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-win32-ia32-msvc@4.13.0:
- resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==}
+ /@rollup/rollup-win32-ia32-msvc@4.13.1:
+ resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /@rollup/rollup-win32-x64-msvc@4.13.0:
- resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==}
+ /@rollup/rollup-win32-x64-msvc@4.13.1:
+ resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==}
cpu: [x64]
os: [win32]
requiresBuild: true
@@ -4469,6 +4477,7 @@ packages:
engines: {node: '>=6.5'}
dependencies:
event-target-shim: 5.0.1
+ dev: false
/accepts@1.3.8:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
@@ -5192,7 +5201,7 @@ packages:
hasBin: true
dependencies:
caniuse-lite: 1.0.30001600
- electron-to-chromium: 1.4.715
+ electron-to-chromium: 1.4.719
node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.23.0)
@@ -6087,8 +6096,8 @@ packages:
/ee-first@1.1.1:
resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
- /electron-to-chromium@1.4.715:
- resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==}
+ /electron-to-chromium@1.4.719:
+ resolution: {integrity: sha512-FbWy2Q2YgdFzkFUW/W5jBjE9dj+804+98E4Pup78JBPnbdb3pv6IneY2JCPKdeKLh3AOKHQeYf+KwLr7mxGh6Q==}
/elliptic@6.5.5:
resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==}
@@ -6241,8 +6250,8 @@ packages:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
- /es-module-lexer@1.4.2:
- resolution: {integrity: sha512-7nOqkomXZEaxUDJw21XZNtRk739QvrPSoZoRtbsEfcii00vdzZUh6zh1CQwHhrib8MdEtJfv5rJiGeb4KuV/vw==}
+ /es-module-lexer@1.5.0:
+ resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==}
dev: true
/es-object-atoms@1.0.0:
@@ -6675,6 +6684,7 @@ packages:
/event-target-shim@5.0.1:
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
engines: {node: '>=6'}
+ dev: false
/eventemitter2@6.4.9:
resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==}
@@ -6683,6 +6693,7 @@ packages:
/events@3.3.0:
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
engines: {node: '>=0.8.x'}
+ dev: true
/evp_bytestokey@1.0.3:
resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==}
@@ -6721,8 +6732,8 @@ packages:
jest-util: 29.7.0
dev: true
- /express@4.19.1:
- resolution: {integrity: sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==}
+ /express@4.19.2:
+ resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
engines: {node: '>= 0.10.0'}
dependencies:
accepts: 1.3.8
@@ -6771,7 +6782,7 @@ packages:
resolution: {integrity: sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==}
engines: {node: '>=12.0.0'}
dependencies:
- readable-stream: 4.5.2
+ readable-stream: 3.6.2
webextension-polyfill: 0.10.0
/fast-deep-equal@2.0.1:
@@ -7106,7 +7117,7 @@ packages:
jackspeak: 2.3.6
minimatch: 9.0.3
minipass: 7.0.4
- path-scurry: 1.10.1
+ path-scurry: 1.10.2
dev: true
/glob@7.2.3:
@@ -8733,7 +8744,7 @@ packages:
resolution: {integrity: sha512-9/mYV1tMGeoFSTMFr94oigJM2qMXJO3hvlibkaQ21HZjVyrfb54bSYyfIIRvAsjY2RCBRg9r2OrT+YbxnMypig==}
engines: {node: '>=18'}
dependencies:
- terser: 5.29.2
+ terser: 5.30.0
dev: false
/metro-resolver@0.80.7:
@@ -9386,8 +9397,8 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
- /path-scurry@1.10.1:
- resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
+ /path-scurry@1.10.2:
+ resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
lru-cache: 10.2.0
@@ -9578,6 +9589,7 @@ packages:
/process@0.11.10:
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
engines: {node: '>= 0.6.0'}
+ dev: true
/promise@8.3.0:
resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==}
@@ -9919,16 +9931,6 @@ packages:
string_decoder: 1.3.0
util-deprecate: 1.0.2
- /readable-stream@4.5.2:
- resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- abort-controller: 3.0.0
- buffer: 6.0.3
- events: 3.3.0
- process: 0.11.10
- string_decoder: 1.3.0
-
/readable-web-to-node-stream@3.0.2:
resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==}
engines: {node: '>=8'}
@@ -10134,26 +10136,27 @@ packages:
fsevents: 2.3.3
dev: true
- /rollup@4.13.0:
- resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==}
+ /rollup@4.13.1:
+ resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.13.0
- '@rollup/rollup-android-arm64': 4.13.0
- '@rollup/rollup-darwin-arm64': 4.13.0
- '@rollup/rollup-darwin-x64': 4.13.0
- '@rollup/rollup-linux-arm-gnueabihf': 4.13.0
- '@rollup/rollup-linux-arm64-gnu': 4.13.0
- '@rollup/rollup-linux-arm64-musl': 4.13.0
- '@rollup/rollup-linux-riscv64-gnu': 4.13.0
- '@rollup/rollup-linux-x64-gnu': 4.13.0
- '@rollup/rollup-linux-x64-musl': 4.13.0
- '@rollup/rollup-win32-arm64-msvc': 4.13.0
- '@rollup/rollup-win32-ia32-msvc': 4.13.0
- '@rollup/rollup-win32-x64-msvc': 4.13.0
+ '@rollup/rollup-android-arm-eabi': 4.13.1
+ '@rollup/rollup-android-arm64': 4.13.1
+ '@rollup/rollup-darwin-arm64': 4.13.1
+ '@rollup/rollup-darwin-x64': 4.13.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.13.1
+ '@rollup/rollup-linux-arm64-gnu': 4.13.1
+ '@rollup/rollup-linux-arm64-musl': 4.13.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.13.1
+ '@rollup/rollup-linux-s390x-gnu': 4.13.1
+ '@rollup/rollup-linux-x64-gnu': 4.13.1
+ '@rollup/rollup-linux-x64-musl': 4.13.1
+ '@rollup/rollup-win32-arm64-msvc': 4.13.1
+ '@rollup/rollup-win32-ia32-msvc': 4.13.1
+ '@rollup/rollup-win32-x64-msvc': 4.13.1
fsevents: 2.3.3
dev: true
@@ -10874,12 +10877,12 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
- terser: 5.29.2
+ terser: 5.30.0
webpack: 5.91.0(@swc/core@1.3.78)
dev: true
- /terser@5.29.2:
- resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==}
+ /terser@5.30.0:
+ resolution: {integrity: sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -11367,7 +11370,7 @@ packages:
dependencies:
esbuild: 0.19.12
postcss: 8.4.38
- rollup: 4.13.0
+ rollup: 4.13.1
optionalDependencies:
fsevents: 2.3.3
dev: true
@@ -11484,7 +11487,7 @@ packages:
browserslist: 4.23.0
chrome-trace-event: 1.0.3
enhanced-resolve: 5.16.0
- es-module-lexer: 1.4.2
+ es-module-lexer: 1.5.0
eslint-scope: 5.1.1
events: 3.3.0
glob-to-regexp: 0.4.1