@decentro-dev/polkadot-sufficient-assets 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +60 -0
- package/package.json +99 -0
- package/packages/client/README.md +333 -0
- package/packages/client/dist/chain-specs/ksmcc3/index.d.mts +1 -0
- package/packages/client/dist/chain-specs/ksmcc3/index.d.ts +1 -0
- package/packages/client/dist/chain-specs/ksmcc3/index.js +2 -0
- package/packages/client/dist/chain-specs/ksmcc3/index.mjs +2 -0
- package/packages/client/dist/chain-specs/ksmcc3_asset_hub/index.d.mts +1 -0
- package/packages/client/dist/chain-specs/ksmcc3_asset_hub/index.d.ts +1 -0
- package/packages/client/dist/chain-specs/ksmcc3_asset_hub/index.js +2 -0
- package/packages/client/dist/chain-specs/ksmcc3_asset_hub/index.mjs +2 -0
- package/packages/client/dist/chain-specs/paseo/index.d.mts +1 -0
- package/packages/client/dist/chain-specs/paseo/index.d.ts +1 -0
- package/packages/client/dist/chain-specs/paseo/index.js +2 -0
- package/packages/client/dist/chain-specs/paseo/index.mjs +2 -0
- package/packages/client/dist/chain-specs/paseo_asset_hub/index.d.mts +1 -0
- package/packages/client/dist/chain-specs/paseo_asset_hub/index.d.ts +1 -0
- package/packages/client/dist/chain-specs/paseo_asset_hub/index.js +2 -0
- package/packages/client/dist/chain-specs/paseo_asset_hub/index.mjs +2 -0
- package/packages/client/dist/chain-specs/polkadot/index.d.mts +1 -0
- package/packages/client/dist/chain-specs/polkadot/index.d.ts +1 -0
- package/packages/client/dist/chain-specs/polkadot/index.js +2 -0
- package/packages/client/dist/chain-specs/polkadot/index.mjs +2 -0
- package/packages/client/dist/chain-specs/polkadot_asset_hub/index.d.mts +1 -0
- package/packages/client/dist/chain-specs/polkadot_asset_hub/index.d.ts +1 -0
- package/packages/client/dist/chain-specs/polkadot_asset_hub/index.js +2 -0
- package/packages/client/dist/chain-specs/polkadot_asset_hub/index.mjs +2 -0
- package/packages/client/dist/chain-specs/rococo_v2_2/index.d.mts +1 -0
- package/packages/client/dist/chain-specs/rococo_v2_2/index.d.ts +1 -0
- package/packages/client/dist/chain-specs/rococo_v2_2/index.js +2 -0
- package/packages/client/dist/chain-specs/rococo_v2_2/index.mjs +2 -0
- package/packages/client/dist/chain-specs/rococo_v2_2_asset_hub/index.d.mts +1 -0
- package/packages/client/dist/chain-specs/rococo_v2_2_asset_hub/index.d.ts +1 -0
- package/packages/client/dist/chain-specs/rococo_v2_2_asset_hub/index.js +2 -0
- package/packages/client/dist/chain-specs/rococo_v2_2_asset_hub/index.mjs +2 -0
- package/packages/client/dist/chain-specs/westend2/index.d.mts +1 -0
- package/packages/client/dist/chain-specs/westend2/index.d.ts +1 -0
- package/packages/client/dist/chain-specs/westend2/index.js +2 -0
- package/packages/client/dist/chain-specs/westend2/index.mjs +2 -0
- package/packages/client/dist/chain-specs/westend2_asset_hub/index.d.mts +1 -0
- package/packages/client/dist/chain-specs/westend2_asset_hub/index.d.ts +1 -0
- package/packages/client/dist/chain-specs/westend2_asset_hub/index.js +2 -0
- package/packages/client/dist/chain-specs/westend2_asset_hub/index.mjs +2 -0
- package/packages/client/dist/index.d.mts +106 -0
- package/packages/client/dist/index.d.ts +106 -0
- package/packages/client/dist/index.js +2 -0
- package/packages/client/dist/index.mjs +2 -0
- package/packages/client/dist/smoldot/from-node-worker/index.d.mts +1 -0
- package/packages/client/dist/smoldot/from-node-worker/index.d.ts +1 -0
- package/packages/client/dist/smoldot/from-node-worker/index.js +2 -0
- package/packages/client/dist/smoldot/from-node-worker/index.mjs +2 -0
- package/packages/client/dist/smoldot/from-worker/index.d.mts +1 -0
- package/packages/client/dist/smoldot/from-worker/index.d.ts +1 -0
- package/packages/client/dist/smoldot/from-worker/index.js +2 -0
- package/packages/client/dist/smoldot/from-worker/index.mjs +2 -0
- package/packages/client/dist/smoldot/index.d.mts +14 -0
- package/packages/client/dist/smoldot/index.d.ts +14 -0
- package/packages/client/dist/smoldot/index.js +2 -0
- package/packages/client/dist/smoldot/index.mjs +2 -0
- package/packages/client/dist/smoldot/worker/index.d.mts +1 -0
- package/packages/client/dist/smoldot/worker/index.d.ts +1 -0
- package/packages/client/dist/smoldot/worker/index.js +2 -0
- package/packages/client/dist/smoldot/worker/index.mjs +2 -0
- package/packages/core/.papi/descriptors/dist/common-types.d.ts +21274 -0
- package/packages/core/.papi/descriptors/dist/descriptors-EQXQJ7SL.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/descriptors.d.ts +11 -0
- package/packages/core/.papi/descriptors/dist/hdx.d.ts +366 -0
- package/packages/core/.papi/descriptors/dist/hdx_metadata-XH2Y6EGQ.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/hdx_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/index.d.mts +24579 -0
- package/packages/core/.papi/descriptors/dist/index.d.ts +23 -0
- package/packages/core/.papi/descriptors/dist/index.js +1 -0
- package/packages/core/.papi/descriptors/dist/index.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/kah.d.ts +434 -0
- package/packages/core/.papi/descriptors/dist/kah_metadata-OCBL5LAN.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/kah_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/kusama.d.ts +291 -0
- package/packages/core/.papi/descriptors/dist/kusama_metadata-TGJ43LLG.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/kusama_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/metadataTypes-MIM6CGSL.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/metadataTypes.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/pah.d.ts +434 -0
- package/packages/core/.papi/descriptors/dist/pah_metadata-JG7F7QDO.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/pah_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/paseo.d.ts +291 -0
- package/packages/core/.papi/descriptors/dist/paseo_metadata-5VVMOYKO.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/paseo_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/paseoah.d.ts +242 -0
- package/packages/core/.papi/descriptors/dist/paseoah_metadata-KVQKFE5R.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/paseoah_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/polkadot.d.ts +291 -0
- package/packages/core/.papi/descriptors/dist/polkadot_metadata-ASE5745E.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/polkadot_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/rah.d.ts +434 -0
- package/packages/core/.papi/descriptors/dist/rah_metadata-FL7L2MWD.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/rah_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/rococo.d.ts +291 -0
- package/packages/core/.papi/descriptors/dist/rococo_metadata-CHYQZIV5.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/rococo_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/wah.d.ts +434 -0
- package/packages/core/.papi/descriptors/dist/wah_metadata-M2H6IX7C.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/wah_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/dist/westend.d.ts +291 -0
- package/packages/core/.papi/descriptors/dist/westend_metadata-IAM3KHRQ.mjs +1 -0
- package/packages/core/.papi/descriptors/dist/westend_metadata.d.ts +2 -0
- package/packages/core/.papi/descriptors/package.json +24 -0
- package/packages/core/.papi/metadata/hdx.scale +0 -0
- package/packages/core/.papi/metadata/kah.scale +0 -0
- package/packages/core/.papi/metadata/kusama.scale +0 -0
- package/packages/core/.papi/metadata/pah.scale +0 -0
- package/packages/core/.papi/metadata/paseo.scale +0 -0
- package/packages/core/.papi/metadata/paseoah.scale +0 -0
- package/packages/core/.papi/metadata/polkadot.scale +0 -0
- package/packages/core/.papi/metadata/rah.scale +0 -0
- package/packages/core/.papi/metadata/rococo.scale +0 -0
- package/packages/core/.papi/metadata/wah.scale +0 -0
- package/packages/core/.papi/metadata/westend.scale +0 -0
- package/packages/core/.papi/polkadot-api.json +50 -0
- package/packages/core/dist/index.d.mts +676 -0
- package/packages/core/dist/index.d.ts +676 -0
- package/packages/core/dist/index.js +1 -0
- package/packages/core/dist/index.mjs +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/ksmcc3';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/ksmcc3';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/known-chains/ksmcc3"),module.exports);0&&(module.exports={...require("@polkadot-api/known-chains/ksmcc3")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/ksmcc3_asset_hub';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/ksmcc3_asset_hub';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/known-chains/ksmcc3_asset_hub"),module.exports);0&&(module.exports={...require("@polkadot-api/known-chains/ksmcc3_asset_hub")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/paseo';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/paseo';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/known-chains/paseo"),module.exports);0&&(module.exports={...require("@polkadot-api/known-chains/paseo")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/paseo_asset_hub';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/paseo_asset_hub';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/known-chains/paseo_asset_hub"),module.exports);0&&(module.exports={...require("@polkadot-api/known-chains/paseo_asset_hub")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/polkadot';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/polkadot';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/known-chains/polkadot"),module.exports);0&&(module.exports={...require("@polkadot-api/known-chains/polkadot")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/polkadot_asset_hub';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/polkadot_asset_hub';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/known-chains/polkadot_asset_hub"),module.exports);0&&(module.exports={...require("@polkadot-api/known-chains/polkadot_asset_hub")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/rococo_v2_2';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/rococo_v2_2';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/known-chains/rococo_v2_2"),module.exports);0&&(module.exports={...require("@polkadot-api/known-chains/rococo_v2_2")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/rococo_v2_2_asset_hub';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/rococo_v2_2_asset_hub';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/known-chains/rococo_v2_2_asset_hub"),module.exports);0&&(module.exports={...require("@polkadot-api/known-chains/rococo_v2_2_asset_hub")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/westend2';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/westend2';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/known-chains/westend2"),module.exports);0&&(module.exports={...require("@polkadot-api/known-chains/westend2")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/westend2_asset_hub';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/known-chains/westend2_asset_hub';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/known-chains/westend2_asset_hub"),module.exports);0&&(module.exports={...require("@polkadot-api/known-chains/westend2_asset_hub")});
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Theme } from '@mui/material/styles';
|
|
2
|
+
export { CssThemeVariables, Theme, ThemeOptions, createTheme } from '@mui/material/styles';
|
|
3
|
+
import * as _polkadot_sufficient_assets_core from '@polkadot-sufficient-assets/core';
|
|
4
|
+
import { ResolvedRegister, Api, Config, Chain, Token, ChainId, getTransferExtrinsic, InjectedPolkadotAccount, getXcmTransferExtrinsic } from '@polkadot-sufficient-assets/core';
|
|
5
|
+
export * from '@polkadot-sufficient-assets/core';
|
|
6
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
7
|
+
import react, { ReactNode } from 'react';
|
|
8
|
+
import * as _polkadot_ui_assets_types from '@polkadot-ui/assets/types';
|
|
9
|
+
|
|
10
|
+
interface Props {
|
|
11
|
+
theme: Theme;
|
|
12
|
+
initialAmount?: string;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare const PSADialog: ({ children, theme, initialAmount }: Props) => react_jsx_runtime.JSX.Element;
|
|
16
|
+
declare const PSAForm: ({ theme, initialAmount }: Props) => react_jsx_runtime.JSX.Element;
|
|
17
|
+
|
|
18
|
+
declare const loadFormWidget: (tagName?: string) => Promise<CustomElementConstructor>;
|
|
19
|
+
declare const loadDialogWidget: (tagName?: string) => Promise<CustomElementConstructor>;
|
|
20
|
+
|
|
21
|
+
interface ConfigProvider {
|
|
22
|
+
config: ResolvedRegister['config'];
|
|
23
|
+
children: react.ReactNode;
|
|
24
|
+
}
|
|
25
|
+
declare const ConfigProvider: ({ children, config }: ConfigProvider) => react_jsx_runtime.JSX.Element;
|
|
26
|
+
|
|
27
|
+
type UseApiParameter<config extends Config = ResolvedRegister['config']> = config['sourceChains'][number]['id'];
|
|
28
|
+
declare const useApi: <ChainId extends UseApiParameter>(chainId?: ChainId) => [Api<ChainId>, boolean];
|
|
29
|
+
|
|
30
|
+
type UseChainIdParameter<config extends Config = ResolvedRegister['config']> = config['sourceChains'][number]['id'];
|
|
31
|
+
declare const useChainId: <config extends Config = Config<readonly [_polkadot_sufficient_assets_core.Chain]>>(chainId: UseChainIdParameter<config>) => _polkadot_sufficient_assets_core.Chain | undefined;
|
|
32
|
+
|
|
33
|
+
type UseConfigReturnType<config extends Config = Config> = config;
|
|
34
|
+
declare function useConfig<config extends Config = ResolvedRegister['config']>(): UseConfigReturnType<config>;
|
|
35
|
+
|
|
36
|
+
declare const useExistentialDeposit: (chain?: Chain, token?: Token) => {
|
|
37
|
+
isLoading: boolean;
|
|
38
|
+
value: bigint;
|
|
39
|
+
valueFormatted: string;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
declare const useExtensionInfo: (name: string) => {
|
|
43
|
+
extension: _polkadot_ui_assets_types.ExtensionConfig | undefined;
|
|
44
|
+
Icon: _polkadot_ui_assets_types.ExtensionIcon | null;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
interface TokenBalance {
|
|
48
|
+
isLoading: boolean;
|
|
49
|
+
value: bigint;
|
|
50
|
+
valueFormatted?: string;
|
|
51
|
+
error?: boolean;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
declare const useForeignTokenBalance: (chain?: Chain, token?: Token, address?: string) => TokenBalance;
|
|
55
|
+
|
|
56
|
+
type UseTokenParameter<config extends Config = ResolvedRegister['config']> = config['sourceChains'][number]['id'];
|
|
57
|
+
declare const useToken: <config extends Config = Config<readonly [_polkadot_sufficient_assets_core.Chain]>>(chainId: UseTokenParameter<config>) => {
|
|
58
|
+
token: _polkadot_sufficient_assets_core.Token | undefined;
|
|
59
|
+
feeTokens: _polkadot_sufficient_assets_core.Token[] | undefined;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
declare const useTokenBalance: (token?: Token, address?: string) => TokenBalance;
|
|
63
|
+
|
|
64
|
+
interface UseTransactionReturn {
|
|
65
|
+
tx: ReturnType<typeof getTransferExtrinsic>;
|
|
66
|
+
fee: TokenBalance;
|
|
67
|
+
}
|
|
68
|
+
declare const useTransaction: (api: Api<ChainId>, token?: Token, feeToken?: Token, nativeToken?: Token, amount?: string, from?: string, to?: string) => UseTransactionReturn;
|
|
69
|
+
|
|
70
|
+
interface ITransferContext {
|
|
71
|
+
feeTokens: Token[];
|
|
72
|
+
feeToken: Token;
|
|
73
|
+
token: Token;
|
|
74
|
+
nativeToken: Token;
|
|
75
|
+
chain: Chain;
|
|
76
|
+
changeFeeToken: (token: Token) => void;
|
|
77
|
+
useXcmTransfer: boolean;
|
|
78
|
+
destinationChains: Chain[];
|
|
79
|
+
api: Api<ChainId>;
|
|
80
|
+
isLoaded?: boolean;
|
|
81
|
+
destinationAddress?: string;
|
|
82
|
+
lightClientEnable?: boolean;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
declare function useTransfer(): ITransferContext;
|
|
86
|
+
|
|
87
|
+
type IWalletContext = {
|
|
88
|
+
connected: boolean;
|
|
89
|
+
connectedWallets: string[];
|
|
90
|
+
accounts: InjectedPolkadotAccount[];
|
|
91
|
+
signer: InjectedPolkadotAccount | null;
|
|
92
|
+
setSigner: (account: InjectedPolkadotAccount | null) => void;
|
|
93
|
+
connect: (walletId: string) => Promise<void>;
|
|
94
|
+
disconnect: (walletId: string) => Promise<void>;
|
|
95
|
+
getInjectedWalletIds: () => string[];
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
declare function useWallet(): IWalletContext;
|
|
99
|
+
|
|
100
|
+
interface UseXcmTransactionReturn {
|
|
101
|
+
tx: ReturnType<typeof getXcmTransferExtrinsic> | null;
|
|
102
|
+
fee: TokenBalance;
|
|
103
|
+
}
|
|
104
|
+
declare const useXcmTransaction: (api: Api<ChainId>, token?: Token, feeToken?: Token, nativeToken?: Token, amount?: string, from?: string, to?: string, destChain?: Chain) => UseXcmTransactionReturn;
|
|
105
|
+
|
|
106
|
+
export { ConfigProvider, PSADialog, PSAForm, loadDialogWidget, loadFormWidget, useApi, useChainId, useConfig, useExistentialDeposit, useExtensionInfo, useForeignTokenBalance, useToken, useTokenBalance, useTransaction, useTransfer, useWallet, useXcmTransaction };
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Theme } from '@mui/material/styles';
|
|
2
|
+
export { CssThemeVariables, Theme, ThemeOptions, createTheme } from '@mui/material/styles';
|
|
3
|
+
import * as _polkadot_sufficient_assets_core from '@polkadot-sufficient-assets/core';
|
|
4
|
+
import { ResolvedRegister, Api, Config, Chain, Token, ChainId, getTransferExtrinsic, InjectedPolkadotAccount, getXcmTransferExtrinsic } from '@polkadot-sufficient-assets/core';
|
|
5
|
+
export * from '@polkadot-sufficient-assets/core';
|
|
6
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
7
|
+
import react, { ReactNode } from 'react';
|
|
8
|
+
import * as _polkadot_ui_assets_types from '@polkadot-ui/assets/types';
|
|
9
|
+
|
|
10
|
+
interface Props {
|
|
11
|
+
theme: Theme;
|
|
12
|
+
initialAmount?: string;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare const PSADialog: ({ children, theme, initialAmount }: Props) => react_jsx_runtime.JSX.Element;
|
|
16
|
+
declare const PSAForm: ({ theme, initialAmount }: Props) => react_jsx_runtime.JSX.Element;
|
|
17
|
+
|
|
18
|
+
declare const loadFormWidget: (tagName?: string) => Promise<CustomElementConstructor>;
|
|
19
|
+
declare const loadDialogWidget: (tagName?: string) => Promise<CustomElementConstructor>;
|
|
20
|
+
|
|
21
|
+
interface ConfigProvider {
|
|
22
|
+
config: ResolvedRegister['config'];
|
|
23
|
+
children: react.ReactNode;
|
|
24
|
+
}
|
|
25
|
+
declare const ConfigProvider: ({ children, config }: ConfigProvider) => react_jsx_runtime.JSX.Element;
|
|
26
|
+
|
|
27
|
+
type UseApiParameter<config extends Config = ResolvedRegister['config']> = config['sourceChains'][number]['id'];
|
|
28
|
+
declare const useApi: <ChainId extends UseApiParameter>(chainId?: ChainId) => [Api<ChainId>, boolean];
|
|
29
|
+
|
|
30
|
+
type UseChainIdParameter<config extends Config = ResolvedRegister['config']> = config['sourceChains'][number]['id'];
|
|
31
|
+
declare const useChainId: <config extends Config = Config<readonly [_polkadot_sufficient_assets_core.Chain]>>(chainId: UseChainIdParameter<config>) => _polkadot_sufficient_assets_core.Chain | undefined;
|
|
32
|
+
|
|
33
|
+
type UseConfigReturnType<config extends Config = Config> = config;
|
|
34
|
+
declare function useConfig<config extends Config = ResolvedRegister['config']>(): UseConfigReturnType<config>;
|
|
35
|
+
|
|
36
|
+
declare const useExistentialDeposit: (chain?: Chain, token?: Token) => {
|
|
37
|
+
isLoading: boolean;
|
|
38
|
+
value: bigint;
|
|
39
|
+
valueFormatted: string;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
declare const useExtensionInfo: (name: string) => {
|
|
43
|
+
extension: _polkadot_ui_assets_types.ExtensionConfig | undefined;
|
|
44
|
+
Icon: _polkadot_ui_assets_types.ExtensionIcon | null;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
interface TokenBalance {
|
|
48
|
+
isLoading: boolean;
|
|
49
|
+
value: bigint;
|
|
50
|
+
valueFormatted?: string;
|
|
51
|
+
error?: boolean;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
declare const useForeignTokenBalance: (chain?: Chain, token?: Token, address?: string) => TokenBalance;
|
|
55
|
+
|
|
56
|
+
type UseTokenParameter<config extends Config = ResolvedRegister['config']> = config['sourceChains'][number]['id'];
|
|
57
|
+
declare const useToken: <config extends Config = Config<readonly [_polkadot_sufficient_assets_core.Chain]>>(chainId: UseTokenParameter<config>) => {
|
|
58
|
+
token: _polkadot_sufficient_assets_core.Token | undefined;
|
|
59
|
+
feeTokens: _polkadot_sufficient_assets_core.Token[] | undefined;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
declare const useTokenBalance: (token?: Token, address?: string) => TokenBalance;
|
|
63
|
+
|
|
64
|
+
interface UseTransactionReturn {
|
|
65
|
+
tx: ReturnType<typeof getTransferExtrinsic>;
|
|
66
|
+
fee: TokenBalance;
|
|
67
|
+
}
|
|
68
|
+
declare const useTransaction: (api: Api<ChainId>, token?: Token, feeToken?: Token, nativeToken?: Token, amount?: string, from?: string, to?: string) => UseTransactionReturn;
|
|
69
|
+
|
|
70
|
+
interface ITransferContext {
|
|
71
|
+
feeTokens: Token[];
|
|
72
|
+
feeToken: Token;
|
|
73
|
+
token: Token;
|
|
74
|
+
nativeToken: Token;
|
|
75
|
+
chain: Chain;
|
|
76
|
+
changeFeeToken: (token: Token) => void;
|
|
77
|
+
useXcmTransfer: boolean;
|
|
78
|
+
destinationChains: Chain[];
|
|
79
|
+
api: Api<ChainId>;
|
|
80
|
+
isLoaded?: boolean;
|
|
81
|
+
destinationAddress?: string;
|
|
82
|
+
lightClientEnable?: boolean;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
declare function useTransfer(): ITransferContext;
|
|
86
|
+
|
|
87
|
+
type IWalletContext = {
|
|
88
|
+
connected: boolean;
|
|
89
|
+
connectedWallets: string[];
|
|
90
|
+
accounts: InjectedPolkadotAccount[];
|
|
91
|
+
signer: InjectedPolkadotAccount | null;
|
|
92
|
+
setSigner: (account: InjectedPolkadotAccount | null) => void;
|
|
93
|
+
connect: (walletId: string) => Promise<void>;
|
|
94
|
+
disconnect: (walletId: string) => Promise<void>;
|
|
95
|
+
getInjectedWalletIds: () => string[];
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
declare function useWallet(): IWalletContext;
|
|
99
|
+
|
|
100
|
+
interface UseXcmTransactionReturn {
|
|
101
|
+
tx: ReturnType<typeof getXcmTransferExtrinsic> | null;
|
|
102
|
+
fee: TokenBalance;
|
|
103
|
+
}
|
|
104
|
+
declare const useXcmTransaction: (api: Api<ChainId>, token?: Token, feeToken?: Token, nativeToken?: Token, amount?: string, from?: string, to?: string, destChain?: Chain) => UseXcmTransactionReturn;
|
|
105
|
+
|
|
106
|
+
export { ConfigProvider, PSADialog, PSAForm, loadDialogWidget, loadFormWidget, useApi, useChainId, useConfig, useExistentialDeposit, useExtensionInfo, useForeignTokenBalance, useToken, useTokenBalance, useTransaction, useTransfer, useWallet, useXcmTransaction };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var an=Object.create;var Ke=Object.defineProperty;var sn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var cn=Object.getPrototypeOf,dn=Object.prototype.hasOwnProperty;var fn=(e,t)=>{for(var o in t)Ke(e,o,{get:t[o],enumerable:!0})},Oe=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ln(t))!dn.call(e,r)&&r!==o&&Ke(e,r,{get:()=>t[r],enumerable:!(n=sn(t,r))||n.enumerable});return e},ue=(e,t,o)=>(Oe(e,t,"default"),o&&Oe(o,t,"default")),a=(e,t,o)=>(o=e!=null?an(cn(e)):{},Oe(t||!e||!e.__esModule?Ke(o,"default",{value:e,enumerable:!0}):o,e)),pn=e=>Oe(Ke({},"__esModule",{value:!0}),e);var se={};fn(se,{ConfigProvider:()=>Le,PSADialog:()=>tn,PSAForm:()=>on,createTheme:()=>nn.createTheme,loadDialogWidget:()=>Mn,loadFormWidget:()=>Ln,useApi:()=>Z,useChainId:()=>Vt,useConfig:()=>E,useExistentialDeposit:()=>ge,useExtensionInfo:()=>Ae,useForeignTokenBalance:()=>Je,useToken:()=>Qe,useTokenBalance:()=>L,useTransaction:()=>tt,useTransfer:()=>ee,useWallet:()=>w,useXcmTransaction:()=>rt});module.exports=pn(se);var nn=require("@mui/material/styles");ue(se,require("@polkadot-sufficient-assets/core"),module.exports);var Nt=a(require("@r2wc/react-to-web-component"));var Yo=a(require("@mui/material/Dialog")),qo=a(require("@mui/material/DialogContent")),jt=require("@mui/material/styles");var eo=require("react");var at=require("@polkadot-sufficient-assets/core"),_=require("react");var Ot=require("@polkadot-sufficient-assets/core"),De=require("react");var Ht=require("react");function E(){let e=(0,Ht.useContext)(It);if(!e)throw new Error("Config not found");return e}var mn=e=>{let[t,o]=(0,De.useState)(),[n,r]=(0,De.useState)(!1),{sourceChains:c,lightClients:f,destinationChains:s}=E();return(0,De.useEffect)(()=>{(async()=>{if(e)try{r(!1),await(0,Ot.getApi)(e,[...c,...s??[]],!0,f).then(h=>o(h)),r(!0)}catch(h){r(!1),console.error(h)}})()},[e,s,c]),[t,n]},Z=mn;var Kt=require("react");var un=e=>{let{sourceChains:t}=E();return(0,Kt.useMemo)(()=>t.find(o=>o.id===e),[t,e])},Vt=un;var Ve=require("@polkadot-sufficient-assets/core"),_e=require("react");var ge=(e,t)=>{let[o,n]=(0,_e.useState)({isLoading:!0,value:0n,valueFormatted:"0"}),[r,c]=Z(e?.id);return(0,_e.useEffect)(()=>{if(!t||!c)return;(async()=>{let s=await(0,Ve.getExistentialDeposit)(t,r);n({isLoading:!1,value:s??0n,valueFormatted:(0,Ve.formatBalance)(s,t?.decimals??12)})})()},[t,c]),o};var Gt=require("react");var Ge=require("@polkadot-ui/assets/extensions"),_t=e=>({extension:Ge.Extensions[e],Icon:(0,Ge.getExtensionIcon)(e)});var Ae=e=>(0,Gt.useMemo)(()=>_t(e),[e]);var Ye=require("@polkadot-sufficient-assets/core"),qe=require("react");var Je=(e,t,o)=>{let[n,r]=(0,qe.useState)({isLoading:!0,value:0n,valueFormatted:"0",error:!0}),[c,f]=Z(e?.id);return(0,qe.useEffect)(()=>{if(!o||!f||!t)return;let s=(0,Ye.subscribeTokenBalance)(c,t,o,d=>{r({value:d??0n,isLoading:!1,valueFormatted:(0,Ye.formatBalance)(d?.toString(),t?.decimals??12),error:!1})});return()=>{s?.unsubscribe()}},[o,t,f]),n};var Yt=require("react");var Qe=e=>{let{tokens:t}=E();return(0,Yt.useMemo)(()=>t?{token:t[e]?.token,feeTokens:t[e]?.feeTokens}:{token:void 0,feeTokens:[]},[t,e])};var Ze=require("@polkadot-sufficient-assets/core"),et=require("react");var qt=require("react");function ee(){let e=(0,qt.useContext)(At);if(!e)throw new Error("TransferProvider not found");return e}var L=(e,t)=>{let[o,n]=(0,et.useState)({isLoading:!0,value:0n,valueFormatted:"0",error:!0}),{api:r,isLoaded:c}=ee();return(0,et.useEffect)(()=>{if(!t||!c||!e)return;let f=(0,Ze.subscribeTokenBalance)(r,e,t,s=>{n({value:s??0n,isLoading:!1,valueFormatted:(0,Ze.formatBalance)(s?.toString(),e?.decimals??12),error:!1})});return()=>{f?.unsubscribe()}},[t,e,c]),o};var K=require("@polkadot-sufficient-assets/core"),he=require("react"),tt=(e,t,o,n,r,c,f)=>{let[s,d]=(0,he.useState)({isLoading:!1,value:0n,valueFormatted:"0"}),h=(0,he.useMemo)(()=>!e||!f||!r||!t?null:(0,K.getTransferExtrinsic)(e,t,r,f),[e,r,f,t]),y=(0,he.useMemo)(()=>!e||!f||!r||!t?null:(0,K.getTransferExtrinsic)(e,t,"100",f),[e,r,f,t]);return(0,he.useEffect)(()=>{if(!y||!c||!t)return;(async()=>{try{d({isLoading:!0,value:0n,valueFormatted:"0",error:!1});let k=await y.getEstimatedFees(c,{asset:o?(0,K.getFeeAssetLocation)(o,e.chainId):void 0}),u=await(0,K.getAssetConvertPlancks)(e,{nativeToken:n,plancks:k,tokenIn:n,tokenOut:o})??0n;d({isLoading:!1,value:u,valueFormatted:(0,K.formatBalance)(u.toString(),o?.decimals??12),error:!1})}catch(k){d({isLoading:!1,value:0n,valueFormatted:"0",error:!0}),console.log(k)}})()},[y,c,o]),{tx:h,fee:s}};var Qt=require("react");var ot=require("@polkadot-sufficient-assets/core"),R=require("react"),Jt=require("react/jsx-runtime"),St=(0,R.createContext)(null),gn=({children:e})=>{let t=(0,R.useRef)(ot.wallet).current,[o,n]=(0,R.useState)(null),[r,c]=(0,R.useState)(t.isConnected),[f,s]=(0,R.useState)([]);(0,R.useEffect)(()=>{r&&(ot.wallet.getAllConnectedAccounts().then(y=>{s(y)}),ot.wallet.subscribeAccounts(y=>{let m=y.reduce((k,x)=>(f.find(u=>u.address===x.address&&u.wallet===x.wallet)||k.push(x),k),f);s(m)}))},[r]);let d=async y=>{try{await t.connect(y);let m=await t.getAllConnectedAccounts();c(!0),s(m)}catch(m){console.error("Failed to connect wallet",m)}},h=async y=>{try{await t.disconnect(y);let m=await t.getAllConnectedAccounts();c(t.isConnected),s(m)}catch(m){console.error("Failed to disconnect wallet",m)}};return(0,Jt.jsx)(St.Provider,{value:{connectedWallets:t.connectedWalletIds,signer:o,setSigner:n,connect:d,disconnect:h,connected:r,accounts:f,getInjectedWalletIds:()=>t.getInjectedWalletIds()},children:e})},nt=(0,R.memo)(gn);function w(){let e=(0,Qt.useContext)(St);if(!e)throw new Error("WalletProvider not found");return e}var V=require("@polkadot-sufficient-assets/core"),ye=require("react"),rt=(e,t,o,n,r,c,f,s)=>{let[d,h]=(0,ye.useState)({isLoading:!1,value:0n,valueFormatted:"0"}),y=(0,ye.useMemo)(()=>!e||!f||!r||!t||!s?null:(0,V.getXcmTransferExtrinsic)(e,t,r,f,s),[e,r,f,t,s]),m=(0,ye.useMemo)(()=>!e||!f||!t||!s?null:(0,V.getXcmTransferExtrinsic)(e,t,"100",f,s),[e,f,t,s]);return(0,ye.useEffect)(()=>{if(!m||!c||!t)return;(async()=>{try{h({isLoading:!0,value:0n,valueFormatted:"0",error:!1});let x=o?(0,V.getFeeAssetLocation)(o,e.chainId):void 0,u=await m.getEstimatedFees(c,{asset:x}),B=await(0,V.getAssetConvertPlancks)(e,{nativeToken:n,plancks:u,tokenIn:n,tokenOut:o})??0n;h({isLoading:!1,value:B,valueFormatted:(0,V.formatBalance)(B.toString(),o?.decimals??12),error:!1})}catch(x){h({isLoading:!1,value:0n,valueFormatted:"0",error:!0}),console.log(x)}})()},[m,c,o]),{tx:y,fee:d}};var Et=require("react/jsx-runtime"),At=(0,_.createContext)(null),hn=({children:e})=>{let{sourceChains:t,useXcmTransfer:o,destinationChains:n,destinationAddress:r,lightClients:c}=E(),[f]=(0,_.useState)(t[0]),s=f.id,{feeTokens:d,token:h}=Qe(s),[y,m]=(0,_.useState)(),[k,x]=Z(s);return(0,_.useEffect)(()=>{y||!d||m(d?.[0])},[y,d]),(0,Et.jsx)(At.Provider,{value:{api:k,isLoaded:x,changeFeeToken:m,feeToken:y??at.tokens.DOT,feeTokens:d??[],nativeToken:d?.find(u=>u.type==="native")??at.tokens.DOT,token:h??at.tokens.DOT,chain:t[0],useXcmTransfer:!!o,destinationChains:n??[],destinationAddress:r,lightClientEnable:c?.enable},children:(0,Et.jsx)(nt,{children:e})})},Zt=(0,_.memo)(hn);var it=require("react/jsx-runtime"),It=(0,eo.createContext)(null),Le=({children:e,config:t})=>(0,it.jsx)(It.Provider,{value:t,children:(0,it.jsx)(nt,{children:(0,it.jsx)(Zt,{children:e})})});var Fo=a(require("@mui/icons-material/BorderColor")),Ft=a(require("@mui/material/Alert")),Do=a(require("@mui/material/AlertTitle")),Ce=a(require("@mui/material/Box")),Lo=a(require("@mui/material/Button")),Mo=a(require("@mui/material/Grow")),jo=a(require("@mui/material/IconButton")),zo=a(require("@mui/material/InputAdornment")),No=a(require("@mui/material/Snackbar")),ve=a(require("@mui/material/Stack")),Uo=a(require("@mui/material/TextField")),ne=a(require("@mui/material/Typography")),be=require("@polkadot-sufficient-assets/core"),q=require("react");var Me=(e,t=12)=>typeof e!="string"?"":e.length<t*2?e:`${e.slice(0,t)}...${e.slice(-t)}`,yn=e=>{if(!e)return!1;let t=e.split("");return!(isNaN(Number(e))||t[0]==="0"&&Number(t[1])>0||e.startsWith("-"))},xn=(e,t=10)=>{let o=parseFloat(e);if(Number.isNaN(o))return e;let[n,r]=e.split(".");return r&&r.length>t&&(r=r.substring(0,t)),r?`${n}.${r}`:n},st=(e,t=10)=>{let o=e.split("");return yn(e)?Number(e)>1e9?o?.splice(0,o.length-1).join(""):xn(e,t):o.splice(1,o?.length).join("")};var no=a(require("@mui/material/Typography"));var to=a(require("@mui/icons-material/DataUsageOutlined")),oo=require("react/jsx-runtime"),kn=({sx:e,...t})=>(0,oo.jsx)(to.default,{sx:{animation:"spin 1s linear infinite","@keyframes spin":{"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}},...e},...t}),W=kn;var Se=require("react/jsx-runtime"),Tn=({isLoading:e,isError:t,balance:o,symbol:n})=>(0,Se.jsx)(Se.Fragment,{children:e&&!t?(0,Se.jsx)(W,{}):(0,Se.jsx)(no.default,{variant:"subtitle2",children:`${t?"-":o} ${n||"USD"}`})}),G=Tn;var ro=a(require("@mui/material/Button"));var ct=require("react/jsx-runtime"),Cn=({loading:e,children:t,sx:o,...n})=>(0,ct.jsxs)(ro.default,{...n,sx:{minHeight:50,textTransform:"capitalize",...o},fullWidth:!0,variant:"contained",children:[t,e&&(0,ct.jsx)(W,{sx:{ml:1}})]}),lt=Cn;var io=a(require("@mui/icons-material/Clear")),so=a(require("@mui/icons-material/KeyboardArrowDown")),lo=a(require("@mui/material/Box")),co=a(require("@mui/material/Button")),ft=require("react");var ao=a(require("@mui/material/Box"));var dt=require("react/jsx-runtime"),vn=({size:e=24,walletId:t})=>{let{Icon:o,extension:n}=Ae(t);return o?(0,dt.jsx)(ao.default,{width:e,height:e,children:(0,dt.jsx)(o,{style:{flexShrink:1}})}):(0,dt.jsx)("div",{children:n?.title.charAt(0)})},Ee=vn;var xe=require("react/jsx-runtime"),bn=(0,ft.forwardRef)(({onClear:e,account:t,...o},n)=>{let{connected:r}=w(),c=(0,ft.useMemo)(()=>r?t&&t?.address?t.wallet?(0,xe.jsxs)(lo.default,{display:"flex",alignItems:"center",justifyContent:"start",gap:1,children:[Me(t.address,7),(0,xe.jsx)(Ee,{size:18,walletId:t.wallet})]}):Me(t.address,7):"Select Account":"Connect Wallet",[t,r]);return(0,xe.jsx)(co.default,{sx:{justifyContent:"space-between",textTransform:"capitalize",fontWeight:400,fontSize:14,minHeight:50},endIcon:t?e?(0,xe.jsx)(io.default,{onClick:e}):null:(0,xe.jsx)(so.default,{}),ref:n,variant:"outlined",fullWidth:!0,...o,children:c})}),te=bn;var fo=a(require("@mui/icons-material/Close")),Rt=a(require("@mui/material/Box")),po=a(require("@mui/material/Button")),mo=a(require("@mui/material/Dialog")),uo=a(require("@mui/material/DialogContent")),go=a(require("@mui/material/Typography")),pt=a(require("react")),F=require("react/jsx-runtime"),Pn=({children:e,currentToken:t,feeTokens:o,selectToken:n})=>{let[r,c]=(0,pt.useState)(!1),f=s=>{n(s),c(!1)};return(0,F.jsxs)(F.Fragment,{children:[pt.default.cloneElement(e,{onClick:()=>c(!0)}),(0,F.jsx)(mo.default,{PaperProps:{sx:{width:"400px",borderRadius:"4px"}},sx:{zIndex:9999},open:r,onClose:()=>c(!1),children:(0,F.jsxs)(uo.default,{sx:{padding:2},children:[(0,F.jsxs)(Rt.default,{sx:{display:"flex",justifyContent:"space-between"},children:[(0,F.jsx)(go.default,{sx:{fontWeight:700,mb:2},children:"Select Token Fee"}),(0,F.jsx)(fo.default,{sx:{cursor:"pointer"},onClick:()=>c(!1)})]}),(0,F.jsx)(Rt.default,{sx:{display:"block",maxHeight:"20rem",overflowY:"auto"},children:o?.map(s=>(0,F.jsx)(po.default,{variant:t?.name===s?.name?"contained":"outlined",onClick:()=>f(s),fullWidth:!0,sx:{border:"1px solid #999",borderRadius:"8px",padding:2,mt:1},children:s?.symbol},s.name))})]})})]})},mt=Pn;var Bo=a(require("@mui/icons-material/Close")),Io=a(require("@mui/icons-material/Send")),Y=a(require("@mui/material/Box")),Ao=a(require("@mui/material/Button")),So=a(require("@mui/material/Dialog")),Eo=a(require("@mui/material/DialogContent")),Ro=a(require("@mui/material/Input")),ze=a(require("@mui/material/Stack")),wo=require("@mui/material/styles"),ke=a(require("@mui/material/Typography")),Wo=require("@polkadot-sufficient-assets/core"),Te=a(require("react"));var wt=a(require("@mui/material/Box")),ho=a(require("@mui/material/Button")),yo=require("@mui/material/styles"),xo=a(require("@mui/material/Typography")),ko=require("react");var oe=require("react/jsx-runtime"),Bn=({name:e})=>{let t=(0,yo.useTheme)(),[o,n]=(0,ko.useState)(!1),{connect:r,disconnect:c,connectedWallets:f}=w(),{extension:s}=Ae(e),d=f.includes(e);return(0,oe.jsxs)(ho.default,{onClick:async()=>{try{n(!0),d?await c(e):await r(e),n(!1)}catch(y){n(!1),console.log(y)}},sx:{minHeight:50},variant:"outlined",disabled:o,fullWidth:!0,children:[(0,oe.jsxs)(wt.default,{sx:{display:"flex",flexGrow:1,gap:2,alignItems:"center"},children:[(0,oe.jsx)(Ee,{walletId:e}),(0,oe.jsx)(xo.default,{variant:"h3",sx:{fontSize:14,fontWeight:700,textTransform:"capitalize"},children:s?.title})]}),o?(0,oe.jsx)(W,{}):(0,oe.jsx)(wt.default,{sx:{width:12,height:12,borderRadius:"50%",backgroundColor:d?t.palette.success.main:t.palette.error.main}})]})},To=Bn;var Wt=a(require("@mui/material/Box")),Co=a(require("@mui/material/Button")),ut=a(require("@mui/material/Typography"));var U=require("react/jsx-runtime"),In=({token:e,account:t,onClick:o})=>{let{valueFormatted:n,isLoading:r}=L(e,t.address);return(0,U.jsxs)(Co.default,{onClick:o,fullWidth:!0,variant:"outlined",children:[(0,U.jsxs)(Wt.default,{sx:{flexGrow:1},children:[(0,U.jsxs)(Wt.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,U.jsx)(ut.default,{variant:"subtitle2",fontWeight:700,children:t.name}),(0,U.jsx)(Ee,{size:18,walletId:t.wallet})]}),(0,U.jsx)(ut.default,{textAlign:"start",variant:"subtitle2",children:Me(t.address,8)})]}),(0,U.jsx)(ut.default,{textAlign:"end",variant:"caption",fontWeight:700,children:r?(0,U.jsx)(W,{}):`${n} ${e?.symbol}`})]})},vo=In;var bo=a(require("@mui/material/Skeleton")),je=require("react/jsx-runtime"),An=({length:e=4})=>{let t=Math.max(e,0);return(0,je.jsx)(je.Fragment,{children:Array.from({length:t}).map((o,n)=>(0,je.jsx)(bo.default,{variant:"rounded",width:"100%",height:65,sx:{mt:1}},n))})},Po=An;var p=require("react/jsx-runtime"),Sn=({children:e,exclude:t,token:o,withInput:n,onChange:r})=>{let c=(0,wo.useTheme)(),[f,s]=(0,Te.useState)(!1),[d,h]=(0,Te.useState)(""),{accounts:y,connectedWallets:m,getInjectedWalletIds:k}=w(),x=g=>{r?.(g),u()},u=()=>{s(!1)},S=(0,Te.useMemo)(()=>d?(0,Wo.isValidAddress)(d):!0,[d]),B=()=>{d&&S&&(r({address:d}),u())};return(0,p.jsxs)(p.Fragment,{children:[Te.default.cloneElement(e,{onClick:()=>s(!0)}),(0,p.jsx)(So.default,{PaperProps:{sx:{width:"400px",borderRadius:1}},open:f,onClose:u,children:(0,p.jsx)(Eo.default,{sx:{padding:0},children:(0,p.jsxs)(Y.default,{sx:{display:"block",height:"100%"},children:[(0,p.jsxs)(ze.default,{direction:"row",justifyContent:"space-between",px:1.5,mt:3,mb:1,children:[(0,p.jsx)(ke.default,{variant:"h3",sx:{fontSize:20,fontWeight:700},children:"Select account"}),(0,p.jsx)(Bo.default,{sx:{cursor:"pointer"},onClick:u})]}),(0,p.jsxs)(Y.default,{children:[(0,p.jsxs)(ze.default,{px:1.5,spacing:1,children:[(0,p.jsx)(ke.default,{variant:"body1",fontWeight:600,children:"Connected wallets"}),(0,p.jsx)(ze.default,{spacing:1,children:k()?.map(g=>(0,p.jsx)(To,{name:g},g))})]}),(0,p.jsxs)(Y.default,{mt:1,children:[(0,p.jsxs)(Y.default,{px:1.5,children:[n&&(0,p.jsxs)(Y.default,{children:[(0,p.jsx)(ke.default,{variant:"h3",sx:{fontSize:15,fontWeight:700,mt:3},children:"Custom to address"}),(0,p.jsxs)(Y.default,{sx:{display:"flex",width:"100%",my:1},children:[(0,p.jsxs)(Y.default,{sx:{flexGrow:1},children:[(0,p.jsx)(Ro.default,{value:d,onChange:({target:g})=>h(g.value),placeholder:"Enter address",fullWidth:!0}),!S&&(0,p.jsx)(ke.default,{variant:"h3",fontSize:10,color:c.palette.error.main,mt:1,children:"Invalid address"})]}),(0,p.jsx)(Ao.default,{sx:{outline:"none"},onClick:B,children:(0,p.jsx)(Io.default,{sx:{color:c.palette.primary.main}})})]})]}),(0,p.jsx)(ke.default,{variant:"body1",fontWeight:600,children:"Connected Accounts"})]}),(0,p.jsx)(Y.default,{px:1.5,py:1.5,sx:{maxHeight:"400px",overflowY:"auto"},children:m?.length===0?(0,p.jsx)(ke.default,{m:4,variant:"h3",textAlign:"center",fontSize:14,children:"No address connected"}):(0,p.jsx)(p.Fragment,{children:y.length===0?(0,p.jsx)(Po,{}):(0,p.jsx)(ze.default,{spacing:1,children:y.filter(g=>g.address!==t?.address).map(g=>(0,p.jsx)(vo,{token:o,account:g,onClick:()=>x(g)},g.address+"_"+g.wallet))})})})]})]})]})})})]})},Re=Sn;var l=require("react/jsx-runtime"),En=({initialAmount:e})=>{let{api:t,token:o,feeToken:n,changeFeeToken:r,feeTokens:c,nativeToken:f,chain:s,destinationAddress:d,isLoaded:h,lightClientEnable:y}=ee(),[m,k]=(0,q.useState)(d?{address:d}:null),[x,u]=(0,q.useState)(e??"0"),[S,B]=(0,q.useState)(!1),{signer:g,setSigner:I}=w(),{tx:Ne,fee:C}=tt(t,o,n,f,x,g?.address,m?.address),{valueFormatted:Tt,value:Q,isLoading:b,error:$}=L(o,g?.address),{valueFormatted:Ct,value:le,isLoading:vt,error:bt}=L(n,g?.address),{value:Be,isLoading:Ue}=L(o,m?.address),{value:ce,isLoading:de}=ge(s,o),[fe,H]=(0,q.useState)(),Pt=async()=>{if(!m||!x||!g||!h||!o)return;if(B(!0),!Ne){B(!1);return}let{nonce:v}=await t.query.System.Account.getValue(g.address,{at:"best"});Ne.signAndSubmit(g.polkadotSigner,{asset:n?(0,be.getFeeAssetLocation)(n,t.chainId):void 0,nonce:v,mortality:{mortal:!0,period:64}}).then(A=>{console.log("Transaction successful:",A),u("0"),H({hash:A.txHash,ok:A.ok}),B(!1),setTimeout(()=>{H(void 0)},5200)}).catch(A=>{console.error("Transaction failed:",A),H({hash:"",ok:!1}),B(!1),setTimeout(()=>{H(void 0)},5200)})},z=(v,A="from")=>{A==="from"?I(v):k(v)},N=(0,q.useMemo)(()=>{if(x==="0"||de||b)return null;let v=(0,be.parseUnits)(x,o.decimals),A=n.assetId===o.assetId?C.value:0n,pe=n.assetId===o.assetId?ce:0n;return Q<v?"Insufficient balance":Q<v+A?"Insufficient balance to pay for fee":Q<v+A+pe?"Insufficient balance to keep account alive":null},[x,Q,n,o,C,ce,b]),O=(0,q.useMemo)(()=>{if(x==="0"||de||Ue||Be>ce)return null;let v=ce-Be;return(0,be.parseUnits)(x,o.decimals)<v?`You must transfer at least ${(0,be.formatUnits)(v,o.decimals)} ${o.symbol} to keep the destination account alive`:null},[Be,o,ce,de,Ue,x]),Xe=(0,q.useMemo)(()=>!!N||!!O||!m||!x||!g||!h||!o||x==="0"||!C?.value||!le||S,[m,g,x,h,o,S,n,Q,C.value,le,O,N]),Ie=()=>{H(void 0)};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(No.default,{open:!!fe,autoHideDuration:5e3,onClose:Ie,anchorOrigin:{vertical:"top",horizontal:"right"},TransitionComponent:Mo.default,children:(0,l.jsxs)(Ft.default,{onClose:Ie,severity:fe?.ok?"success":"error",variant:"filled",children:[(0,l.jsxs)(Do.default,{children:["Transaction executed ",fe?.ok?"successful":"failed","!"]}),fe?.hash?(0,l.jsx)(Ce.default,{display:"flex",justifyContent:"flex-end",children:(0,l.jsx)(Lo.default,{onClick:()=>window.open(`${s.blockExplorerUrl}/extrinsic/${fe?.hash}`),color:"inherit",size:"small",variant:"outlined",sx:{fontSize:10},children:"View on Explorer"})}):null]})}),(0,l.jsxs)(Ce.default,{children:[(0,l.jsxs)(ve.default,{spacing:2,children:[(0,l.jsx)(ne.default,{children:"From"}),(0,l.jsx)(Re,{token:o,exclude:m,onChange:v=>z(v,"from"),children:(0,l.jsx)(te,{onClear:()=>z(null,"from"),account:g})})]}),(0,l.jsxs)(ve.default,{spacing:2,mt:2,children:[(0,l.jsx)(ne.default,{children:"To"}),d?(0,l.jsx)(te,{account:m}):(0,l.jsx)(Re,{token:o,exclude:g,withInput:!0,onChange:v=>z(v,"to"),children:(0,l.jsx)(te,{onClear:()=>z(null,"to"),account:m})})]}),(0,l.jsxs)(ve.default,{spacing:1,mt:2,children:[(0,l.jsxs)(ve.default,{direction:"row",justifyContent:"space-between",children:[(0,l.jsx)(ne.default,{children:"Tokens"}),(0,l.jsxs)(Ce.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,l.jsx)("img",{style:{width:24,height:24},src:s?.logo,alt:""}),(0,l.jsx)(ne.default,{variant:"subtitle2",children:s?.name})]})]}),(0,l.jsxs)(ve.default,{spacing:2,children:[(0,l.jsx)(Uo.default,{disabled:S,value:x,onChange:({target:v})=>u(st(v.value,o?.decimals)),type:"number",placeholder:"0",slotProps:{input:{endAdornment:(0,l.jsx)(zo.default,{position:"end",children:o?.symbol})}},sx:{minHeight:50,"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button":{display:"none"},"& input[type=number]":{MozAppearance:"textfield"}},fullWidth:!0}),(0,l.jsx)(ve.default,{direction:"row",justifyContent:"end",children:(0,l.jsx)(G,{balance:Tt,symbol:o?.symbol,isLoading:b,isError:!!$})})]})]}),(0,l.jsx)(lt,{onClick:Pt,loading:S||!h,disabled:Xe,fullWidth:!0,variant:"contained",sx:{mt:2},children:!h&&y?"Synchronizing light clients":"Transfer"}),(N||O)&&(0,l.jsx)(Ft.default,{sx:{my:2},severity:"error",children:N||O}),(0,l.jsxs)(Ce.default,{sx:{display:"flex",justifyContent:"space-between",mt:3},children:[(0,l.jsx)(ne.default,{variant:"subtitle2",children:"Balance"}),(0,l.jsx)(G,{balance:Ct,symbol:n?.symbol,isLoading:vt,isError:!!bt})]}),(0,l.jsxs)(Ce.default,{sx:{display:"flex",justifyContent:"space-between",mt:1},children:[(0,l.jsx)(ne.default,{variant:"subtitle2",children:"Transaction fee"}),(0,l.jsxs)(Ce.default,{sx:{display:"flex",alignItems:"center"},children:[c?.length>1&&(0,l.jsx)(mt,{currentToken:n,feeTokens:c,selectToken:r,children:(0,l.jsx)(jo.default,{size:"small",children:(0,l.jsx)(Fo.default,{sx:{width:16}})})}),C.isLoading?(0,l.jsx)(W,{}):(0,l.jsx)(l.Fragment,{children:C?.error?(0,l.jsx)(ne.default,{variant:"subtitle2",children:"Can't estimate fee"}):(0,l.jsx)(G,{balance:C?.valueFormatted,symbol:n?.symbol,isLoading:C?.isLoading,isError:C?.valueFormatted==="0"&&!C.isLoading})})]})]})]})]})},Xo=En;var $o=a(require("@mui/icons-material/BorderColor")),gt=a(require("@mui/material/Alert")),Ho=a(require("@mui/material/AlertTitle")),re=a(require("@mui/material/Box")),Dt=a(require("@mui/material/Button")),Oo=a(require("@mui/material/Grow")),Ko=a(require("@mui/material/IconButton")),Vo=a(require("@mui/material/InputAdornment")),Lt=a(require("@mui/material/MenuItem")),_o=a(require("@mui/material/Snackbar")),ae=a(require("@mui/material/Stack")),ht=a(require("@mui/material/TextField")),Pe=a(require("@mui/material/Typography")),M=require("@polkadot-sufficient-assets/core"),D=require("react");var i=require("react/jsx-runtime"),Rn=({initialAmount:e})=>{let{destinationChains:t,api:o,token:n,feeToken:r,changeFeeToken:c,feeTokens:f,nativeToken:s,chain:d,isLoaded:h,destinationAddress:y,lightClientEnable:m}=ee(),[k,x]=(0,D.useState)(y?{address:y}:null),[u,S]=(0,D.useState)(e??"0"),[B,g]=(0,D.useState)(!1),{signer:I,setSigner:Ne}=w(),[C,Tt]=(0,D.useState)(t?.[0]),{tx:Q,fee:b}=rt(o,n,r,s,u,I?.address,k?.address,C),{value:$,valueFormatted:Ct,isLoading:le,error:vt}=L(n,I?.address),{valueFormatted:bt,value:Be,isLoading:Ue,error:ce}=L(r,I?.address),{value:de,valueFormatted:fe,isLoading:H,error:Pt}=Je(C,n,k?.address),[z,N]=(0,D.useState)(),{value:O,isLoading:Xe}=ge(d,n),{value:Ie,isLoading:v}=ge(C,n),A=async()=>{if(!k||!u||!I||!h||!n)return;if(g(!0),!Q){g(!1);return}let{nonce:T}=await o.query.System.Account.getValue(I.address,{at:"best"});Q.signAndSubmit(I.polkadotSigner,{asset:r?(0,M.getFeeAssetLocation)(r,o.chainId):void 0,nonce:T,mortality:{mortal:!0,period:64}}).then(P=>{console.log("Transaction successful:",P),S("0"),N({hash:P.txHash,ok:P.ok}),g(!1),setTimeout(()=>{N(void 0)},5200)}).catch(P=>{console.error("Transaction failed:",P),N({hash:"",ok:!1}),g(!1),setTimeout(()=>{N(void 0)},5200)})},pe=(T,P="from")=>{P==="from"?Ne(T):x(T)},Ut=(0,D.useMemo)(()=>{if(le||b.isLoading||Xe)return 0;let T=r.assetId===n.assetId?b.value:0n,P=r.assetId===n.assetId?O:0n,me="0.2";return C&&(me=n.minEd?.[C?.id]??"0.2"),$-T-P-(0,M.parseUnits)(String(me),n.decimals)},[$,d,b.value,O]),$e=(0,D.useMemo)(()=>{if(u==="0"||Xe||le)return null;let T=(0,M.parseUnits)(u,n.decimals),P=r.assetId===n.assetId?b.value:0n,me="0.2";C&&(me=n.minEd?.[C?.id]??"0.2");let $t=r.assetId===n.assetId?O+(0,M.parseUnits)(String(me),n.decimals):0n;return $<T?"Insufficient balance":$<T+P?"Insufficient balance to pay for fee":$<T+P+$t?"Insufficient balance to keep account alive":null},[u,$,C,r,n,b,O,le]),He=(0,D.useMemo)(()=>{if(u==="0"||v||H||!k||!C||de>Ie)return null;let T=Ie-de;if((0,M.parseUnits)(u,n.decimals)<T){let me=n.minEd?.[C?.id]??"0.2";return`You must transfer at least ${(0,M.formatUnits)(T+(0,M.parseUnits)(String(me),n.decimals),n.decimals)} ${n.symbol} to keep the destination account alive`}return null},[de,n,C,k,Ie,v,H,u]),Bt=(0,D.useMemo)(()=>{if(!k||!I)return null;if(k.address!==I.address)return"Transferring assets to CEX through XCM directly will result in loss of funds. Please send them to your address on the relevant network first."},[I,k]),rn=(0,D.useMemo)(()=>!!$e||!!He||!k||!u||!I||!h||!n||u==="0"||!b?.value||!Be||B,[k,I,u,h,n,B,$,b?.value,Be,He,$e]),Xt=()=>{N(void 0)};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(_o.default,{open:!!z,autoHideDuration:5e3,onClose:Xt,anchorOrigin:{vertical:"top",horizontal:"right"},TransitionComponent:Oo.default,children:(0,i.jsxs)(gt.default,{onClose:Xt,severity:z?.ok?"success":"error",variant:"filled",children:[(0,i.jsxs)(Ho.default,{children:["Transaction executed ",z?.ok?"successful":"failed","!"]}),z?.hash?(0,i.jsx)(re.default,{display:"flex",justifyContent:"flex-end",children:(0,i.jsx)(Dt.default,{onClick:()=>window.open(`${d.blockExplorerUrl}/extrinsic/${z?.hash}`),color:"inherit",size:"small",variant:"outlined",sx:{fontSize:10},children:"View on Explorer"})}):null]})}),(0,i.jsxs)(re.default,{mt:2,children:[(0,i.jsxs)(ae.default,{spacing:1.5,mt:2,children:[(0,i.jsxs)(re.default,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,i.jsx)(Pe.default,{children:"From"}),(0,i.jsx)(ht.default,{label:"From chain",placeholder:"Select chain",select:!0,size:"small",sx:{minWidth:"140px"},value:d.id,children:(0,i.jsx)(Lt.default,{value:d.id,children:d.name})})]}),(0,i.jsx)(Re,{token:n,onChange:T=>pe(T,"from"),children:(0,i.jsx)(te,{onClear:()=>pe(null,"from"),account:I})}),(0,i.jsx)(ae.default,{direction:"row",justifyContent:"end",children:(0,i.jsx)(G,{balance:Ct,symbol:n?.symbol,isLoading:le,isError:!!vt})})]}),(0,i.jsxs)(ae.default,{spacing:1.5,mt:2,children:[(0,i.jsxs)(re.default,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,i.jsx)(Pe.default,{children:"To"}),(0,i.jsx)(ht.default,{value:C?.id,onChange:T=>Tt(t.find(P=>P.id===T.target.value)),select:!0,size:"small",sx:{minWidth:"140px"},label:"To chain",placeholder:"Select chain",children:t.map(T=>(0,i.jsx)(Lt.default,{value:T.id,children:T.name},T.id))})]}),y?(0,i.jsx)(te,{account:k}):(0,i.jsx)(Re,{token:n,withInput:!0,onChange:T=>pe(T,"to"),children:(0,i.jsx)(te,{onClear:()=>pe(null,"to"),account:k})}),(0,i.jsx)(ae.default,{direction:"row",justifyContent:"end",children:(0,i.jsx)(G,{balance:fe,symbol:n?.symbol,isLoading:H,isError:!!Pt})})]}),(0,i.jsxs)(ae.default,{spacing:1,mt:2,children:[(0,i.jsxs)(ae.default,{direction:"row",justifyContent:"space-between",children:[(0,i.jsx)(Pe.default,{children:"Tokens"}),(0,i.jsx)(Dt.default,{onClick:()=>S((0,M.formatUnits)(Ut,n.decimals)),variant:"outlined",size:"small",disabled:Ut<0,children:"Max"})]}),(0,i.jsx)(ae.default,{spacing:.5,children:(0,i.jsx)(ht.default,{disabled:B,value:u,onChange:({target:T})=>S(st(T.value,n?.decimals)),type:"number",placeholder:"0",slotProps:{input:{endAdornment:(0,i.jsx)(Vo.default,{position:"end",children:n?.symbol})}},sx:{minHeight:50,"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button":{display:"none"},"& input[type=number]":{MozAppearance:"textfield"}},fullWidth:!0})})]}),(0,i.jsx)(lt,{onClick:A,loading:B||!h,disabled:rn,fullWidth:!0,variant:"contained",sx:{my:2},children:!h&&m?"Synchronizing light clients":"Transfer"}),($e||He)&&(0,i.jsx)(gt.default,{sx:{mb:Bt?1:2},severity:"error",children:He||$e}),Bt&&(0,i.jsx)(gt.default,{sx:{mb:2},severity:"warning",children:Bt}),(0,i.jsxs)(re.default,{sx:{display:"flex",justifyContent:"space-between",mt:2},children:[(0,i.jsx)(Pe.default,{variant:"subtitle2",children:"Balance"}),(0,i.jsx)(G,{balance:bt,symbol:r?.symbol,isLoading:Ue,isError:!!ce})]}),(0,i.jsxs)(re.default,{sx:{display:"flex",justifyContent:"space-between"},children:[(0,i.jsx)(Pe.default,{variant:"subtitle2",children:"Transaction fee"}),(0,i.jsxs)(re.default,{sx:{display:"flex",alignItems:"center"},children:[f?.length>1&&(0,i.jsx)(mt,{currentToken:r,feeTokens:f,selectToken:c,children:(0,i.jsx)(Ko.default,{size:"small",children:(0,i.jsx)($o.default,{sx:{width:16}})})}),b.isLoading?(0,i.jsx)(W,{}):(0,i.jsx)(i.Fragment,{children:b?.error?(0,i.jsx)(Pe.default,{variant:"subtitle2",children:"Can't estimate fee"}):(0,i.jsx)(G,{balance:b?.valueFormatted,symbol:r?.symbol,isLoading:b?.isLoading,isError:b?.valueFormatted==="0"&&!b.isLoading})})]})]})]})]})},Go=Rn;var we=require("react/jsx-runtime"),wn=({initialAmount:e})=>{let{useXcmTransfer:t}=E();return(0,we.jsx)(we.Fragment,{children:t?(0,we.jsx)(Go,{initialAmount:e}):(0,we.jsx)(Xo,{initialAmount:e})})},We=wn;var yt=require("@mui/material"),xt=require("react"),J=require("react/jsx-runtime"),Mt={didCatch:!1,error:null},ie=class extends xt.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Mt}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(...t){let{error:o}=this.state;o!==null&&(this.props.onReset?.({args:t,reason:"imperative-api"}),this.setState(Mt))}componentDidCatch(t,o){this.props.onError?.(t,o)}componentDidUpdate(t,o){let{didCatch:n}=this.state,{resetKeys:r}=this.props;n&&o.error!==null&&Wn(t.resetKeys,r)&&(this.props.onReset?.({next:r,prev:t.resetKeys,reason:"keys"}),this.setState(Mt))}render(){let{children:t,fallbackRender:o,FallbackComponent:n,fallback:r}=this.props,{didCatch:c,error:f}=this.state,s=t;if(c){let d={error:f,resetErrorBoundary:this.resetErrorBoundary};typeof o=="function"?s=o(d):n?s=(0,xt.createElement)(n,d):r!==void 0&&(s=r)}return(0,J.jsx)(J.Fragment,{children:s})}};function Wn(e=[],t=[]){return e.length!==t.length||e.some((o,n)=>!Object.is(o,t[n]))}function Fe({error:e}){return(0,J.jsxs)(yt.Alert,{severity:"error",variant:"outlined",children:[(0,J.jsx)(yt.AlertTitle,{children:"Application error"}),"[Error] ",e.message,(0,J.jsx)("br",{}),(0,J.jsx)("br",{}),"Please check your application config or contact us if the issue persists."]})}var j=require("react/jsx-runtime"),Jo=({config:e,theme:t,handleClose:o,open:n})=>(0,j.jsx)(ie,{fallbackRender:Fe,children:(0,j.jsx)(Le,{config:e,children:(0,j.jsx)(jt.ThemeProvider,{theme:t??{},children:(0,j.jsx)(Yo.default,{PaperProps:{sx:{width:"450px"}},open:!!n,onClose:o,children:(0,j.jsx)(qo.default,{sx:{position:"relative"},children:(0,j.jsx)(We,{})})})})})}),Qo=({config:e,theme:t})=>(0,j.jsx)(ie,{fallbackRender:Fe,children:(0,j.jsx)(Le,{config:e,children:(0,j.jsx)(jt.ThemeProvider,{theme:t??{},children:(0,j.jsx)(We,{})})})});var Zo=a(require("@mui/material/Dialog")),en=a(require("@mui/material/DialogContent")),zt=require("@mui/material/styles"),kt=a(require("react"));var X=require("react/jsx-runtime"),tn=({children:e,theme:t,initialAmount:o})=>{let[n,r]=(0,kt.useState)(!1);return(0,X.jsx)(ie,{fallbackRender:Fe,children:(0,X.jsxs)(zt.ThemeProvider,{theme:t,children:[kt.default.cloneElement(e,{onClick:()=>r(!0)}),(0,X.jsx)(Zo.default,{PaperProps:{sx:{width:"450px"}},open:n,onClose:()=>r(!1),children:(0,X.jsx)(en.default,{sx:{position:"relative"},children:(0,X.jsx)(We,{initialAmount:o})})})]})})},on=({theme:e,initialAmount:t})=>(0,X.jsx)(ie,{fallbackRender:Fe,children:(0,X.jsx)(zt.ThemeProvider,{theme:e,children:(0,X.jsx)(We,{initialAmount:t})})});var Fn=(0,Nt.default)(Qo,{props:{config:void 0,theme:void 0}}),Dn=(0,Nt.default)(Jo,{props:{config:void 0,theme:void 0,open:void 0,handleClose:void 0}}),Ln=(e="psa-form")=>(customElements.get(e)||customElements.define(e,Fn),customElements.whenDefined(e)),Mn=(e="psa-dialog")=>(customElements.get(e)||customElements.define(e,Dn),customElements.whenDefined(e));0&&(module.exports={ConfigProvider,PSADialog,PSAForm,createTheme,loadDialogWidget,loadFormWidget,useApi,useChainId,useConfig,useExistentialDeposit,useExtensionInfo,useForeignTokenBalance,useToken,useTokenBalance,useTransaction,useTransfer,useWallet,useXcmTransaction,...require("@polkadot-sufficient-assets/core")});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{createTheme as Kl}from"@mui/material/styles";export*from"@polkadot-sufficient-assets/core";import Kt from"@r2wc/react-to-web-component";import mr from"@mui/material/Dialog";import ur from"@mui/material/DialogContent";import{ThemeProvider as Xt}from"@mui/material/styles";import{createContext as No}from"react";import{tokens as Qe}from"@polkadot-sufficient-assets/core";import{createContext as Lo,memo as Mo,useEffect as jo,useState as kt}from"react";import{getApi as Gt}from"@polkadot-sufficient-assets/core";import{useEffect as Yt,useState as mt}from"react";import{useContext as _t}from"react";function w(){let e=_t(He);if(!e)throw new Error("Config not found");return e}var qt=e=>{let[t,n]=mt(),[o,r]=mt(!1),{sourceChains:i,lightClients:l,destinationChains:a}=w();return Yt(()=>{(async()=>{if(e)try{r(!1),await Gt(e,[...i,...a??[]],!0,l).then(u=>n(u)),r(!0)}catch(u){r(!1),console.error(u)}})()},[e,a,i]),[t,o]},Q=qt;import{useMemo as Jt}from"react";var Qt=e=>{let{sourceChains:t}=w();return Jt(()=>t.find(n=>n.id===e),[t,e])},Zt=Qt;import{formatBalance as eo,getExistentialDeposit as to}from"@polkadot-sufficient-assets/core";import{useEffect as oo,useState as no}from"react";var ie=(e,t)=>{let[n,o]=no({isLoading:!0,value:0n,valueFormatted:"0"}),[r,i]=Q(e?.id);return oo(()=>{if(!t||!i)return;(async()=>{let a=await to(t,r);o({isLoading:!1,value:a??0n,valueFormatted:eo(a,t?.decimals??12)})})()},[t,i]),n};import{useMemo as io}from"react";import{Extensions as ro,getExtensionIcon as ao}from"@polkadot-ui/assets/extensions";var ut=e=>({extension:ro[e],Icon:ao(e)});var ge=e=>io(()=>ut(e),[e]);import{formatBalance as so,subscribeTokenBalance as lo}from"@polkadot-sufficient-assets/core";import{useEffect as co,useState as fo}from"react";var Oe=(e,t,n)=>{let[o,r]=fo({isLoading:!0,value:0n,valueFormatted:"0",error:!0}),[i,l]=Q(e?.id);return co(()=>{if(!n||!l||!t)return;let a=lo(i,t,n,s=>{r({value:s??0n,isLoading:!1,valueFormatted:so(s?.toString(),t?.decimals??12),error:!1})});return()=>{a?.unsubscribe()}},[n,t,l]),o};import{useMemo as po}from"react";var Ke=e=>{let{tokens:t}=w();return po(()=>t?{token:t[e]?.token,feeTokens:t[e]?.feeTokens}:{token:void 0,feeTokens:[]},[t,e])};import{formatBalance as uo,subscribeTokenBalance as go}from"@polkadot-sufficient-assets/core";import{useEffect as ho,useState as yo}from"react";import{useContext as mo}from"react";function Z(){let e=mo(Ve);if(!e)throw new Error("TransferProvider not found");return e}var L=(e,t)=>{let[n,o]=yo({isLoading:!0,value:0n,valueFormatted:"0",error:!0}),{api:r,isLoaded:i}=Z();return ho(()=>{if(!t||!i||!e)return;let l=go(r,e,t,a=>{o({value:a??0n,isLoading:!1,valueFormatted:uo(a?.toString(),e?.decimals??12),error:!1})});return()=>{l?.unsubscribe()}},[t,e,i]),n};import{formatBalance as xo,getAssetConvertPlancks as ko,getFeeAssetLocation as To,getTransferExtrinsic as gt}from"@polkadot-sufficient-assets/core";import{useEffect as Co,useMemo as ht,useState as vo}from"react";var _e=(e,t,n,o,r,i,l)=>{let[a,s]=vo({isLoading:!1,value:0n,valueFormatted:"0"}),u=ht(()=>!e||!l||!r||!t?null:gt(e,t,r,l),[e,r,l,t]),g=ht(()=>!e||!l||!r||!t?null:gt(e,t,"100",l),[e,r,l,t]);return Co(()=>{if(!g||!i||!t)return;(async()=>{try{s({isLoading:!0,value:0n,valueFormatted:"0",error:!1});let y=await g.getEstimatedFees(i,{asset:n?To(n,e.chainId):void 0}),f=await ko(e,{nativeToken:o,plancks:y,tokenIn:o,tokenOut:n})??0n;s({isLoading:!1,value:f,valueFormatted:xo(f.toString(),n?.decimals??12),error:!1})}catch(y){s({isLoading:!1,value:0n,valueFormatted:"0",error:!0}),console.log(y)}})()},[g,i,n]),{tx:u,fee:a}};import{useContext as Eo}from"react";import{wallet as Ge}from"@polkadot-sufficient-assets/core";import{createContext as bo,memo as Po,useEffect as Bo,useRef as Io,useState as Ye}from"react";import{jsx as So}from"react/jsx-runtime";var qe=bo(null),Ao=({children:e})=>{let t=Io(Ge).current,[n,o]=Ye(null),[r,i]=Ye(t.isConnected),[l,a]=Ye([]);Bo(()=>{r&&(Ge.getAllConnectedAccounts().then(g=>{a(g)}),Ge.subscribeAccounts(g=>{let d=g.reduce((y,h)=>(l.find(f=>f.address===h.address&&f.wallet===h.wallet)||y.push(h),y),l);a(d)}))},[r]);let s=async g=>{try{await t.connect(g);let d=await t.getAllConnectedAccounts();i(!0),a(d)}catch(d){console.error("Failed to connect wallet",d)}},u=async g=>{try{await t.disconnect(g);let d=await t.getAllConnectedAccounts();i(t.isConnected),a(d)}catch(d){console.error("Failed to disconnect wallet",d)}};return So(qe.Provider,{value:{connectedWallets:t.connectedWalletIds,signer:n,setSigner:o,connect:s,disconnect:u,connected:r,accounts:l,getInjectedWalletIds:()=>t.getInjectedWalletIds()},children:e})},Ae=Po(Ao);function W(){let e=Eo(qe);if(!e)throw new Error("WalletProvider not found");return e}import{formatBalance as Ro,getAssetConvertPlancks as wo,getFeeAssetLocation as Wo,getXcmTransferExtrinsic as yt}from"@polkadot-sufficient-assets/core";import{useEffect as Fo,useMemo as xt,useState as Do}from"react";var Je=(e,t,n,o,r,i,l,a)=>{let[s,u]=Do({isLoading:!1,value:0n,valueFormatted:"0"}),g=xt(()=>!e||!l||!r||!t||!a?null:yt(e,t,r,l,a),[e,r,l,t,a]),d=xt(()=>!e||!l||!t||!a?null:yt(e,t,"100",l,a),[e,l,t,a]);return Fo(()=>{if(!d||!i||!t)return;(async()=>{try{u({isLoading:!0,value:0n,valueFormatted:"0",error:!1});let h=n?Wo(n,e.chainId):void 0,f=await d.getEstimatedFees(i,{asset:h}),P=await wo(e,{nativeToken:o,plancks:f,tokenIn:o,tokenOut:n})??0n;u({isLoading:!1,value:P,valueFormatted:Ro(P.toString(),n?.decimals??12),error:!1})}catch(h){u({isLoading:!1,value:0n,valueFormatted:"0",error:!0}),console.log(h)}})()},[d,i,n]),{tx:g,fee:s}};import{jsx as Tt}from"react/jsx-runtime";var Ve=Lo(null),zo=({children:e})=>{let{sourceChains:t,useXcmTransfer:n,destinationChains:o,destinationAddress:r,lightClients:i}=w(),[l]=kt(t[0]),a=l.id,{feeTokens:s,token:u}=Ke(a),[g,d]=kt(),[y,h]=Q(a);return jo(()=>{g||!s||d(s?.[0])},[g,s]),Tt(Ve.Provider,{value:{api:y,isLoaded:h,changeFeeToken:d,feeToken:g??Qe.DOT,feeTokens:s??[],nativeToken:s?.find(f=>f.type==="native")??Qe.DOT,token:u??Qe.DOT,chain:t[0],useXcmTransfer:!!n,destinationChains:o??[],destinationAddress:r,lightClientEnable:i?.enable},children:Tt(Ae,{children:e})})},Ct=Mo(zo);import{jsx as Ze}from"react/jsx-runtime";var He=No(null),Se=({children:e,config:t})=>Ze(He.Provider,{value:t,children:Ze(Ae,{children:Ze(Ct,{children:e})})});import Nn from"@mui/icons-material/BorderColor";import Wt from"@mui/material/Alert";import Un from"@mui/material/AlertTitle";import de from"@mui/material/Box";import Xn from"@mui/material/Button";import $n from"@mui/material/Grow";import Hn from"@mui/material/IconButton";import On from"@mui/material/InputAdornment";import Kn from"@mui/material/Snackbar";import fe from"@mui/material/Stack";import Vn from"@mui/material/TextField";import ee from"@mui/material/Typography";import{formatUnits as _n,getFeeAssetLocation as Gn,parseUnits as Ft}from"@polkadot-sufficient-assets/core";import{useMemo as at,useState as Le}from"react";var he=(e,t=12)=>typeof e!="string"?"":e.length<t*2?e:`${e.slice(0,t)}...${e.slice(-t)}`,Uo=e=>{if(!e)return!1;let t=e.split("");return!(isNaN(Number(e))||t[0]==="0"&&Number(t[1])>0||e.startsWith("-"))},Xo=(e,t=10)=>{let n=parseFloat(e);if(Number.isNaN(n))return e;let[o,r]=e.split(".");return r&&r.length>t&&(r=r.substring(0,t)),r?`${o}.${r}`:o},Ee=(e,t=10)=>{let n=e.split("");return Uo(e)?Number(e)>1e9?n?.splice(0,n.length-1).join(""):Xo(e,t):n.splice(1,n?.length).join("")};import Ko from"@mui/material/Typography";import $o from"@mui/icons-material/DataUsageOutlined";import{jsx as Oo}from"react/jsx-runtime";var Ho=({sx:e,...t})=>Oo($o,{sx:{animation:"spin 1s linear infinite","@keyframes spin":{"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}},...e},...t}),R=Ho;import{Fragment as _o,jsx as et}from"react/jsx-runtime";var Vo=({isLoading:e,isError:t,balance:n,symbol:o})=>et(_o,{children:e&&!t?et(R,{}):et(Ko,{variant:"subtitle2",children:`${t?"-":n} ${o||"USD"}`})}),X=Vo;import Go from"@mui/material/Button";import{jsx as qo,jsxs as Jo}from"react/jsx-runtime";var Yo=({loading:e,children:t,sx:n,...o})=>Jo(Go,{...o,sx:{minHeight:50,textTransform:"capitalize",...n},fullWidth:!0,variant:"contained",children:[t,e&&qo(R,{sx:{ml:1}})]}),Re=Yo;import en from"@mui/icons-material/Clear";import tn from"@mui/icons-material/KeyboardArrowDown";import on from"@mui/material/Box";import nn from"@mui/material/Button";import{forwardRef as rn,useMemo as an}from"react";import Qo from"@mui/material/Box";import{jsx as tt}from"react/jsx-runtime";var Zo=({size:e=24,walletId:t})=>{let{Icon:n,extension:o}=ge(t);return n?tt(Qo,{width:e,height:e,children:tt(n,{style:{flexShrink:1}})}):tt("div",{children:o?.title.charAt(0)})},se=Zo;import{jsx as we,jsxs as ln}from"react/jsx-runtime";var sn=rn(({onClear:e,account:t,...n},o)=>{let{connected:r}=W(),i=an(()=>r?t&&t?.address?t.wallet?ln(on,{display:"flex",alignItems:"center",justifyContent:"start",gap:1,children:[he(t.address,7),we(se,{size:18,walletId:t.wallet})]}):he(t.address,7):"Select Account":"Connect Wallet",[t,r]);return we(nn,{sx:{justifyContent:"space-between",textTransform:"capitalize",fontWeight:400,fontSize:14,minHeight:50},endIcon:t?e?we(en,{onClick:e}):null:we(tn,{}),ref:o,variant:"outlined",fullWidth:!0,...n,children:i})}),H=sn;import cn from"@mui/icons-material/Close";import vt from"@mui/material/Box";import dn from"@mui/material/Button";import fn from"@mui/material/Dialog";import pn from"@mui/material/DialogContent";import mn from"@mui/material/Typography";import un,{useState as gn}from"react";import{Fragment as yn,jsx as ye,jsxs as ot}from"react/jsx-runtime";var hn=({children:e,currentToken:t,feeTokens:n,selectToken:o})=>{let[r,i]=gn(!1),l=a=>{o(a),i(!1)};return ot(yn,{children:[un.cloneElement(e,{onClick:()=>i(!0)}),ye(fn,{PaperProps:{sx:{width:"400px",borderRadius:"4px"}},sx:{zIndex:9999},open:r,onClose:()=>i(!1),children:ot(pn,{sx:{padding:2},children:[ot(vt,{sx:{display:"flex",justifyContent:"space-between"},children:[ye(mn,{sx:{fontWeight:700,mb:2},children:"Select Token Fee"}),ye(cn,{sx:{cursor:"pointer"},onClick:()=>i(!1)})]}),ye(vt,{sx:{display:"block",maxHeight:"20rem",overflowY:"auto"},children:n?.map(a=>ye(dn,{variant:t?.name===a?.name?"contained":"outlined",onClick:()=>l(a),fullWidth:!0,sx:{border:"1px solid #999",borderRadius:"8px",padding:2,mt:1},children:a?.symbol},a.name))})]})})]})},We=hn;import Sn from"@mui/icons-material/Close";import En from"@mui/icons-material/Send";import O from"@mui/material/Box";import Rn from"@mui/material/Button";import wn from"@mui/material/Dialog";import Wn from"@mui/material/DialogContent";import Fn from"@mui/material/Input";import De from"@mui/material/Stack";import{useTheme as Dn}from"@mui/material/styles";import le from"@mui/material/Typography";import{isValidAddress as Ln}from"@polkadot-sufficient-assets/core";import Mn,{useMemo as jn,useState as Rt}from"react";import bt from"@mui/material/Box";import xn from"@mui/material/Button";import{useTheme as kn}from"@mui/material/styles";import Tn from"@mui/material/Typography";import{useState as Cn}from"react";import{jsx as Fe,jsxs as Pt}from"react/jsx-runtime";var vn=({name:e})=>{let t=kn(),[n,o]=Cn(!1),{connect:r,disconnect:i,connectedWallets:l}=W(),{extension:a}=ge(e),s=l.includes(e);return Pt(xn,{onClick:async()=>{try{o(!0),s?await i(e):await r(e),o(!1)}catch(g){o(!1),console.log(g)}},sx:{minHeight:50},variant:"outlined",disabled:n,fullWidth:!0,children:[Pt(bt,{sx:{display:"flex",flexGrow:1,gap:2,alignItems:"center"},children:[Fe(se,{walletId:e}),Fe(Tn,{variant:"h3",sx:{fontSize:14,fontWeight:700,textTransform:"capitalize"},children:a?.title})]}),n?Fe(R,{}):Fe(bt,{sx:{width:12,height:12,borderRadius:"50%",backgroundColor:s?t.palette.success.main:t.palette.error.main}})]})},Bt=vn;import It from"@mui/material/Box";import bn from"@mui/material/Button";import nt from"@mui/material/Typography";import{jsx as xe,jsxs as rt}from"react/jsx-runtime";var Pn=({token:e,account:t,onClick:n})=>{let{valueFormatted:o,isLoading:r}=L(e,t.address);return rt(bn,{onClick:n,fullWidth:!0,variant:"outlined",children:[rt(It,{sx:{flexGrow:1},children:[rt(It,{sx:{display:"flex",alignItems:"center",gap:1},children:[xe(nt,{variant:"subtitle2",fontWeight:700,children:t.name}),xe(se,{size:18,walletId:t.wallet})]}),xe(nt,{textAlign:"start",variant:"subtitle2",children:he(t.address,8)})]}),xe(nt,{textAlign:"end",variant:"caption",fontWeight:700,children:r?xe(R,{}):`${o} ${e?.symbol}`})]})},At=Pn;import Bn from"@mui/material/Skeleton";import{Fragment as An,jsx as St}from"react/jsx-runtime";var In=({length:e=4})=>{let t=Math.max(e,0);return St(An,{children:Array.from({length:t}).map((n,o)=>St(Bn,{variant:"rounded",width:"100%",height:65,sx:{mt:1}},o))})},Et=In;import{Fragment as wt,jsx as C,jsxs as M}from"react/jsx-runtime";var zn=({children:e,exclude:t,token:n,withInput:o,onChange:r})=>{let i=Dn(),[l,a]=Rt(!1),[s,u]=Rt(""),{accounts:g,connectedWallets:d,getInjectedWalletIds:y}=W(),h=p=>{r?.(p),f()},f=()=>{a(!1)},E=jn(()=>s?Ln(s):!0,[s]),P=()=>{s&&E&&(r({address:s}),f())};return M(wt,{children:[Mn.cloneElement(e,{onClick:()=>a(!0)}),C(wn,{PaperProps:{sx:{width:"400px",borderRadius:1}},open:l,onClose:f,children:C(Wn,{sx:{padding:0},children:M(O,{sx:{display:"block",height:"100%"},children:[M(De,{direction:"row",justifyContent:"space-between",px:1.5,mt:3,mb:1,children:[C(le,{variant:"h3",sx:{fontSize:20,fontWeight:700},children:"Select account"}),C(Sn,{sx:{cursor:"pointer"},onClick:f})]}),M(O,{children:[M(De,{px:1.5,spacing:1,children:[C(le,{variant:"body1",fontWeight:600,children:"Connected wallets"}),C(De,{spacing:1,children:y()?.map(p=>C(Bt,{name:p},p))})]}),M(O,{mt:1,children:[M(O,{px:1.5,children:[o&&M(O,{children:[C(le,{variant:"h3",sx:{fontSize:15,fontWeight:700,mt:3},children:"Custom to address"}),M(O,{sx:{display:"flex",width:"100%",my:1},children:[M(O,{sx:{flexGrow:1},children:[C(Fn,{value:s,onChange:({target:p})=>u(p.value),placeholder:"Enter address",fullWidth:!0}),!E&&C(le,{variant:"h3",fontSize:10,color:i.palette.error.main,mt:1,children:"Invalid address"})]}),C(Rn,{sx:{outline:"none"},onClick:P,children:C(En,{sx:{color:i.palette.primary.main}})})]})]}),C(le,{variant:"body1",fontWeight:600,children:"Connected Accounts"})]}),C(O,{px:1.5,py:1.5,sx:{maxHeight:"400px",overflowY:"auto"},children:d?.length===0?C(le,{m:4,variant:"h3",textAlign:"center",fontSize:14,children:"No address connected"}):C(wt,{children:g.length===0?C(Et,{}):C(De,{spacing:1,children:g.filter(p=>p.address!==t?.address).map(p=>C(At,{token:n,account:p,onClick:()=>h(p)},p.address+"_"+p.wallet))})})})]})]})]})})})]})},ce=zn;import{Fragment as Dt,jsx as m,jsxs as A}from"react/jsx-runtime";var Yn=({initialAmount:e})=>{let{api:t,token:n,feeToken:o,changeFeeToken:r,feeTokens:i,nativeToken:l,chain:a,destinationAddress:s,isLoaded:u,lightClientEnable:g}=Z(),[d,y]=Le(s?{address:s}:null),[h,f]=Le(e??"0"),[E,P]=Le(!1),{signer:p,setSigner:B}=W(),{tx:ve,fee:k}=_e(t,n,o,l,h,p?.address,d?.address),{valueFormatted:je,value:$,isLoading:v,error:z}=L(n,p?.address),{valueFormatted:ze,value:V,isLoading:Ne,error:Ue}=L(o,p?.address),{value:re,isLoading:be}=L(n,d?.address),{value:_,isLoading:G}=ie(a,n),[Y,N]=Le(),Xe=async()=>{if(!d||!h||!p||!u||!n)return;if(P(!0),!ve){P(!1);return}let{nonce:T}=await t.query.System.Account.getValue(p.address,{at:"best"});ve.signAndSubmit(p.polkadotSigner,{asset:o?Gn(o,t.chainId):void 0,nonce:T,mortality:{mortal:!0,period:64}}).then(I=>{console.log("Transaction successful:",I),f("0"),N({hash:I.txHash,ok:I.ok}),P(!1),setTimeout(()=>{N(void 0)},5200)}).catch(I=>{console.error("Transaction failed:",I),N({hash:"",ok:!1}),P(!1),setTimeout(()=>{N(void 0)},5200)})},F=(T,I="from")=>{I==="from"?B(T):y(T)},D=at(()=>{if(h==="0"||G||v)return null;let T=Ft(h,n.decimals),I=o.assetId===n.assetId?k.value:0n,q=o.assetId===n.assetId?_:0n;return $<T?"Insufficient balance":$<T+I?"Insufficient balance to pay for fee":$<T+I+q?"Insufficient balance to keep account alive":null},[h,$,o,n,k,_,v]),U=at(()=>{if(h==="0"||G||be||re>_)return null;let T=_-re;return Ft(h,n.decimals)<T?`You must transfer at least ${_n(T,n.decimals)} ${n.symbol} to keep the destination account alive`:null},[re,n,_,G,be,h]),Pe=at(()=>!!D||!!U||!d||!h||!p||!u||!n||h==="0"||!k?.value||!V||E,[d,p,h,u,n,E,o,$,k.value,V,U,D]),ae=()=>{N(void 0)};return A(Dt,{children:[m(Kn,{open:!!Y,autoHideDuration:5e3,onClose:ae,anchorOrigin:{vertical:"top",horizontal:"right"},TransitionComponent:$n,children:A(Wt,{onClose:ae,severity:Y?.ok?"success":"error",variant:"filled",children:[A(Un,{children:["Transaction executed ",Y?.ok?"successful":"failed","!"]}),Y?.hash?m(de,{display:"flex",justifyContent:"flex-end",children:m(Xn,{onClick:()=>window.open(`${a.blockExplorerUrl}/extrinsic/${Y?.hash}`),color:"inherit",size:"small",variant:"outlined",sx:{fontSize:10},children:"View on Explorer"})}):null]})}),A(de,{children:[A(fe,{spacing:2,children:[m(ee,{children:"From"}),m(ce,{token:n,exclude:d,onChange:T=>F(T,"from"),children:m(H,{onClear:()=>F(null,"from"),account:p})})]}),A(fe,{spacing:2,mt:2,children:[m(ee,{children:"To"}),s?m(H,{account:d}):m(ce,{token:n,exclude:p,withInput:!0,onChange:T=>F(T,"to"),children:m(H,{onClear:()=>F(null,"to"),account:d})})]}),A(fe,{spacing:1,mt:2,children:[A(fe,{direction:"row",justifyContent:"space-between",children:[m(ee,{children:"Tokens"}),A(de,{sx:{display:"flex",alignItems:"center",gap:1},children:[m("img",{style:{width:24,height:24},src:a?.logo,alt:""}),m(ee,{variant:"subtitle2",children:a?.name})]})]}),A(fe,{spacing:2,children:[m(Vn,{disabled:E,value:h,onChange:({target:T})=>f(Ee(T.value,n?.decimals)),type:"number",placeholder:"0",slotProps:{input:{endAdornment:m(On,{position:"end",children:n?.symbol})}},sx:{minHeight:50,"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button":{display:"none"},"& input[type=number]":{MozAppearance:"textfield"}},fullWidth:!0}),m(fe,{direction:"row",justifyContent:"end",children:m(X,{balance:je,symbol:n?.symbol,isLoading:v,isError:!!z})})]})]}),m(Re,{onClick:Xe,loading:E||!u,disabled:Pe,fullWidth:!0,variant:"contained",sx:{mt:2},children:!u&&g?"Synchronizing light clients":"Transfer"}),(D||U)&&m(Wt,{sx:{my:2},severity:"error",children:D||U}),A(de,{sx:{display:"flex",justifyContent:"space-between",mt:3},children:[m(ee,{variant:"subtitle2",children:"Balance"}),m(X,{balance:ze,symbol:o?.symbol,isLoading:Ne,isError:!!Ue})]}),A(de,{sx:{display:"flex",justifyContent:"space-between",mt:1},children:[m(ee,{variant:"subtitle2",children:"Transaction fee"}),A(de,{sx:{display:"flex",alignItems:"center"},children:[i?.length>1&&m(We,{currentToken:o,feeTokens:i,selectToken:r,children:m(Hn,{size:"small",children:m(Nn,{sx:{width:16}})})}),k.isLoading?m(R,{}):m(Dt,{children:k?.error?m(ee,{variant:"subtitle2",children:"Can't estimate fee"}):m(X,{balance:k?.valueFormatted,symbol:o?.symbol,isLoading:k?.isLoading,isError:k?.valueFormatted==="0"&&!k.isLoading})})]})]})]})]})},Lt=Yn;import qn from"@mui/icons-material/BorderColor";import it from"@mui/material/Alert";import Jn from"@mui/material/AlertTitle";import te from"@mui/material/Box";import Mt from"@mui/material/Button";import Qn from"@mui/material/Grow";import Zn from"@mui/material/IconButton";import er from"@mui/material/InputAdornment";import jt from"@mui/material/MenuItem";import tr from"@mui/material/Snackbar";import oe from"@mui/material/Stack";import st from"@mui/material/TextField";import pe from"@mui/material/Typography";import{formatUnits as zt,getFeeAssetLocation as or,parseUnits as ke}from"@polkadot-sufficient-assets/core";import{useMemo as Te,useState as Ce}from"react";import{Fragment as Nt,jsx as c,jsxs as S}from"react/jsx-runtime";var nr=({initialAmount:e})=>{let{destinationChains:t,api:n,token:o,feeToken:r,changeFeeToken:i,feeTokens:l,nativeToken:a,chain:s,isLoaded:u,destinationAddress:g,lightClientEnable:d}=Z(),[y,h]=Ce(g?{address:g}:null),[f,E]=Ce(e??"0"),[P,p]=Ce(!1),{signer:B,setSigner:ve}=W(),[k,je]=Ce(t?.[0]),{tx:$,fee:v}=Je(n,o,r,a,f,B?.address,y?.address,k),{value:z,valueFormatted:ze,isLoading:V,error:Ne}=L(o,B?.address),{valueFormatted:Ue,value:re,isLoading:be,error:_}=L(r,B?.address),{value:G,valueFormatted:Y,isLoading:N,error:Xe}=Oe(k,o,y?.address),[F,D]=Ce(),{value:U,isLoading:Pe}=ie(s,o),{value:ae,isLoading:T}=ie(k,o),I=async()=>{if(!y||!f||!B||!u||!o)return;if(p(!0),!$){p(!1);return}let{nonce:x}=await n.query.System.Account.getValue(B.address,{at:"best"});$.signAndSubmit(B.polkadotSigner,{asset:r?or(r,n.chainId):void 0,nonce:x,mortality:{mortal:!0,period:64}}).then(b=>{console.log("Transaction successful:",b),E("0"),D({hash:b.txHash,ok:b.ok}),p(!1),setTimeout(()=>{D(void 0)},5200)}).catch(b=>{console.error("Transaction failed:",b),D({hash:"",ok:!1}),p(!1),setTimeout(()=>{D(void 0)},5200)})},q=(x,b="from")=>{b==="from"?ve(x):h(x)},dt=Te(()=>{if(V||v.isLoading||Pe)return 0;let x=r.assetId===o.assetId?v.value:0n,b=r.assetId===o.assetId?U:0n,J="0.2";return k&&(J=o.minEd?.[k?.id]??"0.2"),z-x-b-ke(String(J),o.decimals)},[z,s,v.value,U]),Be=Te(()=>{if(f==="0"||Pe||V)return null;let x=ke(f,o.decimals),b=r.assetId===o.assetId?v.value:0n,J="0.2";k&&(J=o.minEd?.[k?.id]??"0.2");let pt=r.assetId===o.assetId?U+ke(String(J),o.decimals):0n;return z<x?"Insufficient balance":z<x+b?"Insufficient balance to pay for fee":z<x+b+pt?"Insufficient balance to keep account alive":null},[f,z,k,r,o,v,U,V]),Ie=Te(()=>{if(f==="0"||T||N||!y||!k||G>ae)return null;let x=ae-G;if(ke(f,o.decimals)<x){let J=o.minEd?.[k?.id]??"0.2";return`You must transfer at least ${zt(x+ke(String(J),o.decimals),o.decimals)} ${o.symbol} to keep the destination account alive`}return null},[G,o,k,y,ae,T,N,f]),$e=Te(()=>{if(!y||!B)return null;if(y.address!==B.address)return"Transferring assets to CEX through XCM directly will result in loss of funds. Please send them to your address on the relevant network first."},[B,y]),Vt=Te(()=>!!Be||!!Ie||!y||!f||!B||!u||!o||f==="0"||!v?.value||!re||P,[y,B,f,u,o,P,z,v?.value,re,Ie,Be]),ft=()=>{D(void 0)};return S(Nt,{children:[c(tr,{open:!!F,autoHideDuration:5e3,onClose:ft,anchorOrigin:{vertical:"top",horizontal:"right"},TransitionComponent:Qn,children:S(it,{onClose:ft,severity:F?.ok?"success":"error",variant:"filled",children:[S(Jn,{children:["Transaction executed ",F?.ok?"successful":"failed","!"]}),F?.hash?c(te,{display:"flex",justifyContent:"flex-end",children:c(Mt,{onClick:()=>window.open(`${s.blockExplorerUrl}/extrinsic/${F?.hash}`),color:"inherit",size:"small",variant:"outlined",sx:{fontSize:10},children:"View on Explorer"})}):null]})}),S(te,{mt:2,children:[S(oe,{spacing:1.5,mt:2,children:[S(te,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[c(pe,{children:"From"}),c(st,{label:"From chain",placeholder:"Select chain",select:!0,size:"small",sx:{minWidth:"140px"},value:s.id,children:c(jt,{value:s.id,children:s.name})})]}),c(ce,{token:o,onChange:x=>q(x,"from"),children:c(H,{onClear:()=>q(null,"from"),account:B})}),c(oe,{direction:"row",justifyContent:"end",children:c(X,{balance:ze,symbol:o?.symbol,isLoading:V,isError:!!Ne})})]}),S(oe,{spacing:1.5,mt:2,children:[S(te,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[c(pe,{children:"To"}),c(st,{value:k?.id,onChange:x=>je(t.find(b=>b.id===x.target.value)),select:!0,size:"small",sx:{minWidth:"140px"},label:"To chain",placeholder:"Select chain",children:t.map(x=>c(jt,{value:x.id,children:x.name},x.id))})]}),g?c(H,{account:y}):c(ce,{token:o,withInput:!0,onChange:x=>q(x,"to"),children:c(H,{onClear:()=>q(null,"to"),account:y})}),c(oe,{direction:"row",justifyContent:"end",children:c(X,{balance:Y,symbol:o?.symbol,isLoading:N,isError:!!Xe})})]}),S(oe,{spacing:1,mt:2,children:[S(oe,{direction:"row",justifyContent:"space-between",children:[c(pe,{children:"Tokens"}),c(Mt,{onClick:()=>E(zt(dt,o.decimals)),variant:"outlined",size:"small",disabled:dt<0,children:"Max"})]}),c(oe,{spacing:.5,children:c(st,{disabled:P,value:f,onChange:({target:x})=>E(Ee(x.value,o?.decimals)),type:"number",placeholder:"0",slotProps:{input:{endAdornment:c(er,{position:"end",children:o?.symbol})}},sx:{minHeight:50,"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button":{display:"none"},"& input[type=number]":{MozAppearance:"textfield"}},fullWidth:!0})})]}),c(Re,{onClick:I,loading:P||!u,disabled:Vt,fullWidth:!0,variant:"contained",sx:{my:2},children:!u&&d?"Synchronizing light clients":"Transfer"}),(Be||Ie)&&c(it,{sx:{mb:$e?1:2},severity:"error",children:Ie||Be}),$e&&c(it,{sx:{mb:2},severity:"warning",children:$e}),S(te,{sx:{display:"flex",justifyContent:"space-between",mt:2},children:[c(pe,{variant:"subtitle2",children:"Balance"}),c(X,{balance:Ue,symbol:r?.symbol,isLoading:be,isError:!!_})]}),S(te,{sx:{display:"flex",justifyContent:"space-between"},children:[c(pe,{variant:"subtitle2",children:"Transaction fee"}),S(te,{sx:{display:"flex",alignItems:"center"},children:[l?.length>1&&c(We,{currentToken:r,feeTokens:l,selectToken:i,children:c(Zn,{size:"small",children:c(qn,{sx:{width:16}})})}),v.isLoading?c(R,{}):c(Nt,{children:v?.error?c(pe,{variant:"subtitle2",children:"Can't estimate fee"}):c(X,{balance:v?.valueFormatted,symbol:r?.symbol,isLoading:v?.isLoading,isError:v?.valueFormatted==="0"&&!v.isLoading})})]})]})]})]})},Ut=nr;import{Fragment as ar,jsx as lt}from"react/jsx-runtime";var rr=({initialAmount:e})=>{let{useXcmTransfer:t}=w();return lt(ar,{children:t?lt(Ut,{initialAmount:e}):lt(Lt,{initialAmount:e})})},me=rr;import{Alert as ir,AlertTitle as sr}from"@mui/material";import{Component as lr,createElement as cr}from"react";import{Fragment as fr,jsx as Me,jsxs as pr}from"react/jsx-runtime";var ct={didCatch:!1,error:null},K=class extends lr{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=ct}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(...t){let{error:n}=this.state;n!==null&&(this.props.onReset?.({args:t,reason:"imperative-api"}),this.setState(ct))}componentDidCatch(t,n){this.props.onError?.(t,n)}componentDidUpdate(t,n){let{didCatch:o}=this.state,{resetKeys:r}=this.props;o&&n.error!==null&&dr(t.resetKeys,r)&&(this.props.onReset?.({next:r,prev:t.resetKeys,reason:"keys"}),this.setState(ct))}render(){let{children:t,fallbackRender:n,FallbackComponent:o,fallback:r}=this.props,{didCatch:i,error:l}=this.state,a=t;if(i){let s={error:l,resetErrorBoundary:this.resetErrorBoundary};typeof n=="function"?a=n(s):o?a=cr(o,s):r!==void 0&&(a=r)}return Me(fr,{children:a})}};function dr(e=[],t=[]){return e.length!==t.length||e.some((n,o)=>!Object.is(n,t[o]))}function ue({error:e}){return pr(ir,{severity:"error",variant:"outlined",children:[Me(sr,{children:"Application error"}),"[Error] ",e.message,Me("br",{}),Me("br",{}),"Please check your application config or contact us if the issue persists."]})}import{jsx as j}from"react/jsx-runtime";var $t=({config:e,theme:t,handleClose:n,open:o})=>j(K,{fallbackRender:ue,children:j(Se,{config:e,children:j(Xt,{theme:t??{},children:j(mr,{PaperProps:{sx:{width:"450px"}},open:!!o,onClose:n,children:j(ur,{sx:{position:"relative"},children:j(me,{})})})})})}),Ht=({config:e,theme:t})=>j(K,{fallbackRender:ue,children:j(Se,{config:e,children:j(Xt,{theme:t??{},children:j(me,{})})})});import gr from"@mui/material/Dialog";import hr from"@mui/material/DialogContent";import{ThemeProvider as Ot}from"@mui/material/styles";import yr,{useState as xr}from"react";import{jsx as ne,jsxs as Cr}from"react/jsx-runtime";var kr=({children:e,theme:t,initialAmount:n})=>{let[o,r]=xr(!1);return ne(K,{fallbackRender:ue,children:Cr(Ot,{theme:t,children:[yr.cloneElement(e,{onClick:()=>r(!0)}),ne(gr,{PaperProps:{sx:{width:"450px"}},open:o,onClose:()=>r(!1),children:ne(hr,{sx:{position:"relative"},children:ne(me,{initialAmount:n})})})]})})},Tr=({theme:e,initialAmount:t})=>ne(K,{fallbackRender:ue,children:ne(Ot,{theme:e,children:ne(me,{initialAmount:t})})});var vr=Kt(Ht,{props:{config:void 0,theme:void 0}}),br=Kt($t,{props:{config:void 0,theme:void 0,open:void 0,handleClose:void 0}}),jl=(e="psa-form")=>(customElements.get(e)||customElements.define(e,vr),customElements.whenDefined(e)),zl=(e="psa-dialog")=>(customElements.get(e)||customElements.define(e,br),customElements.whenDefined(e));export{Se as ConfigProvider,kr as PSADialog,Tr as PSAForm,Kl as createTheme,zl as loadDialogWidget,jl as loadFormWidget,Q as useApi,Zt as useChainId,w as useConfig,ie as useExistentialDeposit,ge as useExtensionInfo,Oe as useForeignTokenBalance,Ke as useToken,L as useTokenBalance,_e as useTransaction,Z as useTransfer,W as useWallet,Je as useXcmTransaction};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/smoldot/from-node-worker';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/smoldot/from-node-worker';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/smoldot/from-node-worker"),module.exports);0&&(module.exports={...require("@polkadot-api/smoldot/from-node-worker")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/smoldot/from-worker';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@polkadot-api/smoldot/from-worker';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("@polkadot-api/smoldot/from-worker"),module.exports);0&&(module.exports={...require("@polkadot-api/smoldot/from-worker")});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from '@polkadot-api/smoldot';
|
|
2
|
+
import '@polkadot-api/smoldot/from-node-worker';
|
|
3
|
+
import '@polkadot-api/smoldot/from-worker';
|
|
4
|
+
import '@polkadot-api/smoldot/worker';
|
|
5
|
+
import '@polkadot-api/known-chains/ksmcc3';
|
|
6
|
+
import '@polkadot-api/known-chains/ksmcc3_asset_hub';
|
|
7
|
+
import '@polkadot-api/known-chains/paseo';
|
|
8
|
+
import '@polkadot-api/known-chains/paseo_asset_hub';
|
|
9
|
+
import '@polkadot-api/known-chains/polkadot';
|
|
10
|
+
import '@polkadot-api/known-chains/polkadot_asset_hub';
|
|
11
|
+
import '@polkadot-api/known-chains/rococo_v2_2';
|
|
12
|
+
import '@polkadot-api/known-chains/rococo_v2_2_asset_hub';
|
|
13
|
+
import '@polkadot-api/known-chains/westend2';
|
|
14
|
+
import '@polkadot-api/known-chains/westend2_asset_hub';
|