@swapkit/wallets 4.0.0-beta.71 → 4.1.0
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/dist/chunk-23hnqbxw.js +4 -0
- package/dist/chunk-23hnqbxw.js.map +10 -0
- package/dist/{chunk-sbf0f2p4.js → chunk-hjyak2y4.js} +3 -3
- package/dist/chunk-hjyak2y4.js.map +10 -0
- package/dist/{chunk-x5n5v0h8.js → chunk-rv3zf3sa.js} +3 -3
- package/dist/chunk-rv3zf3sa.js.map +10 -0
- package/dist/chunk-t3m5498m.js +4 -0
- package/dist/chunk-t3m5498m.js.map +10 -0
- package/dist/src/bitget/index.cjs +2 -2
- package/dist/src/bitget/index.cjs.map +4 -4
- package/dist/src/bitget/index.js +2 -2
- package/dist/src/bitget/index.js.map +4 -4
- package/dist/src/coinbase/index.cjs +2 -2
- package/dist/src/coinbase/index.cjs.map +4 -4
- package/dist/src/coinbase/index.js +2 -2
- package/dist/src/coinbase/index.js.map +4 -4
- package/dist/src/cosmostation/index.cjs +2 -2
- package/dist/src/cosmostation/index.cjs.map +3 -3
- package/dist/src/cosmostation/index.js +2 -2
- package/dist/src/cosmostation/index.js.map +3 -3
- package/dist/src/ctrl/index.cjs +2 -2
- package/dist/src/ctrl/index.cjs.map +4 -4
- package/dist/src/ctrl/index.js +2 -2
- package/dist/src/ctrl/index.js.map +4 -4
- package/dist/src/evm-extensions/index.cjs +2 -2
- package/dist/src/evm-extensions/index.cjs.map +3 -3
- package/dist/src/evm-extensions/index.js +2 -2
- package/dist/src/evm-extensions/index.js.map +3 -3
- package/dist/src/exodus/index.cjs +2 -2
- package/dist/src/exodus/index.cjs.map +3 -3
- package/dist/src/exodus/index.js +2 -2
- package/dist/src/exodus/index.js.map +3 -3
- package/dist/src/index.cjs +2 -2
- package/dist/src/index.cjs.map +4 -4
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +4 -4
- package/dist/src/keepkey-bex/index.cjs +2 -2
- package/dist/src/keepkey-bex/index.cjs.map +4 -4
- package/dist/src/keepkey-bex/index.js +2 -2
- package/dist/src/keepkey-bex/index.js.map +4 -4
- package/dist/src/keplr/index.cjs +2 -2
- package/dist/src/keplr/index.cjs.map +4 -4
- package/dist/src/keplr/index.js +2 -2
- package/dist/src/keplr/index.js.map +4 -4
- package/dist/src/okx/index.cjs +2 -2
- package/dist/src/okx/index.cjs.map +4 -4
- package/dist/src/okx/index.js +2 -2
- package/dist/src/okx/index.js.map +4 -4
- package/dist/src/onekey/index.cjs +2 -2
- package/dist/src/onekey/index.cjs.map +3 -3
- package/dist/src/onekey/index.js +2 -2
- package/dist/src/onekey/index.js.map +3 -3
- package/dist/src/phantom/index.cjs +2 -2
- package/dist/src/phantom/index.cjs.map +3 -3
- package/dist/src/phantom/index.js +2 -2
- package/dist/src/phantom/index.js.map +3 -3
- package/dist/src/polkadotjs/index.cjs +2 -2
- package/dist/src/polkadotjs/index.cjs.map +3 -3
- package/dist/src/polkadotjs/index.js +2 -2
- package/dist/src/polkadotjs/index.js.map +3 -3
- package/dist/src/radix/index.cjs +2 -2
- package/dist/src/radix/index.cjs.map +3 -3
- package/dist/src/radix/index.js +2 -2
- package/dist/src/radix/index.js.map +3 -3
- package/dist/src/talisman/index.cjs +2 -2
- package/dist/src/talisman/index.cjs.map +3 -3
- package/dist/src/talisman/index.js +2 -2
- package/dist/src/talisman/index.js.map +3 -3
- package/dist/src/tronlink/index.cjs +2 -2
- package/dist/src/tronlink/index.cjs.map +5 -5
- package/dist/src/tronlink/index.js +2 -2
- package/dist/src/tronlink/index.js.map +5 -5
- package/dist/src/vultisig/index.cjs +2 -2
- package/dist/src/vultisig/index.cjs.map +4 -4
- package/dist/src/vultisig/index.js +2 -2
- package/dist/src/vultisig/index.js.map +4 -4
- package/dist/src/walletconnect/index.cjs +2 -2
- package/dist/src/walletconnect/index.cjs.map +6 -6
- package/dist/src/walletconnect/index.js +2 -2
- package/dist/src/walletconnect/index.js.map +6 -6
- package/dist/src/xaman/index.cjs +2 -2
- package/dist/src/xaman/index.cjs.map +5 -5
- package/dist/src/xaman/index.js +2 -2
- package/dist/src/xaman/index.js.map +5 -5
- package/dist/types/bitget/helpers.d.ts +246 -144
- package/dist/types/bitget/helpers.d.ts.map +1 -1
- package/dist/types/coinbase/index.d.ts.map +1 -1
- package/dist/types/coinbase/signer.d.ts +97 -28
- package/dist/types/coinbase/signer.d.ts.map +1 -1
- package/dist/types/cosmostation/index.d.ts.map +1 -1
- package/dist/types/ctrl/walletHelpers.d.ts +1 -1
- package/dist/types/ctrl/walletHelpers.d.ts.map +1 -1
- package/dist/types/evm-extensions/index.d.ts +97 -29
- package/dist/types/evm-extensions/index.d.ts.map +1 -1
- package/dist/types/evm-extensions/types.d.ts.map +1 -1
- package/dist/types/exodus/index.d.ts +1 -1
- package/dist/types/exodus/index.d.ts.map +1 -1
- package/dist/types/helpers/near.d.ts +2 -2
- package/dist/types/helpers/near.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/keepkey-bex/index.d.ts.map +1 -1
- package/dist/types/keepkey-bex/walletHelpers.d.ts +1 -1
- package/dist/types/keepkey-bex/walletHelpers.d.ts.map +1 -1
- package/dist/types/keplr/chainRegistry.d.ts.map +1 -1
- package/dist/types/keplr/index.d.ts.map +1 -1
- package/dist/types/okx/helpers.d.ts +139 -105
- package/dist/types/okx/helpers.d.ts.map +1 -1
- package/dist/types/onekey/evmSigner.d.ts.map +1 -1
- package/dist/types/onekey/index.d.ts.map +1 -1
- package/dist/types/radix/index.d.ts.map +1 -1
- package/dist/types/tronlink/helpers.d.ts.map +1 -1
- package/dist/types/tronlink/index.d.ts +1 -1
- package/dist/types/tronlink/index.d.ts.map +1 -1
- package/dist/types/tronlink/types.d.ts.map +1 -1
- package/dist/types/types.d.ts +4 -4
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/vultisig/index.d.ts.map +1 -1
- package/dist/types/vultisig/walletHelpers.d.ts +1 -1
- package/dist/types/vultisig/walletHelpers.d.ts.map +1 -1
- package/dist/types/walletconnect/constants.d.ts.map +1 -1
- package/dist/types/walletconnect/evmSigner.d.ts +1 -1
- package/dist/types/walletconnect/evmSigner.d.ts.map +1 -1
- package/dist/types/walletconnect/helpers.d.ts.map +1 -1
- package/dist/types/walletconnect/index.d.ts +2 -2
- package/dist/types/walletconnect/index.d.ts.map +1 -1
- package/dist/types/walletconnect/namespaces.d.ts.map +1 -1
- package/dist/types/xaman/helpers.d.ts +22 -19
- package/dist/types/xaman/helpers.d.ts.map +1 -1
- package/dist/types/xaman/index.d.ts.map +1 -1
- package/dist/types/xaman/walletMethods.d.ts +4 -4
- package/dist/types/xaman/walletMethods.d.ts.map +1 -1
- package/package.json +21 -28
- package/dist/chunk-mcrgqfr9.js +0 -4
- package/dist/chunk-mcrgqfr9.js.map +0 -10
- package/dist/chunk-sbf0f2p4.js.map +0 -10
- package/dist/chunk-wfattb4a.js +0 -4
- package/dist/chunk-wfattb4a.js.map +0 -10
- package/dist/chunk-x5n5v0h8.js.map +0 -10
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/onekey/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n
|
|
5
|
+
"import {\n addEVMWalletNetwork,\n Chain,\n filterSupportedChains,\n type NetworkParams,\n prepareNetworkSwitch,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\nimport type { BitcoinProvider, GetAddressOptions, GetAddressResponse, SignTransactionOptions } from \"sats-connect\";\n\nasync function getWalletMethodsForExtension(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin: {\n if (!window.$onekey?.btc) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { chain } });\n }\n\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const {\n signTransaction: satsSignTransaction,\n getAddress,\n AddressPurpose,\n BitcoinNetworkType,\n } = await import(\"sats-connect\");\n\n let address = \"\";\n\n const getProvider = () => new Promise<BitcoinProvider>((res) => res(window.$onekey?.btc));\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (response.addresses[0]?.address) {\n address = response.addresses[0].address;\n }\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: Psbt) {\n let signedPsbt: Psbt | undefined;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address, signingIndexes: psbt.txInputs.map((_: any, index: number) => index) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbt.toBase64(),\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_onekey_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n if (!window.$onekey?.sol) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { chain } });\n }\n\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n\n const signer = window.$onekey.sol;\n const address = await signer.getAddress();\n const toolbox = getSolanaToolbox({ signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Arbitrum:\n case Chain.Aurora:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Gnosis:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n if (!window.$onekey?.ethereum) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { chain } });\n }\n\n const { BrowserProvider } = await import(\"ethers\");\n const provider = new BrowserProvider(window.$onekey.ethereum, \"any\");\n\n await provider.send(\"eth_requestAccounts\", []);\n const jsonRpcProvider = await getProvider(chain);\n const signer = await provider.getSigner();\n const address = await signer.getAddress();\n\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams() as NetworkParams;\n\n await addEVMWalletNetwork(provider, networkParams);\n }\n } catch (error) {\n throw new SwapKitError({ errorKey: \"wallet_failed_to_add_or_switch_network\", info: { chain, error } });\n }\n\n return { address, ...prepareNetworkSwitch({ chain, provider, toolbox }) };\n }\n\n default:\n throw new SwapKitError({ errorKey: \"wallet_chain_not_supported\", info: { chain, wallet: WalletOption.ONEKEY } });\n }\n}\n\nexport const onekeyWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectOnekeyWallet(chains: Chain[]) {\n if (!window.$onekey) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { wallet: WalletOption.ONEKEY } });\n }\n\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethodsForExtension(chain);\n\n const address = (await walletMethods.getAddress()) || \"F\";\n\n addChain({ ...walletMethods, address, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectOnekeyWallet\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.Ethereum,\n Chain.Gnosis,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n ],\n walletType: WalletOption.ONEKEY,\n});\n\nexport const ONEKEY_WALLET_SUPPORTED_CHAINS = getWalletSupportedChains(onekeyWallet);\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "4FAQO,IARP,8BASA,kCACA,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "B63CC545BBD8705C64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/src/onekey/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as m,G as y}from"../../chunk-yqaz2d25.js";import{
|
|
1
|
+
import{F as m,G as y}from"../../chunk-yqaz2d25.js";import{addEVMWalletNetwork as h,Chain as e,filterSupportedChains as P,prepareNetworkSwitch as b,SwapKitError as s,WalletOption as _}from"@swapkit/helpers";import{createWallet as A,getWalletSupportedChains as E}from"@swapkit/wallet-core";import{Psbt as S}from"bitcoinjs-lib";async function O(t){switch(t){case e.Bitcoin:{if(!window.$onekey?.btc)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getUtxoToolbox:r}=await import("@swapkit/toolboxes/utxo"),{signTransaction:a,getAddress:w,AddressPurpose:n,BitcoinNetworkType:c}=await import("sats-connect"),o="",i=()=>new Promise((d)=>d(window.$onekey?.btc)),l={getProvider:i,onCancel:()=>{throw new s("wallet_connection_rejected_by_user")},onFinish:(d)=>{if(d.addresses[0]?.address)o=d.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:c.Mainnet},purposes:[n.Payment]}};await w(l);async function p(d){let g,f={getProvider:i,onCancel:()=>{throw new s("wallet_connection_rejected_by_user")},onFinish:(u)=>{g=S.fromBase64(u.psbtBase64)},payload:{broadcast:!1,inputsToSign:[{address:o,signingIndexes:d.txInputs.map((u,k)=>k)}],message:"Sign transaction",network:{type:c.Mainnet},psbtBase64:d.toBase64()}};if(await a(f),!g)throw new s("wallet_onekey_sign_transaction_error");return g}return{...await r(t,{signer:{getAddress:()=>Promise.resolve(o),signTransaction:p}}),address:o}}case e.Solana:{if(!window.$onekey?.sol)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getSolanaToolbox:r}=await import("@swapkit/toolboxes/solana"),a=window.$onekey.sol,w=await a.getAddress();return{...r({signer:a}),address:w}}case e.Arbitrum:case e.Aurora:case e.Avalanche:case e.Base:case e.BinanceSmartChain:case e.Ethereum:case e.Gnosis:case e.Optimism:case e.Polygon:{let{getProvider:r,getEvmToolbox:a}=await import("@swapkit/toolboxes/evm");if(!window.$onekey?.ethereum)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{BrowserProvider:w}=await import("ethers"),n=new w(window.$onekey.ethereum,"any");await n.send("eth_requestAccounts",[]);let c=await r(t),o=await n.getSigner(),i=await o.getAddress(),l=await a(t,{provider:c,signer:o});try{if(t!==e.Ethereum){let p=l.getNetworkParams();await h(n,p)}}catch(p){throw new s({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:p}})}return{address:i,...b({chain:t,provider:n,toolbox:l})}}default:throw new s({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:_.ONEKEY}})}}var x=A({connect:({addChain:t,walletType:r,supportedChains:a})=>async function w(n){if(!window.$onekey)throw new s({errorKey:"wallet_onekey_not_found",info:{wallet:_.ONEKEY}});let c=P({chains:n,supportedChains:a,walletType:r});return await Promise.all(c.map(async(o)=>{let i=await O(o),l=await i.getAddress()||"F";t({...i,address:l,chain:o,walletType:r})})),!0},name:"connectOnekeyWallet",supportedChains:[e.Arbitrum,e.Aurora,e.Avalanche,e.Base,e.BinanceSmartChain,e.Bitcoin,e.Ethereum,e.Gnosis,e.Optimism,e.Polygon,e.Solana],walletType:_.ONEKEY}),N=E(x);export{x as onekeyWallet,N as ONEKEY_WALLET_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=455BB661A6A76BF564756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/onekey/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n
|
|
5
|
+
"import {\n addEVMWalletNetwork,\n Chain,\n filterSupportedChains,\n type NetworkParams,\n prepareNetworkSwitch,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\nimport type { BitcoinProvider, GetAddressOptions, GetAddressResponse, SignTransactionOptions } from \"sats-connect\";\n\nasync function getWalletMethodsForExtension(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin: {\n if (!window.$onekey?.btc) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { chain } });\n }\n\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const {\n signTransaction: satsSignTransaction,\n getAddress,\n AddressPurpose,\n BitcoinNetworkType,\n } = await import(\"sats-connect\");\n\n let address = \"\";\n\n const getProvider = () => new Promise<BitcoinProvider>((res) => res(window.$onekey?.btc));\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (response.addresses[0]?.address) {\n address = response.addresses[0].address;\n }\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: Psbt) {\n let signedPsbt: Psbt | undefined;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address, signingIndexes: psbt.txInputs.map((_: any, index: number) => index) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbt.toBase64(),\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_onekey_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n if (!window.$onekey?.sol) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { chain } });\n }\n\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n\n const signer = window.$onekey.sol;\n const address = await signer.getAddress();\n const toolbox = getSolanaToolbox({ signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Arbitrum:\n case Chain.Aurora:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Gnosis:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n if (!window.$onekey?.ethereum) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { chain } });\n }\n\n const { BrowserProvider } = await import(\"ethers\");\n const provider = new BrowserProvider(window.$onekey.ethereum, \"any\");\n\n await provider.send(\"eth_requestAccounts\", []);\n const jsonRpcProvider = await getProvider(chain);\n const signer = await provider.getSigner();\n const address = await signer.getAddress();\n\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams() as NetworkParams;\n\n await addEVMWalletNetwork(provider, networkParams);\n }\n } catch (error) {\n throw new SwapKitError({ errorKey: \"wallet_failed_to_add_or_switch_network\", info: { chain, error } });\n }\n\n return { address, ...prepareNetworkSwitch({ chain, provider, toolbox }) };\n }\n\n default:\n throw new SwapKitError({ errorKey: \"wallet_chain_not_supported\", info: { chain, wallet: WalletOption.ONEKEY } });\n }\n}\n\nexport const onekeyWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectOnekeyWallet(chains: Chain[]) {\n if (!window.$onekey) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { wallet: WalletOption.ONEKEY } });\n }\n\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethodsForExtension(chain);\n\n const address = (await walletMethods.getAddress()) || \"F\";\n\n addChain({ ...walletMethods, address, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectOnekeyWallet\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.Ethereum,\n Chain.Gnosis,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n ],\n walletType: WalletOption.ONEKEY,\n});\n\nexport const ONEKEY_WALLET_SUPPORTED_CHAINS = getWalletSupportedChains(onekeyWallet);\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "mDAAA,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "455BB661A6A76BF564756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var A={};x(A,{phantomWallet:()=>u,PHANTOM_SUPPORTED_CHAINS:()=>S});module.exports=T(A);var t=require("@swapkit/helpers"),w=require("@swapkit/wallet-core"),u=w.createWallet({
|
|
1
|
+
var A={};x(A,{phantomWallet:()=>u,PHANTOM_SUPPORTED_CHAINS:()=>S});module.exports=T(A);var t=require("@swapkit/helpers"),w=require("@swapkit/wallet-core"),u=w.createWallet({connect:({addChain:s,supportedChains:i,walletType:n})=>async function e(a){let r=t.filterSupportedChains({chains:a,supportedChains:i,walletType:n});try{return await Promise.all(r.map(async(o)=>{let{address:p,...l}=await C(o);s({...l,address:p,chain:o,walletType:n})})),!0}catch(o){if(o instanceof t.SwapKitError)throw o;throw new t.SwapKitError("wallet_connection_rejected_by_user",o)}},name:"connectPhantom",supportedChains:[t.Chain.Bitcoin,t.Chain.Ethereum,t.Chain.Solana],walletType:t.WalletOption.PHANTOM}),S=w.getWalletSupportedChains(u);async function C(s){let i=window?.phantom;switch(s){case t.Chain.Bitcoin:{let n=i?.bitcoin;if(!n?.isPhantom)throw new t.SwapKitError("wallet_phantom_not_found");let{getUtxoToolbox:e}=await import("@swapkit/toolboxes/utxo"),[{address:a}]=await n.requestAccounts();return{...await e(s),address:a}}case t.Chain.Ethereum:{let{getEvmToolbox:n}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:e}=await import("ethers"),a=new e(i?.ethereum,"any"),[r]=await a.send("eth_requestAccounts",[]),o=await a.getSigner();return{...await n(s,{provider:a,signer:o}),address:r}}case t.Chain.Solana:{let{getSolanaToolbox:n}=await import("@swapkit/toolboxes/solana"),e=i?.solana;if(!e?.isPhantom)throw new t.SwapKitError("wallet_phantom_not_found");let r=(await e.connect()).publicKey.toString(),o=await n();return{...o,address:r,transfer:async({recipient:l,assetValue:_,isProgramDerivedAddress:h})=>{let{PublicKey:f}=await import("@solana/web3.js"),P=await o.getAddressValidator();if(!(h||P(l)))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let b=new f(r),m=await o.getConnection(),d=await o.createTransaction({assetValue:_,isProgramDerivedAddress:h,recipient:l,sender:r});if(!d)throw new t.SwapKitError("core_transaction_invalid_sender_address");let y=await m.getLatestBlockhash();d.recentBlockhash=y.blockhash,d.feePayer=b;let g=await e.signTransaction(d);return await m.sendRawTransaction(g.serialize())}}}default:throw new t.SwapKitError("wallet_chain_not_supported",{chain:s,wallet:t.WalletOption.PHANTOM})}}
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=A81D8479E8487D3564756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/phantom/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n type AssetValue,\n Chain,\n type GenericTransferParams,\n SwapKitError,\n WalletOption,\n
|
|
5
|
+
"import {\n type AssetValue,\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nexport const phantomWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectPhantom(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n try {\n await Promise.all(\n filteredChains.map(async (chain) => {\n const { address, ...methods } = await getWalletMethods(chain);\n\n addChain({ ...methods, address, chain, walletType });\n }),\n );\n\n return true;\n } catch (error) {\n if (error instanceof SwapKitError) throw error;\n\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n },\n name: \"connectPhantom\",\n supportedChains: [Chain.Bitcoin, Chain.Ethereum, Chain.Solana],\n walletType: WalletOption.PHANTOM,\n});\n\nexport const PHANTOM_SUPPORTED_CHAINS = getWalletSupportedChains(phantomWallet);\nexport type PhantomSupportedChain = (typeof PHANTOM_SUPPORTED_CHAINS)[number];\n\nasync function getWalletMethods(chain: PhantomSupportedChain) {\n const phantom: any = window?.phantom;\n\n switch (chain) {\n case Chain.Bitcoin: {\n const provider = phantom?.bitcoin;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const [{ address }] = await provider.requestAccounts();\n const toolbox = await getUtxoToolbox(chain);\n\n return { ...toolbox, address };\n }\n\n case Chain.Ethereum: {\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const provider = new BrowserProvider(phantom?.ethereum, \"any\");\n const [address] = await provider.send(\"eth_requestAccounts\", []);\n\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = phantom?.solana;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const providerConnection = await provider.connect();\n const address: string = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox();\n\n const transfer = async ({\n recipient,\n assetValue,\n isProgramDerivedAddress,\n }: GenericTransferParams & { assetValue: AssetValue; isProgramDerivedAddress?: boolean }) => {\n const { PublicKey } = await import(\"@solana/web3.js\");\n const validateAddress = await toolbox.getAddressValidator();\n\n if (!(isProgramDerivedAddress || validateAddress(recipient))) {\n throw new SwapKitError(\"core_transaction_invalid_recipient_address\");\n }\n\n const fromPubkey = new PublicKey(address);\n const connection = await toolbox.getConnection();\n\n const transaction = await toolbox.createTransaction({\n assetValue,\n isProgramDerivedAddress,\n recipient,\n sender: address,\n });\n\n if (!transaction) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n const blockHash = await connection.getLatestBlockhash();\n transaction.recentBlockhash = blockHash.blockhash;\n transaction.feePayer = fromPubkey;\n\n const signedTransaction = await provider.signTransaction(transaction);\n\n const txid = await connection.sendRawTransaction(signedTransaction.serialize());\n\n return txid;\n };\n\n return { ...toolbox, address, transfer };\n }\n\n default: {\n throw new SwapKitError(\"wallet_chain_not_supported\", { chain, wallet: WalletOption.PHANTOM });\n }\n }\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "uFAOO,IAPP,8BAQA,kCAEa,EAAgB,eAAa,CACxC,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "uFAOO,IAPP,8BAQA,kCAEa,EAAgB,eAAa,CACxC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,eAAe,CAAc,CAAC,EAAiB,CAC7C,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEpF,GAAI,CASF,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAQ,aAAY,GAAY,MAAM,EAAiB,CAAK,EAE5D,EAAS,IAAK,EAAS,UAAS,QAAO,YAAW,CAAC,EACpD,CACH,EAEO,GACP,MAAO,EAAO,CACd,GAAI,aAAiB,eAAc,MAAM,EAEzC,MAAM,IAAI,eAAa,qCAAsC,CAAK,IAGxE,KAAM,iBACN,gBAAiB,CAAC,QAAM,QAAS,QAAM,SAAU,QAAM,MAAM,EAC7D,WAAY,eAAa,OAC3B,CAAC,EAEY,EAA2B,2BAAyB,CAAa,EAG9E,eAAe,CAAgB,CAAC,EAA8B,CAC5D,IAAM,EAAe,QAAQ,QAE7B,OAAQ,QACD,QAAM,QAAS,CAClB,IAAM,EAAW,GAAS,QAC1B,IAAK,GAAU,UACb,MAAM,IAAI,eAAa,0BAA0B,EAGnD,IAAQ,kBAAmB,KAAa,qCAC/B,YAAa,MAAM,EAAS,gBAAgB,EAGrD,MAAO,IAFS,MAAM,EAAe,CAAK,EAErB,SAAQ,CAC/B,MAEK,QAAM,SAAU,CACnB,IAAQ,iBAAkB,KAAa,mCAC/B,mBAAoB,KAAa,kBAEnC,EAAW,IAAI,EAAgB,GAAS,SAAU,KAAK,GACtD,GAAW,MAAM,EAAS,KAAK,sBAAuB,CAAC,CAAC,EAEzD,EAAS,MAAM,EAAS,UAAU,EAGxC,MAAO,IAFS,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EAE1C,SAAQ,CAC/B,MAEK,QAAM,OAAQ,CACjB,IAAQ,oBAAqB,KAAa,qCACpC,EAAW,GAAS,OAC1B,IAAK,GAAU,UACb,MAAM,IAAI,eAAa,0BAA0B,EAInD,IAAM,GADqB,MAAM,EAAS,QAAQ,GACP,UAAU,SAAS,EACxD,EAAU,MAAM,EAAiB,EAuCvC,MAAO,IAAK,EAAS,UAAS,SArCb,OACf,YACA,aACA,6BAC2F,CAC3F,IAAQ,aAAc,KAAa,2BAC7B,EAAkB,MAAM,EAAQ,oBAAoB,EAE1D,KAAM,GAA2B,EAAgB,CAAS,GACxD,MAAM,IAAI,eAAa,4CAA4C,EAGrE,IAAM,EAAa,IAAI,EAAU,CAAO,EAClC,EAAa,MAAM,EAAQ,cAAc,EAEzC,EAAc,MAAM,EAAQ,kBAAkB,CAClD,aACA,0BACA,YACA,OAAQ,CACV,CAAC,EAED,IAAK,EACH,MAAM,IAAI,eAAa,yCAAyC,EAGlE,IAAM,EAAY,MAAM,EAAW,mBAAmB,EACtD,EAAY,gBAAkB,EAAU,UACxC,EAAY,SAAW,EAEvB,IAAM,EAAoB,MAAM,EAAS,gBAAgB,CAAW,EAIpE,OAFa,MAAM,EAAW,mBAAmB,EAAkB,UAAU,CAAC,EAKzC,CACzC,SAGE,MAAM,IAAI,eAAa,6BAA8B,CAAE,QAAO,OAAQ,eAAa,OAAQ,CAAC",
|
|
8
|
+
"debugId": "A81D8479E8487D3564756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as l,G as d}from"../../chunk-yqaz2d25.js";import{Chain as i,SwapKitError as r,WalletOption as _
|
|
1
|
+
import{F as l,G as d}from"../../chunk-yqaz2d25.js";import{Chain as i,filterSupportedChains as x,SwapKitError as r,WalletOption as _}from"@swapkit/helpers";import{createWallet as S,getWalletSupportedChains as C}from"@swapkit/wallet-core";var A=S({connect:({addChain:s,supportedChains:c,walletType:o})=>async function n(e){let a=x({chains:e,supportedChains:c,walletType:o});try{return await Promise.all(a.map(async(t)=>{let{address:h,...w}=await v(t);s({...w,address:h,chain:t,walletType:o})})),!0}catch(t){if(t instanceof r)throw t;throw new r("wallet_connection_rejected_by_user",t)}},name:"connectPhantom",supportedChains:[i.Bitcoin,i.Ethereum,i.Solana],walletType:_.PHANTOM}),N=C(A);async function v(s){let c=window?.phantom;switch(s){case i.Bitcoin:{let o=c?.bitcoin;if(!o?.isPhantom)throw new r("wallet_phantom_not_found");let{getUtxoToolbox:n}=await import("@swapkit/toolboxes/utxo"),[{address:e}]=await o.requestAccounts();return{...await n(s),address:e}}case i.Ethereum:{let{getEvmToolbox:o}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:n}=await import("ethers"),e=new n(c?.ethereum,"any"),[a]=await e.send("eth_requestAccounts",[]),t=await e.getSigner();return{...await o(s,{provider:e,signer:t}),address:a}}case i.Solana:{let{getSolanaToolbox:o}=await import("@swapkit/toolboxes/solana"),n=c?.solana;if(!n?.isPhantom)throw new r("wallet_phantom_not_found");let a=(await n.connect()).publicKey.toString(),t=await o();return{...t,address:a,transfer:async({recipient:w,assetValue:f,isProgramDerivedAddress:m})=>{let{PublicKey:P}=await import("@solana/web3.js"),b=await t.getAddressValidator();if(!(m||b(w)))throw new r("core_transaction_invalid_recipient_address");let y=new P(a),u=await t.getConnection(),p=await t.createTransaction({assetValue:f,isProgramDerivedAddress:m,recipient:w,sender:a});if(!p)throw new r("core_transaction_invalid_sender_address");let g=await u.getLatestBlockhash();p.recentBlockhash=g.blockhash,p.feePayer=y;let T=await n.signTransaction(p);return await u.sendRawTransaction(T.serialize())}}}default:throw new r("wallet_chain_not_supported",{chain:s,wallet:_.PHANTOM})}}export{A as phantomWallet,N as PHANTOM_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=315F3BCCF42586EB64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/phantom/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n type AssetValue,\n Chain,\n type GenericTransferParams,\n SwapKitError,\n WalletOption,\n
|
|
5
|
+
"import {\n type AssetValue,\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nexport const phantomWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectPhantom(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n try {\n await Promise.all(\n filteredChains.map(async (chain) => {\n const { address, ...methods } = await getWalletMethods(chain);\n\n addChain({ ...methods, address, chain, walletType });\n }),\n );\n\n return true;\n } catch (error) {\n if (error instanceof SwapKitError) throw error;\n\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n },\n name: \"connectPhantom\",\n supportedChains: [Chain.Bitcoin, Chain.Ethereum, Chain.Solana],\n walletType: WalletOption.PHANTOM,\n});\n\nexport const PHANTOM_SUPPORTED_CHAINS = getWalletSupportedChains(phantomWallet);\nexport type PhantomSupportedChain = (typeof PHANTOM_SUPPORTED_CHAINS)[number];\n\nasync function getWalletMethods(chain: PhantomSupportedChain) {\n const phantom: any = window?.phantom;\n\n switch (chain) {\n case Chain.Bitcoin: {\n const provider = phantom?.bitcoin;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const [{ address }] = await provider.requestAccounts();\n const toolbox = await getUtxoToolbox(chain);\n\n return { ...toolbox, address };\n }\n\n case Chain.Ethereum: {\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const provider = new BrowserProvider(phantom?.ethereum, \"any\");\n const [address] = await provider.send(\"eth_requestAccounts\", []);\n\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = phantom?.solana;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const providerConnection = await provider.connect();\n const address: string = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox();\n\n const transfer = async ({\n recipient,\n assetValue,\n isProgramDerivedAddress,\n }: GenericTransferParams & { assetValue: AssetValue; isProgramDerivedAddress?: boolean }) => {\n const { PublicKey } = await import(\"@solana/web3.js\");\n const validateAddress = await toolbox.getAddressValidator();\n\n if (!(isProgramDerivedAddress || validateAddress(recipient))) {\n throw new SwapKitError(\"core_transaction_invalid_recipient_address\");\n }\n\n const fromPubkey = new PublicKey(address);\n const connection = await toolbox.getConnection();\n\n const transaction = await toolbox.createTransaction({\n assetValue,\n isProgramDerivedAddress,\n recipient,\n sender: address,\n });\n\n if (!transaction) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n const blockHash = await connection.getLatestBlockhash();\n transaction.recentBlockhash = blockHash.blockhash;\n transaction.feePayer = fromPubkey;\n\n const signedTransaction = await provider.signTransaction(transaction);\n\n const txid = await connection.sendRawTransaction(signedTransaction.serialize());\n\n return txid;\n };\n\n return { ...toolbox, address, transfer };\n }\n\n default: {\n throw new SwapKitError(\"wallet_chain_not_supported\", { chain, wallet: WalletOption.PHANTOM });\n }\n }\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "mDAAA,gBAEE,kBAEA,kBACA,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "mDAAA,gBAEE,2BACA,kBAEA,kBACA,yBAEF,uBAAS,8BAAc,6BAEhB,IAAM,EAAgB,EAAa,CACxC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,eAAe,CAAc,CAAC,EAAiB,CAC7C,IAAM,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEpF,GAAI,CASF,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAQ,aAAY,GAAY,MAAM,EAAiB,CAAK,EAE5D,EAAS,IAAK,EAAS,UAAS,QAAO,YAAW,CAAC,EACpD,CACH,EAEO,GACP,MAAO,EAAO,CACd,GAAI,aAAiB,EAAc,MAAM,EAEzC,MAAM,IAAI,EAAa,qCAAsC,CAAK,IAGxE,KAAM,iBACN,gBAAiB,CAAC,EAAM,QAAS,EAAM,SAAU,EAAM,MAAM,EAC7D,WAAY,EAAa,OAC3B,CAAC,EAEY,EAA2B,EAAyB,CAAa,EAG9E,eAAe,CAAgB,CAAC,EAA8B,CAC5D,IAAM,EAAe,QAAQ,QAE7B,OAAQ,QACD,EAAM,QAAS,CAClB,IAAM,EAAW,GAAS,QAC1B,IAAK,GAAU,UACb,MAAM,IAAI,EAAa,0BAA0B,EAGnD,IAAQ,kBAAmB,KAAa,qCAC/B,YAAa,MAAM,EAAS,gBAAgB,EAGrD,MAAO,IAFS,MAAM,EAAe,CAAK,EAErB,SAAQ,CAC/B,MAEK,EAAM,SAAU,CACnB,IAAQ,iBAAkB,KAAa,mCAC/B,mBAAoB,KAAa,kBAEnC,EAAW,IAAI,EAAgB,GAAS,SAAU,KAAK,GACtD,GAAW,MAAM,EAAS,KAAK,sBAAuB,CAAC,CAAC,EAEzD,EAAS,MAAM,EAAS,UAAU,EAGxC,MAAO,IAFS,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EAE1C,SAAQ,CAC/B,MAEK,EAAM,OAAQ,CACjB,IAAQ,oBAAqB,KAAa,qCACpC,EAAW,GAAS,OAC1B,IAAK,GAAU,UACb,MAAM,IAAI,EAAa,0BAA0B,EAInD,IAAM,GADqB,MAAM,EAAS,QAAQ,GACP,UAAU,SAAS,EACxD,EAAU,MAAM,EAAiB,EAuCvC,MAAO,IAAK,EAAS,UAAS,SArCb,OACf,YACA,aACA,6BAC2F,CAC3F,IAAQ,aAAc,KAAa,2BAC7B,EAAkB,MAAM,EAAQ,oBAAoB,EAE1D,KAAM,GAA2B,EAAgB,CAAS,GACxD,MAAM,IAAI,EAAa,4CAA4C,EAGrE,IAAM,EAAa,IAAI,EAAU,CAAO,EAClC,EAAa,MAAM,EAAQ,cAAc,EAEzC,EAAc,MAAM,EAAQ,kBAAkB,CAClD,aACA,0BACA,YACA,OAAQ,CACV,CAAC,EAED,IAAK,EACH,MAAM,IAAI,EAAa,yCAAyC,EAGlE,IAAM,EAAY,MAAM,EAAW,mBAAmB,EACtD,EAAY,gBAAkB,EAAU,UACxC,EAAY,SAAW,EAEvB,IAAM,EAAoB,MAAM,EAAS,gBAAgB,CAAW,EAIpE,OAFa,MAAM,EAAW,mBAAmB,EAAkB,UAAU,CAAC,EAKzC,CACzC,SAGE,MAAM,IAAI,EAAa,6BAA8B,CAAE,QAAO,OAAQ,EAAa,OAAQ,CAAC",
|
|
8
|
+
"debugId": "315F3BCCF42586EB64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var h={};f(h,{polkadotWallet:()=>i,POLKADOT_SUPPORTED_CHAINS:()=>_});module.exports=u(h);var t=require("@swapkit/helpers"),r=require("@swapkit/wallet-core"),i=r.createWallet({
|
|
1
|
+
var h={};f(h,{polkadotWallet:()=>i,POLKADOT_SUPPORTED_CHAINS:()=>_});module.exports=u(h);var t=require("@swapkit/helpers"),r=require("@swapkit/wallet-core"),i=r.createWallet({connect:({addChain:e,supportedChains:l,walletType:d})=>async function n(s){let o=t.filterSupportedChains({chains:s,supportedChains:l,walletType:d});return await Promise.all(o.map(async(a)=>{let{address:c,...w}=await P(a);e({...w,address:c,chain:a,walletType:d})})),!0},name:"connectPolkadotJs",supportedChains:[t.Chain.Polkadot],walletType:t.WalletOption.POLKADOT_JS}),_=r.getWalletSupportedChains(i);async function P(e){switch(e){case t.Chain.Polkadot:{let{getSubstrateToolbox:l}=await import("@swapkit/toolboxes/substrate"),n=await window?.injectedWeb3?.["polkadot-js"]?.enable?.("polkadot-js");if(!n)throw new t.SwapKitError({errorKey:"wallet_polkadot_not_found",info:{chain:e}});let s=await l(e,{signer:n.signer}),[o]=await n.accounts.get();if(!o?.address)throw new t.SwapKitError({errorKey:"wallet_missing_params",info:{address:o?.address,wallet:t.WalletOption.POLKADOT_JS}});let a=s.convertAddress(o.address,0);return{...s,address:a,getAddress:()=>a}}default:throw new t.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:e,wallet:t.WalletOption.POLKADOT_JS}})}}
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=B69F74E2F6CD5FE664756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/polkadotjs/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { Chain, SwapKitError, WalletOption
|
|
5
|
+
"import { Chain, filterSupportedChains, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nexport const polkadotWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectPolkadotJs(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const { address, ...walletMethods } = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectPolkadotJs\",\n supportedChains: [Chain.Polkadot],\n walletType: WalletOption.POLKADOT_JS,\n});\n\nexport const POLKADOT_SUPPORTED_CHAINS = getWalletSupportedChains(polkadotWallet);\n\nasync function getWalletMethods(chain: Chain) {\n switch (chain) {\n case Chain.Polkadot: {\n const { getSubstrateToolbox } = await import(\"@swapkit/toolboxes/substrate\");\n const injectedExtension = window?.injectedWeb3?.[\"polkadot-js\"];\n\n const rawExtension = await injectedExtension?.enable?.(\"polkadot-js\");\n if (!rawExtension) {\n throw new SwapKitError({ errorKey: \"wallet_polkadot_not_found\", info: { chain } });\n }\n\n const toolbox = await getSubstrateToolbox(chain, { signer: rawExtension.signer });\n const [account] = await rawExtension.accounts.get();\n\n if (!account?.address) {\n throw new SwapKitError({\n errorKey: \"wallet_missing_params\",\n info: { address: account?.address, wallet: WalletOption.POLKADOT_JS },\n });\n }\n\n const address = toolbox.convertAddress(account.address, 0);\n return { ...toolbox, address, getAddress: () => address };\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.POLKADOT_JS },\n });\n }\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "yFAAyE,IAAzE,8BACA,kCAEa,EAAiB,eAAa,CACzC,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "yFAAyE,IAAzE,8BACA,kCAEa,EAAiB,eAAa,CACzC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,eAAe,CAAiB,CAAC,EAAiB,CAChD,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAUpF,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAQ,aAAY,GAAkB,MAAM,EAAiB,CAAK,EAElE,EAAS,IAAK,EAAe,UAAS,QAAO,YAAW,CAAC,EAC1D,CACH,EAEO,IAEX,KAAM,oBACN,gBAAiB,CAAC,QAAM,QAAQ,EAChC,WAAY,eAAa,WAC3B,CAAC,EAEY,EAA4B,2BAAyB,CAAc,EAEhF,eAAe,CAAgB,CAAC,EAAc,CAC5C,OAAQ,QACD,QAAM,SAAU,CACnB,IAAQ,uBAAwB,KAAa,wCAGvC,EAAe,MAFK,QAAQ,eAAe,gBAEH,SAAS,aAAa,EACpE,IAAK,EACH,MAAM,IAAI,eAAa,CAAE,SAAU,4BAA6B,KAAM,CAAE,OAAM,CAAE,CAAC,EAGnF,IAAM,EAAU,MAAM,EAAoB,EAAO,CAAE,OAAQ,EAAa,MAAO,CAAC,GACzE,GAAW,MAAM,EAAa,SAAS,IAAI,EAElD,IAAK,GAAS,QACZ,MAAM,IAAI,eAAa,CACrB,SAAU,wBACV,KAAM,CAAE,QAAS,GAAS,QAAS,OAAQ,eAAa,WAAY,CACtE,CAAC,EAGH,IAAM,EAAU,EAAQ,eAAe,EAAQ,QAAS,CAAC,EACzD,MAAO,IAAK,EAAS,UAAS,WAAY,IAAM,CAAQ,CAC1D,SAGE,MAAM,IAAI,eAAa,CACrB,SAAU,6BACV,KAAM,CAAE,QAAO,OAAQ,eAAa,WAAY,CAClD,CAAC",
|
|
8
|
+
"debugId": "B69F74E2F6CD5FE664756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as p,G as u}from"../../chunk-yqaz2d25.js";import{Chain as i,SwapKitError as l,WalletOption as d
|
|
1
|
+
import{F as p,G as u}from"../../chunk-yqaz2d25.js";import{Chain as i,filterSupportedChains as f,SwapKitError as l,WalletOption as d}from"@swapkit/helpers";import{createWallet as _,getWalletSupportedChains as P}from"@swapkit/wallet-core";var h=_({connect:({addChain:t,supportedChains:s,walletType:r})=>async function a(n){let e=f({chains:n,supportedChains:s,walletType:r});return await Promise.all(e.map(async(o)=>{let{address:c,...w}=await m(o);t({...w,address:c,chain:o,walletType:r})})),!0},name:"connectPolkadotJs",supportedChains:[i.Polkadot],walletType:d.POLKADOT_JS}),g=P(h);async function m(t){switch(t){case i.Polkadot:{let{getSubstrateToolbox:s}=await import("@swapkit/toolboxes/substrate"),a=await window?.injectedWeb3?.["polkadot-js"]?.enable?.("polkadot-js");if(!a)throw new l({errorKey:"wallet_polkadot_not_found",info:{chain:t}});let n=await s(t,{signer:a.signer}),[e]=await a.accounts.get();if(!e?.address)throw new l({errorKey:"wallet_missing_params",info:{address:e?.address,wallet:d.POLKADOT_JS}});let o=n.convertAddress(e.address,0);return{...n,address:o,getAddress:()=>o}}default:throw new l({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:d.POLKADOT_JS}})}}export{h as polkadotWallet,g as POLKADOT_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=DF70D56BC266BFD464756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/polkadotjs/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { Chain, SwapKitError, WalletOption
|
|
5
|
+
"import { Chain, filterSupportedChains, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nexport const polkadotWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectPolkadotJs(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const { address, ...walletMethods } = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectPolkadotJs\",\n supportedChains: [Chain.Polkadot],\n walletType: WalletOption.POLKADOT_JS,\n});\n\nexport const POLKADOT_SUPPORTED_CHAINS = getWalletSupportedChains(polkadotWallet);\n\nasync function getWalletMethods(chain: Chain) {\n switch (chain) {\n case Chain.Polkadot: {\n const { getSubstrateToolbox } = await import(\"@swapkit/toolboxes/substrate\");\n const injectedExtension = window?.injectedWeb3?.[\"polkadot-js\"];\n\n const rawExtension = await injectedExtension?.enable?.(\"polkadot-js\");\n if (!rawExtension) {\n throw new SwapKitError({ errorKey: \"wallet_polkadot_not_found\", info: { chain } });\n }\n\n const toolbox = await getSubstrateToolbox(chain, { signer: rawExtension.signer });\n const [account] = await rawExtension.accounts.get();\n\n if (!account?.address) {\n throw new SwapKitError({\n errorKey: \"wallet_missing_params\",\n info: { address: account?.address, wallet: WalletOption.POLKADOT_JS },\n });\n }\n\n const address = toolbox.convertAddress(account.address, 0);\n return { ...toolbox, address, getAddress: () => address };\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.POLKADOT_JS },\n });\n }\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "mDAAA,gBAAS,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "mDAAA,gBAAS,2BAAO,kBAAuB,kBAAc,yBACrD,uBAAS,8BAAc,6BAEhB,IAAM,EAAiB,EAAa,CACzC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,eAAe,CAAiB,CAAC,EAAiB,CAChD,IAAM,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAUpF,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAQ,aAAY,GAAkB,MAAM,EAAiB,CAAK,EAElE,EAAS,IAAK,EAAe,UAAS,QAAO,YAAW,CAAC,EAC1D,CACH,EAEO,IAEX,KAAM,oBACN,gBAAiB,CAAC,EAAM,QAAQ,EAChC,WAAY,EAAa,WAC3B,CAAC,EAEY,EAA4B,EAAyB,CAAc,EAEhF,eAAe,CAAgB,CAAC,EAAc,CAC5C,OAAQ,QACD,EAAM,SAAU,CACnB,IAAQ,uBAAwB,KAAa,wCAGvC,EAAe,MAFK,QAAQ,eAAe,gBAEH,SAAS,aAAa,EACpE,IAAK,EACH,MAAM,IAAI,EAAa,CAAE,SAAU,4BAA6B,KAAM,CAAE,OAAM,CAAE,CAAC,EAGnF,IAAM,EAAU,MAAM,EAAoB,EAAO,CAAE,OAAQ,EAAa,MAAO,CAAC,GACzE,GAAW,MAAM,EAAa,SAAS,IAAI,EAElD,IAAK,GAAS,QACZ,MAAM,IAAI,EAAa,CACrB,SAAU,wBACV,KAAM,CAAE,QAAS,GAAS,QAAS,OAAQ,EAAa,WAAY,CACtE,CAAC,EAGH,IAAM,EAAU,EAAQ,eAAe,EAAQ,QAAS,CAAC,EACzD,MAAO,IAAK,EAAS,UAAS,WAAY,IAAM,CAAQ,CAC1D,SAGE,MAAM,IAAI,EAAa,CACrB,SAAU,6BACV,KAAM,CAAE,QAAO,OAAQ,EAAa,WAAY,CAClD,CAAC",
|
|
8
|
+
"debugId": "DF70D56BC266BFD464756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/src/radix/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var k={};N(k,{radixWallet:()=>T,RADIX_SUPPORTED_CHAINS:()=>S});module.exports=I(k);var j=require("@swapkit/helpers"),_=require("@swapkit/wallet-core"),T=_.createWallet({
|
|
1
|
+
var k={};N(k,{radixWallet:()=>T,RADIX_SUPPORTED_CHAINS:()=>S});module.exports=I(k);var j=require("@swapkit/helpers"),_=require("@swapkit/wallet-core"),T=_.createWallet({connect:({addChain:M,supportedChains:L,walletType:J})=>async function W(O){let Q=j.filterSupportedChains({chains:O,supportedChains:L,walletType:J});if(!j.SKConfig.get("integrations").radix)throw new j.SwapKitError("wallet_radix_not_found");return await Promise.all(Q.map(async(H)=>{let z=await h();M({...z,chain:H,walletType:J})})),!0},name:"connectRadixWallet",supportedChains:[j.Chain.Radix],walletType:j.WalletOption.RADIX_WALLET}),S=_.getWalletSupportedChains(T);async function x(M){let{GatewayApiClient:L}=await import("@radixdlt/babylon-gateway-api-sdk"),{applicationName:J}=j.SKConfig.get("integrations").radix,W=L.initialize({applicationName:J,networkId:1}),O=!0,Q,V=[],H=await B(W);while(O){let z={address:M,at_ledger_state:{state_version:H},cursor:Q,limit_per_page:100},U=await W.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:z});if(V=V.concat(U.items),U.next_cursor)Q=U.next_cursor;else O=!1}return V}function B(M){return M.status.getCurrent().then((L)=>L.ledger_state.state_version)}async function C(M){let{GatewayApiClient:L}=await import("@radixdlt/babylon-gateway-api-sdk"),J=await x(M),{applicationName:W}=j.SKConfig.get("integrations").radix,O=L.initialize({applicationName:W,networkId:1}),Q=[],V=50,H=[];for(let z=0;z<J.length;z+=50)H.push(J.slice(z,z+50));for(let z of H){let U=z.map((K)=>K.resource_address),Y=await O.state.getEntityDetailsVaultAggregated(U),G=new Map;for(let K of Y)if(K.details!==void 0){let X=K.metadata?.items.find((q)=>q.key==="symbol"),$=X?.value.typed.type==="String"?X.value.typed.value:"?";if(K.details.type==="FungibleResource")G.set(K.address,{decimals:K.details.divisibility,symbol:$})}for(let K of z)if(K.aggregation_level==="Global"){let X=G.get(K.resource_address)||{decimals:0,symbol:"?"},$=j.AssetValue.from({asset:X.symbol!==j.Chain.Radix?`${j.Chain.Radix}.${X.symbol}-${K.resource_address}`:"XRD.XRD",value:K.amount});Q.push($)}}return Q}async function h(){let{RadixDappToolkit:M}=await import("@radixdlt/radix-dapp-toolkit"),L=j.SKConfig.get("integrations").radix,J=M({...L,networkId:L.network.networkId});function W(H){return new Promise((z)=>setTimeout(z,H))}await W(400);function O(){return J.walletApi.getWalletData()?.accounts?.[0]?.address}let Q=async()=>{let{DataRequestBuilder:H}=await import("@radixdlt/radix-dapp-toolkit");J.walletApi.setRequestData(H.accounts().exactly(1));let z=await J.walletApi.sendRequest();if(!z)throw new j.SwapKitError("wallet_radix_no_account");let U=z.unwrapOr(null)?.accounts[0]?.address;if(!U)throw new j.SwapKitError("wallet_radix_no_account");return U},V=O()||await Q();return{address:V,getAddress:O,getBalance:()=>C(V),radixDappToolkit:J,signAndBroadcast:async({manifest:H,message:z})=>{let Y=(await J.walletApi.sendTransaction({message:z,transactionManifest:H})).unwrapOr(null)?.transactionIntentHash;if(!Y)throw new j.SwapKitError("wallet_radix_transaction_failed");return Y},transfer:(H)=>{throw new j.SwapKitError("wallet_radix_method_not_supported",{method:"transfer"})}}}
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=866079297296581E64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/radix/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import type {\n FungibleResourcesCollectionItem,\n GatewayApiClient,\n StateEntityDetailsVaultResponseItem,\n StateEntityFungiblesPageRequest,\n StateEntityFungiblesPageResponse,\n} from \"@radixdlt/babylon-gateway-api-sdk\";\nimport {
|
|
5
|
+
"import type {\n FungibleResourcesCollectionItem,\n GatewayApiClient,\n StateEntityDetailsVaultResponseItem,\n StateEntityFungiblesPageRequest,\n StateEntityFungiblesPageResponse,\n} from \"@radixdlt/babylon-gateway-api-sdk\";\nimport { AssetValue, Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nexport const radixWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectRadixWallet(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const radixConfig = SKConfig.get(\"integrations\").radix;\n\n if (!radixConfig) {\n throw new SwapKitError(\"wallet_radix_not_found\");\n }\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethods();\n\n addChain({ ...walletMethods, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectRadixWallet\",\n supportedChains: [Chain.Radix],\n walletType: WalletOption.RADIX_WALLET,\n});\n\nexport const RADIX_SUPPORTED_CHAINS = getWalletSupportedChains(radixWallet);\n\nasync function fetchFungibleResources(address: string): Promise<FungibleResourcesCollectionItem[]> {\n const { GatewayApiClient } = await import(\"@radixdlt/babylon-gateway-api-sdk\");\n const { applicationName } = SKConfig.get(\"integrations\").radix;\n const networkApi = GatewayApiClient.initialize({ applicationName, networkId: 1 });\n\n let hasNextPage = true;\n let nextCursor: string | undefined;\n let fungibleResources: FungibleResourcesCollectionItem[] = [];\n\n const stateVersion = await currentStateVersion(networkApi);\n\n while (hasNextPage) {\n const stateEntityFungiblesPageRequest: StateEntityFungiblesPageRequest = {\n address: address,\n at_ledger_state: { state_version: stateVersion },\n cursor: nextCursor,\n limit_per_page: 100,\n };\n\n const stateEntityFungiblesPageResponse: StateEntityFungiblesPageResponse =\n await networkApi.state.innerClient.entityFungiblesPage({\n stateEntityFungiblesPageRequest: stateEntityFungiblesPageRequest,\n });\n\n fungibleResources = fungibleResources.concat(stateEntityFungiblesPageResponse.items);\n\n if (stateEntityFungiblesPageResponse.next_cursor) {\n nextCursor = stateEntityFungiblesPageResponse.next_cursor;\n } else {\n hasNextPage = false;\n }\n }\n return fungibleResources;\n}\n\nfunction currentStateVersion(networkApi: GatewayApiClient) {\n return networkApi.status.getCurrent().then((status) => status.ledger_state.state_version);\n}\n\n// TODO - @Towan: is that still needed with SwapKitApi.getChainBalance()?\nasync function getBalance(address: string): Promise<AssetValue[]> {\n const { GatewayApiClient } = await import(\"@radixdlt/babylon-gateway-api-sdk\");\n const resources = await fetchFungibleResources(address);\n const { applicationName } = SKConfig.get(\"integrations\").radix;\n const networkApi = GatewayApiClient.initialize({ applicationName, networkId: 1 });\n\n const balances: AssetValue[] = [];\n const BATCH_SIZE = 50;\n\n // Split resources into batches of up to 50 items\n const resourceBatches: FungibleResourcesCollectionItem[][] = [];\n for (let i = 0; i < resources.length; i += BATCH_SIZE) {\n resourceBatches.push(resources.slice(i, i + BATCH_SIZE));\n }\n\n for (const batch of resourceBatches) {\n const addresses = batch.map((item) => item.resource_address);\n const response: StateEntityDetailsVaultResponseItem[] =\n await networkApi.state.getEntityDetailsVaultAggregated(addresses);\n\n const divisibilities = new Map<string, { decimals: number; symbol: string }>();\n\n for (const result of response) {\n if (result.details !== undefined) {\n const metaDataSymbol = result.metadata?.items.find((item) => item.key === \"symbol\");\n const symbol = metaDataSymbol?.value.typed.type === \"String\" ? metaDataSymbol.value.typed.value : \"?\";\n\n if (result.details.type === \"FungibleResource\") {\n divisibilities.set(result.address, { decimals: result.details.divisibility, symbol });\n }\n }\n }\n\n for (const item of batch) {\n if (item.aggregation_level === \"Global\") {\n const assetInfo = divisibilities.get(item.resource_address) || { decimals: 0, symbol: \"?\" };\n\n const balance = AssetValue.from({\n asset:\n assetInfo.symbol !== Chain.Radix\n ? `${Chain.Radix}.${assetInfo.symbol}-${item.resource_address}`\n : \"XRD.XRD\",\n value: item.amount,\n });\n balances.push(balance);\n }\n }\n }\n\n return balances;\n}\n\nasync function getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n\n function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n // TODO: @Towan - Wat is dat?\n await delay(400);\n\n function getAddress() {\n const existingWalletData = rdt.walletApi.getWalletData();\n const account = existingWalletData?.accounts?.[0];\n\n return account?.address;\n }\n\n const getNewAddress = async () => {\n const { DataRequestBuilder } = await import(\"@radixdlt/radix-dapp-toolkit\");\n rdt.walletApi.setRequestData(DataRequestBuilder.accounts().exactly(1));\n const res = await rdt.walletApi.sendRequest();\n\n if (!res) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n const newAddress = res.unwrapOr(null)?.accounts[0]?.address;\n\n if (!newAddress) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n return newAddress;\n };\n\n const address = getAddress() || (await getNewAddress());\n\n return {\n address,\n getAddress,\n getBalance: () => getBalance(address),\n radixDappToolkit: rdt,\n signAndBroadcast: async ({ manifest, message }: { manifest: string; message: string }) => {\n const tx = await rdt.walletApi.sendTransaction({ message, transactionManifest: manifest });\n\n const txResult = tx.unwrapOr(null)?.transactionIntentHash;\n\n if (!txResult) {\n throw new SwapKitError(\"wallet_radix_transaction_failed\");\n }\n\n return txResult;\n },\n transfer: (_params: { assetValue: AssetValue; recipient: string; from: string }) => {\n throw new SwapKitError(\"wallet_radix_method_not_supported\", { method: \"transfer\" });\n },\n };\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "866079297296581E64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/src/radix/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{F as _,G as $}from"../../chunk-yqaz2d25.js";import{AssetValue as N,Chain as T,SKConfig as Y,SwapKitError as X,WalletOption as
|
|
1
|
+
import{F as _,G as $}from"../../chunk-yqaz2d25.js";import{AssetValue as N,Chain as T,filterSupportedChains as S,SKConfig as Y,SwapKitError as X,WalletOption as x}from"@swapkit/helpers";import{createWallet as B,getWalletSupportedChains as C}from"@swapkit/wallet-core";var h=B({connect:({addChain:L,supportedChains:K,walletType:H})=>async function V(M){let O=S({chains:M,supportedChains:K,walletType:H});if(!Y.get("integrations").radix)throw new X("wallet_radix_not_found");return await Promise.all(O.map(async(z)=>{let j=await E();L({...j,chain:z,walletType:H})})),!0},name:"connectRadixWallet",supportedChains:[T.Radix],walletType:x.RADIX_WALLET}),f=C(h);async function k(L){let{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),{applicationName:H}=Y.get("integrations").radix,V=K.initialize({applicationName:H,networkId:1}),M=!0,O,U=[],z=await v(V);while(M){let j={address:L,at_ledger_state:{state_version:z},cursor:O,limit_per_page:100},Q=await V.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:j});if(U=U.concat(Q.items),Q.next_cursor)O=Q.next_cursor;else M=!1}return U}function v(L){return L.status.getCurrent().then((K)=>K.ledger_state.state_version)}async function D(L){let{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),H=await k(L),{applicationName:V}=Y.get("integrations").radix,M=K.initialize({applicationName:V,networkId:1}),O=[],U=50,z=[];for(let j=0;j<H.length;j+=50)z.push(H.slice(j,j+50));for(let j of z){let Q=j.map((J)=>J.resource_address),Z=await M.state.getEntityDetailsVaultAggregated(Q),q=new Map;for(let J of Z)if(J.details!==void 0){let W=J.metadata?.items.find((I)=>I.key==="symbol"),G=W?.value.typed.type==="String"?W.value.typed.value:"?";if(J.details.type==="FungibleResource")q.set(J.address,{decimals:J.details.divisibility,symbol:G})}for(let J of j)if(J.aggregation_level==="Global"){let W=q.get(J.resource_address)||{decimals:0,symbol:"?"},G=N.from({asset:W.symbol!==T.Radix?`${T.Radix}.${W.symbol}-${J.resource_address}`:"XRD.XRD",value:J.amount});O.push(G)}}return O}async function E(){let{RadixDappToolkit:L}=await import("@radixdlt/radix-dapp-toolkit"),K=Y.get("integrations").radix,H=L({...K,networkId:K.network.networkId});function V(z){return new Promise((j)=>setTimeout(j,z))}await V(400);function M(){return H.walletApi.getWalletData()?.accounts?.[0]?.address}let O=async()=>{let{DataRequestBuilder:z}=await import("@radixdlt/radix-dapp-toolkit");H.walletApi.setRequestData(z.accounts().exactly(1));let j=await H.walletApi.sendRequest();if(!j)throw new X("wallet_radix_no_account");let Q=j.unwrapOr(null)?.accounts[0]?.address;if(!Q)throw new X("wallet_radix_no_account");return Q},U=M()||await O();return{address:U,getAddress:M,getBalance:()=>D(U),radixDappToolkit:H,signAndBroadcast:async({manifest:z,message:j})=>{let Z=(await H.walletApi.sendTransaction({message:j,transactionManifest:z})).unwrapOr(null)?.transactionIntentHash;if(!Z)throw new X("wallet_radix_transaction_failed");return Z},transfer:(z)=>{throw new X("wallet_radix_method_not_supported",{method:"transfer"})}}}export{h as radixWallet,f as RADIX_SUPPORTED_CHAINS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=D5EA4173DFF552FE64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/radix/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import type {\n FungibleResourcesCollectionItem,\n GatewayApiClient,\n StateEntityDetailsVaultResponseItem,\n StateEntityFungiblesPageRequest,\n StateEntityFungiblesPageResponse,\n} from \"@radixdlt/babylon-gateway-api-sdk\";\nimport {
|
|
5
|
+
"import type {\n FungibleResourcesCollectionItem,\n GatewayApiClient,\n StateEntityDetailsVaultResponseItem,\n StateEntityFungiblesPageRequest,\n StateEntityFungiblesPageResponse,\n} from \"@radixdlt/babylon-gateway-api-sdk\";\nimport { AssetValue, Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nexport const radixWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectRadixWallet(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const radixConfig = SKConfig.get(\"integrations\").radix;\n\n if (!radixConfig) {\n throw new SwapKitError(\"wallet_radix_not_found\");\n }\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethods();\n\n addChain({ ...walletMethods, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectRadixWallet\",\n supportedChains: [Chain.Radix],\n walletType: WalletOption.RADIX_WALLET,\n});\n\nexport const RADIX_SUPPORTED_CHAINS = getWalletSupportedChains(radixWallet);\n\nasync function fetchFungibleResources(address: string): Promise<FungibleResourcesCollectionItem[]> {\n const { GatewayApiClient } = await import(\"@radixdlt/babylon-gateway-api-sdk\");\n const { applicationName } = SKConfig.get(\"integrations\").radix;\n const networkApi = GatewayApiClient.initialize({ applicationName, networkId: 1 });\n\n let hasNextPage = true;\n let nextCursor: string | undefined;\n let fungibleResources: FungibleResourcesCollectionItem[] = [];\n\n const stateVersion = await currentStateVersion(networkApi);\n\n while (hasNextPage) {\n const stateEntityFungiblesPageRequest: StateEntityFungiblesPageRequest = {\n address: address,\n at_ledger_state: { state_version: stateVersion },\n cursor: nextCursor,\n limit_per_page: 100,\n };\n\n const stateEntityFungiblesPageResponse: StateEntityFungiblesPageResponse =\n await networkApi.state.innerClient.entityFungiblesPage({\n stateEntityFungiblesPageRequest: stateEntityFungiblesPageRequest,\n });\n\n fungibleResources = fungibleResources.concat(stateEntityFungiblesPageResponse.items);\n\n if (stateEntityFungiblesPageResponse.next_cursor) {\n nextCursor = stateEntityFungiblesPageResponse.next_cursor;\n } else {\n hasNextPage = false;\n }\n }\n return fungibleResources;\n}\n\nfunction currentStateVersion(networkApi: GatewayApiClient) {\n return networkApi.status.getCurrent().then((status) => status.ledger_state.state_version);\n}\n\n// TODO - @Towan: is that still needed with SwapKitApi.getChainBalance()?\nasync function getBalance(address: string): Promise<AssetValue[]> {\n const { GatewayApiClient } = await import(\"@radixdlt/babylon-gateway-api-sdk\");\n const resources = await fetchFungibleResources(address);\n const { applicationName } = SKConfig.get(\"integrations\").radix;\n const networkApi = GatewayApiClient.initialize({ applicationName, networkId: 1 });\n\n const balances: AssetValue[] = [];\n const BATCH_SIZE = 50;\n\n // Split resources into batches of up to 50 items\n const resourceBatches: FungibleResourcesCollectionItem[][] = [];\n for (let i = 0; i < resources.length; i += BATCH_SIZE) {\n resourceBatches.push(resources.slice(i, i + BATCH_SIZE));\n }\n\n for (const batch of resourceBatches) {\n const addresses = batch.map((item) => item.resource_address);\n const response: StateEntityDetailsVaultResponseItem[] =\n await networkApi.state.getEntityDetailsVaultAggregated(addresses);\n\n const divisibilities = new Map<string, { decimals: number; symbol: string }>();\n\n for (const result of response) {\n if (result.details !== undefined) {\n const metaDataSymbol = result.metadata?.items.find((item) => item.key === \"symbol\");\n const symbol = metaDataSymbol?.value.typed.type === \"String\" ? metaDataSymbol.value.typed.value : \"?\";\n\n if (result.details.type === \"FungibleResource\") {\n divisibilities.set(result.address, { decimals: result.details.divisibility, symbol });\n }\n }\n }\n\n for (const item of batch) {\n if (item.aggregation_level === \"Global\") {\n const assetInfo = divisibilities.get(item.resource_address) || { decimals: 0, symbol: \"?\" };\n\n const balance = AssetValue.from({\n asset:\n assetInfo.symbol !== Chain.Radix\n ? `${Chain.Radix}.${assetInfo.symbol}-${item.resource_address}`\n : \"XRD.XRD\",\n value: item.amount,\n });\n balances.push(balance);\n }\n }\n }\n\n return balances;\n}\n\nasync function getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n\n function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n // TODO: @Towan - Wat is dat?\n await delay(400);\n\n function getAddress() {\n const existingWalletData = rdt.walletApi.getWalletData();\n const account = existingWalletData?.accounts?.[0];\n\n return account?.address;\n }\n\n const getNewAddress = async () => {\n const { DataRequestBuilder } = await import(\"@radixdlt/radix-dapp-toolkit\");\n rdt.walletApi.setRequestData(DataRequestBuilder.accounts().exactly(1));\n const res = await rdt.walletApi.sendRequest();\n\n if (!res) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n const newAddress = res.unwrapOr(null)?.accounts[0]?.address;\n\n if (!newAddress) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n return newAddress;\n };\n\n const address = getAddress() || (await getNewAddress());\n\n return {\n address,\n getAddress,\n getBalance: () => getBalance(address),\n radixDappToolkit: rdt,\n signAndBroadcast: async ({ manifest, message }: { manifest: string; message: string }) => {\n const tx = await rdt.walletApi.sendTransaction({ message, transactionManifest: manifest });\n\n const txResult = tx.unwrapOr(null)?.transactionIntentHash;\n\n if (!txResult) {\n throw new SwapKitError(\"wallet_radix_transaction_failed\");\n }\n\n return txResult;\n },\n transfer: (_params: { assetValue: AssetValue; recipient: string; from: string }) => {\n throw new SwapKitError(\"wallet_radix_method_not_supported\", { method: \"transfer\" });\n },\n };\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "mDAOA,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "D5EA4173DFF552FE64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _={};p(_,{talismanWallet:()=>d,TALISMAN_SUPPORTED_CHAINS:()=>h});module.exports=m(_);var t=require("@swapkit/helpers"),l=require("@swapkit/wallet-core"),d=l.createWallet({
|
|
1
|
+
var _={};p(_,{talismanWallet:()=>d,TALISMAN_SUPPORTED_CHAINS:()=>h});module.exports=m(_);var t=require("@swapkit/helpers"),l=require("@swapkit/wallet-core"),d=l.createWallet({connect:({addChain:e,supportedChains:a,walletType:r})=>async function w(o){let i=t.filterSupportedChains({chains:o,supportedChains:a,walletType:r});return await Promise.all(i.map(async(n)=>{let s=await u(n);e({...s,chain:n,walletType:r})})),!0},name:"connectTalisman",supportedChains:[t.Chain.Ethereum,t.Chain.Arbitrum,t.Chain.Avalanche,t.Chain.Base,t.Chain.Polygon,t.Chain.BinanceSmartChain,t.Chain.Optimism,t.Chain.Polkadot,t.Chain.Chainflip],walletType:t.WalletOption.TALISMAN}),h=l.getWalletSupportedChains(d);async function f({walletProvider:e,chain:a}){let{getEvmToolbox:r}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:w}=await import("ethers");if(!e)throw new t.SwapKitError({errorKey:"wallet_provider_not_found",info:{chain:a,wallet:t.WalletOption.TALISMAN}});let o=new w(e,"any"),i=await o.getSigner(),n=await r(a,{provider:o,signer:i});try{if(a!==t.Chain.Ethereum)await t.switchEVMWalletNetwork(o,a,n.getNetworkParams())}catch(s){throw new t.SwapKitError({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:a,wallet:t.WalletOption.TALISMAN}})}return t.prepareNetworkSwitch({chain:a,provider:o,toolbox:n})}async function u(e){switch(e){case t.Chain.Ethereum:case t.Chain.Arbitrum:case t.Chain.Optimism:case t.Chain.Polygon:case t.Chain.Avalanche:case t.Chain.BinanceSmartChain:case t.Chain.Base:{if(!(window.talismanEth&&("send"in window.talismanEth)))throw new t.SwapKitError({errorKey:"wallet_talisman_not_found",info:{chain:e}});let a=await f({chain:e,walletProvider:window.talismanEth}),r=(await window.talismanEth.send("eth_requestAccounts",[]))[0];return{...a,address:r}}case t.Chain.Polkadot:case t.Chain.Chainflip:{let{getSubstrateToolbox:a,SubstrateNetwork:r}=await import("@swapkit/toolboxes/substrate"),o=await window?.injectedWeb3?.talisman?.enable?.("talisman");if(!o)throw new t.SwapKitError({errorKey:"wallet_talisman_not_enabled",info:{chain:e}});let i=await a(e,{signer:o.signer}),n=await o.accounts.get();if(!n[0]?.address)throw new t.SwapKitError({errorKey:"wallet_missing_params",info:{accounts:n,address:n[0]?.address,wallet:t.WalletOption.TALISMAN}});let s=i.convertAddress(n[0].address,r[e].prefix);return{...i,address:s}}default:throw new t.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:e,wallet:t.WalletOption.TALISMAN}})}}
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=A50B382A1844996564756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/talisman/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n Chain,\n type EVMChain,\n
|
|
5
|
+
"import {\n Chain,\n type EVMChain,\n filterSupportedChains,\n prepareNetworkSwitch,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { Eip1193Provider } from \"ethers\";\n\nexport const talismanWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectTalisman(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectTalisman\",\n supportedChains: [\n Chain.Ethereum,\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.Polygon,\n Chain.BinanceSmartChain,\n Chain.Optimism,\n Chain.Polkadot,\n Chain.Chainflip,\n ],\n walletType: WalletOption.TALISMAN,\n});\n\nexport const TALISMAN_SUPPORTED_CHAINS = getWalletSupportedChains(talismanWallet);\n\nasync function getWeb3WalletMethods({\n walletProvider,\n chain,\n}: {\n walletProvider: Eip1193Provider | undefined;\n chain: EVMChain;\n}) {\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n if (!walletProvider) {\n throw new SwapKitError({ errorKey: \"wallet_provider_not_found\", info: { chain, wallet: WalletOption.TALISMAN } });\n }\n\n const provider = new BrowserProvider(walletProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n await switchEVMWalletNetwork(provider, chain, toolbox.getNetworkParams());\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { chain, wallet: WalletOption.TALISMAN },\n });\n }\n\n return prepareNetworkSwitch({ chain, provider, toolbox });\n}\n\nasync function getWalletMethods(chain: Chain) {\n switch (chain) {\n case Chain.Ethereum:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Base: {\n if (!(window.talismanEth && \"send\" in window.talismanEth)) {\n throw new SwapKitError({ errorKey: \"wallet_talisman_not_found\", info: { chain } });\n }\n\n const evmWallet = await getWeb3WalletMethods({ chain, walletProvider: window.talismanEth });\n const address: string = (await window.talismanEth.send(\"eth_requestAccounts\", []))[0];\n\n return { ...evmWallet, address };\n }\n\n case Chain.Polkadot:\n case Chain.Chainflip: {\n const { getSubstrateToolbox, SubstrateNetwork } = await import(\"@swapkit/toolboxes/substrate\");\n\n const injectedExtension = window?.injectedWeb3?.talisman;\n const rawExtension = await injectedExtension?.enable?.(\"talisman\");\n\n if (!rawExtension) {\n throw new SwapKitError({ errorKey: \"wallet_talisman_not_enabled\", info: { chain } });\n }\n\n const toolbox = await getSubstrateToolbox(chain, { signer: rawExtension.signer });\n const accounts = await rawExtension.accounts.get();\n\n if (!accounts[0]?.address) {\n throw new SwapKitError({\n errorKey: \"wallet_missing_params\",\n info: { accounts, address: accounts[0]?.address, wallet: WalletOption.TALISMAN },\n });\n }\n const address = toolbox.convertAddress(accounts[0].address, SubstrateNetwork[chain].prefix);\n\n return { ...toolbox, address };\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.TALISMAN },\n });\n }\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "yFAQO,IARP,8BASA,kCAGa,EAAiB,eAAa,CACzC,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "yFAQO,IARP,8BASA,kCAGa,EAAiB,eAAa,CACzC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,eAAe,CAAe,CAAC,EAAiB,CAC9C,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAUpF,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,CAAK,EAElD,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAEX,KAAM,kBACN,gBAAiB,CACf,QAAM,SACN,QAAM,SACN,QAAM,UACN,QAAM,KACN,QAAM,QACN,QAAM,kBACN,QAAM,SACN,QAAM,SACN,QAAM,SACR,EACA,WAAY,eAAa,QAC3B,CAAC,EAEY,EAA4B,2BAAyB,CAAc,EAEhF,eAAe,CAAoB,EACjC,iBACA,SAIC,CACD,IAAQ,iBAAkB,KAAa,mCAC/B,mBAAoB,KAAa,kBAEzC,IAAK,EACH,MAAM,IAAI,eAAa,CAAE,SAAU,4BAA6B,KAAM,CAAE,QAAO,OAAQ,eAAa,QAAS,CAAE,CAAC,EAGlH,IAAM,EAAW,IAAI,EAAgB,EAAgB,KAAK,EACpD,EAAS,MAAM,EAAS,UAAU,EAClC,EAAU,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EAE/D,GAAI,CACF,GAAI,IAAU,QAAM,SAClB,MAAM,yBAAuB,EAAU,EAAO,EAAQ,iBAAiB,CAAC,EAE1E,MAAO,EAAQ,CACf,MAAM,IAAI,eAAa,CACrB,SAAU,yCACV,KAAM,CAAE,QAAO,OAAQ,eAAa,QAAS,CAC/C,CAAC,EAGH,OAAO,uBAAqB,CAAE,QAAO,WAAU,SAAQ,CAAC,EAG1D,eAAe,CAAgB,CAAC,EAAc,CAC5C,OAAQ,QACD,QAAM,cACN,QAAM,cACN,QAAM,cACN,QAAM,aACN,QAAM,eACN,QAAM,uBACN,QAAM,KAAM,CACf,KAAM,OAAO,cAAe,SAAU,OAAO,cAC3C,MAAM,IAAI,eAAa,CAAE,SAAU,4BAA6B,KAAM,CAAE,OAAM,CAAE,CAAC,EAGnF,IAAM,EAAY,MAAM,EAAqB,CAAE,QAAO,eAAgB,OAAO,WAAY,CAAC,EACpF,GAAmB,MAAM,OAAO,YAAY,KAAK,sBAAuB,CAAC,CAAC,GAAG,GAEnF,MAAO,IAAK,EAAW,SAAQ,CACjC,MAEK,QAAM,cACN,QAAM,UAAW,CACpB,IAAQ,sBAAqB,oBAAqB,KAAa,wCAGzD,EAAe,MADK,QAAQ,cAAc,UACF,SAAS,UAAU,EAEjE,IAAK,EACH,MAAM,IAAI,eAAa,CAAE,SAAU,8BAA+B,KAAM,CAAE,OAAM,CAAE,CAAC,EAGrF,IAAM,EAAU,MAAM,EAAoB,EAAO,CAAE,OAAQ,EAAa,MAAO,CAAC,EAC1E,EAAW,MAAM,EAAa,SAAS,IAAI,EAEjD,IAAK,EAAS,IAAI,QAChB,MAAM,IAAI,eAAa,CACrB,SAAU,wBACV,KAAM,CAAE,WAAU,QAAS,EAAS,IAAI,QAAS,OAAQ,eAAa,QAAS,CACjF,CAAC,EAEH,IAAM,EAAU,EAAQ,eAAe,EAAS,GAAG,QAAS,EAAiB,GAAO,MAAM,EAE1F,MAAO,IAAK,EAAS,SAAQ,CAC/B,SAGE,MAAM,IAAI,eAAa,CACrB,SAAU,6BACV,KAAM,CAAE,QAAO,OAAQ,eAAa,QAAS,CAC/C,CAAC",
|
|
8
|
+
"debugId": "A50B382A1844996564756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|