fix: update extension packages and fix type compatibility for pezkuwi-sdk

- Update @pezkuwi/extension-inject to ^0.62.13 with proper /types exports
- Update @pezkuwi/extension-dapp to ^0.62.13
- Update @pezkuwi/extension-compat-metamask to ^0.62.13
- Fix IconTheme type to include 'bizinikiwi' and 'pezkuwi' themes
- Fix endpoint array issues (getTeleports -> direct array references)
- Add type assertions for external package compatibility (acala, moonbeam, parallel)
- Fix subspace.ts dynamic class typing
- Fix conviction type in page-referenda
- Update Pallet type names to Pezpallet prefix across codebase
- Define InjectedExtension types locally for module resolution
- Add styled-components DefaultTheme augmentation
- Add react-copy-to-clipboard type declaration for React 18

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-08 16:24:19 +03:00
parent e64f846b0d
commit 7a4bbeac25
570 changed files with 3281 additions and 3030 deletions
@@ -4,7 +4,7 @@
// augment package
import '@pezkuwi/api-augment/bizinikiwi';
import type { PalletAssetsAssetAccount } from '@pezkuwi/types/lookup';
import type { PezpalletAssetsAssetAccount } from '@pezkuwi/types/lookup';
import type { bool } from '@pezkuwi/types-codec';
import type { BN } from '@pezkuwi/util';
@@ -18,7 +18,7 @@ import Transfer from './Transfer.js';
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore This looks correct in the editor, but incorrect in composite mode
interface AccountExt extends PalletAssetsAssetAccount {
interface AccountExt extends PezpalletAssetsAssetAccount {
isFrozen?: bool;
sufficient?: bool
}
@@ -1,7 +1,7 @@
// Copyright 2017-2026 @pezkuwi/app-assets authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { PalletAssetsAssetAccount } from '@pezkuwi/types/lookup';
import type { PezpalletAssetsAssetAccount } from '@pezkuwi/types/lookup';
import type { Option } from '@pezkuwi/types-codec';
import type { BN } from '@pezkuwi/util';
@@ -11,7 +11,7 @@ import { createNamedHook, useAccounts, useApi, useCall } from '@pezkuwi/react-ho
interface AccountResult {
accountId: string;
account: PalletAssetsAssetAccount;
account: PezpalletAssetsAssetAccount;
}
interface Result {
@@ -19,12 +19,12 @@ interface Result {
accounts: AccountResult[];
}
function isOptional (value: PalletAssetsAssetAccount | Option<PalletAssetsAssetAccount>): value is Option<PalletAssetsAssetAccount> {
return (value as Option<PalletAssetsAssetAccount>).isSome || (value as Option<PalletAssetsAssetAccount>).isNone;
function isOptional (value: PezpalletAssetsAssetAccount | Option<PezpalletAssetsAssetAccount>): value is Option<PezpalletAssetsAssetAccount> {
return (value as Option<PezpalletAssetsAssetAccount>).isSome || (value as Option<PezpalletAssetsAssetAccount>).isNone;
}
const OPTS = {
transform: ([[params], accounts]: [[[BN, string][]], (PalletAssetsAssetAccount | Option<PalletAssetsAssetAccount>)[]]): Result => ({
transform: ([[params], accounts]: [[[BN, string][]], (PezpalletAssetsAssetAccount | Option<PezpalletAssetsAssetAccount>)[]]): Result => ({
accounts: params
.map(([, accountId], index) => {
const o = accounts[index];
@@ -1,7 +1,7 @@
// Copyright 2017-2026 @pezkuwi/app-assets authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { PalletAssetsAssetDetails, PalletAssetsAssetMetadata } from '@pezkuwi/types/lookup';
import type { PezpalletAssetsAssetDetails, PezpalletAssetsAssetMetadata } from '@pezkuwi/types/lookup';
import type { BN } from '@pezkuwi/util';
import React, { useMemo, useState } from 'react';
@@ -13,9 +13,9 @@ import { useTranslation } from '../../translate.js';
interface Props {
className?: string;
details: PalletAssetsAssetDetails;
details: PezpalletAssetsAssetDetails;
id: BN;
metadata: PalletAssetsAssetMetadata;
metadata: PezpalletAssetsAssetMetadata;
onClose: () => void;
}
@@ -1,7 +1,7 @@
// Copyright 2017-2026 @pezkuwi/app-assets authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { PalletAssetsAssetDetails, PalletAssetsAssetMetadata } from '@pezkuwi/types/lookup';
import type { PezpalletAssetsAssetDetails, PezpalletAssetsAssetMetadata } from '@pezkuwi/types/lookup';
import type { BN } from '@pezkuwi/util';
import React from 'react';
@@ -14,9 +14,9 @@ import Modal from './Mint.js';
interface Props {
className?: string;
details: PalletAssetsAssetDetails;
details: PezpalletAssetsAssetDetails;
id: BN;
metadata: PalletAssetsAssetMetadata;
metadata: PezpalletAssetsAssetMetadata;
}
function Mint ({ className, details, id, metadata }: Props): React.ReactElement<Props> {
@@ -3,7 +3,7 @@
import type { Option } from '@pezkuwi/types';
import type { AccountId } from '@pezkuwi/types/interfaces';
import type { PalletAssetsAssetDetails, PalletAssetsAssetMetadata, StagingXcmV3MultiLocation } from '@pezkuwi/types/lookup';
import type { PezpalletAssetsAssetDetails, PezpalletAssetsAssetMetadata, StagingXcmV3MultiLocation } from '@pezkuwi/types/lookup';
import { useEffect, useMemo, useState } from 'react';
@@ -17,14 +17,14 @@ const EMPTY_FLAGS = {
};
export interface ForeignAssetInfo {
details: PalletAssetsAssetDetails | null;
details: PezpalletAssetsAssetDetails | null;
location: StagingXcmV3MultiLocation;
isAdminMe: boolean;
isIssuerMe: boolean;
isFreezerMe: boolean;
isOwnerMe: boolean;
key: string;
metadata: PalletAssetsAssetMetadata | null;
metadata: PezpalletAssetsAssetMetadata | null;
}
const QUERY_OPTS = { withParams: true };
@@ -35,7 +35,7 @@ function isAccount (allAccounts: string[], accountId: AccountId): boolean {
return allAccounts.some((a) => a === address);
}
function extractInfo (allAccounts: string[], location: StagingXcmV3MultiLocation, optDetails: Option<PalletAssetsAssetDetails>, metadata: PalletAssetsAssetMetadata): ForeignAssetInfo {
function extractInfo (allAccounts: string[], location: StagingXcmV3MultiLocation, optDetails: Option<PezpalletAssetsAssetDetails>, metadata: PezpalletAssetsAssetMetadata): ForeignAssetInfo {
const details = optDetails.unwrapOr(null);
return {
@@ -63,8 +63,8 @@ function useForeignAssetInfosImpl (locations?: StagingXcmV3MultiLocation[]): For
const isReady = useMemo(() => !!locations?.length && !!api.tx.foreignAssets?.setMetadata && !!api.tx.foreignAssets?.transferKeepAlive, [api.tx.foreignAssets?.setMetadata, api.tx.foreignAssets?.transferKeepAlive, locations?.length]);
const metadata = useCall<[[StagingXcmV3MultiLocation[]], PalletAssetsAssetMetadata[]]>(isReady && api.query.foreignAssets.metadata.multi, [locations], QUERY_OPTS);
const details = useCall<[[StagingXcmV3MultiLocation[]], Option<PalletAssetsAssetDetails>[]]>(isReady && api.query.foreignAssets.asset.multi, [locations], QUERY_OPTS);
const metadata = useCall<[[StagingXcmV3MultiLocation[]], PezpalletAssetsAssetMetadata[]]>(isReady && api.query.foreignAssets.metadata.multi, [locations], QUERY_OPTS);
const details = useCall<[[StagingXcmV3MultiLocation[]], Option<PezpalletAssetsAssetDetails>[]]>(isReady && api.query.foreignAssets.asset.multi, [locations], QUERY_OPTS);
const [state, setState] = useState<ForeignAssetInfo[] | undefined>();
useEffect((): void => {