diff --git a/components/assets/AssetActionButtons/PoolShareButtons.tsx b/components/assets/AssetActionButtons/PoolShareButtons.tsx index 1bfc125d0..d00a91842 100644 --- a/components/assets/AssetActionButtons/PoolShareButtons.tsx +++ b/components/assets/AssetActionButtons/PoolShareButtons.tsx @@ -1,11 +1,4 @@ -import LiquidityModal from "components/liquidity/LiquidityModal"; -import SecondaryButton from "components/ui/SecondaryButton"; -import { usePool } from "lib/hooks/queries/usePool"; -import { useState } from "react"; -import { MarketStatus, FullMarketFragment } from "@zeitgeistpm/indexer"; -import { useExtrinsic } from "lib/hooks/useExtrinsic"; -import { useNotifications } from "lib/state/notifications"; -import { useSdkv2 } from "lib/hooks/useSdkv2"; +import { FullMarketFragment } from "@zeitgeistpm/indexer"; import { IOBaseAssetId, IOCategoricalAssetId, @@ -13,14 +6,19 @@ import { isRpcSdk, parseAssetId, } from "@zeitgeistpm/sdk"; -import { useChainConstants } from "lib/hooks/queries/useChainConstants"; -import { useBalance } from "lib/hooks/queries/useBalance"; -import { useWallet } from "lib/state/wallet"; +import SecondaryButton from "components/ui/SecondaryButton"; +import Decimal from "decimal.js"; +import { DEFAULT_SLIPPAGE_PERCENTAGE } from "lib/constants"; import { useAccountPoolAssetBalances } from "lib/hooks/queries/useAccountPoolAssetBalances"; +import { useBalance } from "lib/hooks/queries/useBalance"; +import { useChainConstants } from "lib/hooks/queries/useChainConstants"; +import { usePool } from "lib/hooks/queries/usePool"; import { usePoolBaseBalance } from "lib/hooks/queries/usePoolBaseBalance"; -import { DEFAULT_SLIPPAGE_PERCENTAGE } from "lib/constants"; -import { useTotalIssuance } from "lib/hooks/queries/useTotalIssuance"; -import Decimal from "decimal.js"; +import { useTotalIssuanceForPools } from "lib/hooks/queries/useTotalIssuanceForPools"; +import { useExtrinsic } from "lib/hooks/useExtrinsic"; +import { useSdkv2 } from "lib/hooks/useSdkv2"; +import { useNotifications } from "lib/state/notifications"; +import { useWallet } from "lib/state/wallet"; import { parseAssetIdString } from "lib/util/parse-asset-id"; const RedeemPoolButton = ({ @@ -43,12 +41,11 @@ const RedeemPoolButton = ({ pool, ); const { data: poolBaseBalance } = usePoolBaseBalance(poolId); - const { data: totalPoolSharesIssuance } = useTotalIssuance({ - PoolShare: poolId, - }); + const poolsTotalIssuance = useTotalIssuanceForPools([poolId]); + const { data: totalPoolSharesIssuance } = poolsTotalIssuance[poolId]; const userPercentageOwnership = - userPoolShares && totalPoolSharesIssuance - ? userPoolShares.div(totalPoolSharesIssuance) + userPoolShares && totalPoolSharesIssuance?.totalIssuance + ? userPoolShares.div(totalPoolSharesIssuance.totalIssuance.toNumber()) : new Decimal(0); // filter out non-winning assets as they are deleted on chain @@ -144,29 +141,7 @@ const PoolShareButtons = ({ poolId: number; market: FullMarketFragment; }) => { - const [manageLiquidityOpen, setManageLiquidityOpen] = useState(false); - - return ( - <> - {market.status === MarketStatus.Resolved ? ( - - ) : ( - <> - setManageLiquidityOpen(true)} - className="ml-auto max-w-[160px]" - > - Manage Liquidity - - setManageLiquidityOpen(false)} - /> - - )} - - ); + return ; }; export default PoolShareButtons; diff --git a/components/assets/AssetActionButtons/RedeemButton.tsx b/components/assets/AssetActionButtons/RedeemButton.tsx index 9be9b4537..0c467a321 100644 --- a/components/assets/AssetActionButtons/RedeemButton.tsx +++ b/components/assets/AssetActionButtons/RedeemButton.tsx @@ -86,7 +86,7 @@ export const RedeemButtonByAssetId = ({ const balance = getAccountAssetBalance(realAddress, resolvedAssetId)?.data ?.balance; - return new Decimal(balance?.free.toString() ?? 0).div(ZTG); + return balance?.div(ZTG); } else { const shortBalance = getAccountAssetBalance(realAddress, { ScalarOutcome: [market.marketId as MarketId, "Short"], @@ -107,13 +107,15 @@ export const RedeemButtonByAssetId = ({ lowerBound, upperBound, new Decimal(resolvedNumber).div(ZTG), - new Decimal(shortBalance.free.toNumber()).div(ZTG), - new Decimal(longBalance.free.toNumber()).div(ZTG), + shortBalance.div(ZTG), + longBalance.div(ZTG), ); } }, [market, assetId, isLoadingAssetBalance, getAccountAssetBalance]); - return ; + return ( + + ); }; const RedeemButtonByValue = ({ diff --git a/components/liquidity/ExitPoolForm.tsx b/components/liquidity/ExitPoolForm.tsx deleted file mode 100644 index 7a34e880f..000000000 --- a/components/liquidity/ExitPoolForm.tsx +++ /dev/null @@ -1,274 +0,0 @@ -import { useQueryClient } from "@tanstack/react-query"; -import { - getIndexOf, - IOBaseAssetId, - IOCategoricalAssetId, - isRpcSdk, - parseAssetId, - ZTG, -} from "@zeitgeistpm/sdk"; -import FormTransactionButton from "components/ui/FormTransactionButton"; -import Input from "components/ui/Input"; -import Decimal from "decimal.js"; -import { DEFAULT_SLIPPAGE_PERCENTAGE } from "lib/constants"; -import { useChainConstants } from "lib/hooks/queries/useChainConstants"; -import { useMarket } from "lib/hooks/queries/useMarket"; -import { usePool } from "lib/hooks/queries/usePool"; -import { poolTotalIssuanceRootQueryKey } from "lib/hooks/queries/useTotalIssuanceForPools"; -import { useExtrinsic } from "lib/hooks/useExtrinsic"; -import { useSdkv2 } from "lib/hooks/useSdkv2"; -import { useNotifications } from "lib/state/notifications"; -import { useEffect } from "react"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { assetObjStringToId, PoolBalances } from "./LiquidityModal"; - -const ExitPoolForm = ({ - poolBalances, - poolId, - totalPoolShares, - userPoolShares, - baseAssetTicker, - onSuccess, -}: { - poolBalances: PoolBalances; - poolId: number; - totalPoolShares: Decimal; - userPoolShares: Decimal; - baseAssetTicker?: string; - onSuccess?: () => void; -}) => { - const { data: constants } = useChainConstants(); - const { - register, - watch, - handleSubmit, - setValue, - getValues, - - formState, - } = useForm({ - reValidateMode: "onChange", - mode: "all", - }); - const { data: pool } = usePool({ poolId }); - const [sdk, id] = useSdkv2(); - const notificationStore = useNotifications(); - const userPercentageOwnership = userPoolShares.div(totalPoolShares); - const { data: market } = useMarket({ poolId }); - const queryClient = useQueryClient(); - - // filter out non-winning assets as they are deleted on chain - const poolWeights = - market?.status === "Resolved" && market.marketType.categorical - ? pool?.weights.filter((weight) => { - const assetId = weight && parseAssetId(weight.assetId).unwrap(); - - return ( - IOBaseAssetId.is(assetId) || - (IOCategoricalAssetId.is(assetId) && - market.resolvedOutcome === getIndexOf(assetId).toString()) - ); - }) - : pool?.weights; - - const { send: exitPool, isLoading } = useExtrinsic( - () => { - if (!constants || !isRpcSdk(sdk) || !pool || !poolWeights) { - return; - } - const formValue = getValues(); - const slippageMultiplier = (100 - DEFAULT_SLIPPAGE_PERCENTAGE) / 100; - const feeMultiplier = 1 - constants.swaps.exitFee; - - const minAssetsOut = poolWeights.map((asset) => { - if (!asset) return "0"; - const id = assetObjStringToId(asset.assetId); - - const assetAmount = formValue[id] ?? 0; - return assetAmount === "" - ? "0" - : new Decimal(assetAmount) - .mul(ZTG) - .mul(slippageMultiplier) - .mul(feeMultiplier) - .toFixed(0, Decimal.ROUND_DOWN); - }); - - const poolSharesPercentage: string | undefined = - formValue["poolSharesPercentage"]; - - if (poolSharesPercentage == null) return; - - const poolSharesAmount = userPoolShares.mul( - Number(poolSharesPercentage) / 100, - ); - - return sdk.api.tx.swaps.poolExit( - poolId, - poolSharesAmount.toFixed(0), - minAssetsOut, - ); - }, - { - onSuccess: () => { - notificationStore.pushNotification("Exited pool", { - type: "Success", - }); - queryClient.invalidateQueries([ - id, - poolTotalIssuanceRootQueryKey, - poolId, - ]); - onSuccess?.(); - }, - }, - ); - - useEffect(() => { - const subscription = watch((value, { name, type }) => { - const changedByUser = type != null; - if (!name) return; - if (name === "poolSharesPercentage" && changedByUser) { - const percentage = Number(value["poolSharesPercentage"]); - for (const assetKey in poolBalances) { - setValue( - assetKey, - poolBalances[assetKey].pool - .mul(userPercentageOwnership) - .mul(percentage / 100) - .div(ZTG) - .toFixed(3, Decimal.ROUND_DOWN), - { shouldValidate: true }, - ); - } - } else { - const changedAsset = name; - - const userInput = value[changedAsset]; - if ( - changedAsset != null && - userInput != null && - userInput !== "" && - changedByUser && - poolBalances - ) { - const changedAssetBalances = poolBalances[changedAsset]; - const poolToInputRatio = changedAssetBalances.pool - .div(ZTG) - .div(userInput); - - // recalculate asset amounts to keep ratio with user input - for (const assetKey in poolBalances) { - if (assetKey !== changedAsset) { - setValue( - assetKey, - poolBalances[assetKey].pool - .div(poolToInputRatio) - .div(ZTG) - .toFixed(3, Decimal.ROUND_DOWN), - { shouldValidate: true }, - ); - } - } - - const userPoolBalance = changedAssetBalances.pool.mul( - userPercentageOwnership, - ); - - const userPoolBalancePercentage = new Decimal(userInput) - .mul(ZTG) - .div(userPoolBalance); - - setValue( - "poolSharesPercentage", - userPoolBalancePercentage.mul(100).toString(), - ); - } - } - }); - return () => subscription.unsubscribe(); - }, [watch, poolBalances]); - - const onSubmit: SubmitHandler = () => { - exitPool(); - }; - return ( -
-
- {poolWeights?.map((asset, index) => { - if (!asset) return null; - const id = assetObjStringToId(asset.assetId); - const assetName = - poolWeights.length - 1 === index - ? baseAssetTicker - : market?.categories?.[id].name; - - const poolAssetBalance = - poolBalances?.[id]?.pool.div(ZTG) ?? new Decimal(0); - const userBalanceInPool = poolAssetBalance - .mul(userPercentageOwnership) - .toNumber(); - - return ( -
-
- {assetName} -
- { - if (value > userBalanceInPool) { - return `Insufficient pool shares. Max amount to withdraw is ${userBalanceInPool.toFixed( - 3, - )}`; - } else if (value <= 0) { - return "Value cannot be zero or less"; - } else if ( - market?.status.toLowerCase() !== "resolved" && - poolAssetBalance.minus(value).lessThanOrEqualTo(0.01) - ) { - return "Pool cannot be emptied completely before the market resolves"; - } - }, - })} - /> -
- <>{formState.errors[id.toString()]?.message} -
-
- ); - })} -
- - - Exit Pool - -
- ); -}; - -export default ExitPoolForm; diff --git a/components/liquidity/JoinPoolForm.tsx b/components/liquidity/JoinPoolForm.tsx deleted file mode 100644 index fa9706b5d..000000000 --- a/components/liquidity/JoinPoolForm.tsx +++ /dev/null @@ -1,242 +0,0 @@ -import { useQueryClient } from "@tanstack/react-query"; -import { isRpcSdk, ZTG } from "@zeitgeistpm/sdk"; -import FormTransactionButton from "components/ui/FormTransactionButton"; -import Input from "components/ui/Input"; -import Decimal from "decimal.js"; -import { DEFAULT_SLIPPAGE_PERCENTAGE } from "lib/constants"; -import { useMarket } from "lib/hooks/queries/useMarket"; -import { usePool } from "lib/hooks/queries/usePool"; -import { poolTotalIssuanceRootQueryKey } from "lib/hooks/queries/useTotalIssuanceForPools"; -import { useExtrinsic } from "lib/hooks/useExtrinsic"; -import { useSdkv2 } from "lib/hooks/useSdkv2"; -import { useNotifications } from "lib/state/notifications"; -import { useEffect, useMemo, useState } from "react"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { assetObjStringToId, PoolBalances } from "./LiquidityModal"; - -const JoinPoolForm = ({ - poolBalances, - poolId, - totalPoolShares, - baseAssetTicker, - onSuccess, -}: { - poolBalances: PoolBalances; - poolId: number; - totalPoolShares: Decimal; - baseAssetTicker?: string; - onSuccess?: () => void; -}) => { - const { register, watch, handleSubmit, setValue, getValues, formState } = - useForm({ reValidateMode: "onChange", mode: "all" }); - - const { data: pool } = usePool({ poolId }); - const [sdk, id] = useSdkv2(); - const notificationStore = useNotifications(); - const [poolSharesToReceive, setPoolSharesToReceive] = useState(); - const { data: market } = useMarket({ poolId }); - const queryClient = useQueryClient(); - - const { send: joinPool, isLoading } = useExtrinsic( - () => { - if (isRpcSdk(sdk) && pool && poolSharesToReceive) { - const formValue = getValues(); - const maxAmountsIn = pool?.weights.map((asset) => { - const id = assetObjStringToId(asset.assetId); - const assetAmount = formValue[id] ?? 0; - return assetAmount === "" - ? "0" - : new Decimal(assetAmount) - .mul(ZTG) - .mul((100 + DEFAULT_SLIPPAGE_PERCENTAGE) / 100) - .toFixed(0); - }); - - return sdk.api.tx.swaps.poolJoin( - poolId, - poolSharesToReceive.toFixed(0), - maxAmountsIn, - ); - } - }, - { - onSuccess: () => { - notificationStore.pushNotification("Joined pool", { - type: "Success", - }); - queryClient.invalidateQueries([ - id, - poolTotalIssuanceRootQueryKey, - poolId, - ]); - onSuccess?.(); - }, - }, - ); - - useEffect(() => { - const subscription = watch((value, { name, type }) => { - if (!name) return; - const changedByUser = type != null; - const changedAsset = name; - const userInput = value[changedAsset]; - - if (name === "baseAssetPercentage" && changedByUser) { - const percentage = Number(value["baseAssetPercentage"]); - const baseBalances = poolBalances["base"]; - const userBaseAssetBalance = baseBalances.user; - - const newBaseAssetAmount = userBaseAssetBalance.mul(percentage / 100); - const poolToInputRatio = baseBalances.pool.div(newBaseAssetAmount); - for (const assetKey in poolBalances) { - setValue( - assetKey, - poolBalances[assetKey].pool - .div(poolToInputRatio) - .div(ZTG) - .toFixed(3, Decimal.ROUND_DOWN), - { shouldValidate: true }, - ); - } - setPoolSharesToReceive(totalPoolShares.div(poolToInputRatio)); - } else if ( - changedAsset != null && - userInput != null && - userInput !== "" && - changedByUser && - poolBalances - ) { - const changedAssetBalances = poolBalances[changedAsset]; - const poolToInputRatio = changedAssetBalances.pool - .div(ZTG) - .div(userInput); - - // recalculate asset amounts to keep ratio with user input - for (const assetKey in poolBalances) { - if (assetKey !== changedAsset) { - setValue( - assetKey, - poolBalances[assetKey].pool - .div(poolToInputRatio) - .div(ZTG) - .toFixed(3), - { shouldValidate: true }, - ); - } - } - - setPoolSharesToReceive(totalPoolShares.div(poolToInputRatio)); - - const userBaseAssetBalance = poolBalances["base"].user; - const baseInputAmount = getValues("base"); - - setValue( - "baseAssetPercentage", - new Decimal(baseInputAmount) - .div(userBaseAssetBalance.div(ZTG)) - .mul(100) - .toString(), - ); - } - }); - return () => subscription.unsubscribe(); - }, [watch, poolBalances]); - - const onSubmit: SubmitHandler = () => { - joinPool(); - }; - - const prctSharesToReceive = useMemo(() => { - if (!poolSharesToReceive) return new Decimal(0); - return poolSharesToReceive - .div(totalPoolShares.plus(poolSharesToReceive)) - .mul(100); - }, [totalPoolShares, poolSharesToReceive]); - - return ( -
-
- {pool?.weights.map((asset, index) => { - const id = assetObjStringToId(asset.assetId); - const assetName = - market?.categories?.[index]?.name ?? baseAssetTicker; - const userAssetBalance = - poolBalances?.[id]?.user.div(ZTG).toNumber() ?? 0; - - return ( -
-
- {assetName} -
- { - if (value > userAssetBalance) { - return `Insufficient balance. Current balance: ${userAssetBalance.toFixed( - 3, - )}`; - } else if (value <= 0) { - return "Value cannot be zero or less"; - } - }, - })} - /> -
- <>{formState.errors[id.toString()]?.message} -
-
- ); - })} -
- - {market?.status !== "Active" && ( -
- Market is closed. Cannot provide liquidity for closed market -
- )} -
- - {prctSharesToReceive.toFixed(1)} % -
- - - Join Pool - -
- ); -}; - -export default JoinPoolForm; diff --git a/components/liquidity/LiquidityModal.tsx b/components/liquidity/LiquidityModal.tsx deleted file mode 100644 index 1b0abf541..000000000 --- a/components/liquidity/LiquidityModal.tsx +++ /dev/null @@ -1,177 +0,0 @@ -import { Dialog, Tab } from "@headlessui/react"; -import { - getIndexOf, - IOMarketOutcomeAssetId, - parseAssetId, -} from "@zeitgeistpm/sdk"; -import Decimal from "decimal.js"; -import { useAccountAssetBalances } from "lib/hooks/queries/useAccountAssetBalances"; -import { useAccountPoolAssetBalances } from "lib/hooks/queries/useAccountPoolAssetBalances"; -import { usePool } from "lib/hooks/queries/usePool"; -import { useWallet } from "lib/state/wallet"; -import { useMemo } from "react"; -import ExitPoolForm from "./ExitPoolForm"; -import JoinPoolForm from "./JoinPoolForm"; -import { usePoolBaseBalance } from "lib/hooks/queries/usePoolBaseBalance"; -import { useBalance } from "lib/hooks/queries/useBalance"; -import { useAssetMetadata } from "lib/hooks/queries/useAssetMetadata"; -import Modal from "components/ui/Modal"; -import { useTotalIssuance } from "lib/hooks/queries/useTotalIssuance"; - -export type PoolBalances = { - [key: string]: { - pool: Decimal; // pool total balance - user: Decimal; // user balance outside pool - }; -}; - -export const assetObjStringToId = (assetId: string) => { - const asset = parseAssetId(assetId).unwrap(); - return IOMarketOutcomeAssetId.is(asset) ? getIndexOf(asset) : "base"; -}; - -const LiquidityModal = ({ - open, - onClose, - poolId, -}: { - open: boolean; - onClose: () => void; - poolId: number; -}) => { - const wallet = useWallet(); - const connectedAddress = wallet.realAddress; - const { data: pool } = usePool({ poolId }); - - // pool balances - const { data: poolAssetBalances } = useAccountPoolAssetBalances( - pool?.account.accountId, - pool, - ); - - const { data: poolBaseBalance } = usePoolBaseBalance(poolId); - - const userPoolTokensQuery = useAccountAssetBalances([ - { account: connectedAddress, assetId: { PoolShare: poolId } }, - ]); - - const { data: totalPoolIssuance } = useTotalIssuance({ PoolShare: poolId }); - - const userPoolTokens = - connectedAddress && - userPoolTokensQuery - ?.get(connectedAddress, { - PoolShare: poolId, - }) - ?.data?.balance?.free.toString(); - - const baseAsset = pool && parseAssetId(pool.baseAsset).unrightOr(undefined); - - const { data: metadata } = useAssetMetadata(baseAsset); - - //user balances outside of pool - const { data: userBaseBalance } = useBalance(connectedAddress, baseAsset); - const { data: userAssetBalances } = useAccountPoolAssetBalances( - connectedAddress, - pool, - ); - - const allBalances: PoolBalances | undefined = useMemo(() => { - if ( - pool?.weights && - userBaseBalance && - userAssetBalances && - poolAssetBalances && - userAssetBalances?.length !== 0 && - poolAssetBalances?.length !== 0 && - poolBaseBalance - ) { - const allBalances: PoolBalances = pool.weights.reduce( - (balances, weight, index) => { - const isBaseAsset = index === pool.weights.length - 1; - - const userBalance = isBaseAsset - ? userBaseBalance - : new Decimal( - userAssetBalances == null - ? 0 - : userAssetBalances[index].free.toString(), - ); - const poolBalance = isBaseAsset - ? new Decimal(poolBaseBalance.toString()) - : new Decimal( - poolAssetBalances == null - ? 0 - : poolAssetBalances[index].free.toString(), - ); - - const id = assetObjStringToId(weight!.assetId); - - balances[id] = { - pool: poolBalance, - user: userBalance, - }; - return balances; - }, - {} as PoolBalances, - ); - - return allBalances; - } - }, [ - pool?.weights, - userAssetBalances, - userBaseBalance, - poolAssetBalances, - poolBaseBalance, - ]); - - return ( - - - - - - Join - - - Exit - - - - - - {allBalances && ( - - )} - - - {allBalances && ( - - )} - - - - - - ); -}; - -export default LiquidityModal; diff --git a/components/liquidity/MarketLiquiditySection.tsx b/components/liquidity/MarketLiquiditySection.tsx index 745497138..fc8792ec9 100644 --- a/components/liquidity/MarketLiquiditySection.tsx +++ b/components/liquidity/MarketLiquiditySection.tsx @@ -1,6 +1,5 @@ import { FullMarketFragment } from "@zeitgeistpm/indexer"; import { parseAssetId } from "@zeitgeistpm/sdk"; -import LiquidityModal from "components/liquidity/LiquidityModal"; import PoolTable from "components/liquidity/PoolTable"; import BuySellFullSetsButton from "components/markets/BuySellFullSetsButton"; import InfoPopover from "components/ui/InfoPopover"; @@ -109,9 +108,7 @@ const LiquidityHeader = ({ market }: { market: FullMarketFragment }) => { const wallet = useWallet(); const prediction = - market && - market?.pool?.assets && - getCurrentPrediction(market.pool.assets, market); + market && market?.assets && getCurrentPrediction(market.assets, market); const [manageLiquidityOpen, setManageLiquidityOpen] = useState(false); diff --git a/components/markets/BuyFullSetForm.tsx b/components/markets/BuyFullSetForm.tsx index 79139474b..c599b3eca 100644 --- a/components/markets/BuyFullSetForm.tsx +++ b/components/markets/BuyFullSetForm.tsx @@ -113,11 +113,7 @@ const BuyFullSetForm = ({ useGlobalKeyPress("Enter", handleSignTransaction); - const imagePath = IOForeignAssetId.is(baseAssetId) - ? lookupAssetImagePath(baseAssetId.ForeignAsset) - : IOBaseAssetId.is(baseAssetId) - ? lookupAssetImagePath(baseAssetId.Ztg) - : ""; + const imagePath = lookupAssetImagePath(baseAssetId); return (
diff --git a/components/markets/MarketHeader.tsx b/components/markets/MarketHeader.tsx index c193659ff..cace03741 100644 --- a/components/markets/MarketHeader.tsx +++ b/components/markets/MarketHeader.tsx @@ -393,11 +393,7 @@ const MarketHeader: FC<{ ); const assetId = parseAssetId(market.baseAsset).unwrap(); - const imagePath = IOForeignAssetId.is(assetId) - ? lookupAssetImagePath(assetId.ForeignAsset) - : IOBaseAssetId.is(assetId) - ? lookupAssetImagePath(assetId.Ztg) - : ""; + const imagePath = lookupAssetImagePath(assetId); const { data: caseId } = useMarketCaseId(market.marketId); diff --git a/components/markets/market-card/index.tsx b/components/markets/market-card/index.tsx index c4d625db7..6b0674327 100644 --- a/components/markets/market-card/index.tsx +++ b/components/markets/market-card/index.tsx @@ -256,11 +256,7 @@ const MarketCardDetails = ({ }; const hasEnded = hasDatePassed(period.end); const assetId = parseAssetId(baseAsset).unwrap(); - const imagePath = IOForeignAssetId.is(assetId) - ? lookupAssetImagePath(assetId.ForeignAsset) - : IOBaseAssetId.is(assetId) - ? lookupAssetImagePath(assetId.Ztg) - : ""; + const imagePath = lookupAssetImagePath(assetId); return (
diff --git a/components/portfolio/CurrenciesTable.tsx b/components/portfolio/CurrenciesTable.tsx index f8282e203..541f31691 100644 --- a/components/portfolio/CurrenciesTable.tsx +++ b/components/portfolio/CurrenciesTable.tsx @@ -88,7 +88,6 @@ const MoveButton = ({ const destinationAsset = allBalanceDetails.find( (detail) => detail.chain === sourceChain, ); - console.log(chain, sourceChain, destinationAsset, transferAssetId); return ( <> @@ -146,7 +145,13 @@ const CurrenciesTable = ({ address }: { address: string }) => { asset: ( ), balance: amount.div(ZTG).toFixed(3), diff --git a/components/portfolio/MarketPositionHeader.tsx b/components/portfolio/MarketPositionHeader.tsx index a3ecaa540..81ad31d30 100644 --- a/components/portfolio/MarketPositionHeader.tsx +++ b/components/portfolio/MarketPositionHeader.tsx @@ -14,12 +14,7 @@ const MarketPositionHeader = ({ baseAsset: string; }) => { const baseAssetId = parseAssetIdString(baseAsset); - lookupAssetImagePath(); - const imagePath = IOForeignAssetId.is(baseAssetId) - ? lookupAssetImagePath(baseAssetId.ForeignAsset) - : IOBaseAssetId.is(baseAssetId) - ? lookupAssetImagePath(baseAssetId.Ztg) - : ""; + const imagePath = lookupAssetImagePath(baseAssetId); return (

diff --git a/lib/constants/foreign-asset.ts b/lib/constants/foreign-asset.ts index 3d2a5a767..05644eb3c 100644 --- a/lib/constants/foreign-asset.ts +++ b/lib/constants/foreign-asset.ts @@ -1,4 +1,4 @@ -import { BaseAssetId, IOForeignAssetId } from "@zeitgeistpm/sdk"; +import { AssetId, BaseAssetId, IOForeignAssetId } from "@zeitgeistpm/sdk"; import { ChainName } from "./chains"; type ForeignAssetMetadata = { @@ -13,11 +13,11 @@ type ForeignAssetMetadata = { }; }; -export const lookupAssetImagePath = (foreignAssetId?: number | null) => { - if (foreignAssetId == null) { - return "/currencies/ztg.svg"; +export const lookupAssetImagePath = (assetId?: AssetId | null) => { + if (IOForeignAssetId.is(assetId)) { + return FOREIGN_ASSET_METADATA[assetId.ForeignAsset].image; } else { - return FOREIGN_ASSET_METADATA[foreignAssetId].image; + return "/currencies/ztg.svg"; } }; @@ -88,12 +88,12 @@ export const FOREIGN_ASSET_METADATA: ForeignAssetMetadata = : BATTERY_STATION_FOREIGN_ASSET_METADATA; export const findAssetImageForSymbol = (symbol?: string): string => { - if (symbol === undefined) { - return lookupAssetImagePath(); - } const foreignAssetId = Object.keys(FOREIGN_ASSET_METADATA).find( (foreignAssetId) => FOREIGN_ASSET_METADATA[foreignAssetId].tokenSymbol === symbol, ); - return lookupAssetImagePath(Number(foreignAssetId)); + if (symbol === undefined || foreignAssetId === undefined) { + return lookupAssetImagePath(); + } + return lookupAssetImagePath({ ForeignAsset: Number(foreignAssetId) }); }; diff --git a/lib/constants/index.ts b/lib/constants/index.ts index 6f8684b08..03b9ce6a9 100644 --- a/lib/constants/index.ts +++ b/lib/constants/index.ts @@ -112,3 +112,6 @@ export const endpointsStaging = getEndpointOptions("staging"); export const endpointOptions = environment === "production" ? endpointsProduction : endpointsStaging; + +export const LAST_MARKET_ID_BEFORE_ASSET_MIGRATION = + environment === "production" ? 9999 : 9999; diff --git a/lib/hooks/queries/polkadot/usePolkadotReferendumVotes.ts b/lib/hooks/queries/polkadot/usePolkadotReferendumVotes.ts index 84df17788..076ed6eae 100644 --- a/lib/hooks/queries/polkadot/usePolkadotReferendumVotes.ts +++ b/lib/hooks/queries/polkadot/usePolkadotReferendumVotes.ts @@ -1,3 +1,4 @@ +import "@polkadot/api-augment"; import { useQuery } from "@tanstack/react-query"; import Decimal from "decimal.js"; import { usePolkadotApi } from "lib/state/polkadot-api"; @@ -12,9 +13,8 @@ export const usePolkadotReferendumVotes = (referendumIndex: number) => { [polkadotReferendumVotesRootKey, referendumIndex], async () => { if (enabled) { - const referendum = await api.query.referenda.referendumInfoFor( - referendumIndex, - ); + const referendum = + await api.query.referenda.referendumInfoFor(referendumIndex); const votes = referendum.unwrapOr(null)?.isOngoing ? referendum.unwrap().asOngoing.tally diff --git a/lib/hooks/queries/useAccountAssetBalances.ts b/lib/hooks/queries/useAccountAssetBalances.ts index e966751ca..48b0053ce 100644 --- a/lib/hooks/queries/useAccountAssetBalances.ts +++ b/lib/hooks/queries/useAccountAssetBalances.ts @@ -1,9 +1,9 @@ -import { OrmlTokensAccountData } from "@polkadot/types/lookup"; import { useQueries, UseQueryResult } from "@tanstack/react-query"; -import { AssetId, isRpcSdk, RpcContext } from "@zeitgeistpm/sdk"; +import { AssetId, isRpcSdk } from "@zeitgeistpm/sdk"; +import Decimal from "decimal.js"; import { getApiAtBlock } from "lib/util/get-api-at"; import { useSdkv2 } from "../useSdkv2"; -import { useMemo } from "react"; +import { fetchAssetBalance } from "./useBalance"; export type UseAccountAssetBalances = { /** @@ -16,7 +16,7 @@ export type UseAccountAssetBalances = { | UseQueryResult< { pair: AccountAssetIdPair; - balance?: OrmlTokensAccountData; + balance?: Decimal; }, unknown > @@ -27,7 +27,7 @@ export type UseAccountAssetBalances = { query: UseQueryResult< { pair: AccountAssetIdPair; - balance?: OrmlTokensAccountData; + balance?: Decimal; }, unknown >[]; @@ -75,13 +75,9 @@ export const useAccountAssetBalances = ( ], queryFn: async () => { const api = await getApiAtBlock(sdk!.asRpc().api, blockNumber); - let balance; - if (pair.account) { - balance = await api.query.tokens.accounts( - pair.account, - pair.assetId, - ); - } + const balance = pair.account + ? await fetchAssetBalance(api, pair.account, pair.assetId) + : new Decimal(0); return { pair, diff --git a/lib/hooks/queries/useBalance.ts b/lib/hooks/queries/useBalance.ts index f60f6435e..c7bdc1bc9 100644 --- a/lib/hooks/queries/useBalance.ts +++ b/lib/hooks/queries/useBalance.ts @@ -1,9 +1,19 @@ +import { ApiPromise } from "@polkadot/api"; import { useQuery } from "@tanstack/react-query"; -import { AssetId, IOZtgAssetId, isRpcSdk } from "@zeitgeistpm/sdk"; +import { + AssetId, + IOCampaignAssetId, + IOCurrencyAsset, + IOMarketOutcomeAssetId, + IOZtgAssetId, + getMarketIdOf, + isRpcSdk, +} from "@zeitgeistpm/sdk"; import Decimal from "decimal.js"; +import { LAST_MARKET_ID_BEFORE_ASSET_MIGRATION } from "lib/constants"; +import { calculateFreeBalance } from "lib/util/calc-free-balance"; import { getApiAtBlock } from "lib/util/get-api-at"; import { useSdkv2 } from "../useSdkv2"; -import { calculateFreeBalance } from "lib/util/calc-free-balance"; export const balanceRootKey = "balance"; @@ -19,18 +29,7 @@ export const useBalance = ( async () => { if (address && assetId && isRpcSdk(sdk)) { const api = await getApiAtBlock(sdk.api, blockNumber); - - if (IOZtgAssetId.is(assetId)) { - const { data } = await api.query.system.account(address); - return calculateFreeBalance( - data.free.toString(), - data.miscFrozen.toString(), - data.feeFrozen.toString(), - ); - } else { - const balance = await api.query.tokens.accounts(address, assetId); - return new Decimal(balance.free.toString()); - } + return fetchAssetBalance(api, address, assetId); } }, { @@ -42,33 +41,41 @@ export const useBalance = ( return query; }; -export const useLockedBalance = ( - address?: string, - assetId?: AssetId, - blockNumber?: number, +export const fetchAssetBalance = async ( + api: ApiPromise, + address: string, + assetId: AssetId, ) => { - const [sdk, id] = useSdkv2(); - - const query = useQuery( - [id, balanceRootKey, "locked", address, assetId, blockNumber], - async () => { - if (address && assetId && isRpcSdk(sdk)) { - const api = await getApiAtBlock(sdk.api, blockNumber); - - if (IOZtgAssetId.is(assetId)) { - const { data } = await api.query.system.account(address); - return new Decimal(data.miscFrozen.toString()); - } else { - const balance = await api.query.tokens.accounts(address, assetId); - return new Decimal(balance.frozen.toString()); - } - } - }, - { - keepPreviousData: true, - enabled: Boolean(sdk && address && isRpcSdk(sdk) && assetId), - }, - ); - - return query; + if (IOZtgAssetId.is(assetId)) { + const { data } = await api.query.system.account(address); + return calculateFreeBalance( + data.free.toString(), + data.miscFrozen.toString(), + data.feeFrozen.toString(), + ); + } else if (IOCurrencyAsset.is(assetId)) { + if ( + IOMarketOutcomeAssetId.is(assetId) && + // new market assets need queried with marketAssets.account + getMarketIdOf(assetId) > LAST_MARKET_ID_BEFORE_ASSET_MIGRATION + ) { + const balance = await api.query.marketAssets.account(assetId, address); + return new Decimal(balance.unwrap().balance.toString()); + } else { + const balance = await api.query.tokens.accounts(address, assetId); + return new Decimal(balance.free.toString()); + } + } else if (IOCampaignAssetId.is(assetId)) { + const balance = await api.query.campaignAssets.account( + assetId.CampaignAsset, + address, + ); + return new Decimal(balance.unwrap().balance.toString()); + } else { + const balance = await api.query.campaignAssets.account( + assetId.CustomAsset, + address, + ); + return new Decimal(balance.unwrap().balance.toString()); + } }; diff --git a/lib/hooks/queries/useBalances.ts b/lib/hooks/queries/useBalances.ts index 315590423..4e61353b2 100644 --- a/lib/hooks/queries/useBalances.ts +++ b/lib/hooks/queries/useBalances.ts @@ -1,10 +1,8 @@ import { useQueries } from "@tanstack/react-query"; -import { AssetId, IOZtgAssetId, isRpcSdk } from "@zeitgeistpm/sdk"; -import Decimal from "decimal.js"; -import { calculateFreeBalance } from "lib/util/calc-free-balance"; +import { AssetId, isRpcSdk } from "@zeitgeistpm/sdk"; import { getApiAtBlock } from "lib/util/get-api-at"; import { useSdkv2 } from "../useSdkv2"; -import { balanceRootKey } from "./useBalance"; +import { balanceRootKey, fetchAssetBalance } from "./useBalance"; export const useBalances = ( assetIds: AssetId[], @@ -21,17 +19,7 @@ export const useBalances = ( if (address && assetId && isRpcSdk(sdk)) { const api = await getApiAtBlock(sdk.api, blockNumber); - if (IOZtgAssetId.is(assetId)) { - const { data } = await api.query.system.account(address); - return calculateFreeBalance( - data.free.toString(), - data.miscFrozen.toString(), - data.feeFrozen.toString(), - ); - } else { - const balance = await api.query.tokens.accounts(address, assetId); - return new Decimal(balance.free.toString()); - } + return fetchAssetBalance(api, address, assetId); } }, enabled: Boolean(sdk && address && isRpcSdk(sdk) && assetId), diff --git a/lib/hooks/queries/usePortfolioPositions.ts b/lib/hooks/queries/usePortfolioPositions.ts index 8f50a151d..b6bceb0a6 100644 --- a/lib/hooks/queries/usePortfolioPositions.ts +++ b/lib/hooks/queries/usePortfolioPositions.ts @@ -302,7 +302,7 @@ export const usePortfolioPositions = ( const totalIssuanceForPoolQuery = pool && poolsTotalIssuance[pool.poolId]; const totalIssuanceData = pool && poolsTotalIssuance[pool.poolId]?.data; - const userBalance = new Decimal(balance?.free.toNumber() ?? 0); + const userBalance = balance ?? new Decimal(0); const totalIssuance = totalIssuanceForPoolQuery && diff --git a/lib/hooks/queries/usePrizePool.ts b/lib/hooks/queries/usePrizePool.ts deleted file mode 100644 index da4078456..000000000 --- a/lib/hooks/queries/usePrizePool.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { useQuery } from "@tanstack/react-query"; -import { isRpcSdk } from "@zeitgeistpm/sdk"; -import Decimal from "decimal.js"; -import { useSdkv2 } from "../useSdkv2"; -import { useMarket } from "./useMarket"; - -export const prizePoolRootKey = "prize-pool"; - -export const usePrizePool = (marketId: number) => { - const [sdk, id] = useSdkv2(); - const { data: market } = useMarket({ marketId }); - - const outcomeAsset = market?.outcomeAssets?.[0]; - const query = useQuery( - [id, prizePoolRootKey, market], - async () => { - if (isRpcSdk(sdk) && outcomeAsset) { - // prize pool is equal to the total issuance on any of the outcome assets - const totalIssuance = await sdk.api.query.tokens.totalIssuance( - JSON.parse(outcomeAsset), - ); - - return new Decimal(totalIssuance.toString()); - } - }, - { - enabled: Boolean(sdk && market && isRpcSdk(sdk) && outcomeAsset), - }, - ); - - return query; -}; diff --git a/lib/hooks/queries/useTotalIssuance.ts b/lib/hooks/queries/useTotalIssuance.ts deleted file mode 100644 index dabbf3c36..000000000 --- a/lib/hooks/queries/useTotalIssuance.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { AssetId, isRpcSdk } from "@zeitgeistpm/sdk"; -import { useQuery } from "@tanstack/react-query"; - -import { useSdkv2 } from "../useSdkv2"; -import Decimal from "decimal.js"; - -export const totalIssuanceRootQueryKey = "total-issuance"; - -export const useTotalIssuance = (assetId: AssetId) => { - const [sdk, id] = useSdkv2(); - - const query = useQuery( - [id, totalIssuanceRootQueryKey, assetId], - async () => { - if (isRpcSdk(sdk)) { - const totalIssuance = await sdk.api.query.tokens.totalIssuance(assetId); - return new Decimal(totalIssuance.toString()); - } - }, - { - enabled: Boolean(sdk && isRpcSdk(sdk)), - }, - ); - - return query; -}; diff --git a/lib/hooks/queries/useTradeItemState.ts b/lib/hooks/queries/useTradeItemState.ts index 854e26380..f2e0d9fd7 100644 --- a/lib/hooks/queries/useTradeItemState.ts +++ b/lib/hooks/queries/useTradeItemState.ts @@ -57,11 +57,9 @@ export const useTradeItemState = (item: TradeItem) => { { account: poolAccountId, assetId: item.assetId }, ]); - const poolAssetBalance = new Decimal( - poolAssetBalances - ?.get(poolAccountId, item.assetId) - ?.data?.balance?.free.toString() ?? 0, - ); + const poolAssetBalance = + poolAssetBalances?.get(poolAccountId, item.assetId)?.data?.balance ?? + new Decimal(0); const balances = { poolBaseBalance: poolBaseBalance?.toString(), diff --git a/lib/state/market-creation/types/form.ts b/lib/state/market-creation/types/form.ts index 779bd56a8..b830dc674 100644 --- a/lib/state/market-creation/types/form.ts +++ b/lib/state/market-creation/types/form.ts @@ -1,18 +1,19 @@ +import { KeyringPairOrExtSigner } from "@zeitgeistpm/rpc"; import { - CreateMarketBaseParams, CreateMarketParams, MetadataStorage, + NoPool, RpcContext, + WithPool, ZTG, swapFeeFromFloat, - WithPool, - NoPool, } from "@zeitgeistpm/sdk"; -import { KeyringPairOrExtSigner } from "@zeitgeistpm/rpc"; import { ChainTime } from "@zeitgeistpm/utility/dist/time"; +import { Fee } from "components/create/editor/inputs/FeeSelect"; import Decimal from "decimal.js"; import { BLOCK_TIME_SECONDS } from "lib/constants"; import { getMetadataForCurrency } from "lib/constants/supported-currencies"; +import { union } from "lib/types/union"; import moment from "moment"; import { DeepRequired } from "react-hook-form"; import * as z from "zod"; @@ -38,8 +39,6 @@ import { IOTimeZone, IOYesNoAnswers, } from "./validation"; -import { Fee } from "components/create/editor/inputs/FeeSelect"; -import { union } from "lib/types/union"; /** * This is the type of the full market creation form data that is used to create a market. @@ -134,25 +133,21 @@ export const marketFormDataToExtrinsicParams = ( const hasPool = form.moderation === "Permissionless" && form.liquidity.deploy; - let poolParams: WithPool | NoPool; - - if (hasPool) { - poolParams = { - scoringRule: "Lmsr", - pool: { - amount: new Decimal(form.liquidity.amount).mul(ZTG).toFixed(0), - swapFee: swapFeeFromFloat(form.liquidity.swapFee?.value).toString(), - spotPrices: form.liquidity.rows.map((row) => - new Decimal(row.price.price).mul(ZTG).toFixed(0), - ), - }, - }; - } else { - poolParams = { - scoringRule: "Lmsr", - creationType: form.moderation, - }; - } + const poolParams: WithPool | NoPool = hasPool + ? { + scoringRule: "Lmsr", + pool: { + amount: new Decimal(form.liquidity.amount).mul(ZTG).toFixed(0), + swapFee: swapFeeFromFloat(form.liquidity.swapFee?.value).toString(), + spotPrices: form.liquidity.rows.map((row) => + new Decimal(row.price.price).mul(ZTG).toFixed(0), + ), + }, + } + : { + scoringRule: "AmmCdaHybrid", + creationType: form.moderation, + }; let disputeMechanism: CreateMarketParams["disputeMechanism"] = "Authorized"; diff --git a/lib/util/calc-resolved-market-prices.ts b/lib/util/calc-resolved-market-prices.ts index a812177a7..c1abcf463 100644 --- a/lib/util/calc-resolved-market-prices.ts +++ b/lib/util/calc-resolved-market-prices.ts @@ -13,7 +13,7 @@ export const calcResolvedMarketPrices = ( ? market.neoPool?.account.balances.map((b) => parseAssetIdString(b.assetId), ) - : market.pool?.assets.map((a) => parseAssetIdString(a.assetId)) + : market?.assets.map((a) => parseAssetIdString(a.assetId)) )?.filter((assetId) => IOBaseAssetId.is(assetId) === false); const spotPrices: MarketPrices = new Map(); diff --git a/package.json b/package.json index a4a820515..d8b4d7c81 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@headlessui/tailwindcss": "^0.1.2", "@notionhq/client": "^2.2.3", "@plaiceholder/next": "^2.5.0", - "@polkadot/api": "^10.10.1", + "@polkadot/api": "^10.12.6", "@polkadot/extension-dapp": "^0.44.6", "@polkadot/keyring": "^12.6.2", "@polkadot/ui-keyring": "^2.4.1", @@ -45,12 +45,12 @@ "@web3auth/openlogin-adapter": "^7.3.1", "@yornaath/batshit": "^0.8.0", "@yornaath/batshit-devtools-react": "^0.5.4", - "@zeitgeistpm/augment-api": "3.2.3", + "@zeitgeistpm/augment-api": "3.6.2", "@zeitgeistpm/avatara-nft-sdk": "^1.3.1", "@zeitgeistpm/avatara-react": "^1.3.2", "@zeitgeistpm/avatara-util": "^1.2.0", - "@zeitgeistpm/sdk": "3.2.3", - "@zeitgeistpm/utility": "3.2.3", + "@zeitgeistpm/sdk": "3.6.2", + "@zeitgeistpm/utility": "3.6.2", "axios": "^0.21.4", "boring-avatars": "^1.6.1", "decimal.js": "^10.4.3", diff --git a/pages/court/[caseid].tsx b/pages/court/[caseid].tsx index 578e54180..7dde43862 100644 --- a/pages/court/[caseid].tsx +++ b/pages/court/[caseid].tsx @@ -168,11 +168,7 @@ const CasePage: NextPage = ({ ? market.report?.outcome.categorical : undefined; - const imagePath = IOForeignAssetId.is(baseAsset) - ? lookupAssetImagePath(baseAsset.ForeignAsset) - : IOBaseAssetId.is(baseAsset) - ? lookupAssetImagePath(baseAsset.Ztg) - : ""; + const imagePath = lookupAssetImagePath(baseAsset); const connectedParticipantDraw = selectedDraws?.find( (draw) => draw.courtParticipant.toString() === wallet.realAddress, diff --git a/yarn.lock b/yarn.lock index 11a497e4a..fe7bb58bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1264,6 +1264,16 @@ __metadata: languageName: node linkType: hard +"@multiformats/sha3@npm:^3.0.2": + version: 3.0.2 + resolution: "@multiformats/sha3@npm:3.0.2" + dependencies: + js-sha3: ^0.9.1 + multiformats: ^13.0.0 + checksum: 48e81c16af675693b07e78ec76a39b6d0da28043de66229406a7e47a821662ea8cabae62ef2b544e4316fd23ecd691e0f4284ac2cccbe89b709441cd6a12cd2c + languageName: node + linkType: hard + "@next/bundle-analyzer@npm:^12.3.1": version: 12.3.4 resolution: "@next/bundle-analyzer@npm:12.3.4" @@ -1499,7 +1509,86 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-augment@npm:10.10.1, @polkadot/api-augment@npm:^10.0.1": +"@polkadot-api/client@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version: 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + resolution: "@polkadot-api/client@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + dependencies: + "@polkadot-api/metadata-builders": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + "@polkadot-api/substrate-bindings": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + "@polkadot-api/substrate-client": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + "@polkadot-api/utils": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + peerDependencies: + rxjs: ">=7.8.0" + checksum: 98529e8088a4cdbc63a02c87b47f4de1373fb5ce7c0231da1b32baf8125256a6125848a90edf12f93db86bb72f61017d9a23cf0697cc97c8568c491ff64e68fc + languageName: node + linkType: hard + +"@polkadot-api/json-rpc-provider-proxy@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version: 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + resolution: "@polkadot-api/json-rpc-provider-proxy@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + checksum: 4c47c978806bc62fff1b5788241cd59457d62ebe347b401b0a621d56d301f7b205aeb20ade24b67c2a5d63a497738694cb4030f79d5009460d17a546e8723f81 + languageName: node + linkType: hard + +"@polkadot-api/json-rpc-provider@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version: 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + resolution: "@polkadot-api/json-rpc-provider@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + checksum: 00d4e1f7900a1739e1ba7a3b13d399e5540a27d5c026c985aa4afdf865fb37da4aa4029a3a740932615482cdf18e657011ef05e7e61c2de04016f68fbb343ae7 + languageName: node + linkType: hard + +"@polkadot-api/metadata-builders@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version: 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + resolution: "@polkadot-api/metadata-builders@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + dependencies: + "@polkadot-api/substrate-bindings": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + "@polkadot-api/utils": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + checksum: 7fb6264fbe7a49c8f8848fb36f51fa9882c504fc026b0ac28cf2d83890cfa2c2ce7a3dd8c01aed28b991cb4d4a64910557111afe8792375aea2aba1b2aabe233 + languageName: node + linkType: hard + +"@polkadot-api/substrate-bindings@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version: 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + resolution: "@polkadot-api/substrate-bindings@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + dependencies: + "@noble/hashes": ^1.3.1 + "@polkadot-api/utils": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + "@scure/base": ^1.1.1 + scale-ts: ^1.6.0 + checksum: 3640063696c4655522587bdb4f2ca99eb2772ee13236965418bf6e97026a1c52cec8a5996560eedac453365e96b51e35283464b4dda0d28d9deb398fe8c3551c + languageName: node + linkType: hard + +"@polkadot-api/substrate-client@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version: 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + resolution: "@polkadot-api/substrate-client@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + checksum: 3e04f430be68d54173a3b3c1fae33f3cfe2e61c959eb431f89bd306500b9da7e009c02553cf2464a6eb15c5bbe7aa27c45f6ea1371bbfcdddc08519dedcaf4a3 + languageName: node + linkType: hard + +"@polkadot-api/utils@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0": + version: 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + resolution: "@polkadot-api/utils@npm:0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0" + checksum: 0bf7b078a53f1eaf2f4cec3c41f3e82fc5afb4a347dcbc7b538723aeb1b4893834a2f1aeed425443a25ee0e1a6472c85d8be600e73a6d25ea16a0748d25c00bf + languageName: node + linkType: hard + +"@polkadot/api-augment@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/api-augment@npm:10.13.1" + dependencies: + "@polkadot/api-base": 10.13.1 + "@polkadot/rpc-augment": 10.13.1 + "@polkadot/types": 10.13.1 + "@polkadot/types-augment": 10.13.1 + "@polkadot/types-codec": 10.13.1 + "@polkadot/util": ^12.6.2 + tslib: ^2.6.2 + checksum: e72db9d7a2a3e4a84ad38f4da0e1d979750e47d46ffb00c449a1b08ded2b71eede74e20bf1a4e771fabf119d937b81080b8d15db860d4b5c7b068a33f9f5493a + languageName: node + linkType: hard + +"@polkadot/api-augment@npm:^10.0.1": version: 10.10.1 resolution: "@polkadot/api-augment@npm:10.10.1" dependencies: @@ -1527,46 +1616,59 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-derive@npm:10.10.1": - version: 10.10.1 - resolution: "@polkadot/api-derive@npm:10.10.1" +"@polkadot/api-base@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/api-base@npm:10.13.1" dependencies: - "@polkadot/api": 10.10.1 - "@polkadot/api-augment": 10.10.1 - "@polkadot/api-base": 10.10.1 - "@polkadot/rpc-core": 10.10.1 - "@polkadot/types": 10.10.1 - "@polkadot/types-codec": 10.10.1 - "@polkadot/util": ^12.5.1 - "@polkadot/util-crypto": ^12.5.1 + "@polkadot/rpc-core": 10.13.1 + "@polkadot/types": 10.13.1 + "@polkadot/util": ^12.6.2 rxjs: ^7.8.1 tslib: ^2.6.2 - checksum: ff0f016d39aa73f55a881927e6ae3dd75c2a81fe4095cdda5e558f420d815a12c204e6a2082acbef2c74867b810d41ef349de2b7924d46957be7260b71fb1512 + checksum: ba2001ca2336f76788c3d34298086475ec45a2a848a97a9528ff55fb880e3680ab12e240f9d785fdde6e5f9f5c93b353bd1b4292aaa51b261ab07565ab4149da languageName: node linkType: hard -"@polkadot/api@npm:10.10.1, @polkadot/api@npm:^10.10.1": - version: 10.10.1 - resolution: "@polkadot/api@npm:10.10.1" +"@polkadot/api-derive@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/api-derive@npm:10.13.1" dependencies: - "@polkadot/api-augment": 10.10.1 - "@polkadot/api-base": 10.10.1 - "@polkadot/api-derive": 10.10.1 - "@polkadot/keyring": ^12.5.1 - "@polkadot/rpc-augment": 10.10.1 - "@polkadot/rpc-core": 10.10.1 - "@polkadot/rpc-provider": 10.10.1 - "@polkadot/types": 10.10.1 - "@polkadot/types-augment": 10.10.1 - "@polkadot/types-codec": 10.10.1 - "@polkadot/types-create": 10.10.1 - "@polkadot/types-known": 10.10.1 - "@polkadot/util": ^12.5.1 - "@polkadot/util-crypto": ^12.5.1 + "@polkadot/api": 10.13.1 + "@polkadot/api-augment": 10.13.1 + "@polkadot/api-base": 10.13.1 + "@polkadot/rpc-core": 10.13.1 + "@polkadot/types": 10.13.1 + "@polkadot/types-codec": 10.13.1 + "@polkadot/util": ^12.6.2 + "@polkadot/util-crypto": ^12.6.2 + rxjs: ^7.8.1 + tslib: ^2.6.2 + checksum: c0e5ed91515a0572e0685623d972327c1affeff4f0b7b49d1ae1ad1dc97594891989a528fe3dde05127bac3119b42ae0303d3fbcdf4c34eef63e859a66055730 + languageName: node + linkType: hard + +"@polkadot/api@npm:10.13.1, @polkadot/api@npm:^10.12.6": + version: 10.13.1 + resolution: "@polkadot/api@npm:10.13.1" + dependencies: + "@polkadot/api-augment": 10.13.1 + "@polkadot/api-base": 10.13.1 + "@polkadot/api-derive": 10.13.1 + "@polkadot/keyring": ^12.6.2 + "@polkadot/rpc-augment": 10.13.1 + "@polkadot/rpc-core": 10.13.1 + "@polkadot/rpc-provider": 10.13.1 + "@polkadot/types": 10.13.1 + "@polkadot/types-augment": 10.13.1 + "@polkadot/types-codec": 10.13.1 + "@polkadot/types-create": 10.13.1 + "@polkadot/types-known": 10.13.1 + "@polkadot/util": ^12.6.2 + "@polkadot/util-crypto": ^12.6.2 eventemitter3: ^5.0.1 rxjs: ^7.8.1 tslib: ^2.6.2 - checksum: de1aa727b63fb921854840fe2d18b55b99f512f4d3e08d3b895fceea7891f6dd0febe6aa5fb7b1778494c78d6a6a7ebd17d426ba2e3df459aa974b7bb8fee19c + checksum: 1b2b6bea2ac649e081103bfe221cdb576f084c6e8c88ff8893c63dae81c6f456a4237d0aac6915633c4749dac017490672dade5d76dad151bd79f6966c4291bf languageName: node linkType: hard @@ -1655,7 +1757,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/networks@npm:12.5.1, @polkadot/networks@npm:^12.5.1": +"@polkadot/networks@npm:12.5.1": version: 12.5.1 resolution: "@polkadot/networks@npm:12.5.1" dependencies: @@ -1666,7 +1768,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/networks@npm:12.6.2": +"@polkadot/networks@npm:12.6.2, @polkadot/networks@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/networks@npm:12.6.2" dependencies: @@ -1690,6 +1792,19 @@ __metadata: languageName: node linkType: hard +"@polkadot/rpc-augment@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/rpc-augment@npm:10.13.1" + dependencies: + "@polkadot/rpc-core": 10.13.1 + "@polkadot/types": 10.13.1 + "@polkadot/types-codec": 10.13.1 + "@polkadot/util": ^12.6.2 + tslib: ^2.6.2 + checksum: c68bfb43d7954205c469e575c25c4a82d3bc2b19a00d203d0f58a4271343077dad1b905eca91f1e26cb3a38fe03f411f5be73c610a151614b9c2693abcf33fcc + languageName: node + linkType: hard + "@polkadot/rpc-core@npm:10.10.1": version: 10.10.1 resolution: "@polkadot/rpc-core@npm:10.10.1" @@ -1704,6 +1819,20 @@ __metadata: languageName: node linkType: hard +"@polkadot/rpc-core@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/rpc-core@npm:10.13.1" + dependencies: + "@polkadot/rpc-augment": 10.13.1 + "@polkadot/rpc-provider": 10.13.1 + "@polkadot/types": 10.13.1 + "@polkadot/util": ^12.6.2 + rxjs: ^7.8.1 + tslib: ^2.6.2 + checksum: 0fcf03c8db6da394e4aa28df64d9a2c0abe9be04128df85dc0e2462a993f982d1f6d8fc59f7e58578a4acc11108ba67414cce233dfd9f6d088c3a5878d4cc2a8 + languageName: node + linkType: hard + "@polkadot/rpc-provider@npm:10.10.1": version: 10.10.1 resolution: "@polkadot/rpc-provider@npm:10.10.1" @@ -1728,6 +1857,30 @@ __metadata: languageName: node linkType: hard +"@polkadot/rpc-provider@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/rpc-provider@npm:10.13.1" + dependencies: + "@polkadot/keyring": ^12.6.2 + "@polkadot/types": 10.13.1 + "@polkadot/types-support": 10.13.1 + "@polkadot/util": ^12.6.2 + "@polkadot/util-crypto": ^12.6.2 + "@polkadot/x-fetch": ^12.6.2 + "@polkadot/x-global": ^12.6.2 + "@polkadot/x-ws": ^12.6.2 + "@substrate/connect": 0.8.8 + eventemitter3: ^5.0.1 + mock-socket: ^9.3.1 + nock: ^13.5.0 + tslib: ^2.6.2 + dependenciesMeta: + "@substrate/connect": + optional: true + checksum: ea254d36c5bcc919869851e9c08683a1f63d79ed6903485864f49a4c984dfdd9c2f10cc816036e54b930d64b8e7965a4bf360e6333b9641d1cfeccd829410777 + languageName: node + linkType: hard + "@polkadot/rpc-provider@npm:^9.14.2": version: 9.14.2 resolution: "@polkadot/rpc-provider@npm:9.14.2" @@ -1764,6 +1917,18 @@ __metadata: languageName: node linkType: hard +"@polkadot/types-augment@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/types-augment@npm:10.13.1" + dependencies: + "@polkadot/types": 10.13.1 + "@polkadot/types-codec": 10.13.1 + "@polkadot/util": ^12.6.2 + tslib: ^2.6.2 + checksum: 653ff88c10cc6b6399bd5f54e6fd5c434b7a0e37d3a60d73a7b24a258544aad959907d8d78f347015a2d8006444419d94cd1e5b38c4a20179aba5726407a9998 + languageName: node + linkType: hard + "@polkadot/types-augment@npm:9.14.2": version: 9.14.2 resolution: "@polkadot/types-augment@npm:9.14.2" @@ -1787,6 +1952,17 @@ __metadata: languageName: node linkType: hard +"@polkadot/types-codec@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/types-codec@npm:10.13.1" + dependencies: + "@polkadot/util": ^12.6.2 + "@polkadot/x-bigint": ^12.6.2 + tslib: ^2.6.2 + checksum: 5f5dadd0cde5686c19aab5042180e54bd9496505063bd873014773c6304c57b80903876162a3e87183487570a6a3e69c707b1ca99f4e6272f7c2c1c9588b9b66 + languageName: node + linkType: hard + "@polkadot/types-codec@npm:9.14.2": version: 9.14.2 resolution: "@polkadot/types-codec@npm:9.14.2" @@ -1809,6 +1985,17 @@ __metadata: languageName: node linkType: hard +"@polkadot/types-create@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/types-create@npm:10.13.1" + dependencies: + "@polkadot/types-codec": 10.13.1 + "@polkadot/util": ^12.6.2 + tslib: ^2.6.2 + checksum: 8bba9e0f5b02080c4f1e4bedd3043e136c5ce23d28d8710e274fd571254dc01d0b845177c9321150d7fdb6f745bb7a259eee863337675070891e54a255e3c103 + languageName: node + linkType: hard + "@polkadot/types-create@npm:9.14.2": version: 9.14.2 resolution: "@polkadot/types-create@npm:9.14.2" @@ -1820,17 +2007,17 @@ __metadata: languageName: node linkType: hard -"@polkadot/types-known@npm:10.10.1": - version: 10.10.1 - resolution: "@polkadot/types-known@npm:10.10.1" +"@polkadot/types-known@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/types-known@npm:10.13.1" dependencies: - "@polkadot/networks": ^12.5.1 - "@polkadot/types": 10.10.1 - "@polkadot/types-codec": 10.10.1 - "@polkadot/types-create": 10.10.1 - "@polkadot/util": ^12.5.1 + "@polkadot/networks": ^12.6.2 + "@polkadot/types": 10.13.1 + "@polkadot/types-codec": 10.13.1 + "@polkadot/types-create": 10.13.1 + "@polkadot/util": ^12.6.2 tslib: ^2.6.2 - checksum: 25489967fcd6022f11a64c20884dd1ef49494f3b3e514034a08cc07f61267121adf8b96b307edc3381c445de58842d515aa8440ee888bc37120775deffae671a + checksum: c443fff703ab864440f626852badd1b6a80920bc9ed2efc104247bd9e98f66e74ee8227bea8a4a43cf442665a16456e4a31afd9e98ad1a9e17b49e1119d103ee languageName: node linkType: hard @@ -1844,6 +2031,16 @@ __metadata: languageName: node linkType: hard +"@polkadot/types-support@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/types-support@npm:10.13.1" + dependencies: + "@polkadot/util": ^12.6.2 + tslib: ^2.6.2 + checksum: c9b14b6c08922292f08f37a46f1c87973383f8fa657b695212595e839681aeff26b92f686dec2a6ae30bd77083e42674283ad2382f713850cdb95823725bd81d + languageName: node + linkType: hard + "@polkadot/types-support@npm:9.14.2": version: 9.14.2 resolution: "@polkadot/types-support@npm:9.14.2" @@ -1870,6 +2067,22 @@ __metadata: languageName: node linkType: hard +"@polkadot/types@npm:10.13.1": + version: 10.13.1 + resolution: "@polkadot/types@npm:10.13.1" + dependencies: + "@polkadot/keyring": ^12.6.2 + "@polkadot/types-augment": 10.13.1 + "@polkadot/types-codec": 10.13.1 + "@polkadot/types-create": 10.13.1 + "@polkadot/util": ^12.6.2 + "@polkadot/util-crypto": ^12.6.2 + rxjs: ^7.8.1 + tslib: ^2.6.2 + checksum: d1e7b582f7a8c50ab1944d719c8ef29e9b77c07bf89635f028db38192229dce213b11874923e50d102016b197d687170d9a33445be97e78505da474bd1c87d1e + languageName: node + linkType: hard + "@polkadot/types@npm:9.14.2, @polkadot/types@npm:^9.14.2": version: 9.14.2 resolution: "@polkadot/types@npm:9.14.2" @@ -1963,7 +2176,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/util-crypto@npm:12.6.2": +"@polkadot/util-crypto@npm:12.6.2, @polkadot/util-crypto@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/util-crypto@npm:12.6.2" dependencies: @@ -2013,7 +2226,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/util@npm:12.6.2": +"@polkadot/util@npm:12.6.2, @polkadot/util@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/util@npm:12.6.2" dependencies: @@ -2286,7 +2499,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-bigint@npm:12.6.2": +"@polkadot/x-bigint@npm:12.6.2, @polkadot/x-bigint@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/x-bigint@npm:12.6.2" dependencies: @@ -2319,6 +2532,17 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-fetch@npm:^12.6.2": + version: 12.6.2 + resolution: "@polkadot/x-fetch@npm:12.6.2" + dependencies: + "@polkadot/x-global": 12.6.2 + node-fetch: ^3.3.2 + tslib: ^2.6.2 + checksum: 2f0269b17ebbb907f4f4fa777898fd8ea16ecd37abfc2c0b69cfc49bd5ab0ed38cf836a4941e85f9100192f7005731a9a8c6b135799efd17b4261c3cc1ebf844 + languageName: node + linkType: hard + "@polkadot/x-global@npm:10.4.2, @polkadot/x-global@npm:^10.4.2": version: 10.4.2 resolution: "@polkadot/x-global@npm:10.4.2" @@ -2337,7 +2561,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-global@npm:12.6.2": +"@polkadot/x-global@npm:12.6.2, @polkadot/x-global@npm:^12.6.2": version: 12.6.2 resolution: "@polkadot/x-global@npm:12.6.2" dependencies: @@ -2465,6 +2689,17 @@ __metadata: languageName: node linkType: hard +"@polkadot/x-ws@npm:^12.6.2": + version: 12.6.2 + resolution: "@polkadot/x-ws@npm:12.6.2" + dependencies: + "@polkadot/x-global": 12.6.2 + tslib: ^2.6.2 + ws: ^8.15.1 + checksum: a6bddc7ac81690f222fbc192f87f2d9b951d67414ea31a0377fb20844db8fde05d7771df5291633417aa4616bf968a31005ff22d416b2d4fecda2109f820abf7 + languageName: node + linkType: hard + "@portabletext/react@npm:^3.0.11": version: 3.0.11 resolution: "@portabletext/react@npm:3.0.11" @@ -2695,6 +2930,13 @@ __metadata: languageName: node linkType: hard +"@scure/base@npm:^1.1.1": + version: 1.1.6 + resolution: "@scure/base@npm:1.1.6" + checksum: d6deaae91deba99e87939af9e55d80edba302674983f32bba57f942e22b1726a83c62dc50d8f4370a5d5d35a212dda167fb169f4b0d0c297488d8604608fc3d3 + languageName: node + linkType: hard + "@scure/base@npm:^1.1.3, @scure/base@npm:~1.1.0": version: 1.1.3 resolution: "@scure/base@npm:1.1.3" @@ -2963,6 +3205,20 @@ __metadata: languageName: node linkType: hard +"@substrate/connect-extension-protocol@npm:^2.0.0": + version: 2.0.0 + resolution: "@substrate/connect-extension-protocol@npm:2.0.0" + checksum: a7c6ff3fefc0784f28b1d253514c1d2951684fe3d06392dfd70299fa2184fbe040d2bd6e0f113e30a1920920b649d43668aa4565847778ab3334c7e445e880cf + languageName: node + linkType: hard + +"@substrate/connect-known-chains@npm:^1.1.1": + version: 1.1.2 + resolution: "@substrate/connect-known-chains@npm:1.1.2" + checksum: 4e6f68219d87f56e4129209109870e8d270247a6e5a3cd143af72e9ebf3ae77b05e1d3fc9c583c108941c1371890714f6eef10e259069b1020af829d26fb1e9a + languageName: node + linkType: hard + "@substrate/connect@npm:0.7.19": version: 0.7.19 resolution: "@substrate/connect@npm:0.7.19" @@ -2984,6 +3240,35 @@ __metadata: languageName: node linkType: hard +"@substrate/connect@npm:0.8.8": + version: 0.8.8 + resolution: "@substrate/connect@npm:0.8.8" + dependencies: + "@substrate/connect-extension-protocol": ^2.0.0 + "@substrate/connect-known-chains": ^1.1.1 + "@substrate/light-client-extension-helpers": ^0.0.4 + smoldot: 2.0.22 + checksum: c70e8be2a121278af6adbace1060d8f1063c898cbc43b34ce454154cca23cd056e2e8d84407fe49e1c347ff221de9b8e74fbaa18f8145a7e65fb20cd06000368 + languageName: node + linkType: hard + +"@substrate/light-client-extension-helpers@npm:^0.0.4": + version: 0.0.4 + resolution: "@substrate/light-client-extension-helpers@npm:0.0.4" + dependencies: + "@polkadot-api/client": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + "@polkadot-api/json-rpc-provider": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + "@polkadot-api/json-rpc-provider-proxy": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + "@polkadot-api/substrate-client": 0.0.1-492c132563ea6b40ae1fc5470dec4cd18768d182.1.0 + "@substrate/connect-extension-protocol": ^2.0.0 + "@substrate/connect-known-chains": ^1.1.1 + rxjs: ^7.8.1 + peerDependencies: + smoldot: 2.x + checksum: 7ec22cbc13d6acd29e40d716f717942be6cfa0af896fccb6ad797b37908d21a6a56398d8ece6b1b79b956c61dc50978594fbc1e660cbfeb127cd60d58203e043 + languageName: node + linkType: hard + "@substrate/smoldot-light@npm:0.7.9": version: 0.7.9 resolution: "@substrate/smoldot-light@npm:0.7.9" @@ -4170,14 +4455,14 @@ __metadata: languageName: node linkType: hard -"@zeitgeistpm/augment-api@npm:3.2.3, @zeitgeistpm/augment-api@npm:^3.2.3": - version: 3.2.3 - resolution: "@zeitgeistpm/augment-api@npm:3.2.3" +"@zeitgeistpm/augment-api@npm:3.6.2, @zeitgeistpm/augment-api@npm:^3.6.2": + version: 3.6.2 + resolution: "@zeitgeistpm/augment-api@npm:3.6.2" peerDependencies: "@polkadot/api-base": "*" "@polkadot/rpc-core": "*" "@polkadot/types": "*" - checksum: b95972a595477d1d74a10cfe649a51682938f55cc2824f36d88b3e3f04b07bd4dc2adc5cbf43ddf9f37b18f4d7ba1820a379ebac7be82419ae007caf711ec61d + checksum: c5f7c6a1dd2d27afdee9ad178e83863b3d114786919b63a3f2c4fcd0f0e2e47a9bf4f4839d616efdec141ff0c31c8602756207e20b333b6ebd3365cec78b9d3b languageName: node linkType: hard @@ -4247,40 +4532,40 @@ __metadata: languageName: node linkType: hard -"@zeitgeistpm/indexer@npm:^4.2.3": - version: 4.2.3 - resolution: "@zeitgeistpm/indexer@npm:4.2.3" +"@zeitgeistpm/indexer@npm:^4.6.2": + version: 4.6.2 + resolution: "@zeitgeistpm/indexer@npm:4.6.2" dependencies: graphql: ^16.6.0 graphql-request: ^5.0.0 graphql-tag: ^2.12.6 - checksum: d02ef59df21096a7d9d3fb35ca2990efe2d9b724eb74fa23c1363bee9c99bf7ba2a4fdf5bda4c74a3e0d8b21fc1e8749fab1711e7727f691af4ecde40e220620 + checksum: 0bf8348922fe75b366ebb41557165ac69e0a6ee89d943e7cf11a0f2153b36656552effc01d002eec8e1525052af381c36db7bb2514802b6fcac2bf0cc993928a languageName: node linkType: hard -"@zeitgeistpm/rpc@npm:^3.2.3": - version: 3.2.3 - resolution: "@zeitgeistpm/rpc@npm:3.2.3" +"@zeitgeistpm/rpc@npm:^3.6.2": + version: 3.6.2 + resolution: "@zeitgeistpm/rpc@npm:3.6.2" dependencies: - "@zeitgeistpm/augment-api": ^3.2.3 - "@zeitgeistpm/utility": ^3.2.3 + "@zeitgeistpm/augment-api": ^3.6.2 + "@zeitgeistpm/utility": ^3.6.2 peerDependencies: "@polkadot/api": "*" "@polkadot/keyring": "*" "@polkadot/types": "*" - checksum: 243c3814057a8092274185442dd6cd5b30a3369e9c1c47d580644d0a50f77df2034573050affd5f784310413291aab2d34dc3f63380688c73c042041c29368a8 + checksum: bfb9513a44329426d6b607fb62dcb8186a1d2f35cf52316bf85bd2a3c542b03c1b386957253bac6e770d4b58cca0e60d8c88d2bb697084ffd060b73f1af67649 languageName: node linkType: hard -"@zeitgeistpm/sdk@npm:3.2.3": - version: 3.2.3 - resolution: "@zeitgeistpm/sdk@npm:3.2.3" +"@zeitgeistpm/sdk@npm:3.6.2": + version: 3.6.2 + resolution: "@zeitgeistpm/sdk@npm:3.6.2" dependencies: - "@zeitgeistpm/augment-api": ^3.2.3 - "@zeitgeistpm/indexer": ^4.2.3 - "@zeitgeistpm/rpc": ^3.2.3 - "@zeitgeistpm/utility": ^3.2.3 - "@zeitgeistpm/web3.storage": ^3.2.3 + "@zeitgeistpm/augment-api": ^3.6.2 + "@zeitgeistpm/indexer": ^4.6.2 + "@zeitgeistpm/rpc": ^3.6.2 + "@zeitgeistpm/utility": ^3.6.2 + "@zeitgeistpm/web3.storage": ^3.6.2 cids: ^1.1.9 decimal.js: ^10.4.3 human-object-diff: ^3.0.0 @@ -4294,7 +4579,7 @@ __metadata: "@polkadot/api": "*" "@polkadot/types": "*" "@polkadot/util": "*" - checksum: d67a53371011de79748dc129065751860dff59f9d17d0cd75632e5f9deb093708c2566117af2105db4f6328f9d3bdbe58ae005bd8460261a09070259c7a5432e + checksum: 8ccb96b2008fd25923741b046419ec346d6a5fb731d2b38f820171006c6d1bb56482af33d1d322bca2d59bdd527d15b0dd08b237c976bd06d0a457258ca62dfc languageName: node linkType: hard @@ -4327,7 +4612,7 @@ __metadata: "@notionhq/client": ^2.2.3 "@plaiceholder/next": ^2.5.0 "@playwright/test": ^1.28.1 - "@polkadot/api": ^10.10.1 + "@polkadot/api": ^10.12.6 "@polkadot/extension-dapp": ^0.44.6 "@polkadot/keyring": ^12.6.2 "@polkadot/ui-keyring": ^2.4.1 @@ -4356,12 +4641,12 @@ __metadata: "@web3auth/openlogin-adapter": ^7.3.1 "@yornaath/batshit": ^0.8.0 "@yornaath/batshit-devtools-react": ^0.5.4 - "@zeitgeistpm/augment-api": 3.2.3 + "@zeitgeistpm/augment-api": 3.6.2 "@zeitgeistpm/avatara-nft-sdk": ^1.3.1 "@zeitgeistpm/avatara-react": ^1.3.2 "@zeitgeistpm/avatara-util": ^1.2.0 - "@zeitgeistpm/sdk": 3.2.3 - "@zeitgeistpm/utility": 3.2.3 + "@zeitgeistpm/sdk": 3.6.2 + "@zeitgeistpm/utility": 3.6.2 autoprefixer: 10.2.5 axios: ^0.21.4 boring-avatars: ^1.6.1 @@ -4436,9 +4721,9 @@ __metadata: languageName: unknown linkType: soft -"@zeitgeistpm/utility@npm:3.2.3, @zeitgeistpm/utility@npm:^3.2.3": - version: 3.2.3 - resolution: "@zeitgeistpm/utility@npm:3.2.3" +"@zeitgeistpm/utility@npm:3.6.2, @zeitgeistpm/utility@npm:^3.6.2": + version: 3.6.2 + resolution: "@zeitgeistpm/utility@npm:3.6.2" dependencies: decimal.js: ^10.4.3 lodash.omit: ^4.5.0 @@ -4448,15 +4733,16 @@ __metadata: "@polkadot/api": "*" "@polkadot/types": "*" "@polkadot/util": "*" - checksum: a74038c33ea1f2c9d21efdfbe70745635f2ba7ad93713cfeac3a530e051a943749145ff393ff445cfa81c088ac739c9dc6e78ae78f3ef45c330822df0c865f6e + checksum: 589bf9bf38672a2bc38676990160bc660a7ef4f8a238927257f826a1c7016f44be176b2be746405ac3e9140a46054df2043ed4edaf4cc4aadd4dd7792b7c1fdd languageName: node linkType: hard -"@zeitgeistpm/web3.storage@npm:^3.2.3": - version: 3.2.3 - resolution: "@zeitgeistpm/web3.storage@npm:3.2.3" +"@zeitgeistpm/web3.storage@npm:^3.6.2": + version: 3.6.2 + resolution: "@zeitgeistpm/web3.storage@npm:3.6.2" dependencies: - "@zeitgeistpm/utility": ^3.2.3 + "@multiformats/sha3": ^3.0.2 + "@zeitgeistpm/utility": ^3.6.2 cids: ^1.1.9 ipfs-http-client: ^60.0.0 ipfs-only-hash: ^4.0.0 @@ -4465,7 +4751,7 @@ __metadata: up: ^1.0.2 peerDependencies: "@polkadot/util": "*" - checksum: 00b6d05bd101957d130c65c7eeebf8ff8f723045bc3f07c7e45e86d8f5763bc828b4c4e70e22da719bf6505eb0a132c910ce179472919373ab69b1060495c64e + checksum: 2a9ff3d1276d5a650b1e20ab904ab24b4b806c685b3c2e6e2ebc5e6d1b16c31d80ee15af1fb89e2932391462369ce4ebe125f9dd497e3d95e9d33b21dba041c8 languageName: node linkType: hard @@ -8871,6 +9157,13 @@ __metadata: languageName: node linkType: hard +"js-sha3@npm:^0.9.1": + version: 0.9.3 + resolution: "js-sha3@npm:0.9.3" + checksum: cfab12cdb3aa9c0c8e8466761d89cb9770653880910b920682fa676dd102868a827709c857cb089bdc0d6120542137f92a7c1699ab428c0f4057c823aef24601 + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -9762,6 +10055,13 @@ __metadata: languageName: node linkType: hard +"multiformats@npm:^13.0.0": + version: 13.1.0 + resolution: "multiformats@npm:13.1.0" + checksum: b970e3622a80192a4df8c23378c4854520df8b2d17db773ac8b77c19750019e1c9813cc05e12b0e3b0d03599ff5d073681e847d43b4b273efca5aabbb28eb0e0 + languageName: node + linkType: hard + "multiformats@npm:^13.0.1": version: 13.0.1 resolution: "multiformats@npm:13.0.1" @@ -10015,6 +10315,17 @@ __metadata: languageName: node linkType: hard +"nock@npm:^13.5.0": + version: 13.5.4 + resolution: "nock@npm:13.5.4" + dependencies: + debug: ^4.1.0 + json-stringify-safe: ^5.0.1 + propagate: ^2.0.0 + checksum: d31f924e34c87ae985edfb7b5a56e8a4dcfc3a072334ceb6d686326581f93090b3e23492663a64ce61b8df4f365b113231d926bc300bcfe9e5eb309c3e4b8628 + languageName: node + linkType: hard + "node-abi@npm:^3.3.0": version: 3.51.0 resolution: "node-abi@npm:3.51.0" @@ -12070,6 +12381,13 @@ __metadata: languageName: node linkType: hard +"scale-ts@npm:^1.6.0": + version: 1.6.0 + resolution: "scale-ts@npm:1.6.0" + checksum: 2cd6d3e31ea78621fe2e068eedc3beb6a3cfc338c9033f04ec3e355b4b08e134febad655c54a80272a50737136a27436f9d14d6525b126e621a3b77524111056 + languageName: node + linkType: hard + "scheduler@npm:^0.23.0": version: 0.23.0 resolution: "scheduler@npm:0.23.0" @@ -12294,6 +12612,15 @@ __metadata: languageName: node linkType: hard +"smoldot@npm:2.0.22": + version: 2.0.22 + resolution: "smoldot@npm:2.0.22" + dependencies: + ws: ^8.8.1 + checksum: 383bc6a5481190d64302fad56e9e4120a484885aee5543b268887de425708f04e8b3b3b69893333dfd9fd0e596f006afaa7c7ee5ff260c5d2be929c60302d385 + languageName: node + linkType: hard + "socket.io-client@npm:^4.7.2": version: 4.7.2 resolution: "socket.io-client@npm:4.7.2" @@ -13999,6 +14326,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.15.1": + version: 8.16.0 + resolution: "ws@npm:8.16.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: feb3eecd2bae82fa8a8beef800290ce437d8b8063bdc69712725f21aef77c49cb2ff45c6e5e7fce622248f9c7abaee506bae0a9064067ffd6935460c7357321b + languageName: node + linkType: hard + "ws@npm:~8.11.0": version: 8.11.0 resolution: "ws@npm:8.11.0"