@swapkit/wallets 4.6.3 → 4.7.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.
Files changed (75) hide show
  1. package/dist/chunk-47amnr6q.js +5 -0
  2. package/dist/chunk-47amnr6q.js.map +10 -0
  3. package/dist/{chunk-5jj4jvy9.js → chunk-99wp90e6.js} +3 -3
  4. package/dist/{chunk-ewwx4745.js.map → chunk-99wp90e6.js.map} +1 -1
  5. package/dist/chunk-r795xyvq.js +4 -0
  6. package/dist/chunk-r795xyvq.js.map +10 -0
  7. package/dist/chunk-tfxc9zx6.js +4 -0
  8. package/dist/{chunk-5jj4jvy9.js.map → chunk-tfxc9zx6.js.map} +1 -1
  9. package/dist/src/coinbase/index.cjs +2 -2
  10. package/dist/src/coinbase/index.cjs.map +3 -3
  11. package/dist/src/coinbase/index.js +2 -2
  12. package/dist/src/coinbase/index.js.map +3 -3
  13. package/dist/src/index.cjs +2 -2
  14. package/dist/src/index.cjs.map +4 -3
  15. package/dist/src/index.js +2 -2
  16. package/dist/src/index.js.map +4 -3
  17. package/dist/src/keystore.cjs +2 -2
  18. package/dist/src/keystore.cjs.map +3 -3
  19. package/dist/src/keystore.js +2 -2
  20. package/dist/src/keystore.js.map +3 -3
  21. package/dist/src/near-wallet-selector/index.cjs +2 -2
  22. package/dist/src/near-wallet-selector/index.cjs.map +3 -3
  23. package/dist/src/near-wallet-selector/index.js +2 -2
  24. package/dist/src/near-wallet-selector/index.js.map +3 -3
  25. package/dist/src/passkeys/index.cjs +2 -2
  26. package/dist/src/passkeys/index.cjs.map +3 -3
  27. package/dist/src/passkeys/index.js +2 -2
  28. package/dist/src/passkeys/index.js.map +3 -3
  29. package/dist/src/radix/index.cjs +2 -2
  30. package/dist/src/radix/index.cjs.map +3 -3
  31. package/dist/src/radix/index.js +2 -2
  32. package/dist/src/radix/index.js.map +3 -3
  33. package/dist/src/walletconnect/index.cjs +2 -2
  34. package/dist/src/walletconnect/index.cjs.map +4 -4
  35. package/dist/src/walletconnect/index.js +2 -2
  36. package/dist/src/walletconnect/index.js.map +4 -4
  37. package/dist/src/xaman/index.cjs +2 -2
  38. package/dist/src/xaman/index.cjs.map +5 -5
  39. package/dist/src/xaman/index.js +2 -2
  40. package/dist/src/xaman/index.js.map +5 -5
  41. package/dist/types/coinbase/index.d.ts +2 -1
  42. package/dist/types/coinbase/index.d.ts.map +1 -1
  43. package/dist/types/index.d.ts +1 -1
  44. package/dist/types/index.d.ts.map +1 -1
  45. package/dist/types/keystore.d.ts +49 -47
  46. package/dist/types/keystore.d.ts.map +1 -1
  47. package/dist/types/near-wallet-selector/index.d.ts +2 -1
  48. package/dist/types/near-wallet-selector/index.d.ts.map +1 -1
  49. package/dist/types/passkeys/index.d.ts +2 -1
  50. package/dist/types/passkeys/index.d.ts.map +1 -1
  51. package/dist/types/radix/index.d.ts +2 -1
  52. package/dist/types/radix/index.d.ts.map +1 -1
  53. package/dist/types/walletconnect/constants.d.ts +1 -0
  54. package/dist/types/walletconnect/constants.d.ts.map +1 -1
  55. package/dist/types/walletconnect/helpers.d.ts +1 -1
  56. package/dist/types/walletconnect/helpers.d.ts.map +1 -1
  57. package/dist/types/walletconnect/index.d.ts +2 -1
  58. package/dist/types/walletconnect/index.d.ts.map +1 -1
  59. package/dist/types/xaman/helpers.d.ts.map +1 -1
  60. package/dist/types/xaman/index.d.ts +2 -1
  61. package/dist/types/xaman/index.d.ts.map +1 -1
  62. package/dist/types/xaman/walletMethods.d.ts +17 -0
  63. package/dist/types/xaman/walletMethods.d.ts.map +1 -1
  64. package/package.json +7 -6
  65. package/dist/chunk-dx5r3mz1.js +0 -5
  66. package/dist/chunk-dx5r3mz1.js.map +0 -10
  67. package/dist/chunk-ewwx4745.js +0 -4
  68. package/dist/chunk-qv7snmdv.js +0 -5
  69. package/dist/chunk-qv7snmdv.js.map +0 -10
  70. package/dist/chunk-ttryb513.js +0 -4
  71. package/dist/chunk-ttryb513.js.map +0 -10
  72. package/dist/chunk-zrqsb6ng.js +0 -4
  73. package/dist/chunk-zrqsb6ng.js.map +0 -10
  74. package/dist/types/core.d.ts +0 -18
  75. package/dist/types/core.d.ts.map +0 -1
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/near-wallet-selector/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Wallet, WalletModuleFactory } from \"@near-wallet-selector/core\";\nimport \"@near-wallet-selector/modal-ui-js/styles.css\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport { Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { getNearToolbox } from \"@swapkit/toolboxes/near\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\n\nfunction createNearSigner(wallet: Wallet) {\n return {\n getAddress: async () => {\n const accounts = await wallet.getAccounts();\n const accountId = accounts[0]?.accountId;\n\n if (!accountId) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n }\n\n return accountId;\n },\n\n getPublicKey: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n signAndSendTransactions: async (transactions: { transactions: Transaction[] }) => {\n const result = await wallet.signAndSendTransactions(transactions);\n return result?.[0]?.transaction_outcome.id || \"\";\n },\n\n signDelegateAction: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n\n signNep413Message: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n\n signTransaction: (params: Transaction) => {\n if (!wallet.signTransaction) {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n }\n return wallet.signTransaction(params);\n },\n };\n}\n\nfunction waitForWalletSelection(selector: any, modal: any) {\n return new Promise<void>((resolve) => {\n const subscription = selector.store.observable.subscribe((state: any) => {\n if (state.selectedWalletId) {\n subscription.unsubscribe();\n modal.hide();\n resolve();\n }\n });\n\n modal.show();\n });\n}\n\nasync function getWalletMethods(walletFactories?: WalletModuleFactory[]) {\n const { setupWalletSelector } = await import(\"@near-wallet-selector/core\");\n const { setupModal } = await import(\"@near-wallet-selector/modal-ui-js\");\n\n const contractId = SKConfig.get(\"integrations\")?.nearWalletSelector?.contractId || \"\";\n const selector = await setupWalletSelector({ modules: [...(walletFactories || [])], network: \"mainnet\" });\n\n const isSignedIn = selector.isSignedIn();\n\n if (!isSignedIn) {\n // Only show modal if not already connected\n const modal = setupModal(selector, { contractId, description: \"Connect your NEAR wallet to SwapKit\" });\n\n await waitForWalletSelection(selector, modal);\n }\n\n const wallet = await selector.wallet();\n const signer = createNearSigner(wallet);\n const toolbox = await getNearToolbox({ signer });\n const address = await signer.getAddress();\n\n const disconnect = async () => {\n try {\n await wallet.signOut();\n } catch (error) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n };\n\n return { ...toolbox, address, disconnect };\n}\n\nexport const walletSelectorWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletSelector(chains: Chain[], walletFactories?: WalletModuleFactory[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n if (filteredChains.length === 0) {\n throw new SwapKitError(\"wallet_chain_not_supported\", {\n chain: chains[0],\n wallet: WalletOption.WALLET_SELECTOR,\n });\n }\n\n const walletMethods = await getWalletMethods(walletFactories);\n\n addChain({ ...walletMethods, balance: [], chain: Chain.Near, walletType });\n\n return true;\n },\n name: \"connectWalletSelector\",\n supportedChains: [Chain.Near],\n walletType: WalletOption.WALLET_SELECTOR,\n});\n\nexport const WALLET_SELECTOR_SUPPORTED_CHAINS = getWalletSupportedChains(walletSelectorWallet);\n"
5
+ "import type { Wallet, WalletModuleFactory } from \"@near-wallet-selector/core\";\nimport \"@near-wallet-selector/modal-ui-js/styles.css\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport { Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { getNearToolbox } from \"@swapkit/toolboxes/near\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nfunction createNearSigner(wallet: Wallet) {\n return {\n getAddress: async () => {\n const accounts = await wallet.getAccounts();\n const accountId = accounts[0]?.accountId;\n\n if (!accountId) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n }\n\n return accountId;\n },\n\n getPublicKey: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n signAndSendTransactions: async (transactions: { transactions: Transaction[] }) => {\n const result = await wallet.signAndSendTransactions(transactions);\n return result?.[0]?.transaction_outcome.id || \"\";\n },\n\n signDelegateAction: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n\n signNep413Message: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n\n signTransaction: (params: Transaction) => {\n if (!wallet.signTransaction) {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n }\n return wallet.signTransaction(params);\n },\n };\n}\n\nfunction waitForWalletSelection(selector: any, modal: any) {\n return new Promise<void>((resolve) => {\n const subscription = selector.store.observable.subscribe((state: any) => {\n if (state.selectedWalletId) {\n subscription.unsubscribe();\n modal.hide();\n resolve();\n }\n });\n\n modal.show();\n });\n}\n\nasync function getWalletMethods(walletFactories?: WalletModuleFactory[]) {\n const { setupWalletSelector } = await import(\"@near-wallet-selector/core\");\n const { setupModal } = await import(\"@near-wallet-selector/modal-ui-js\");\n\n const contractId = SKConfig.get(\"integrations\")?.nearWalletSelector?.contractId || \"\";\n const selector = await setupWalletSelector({ modules: [...(walletFactories || [])], network: \"mainnet\" });\n\n const isSignedIn = selector.isSignedIn();\n\n if (!isSignedIn) {\n // Only show modal if not already connected\n const modal = setupModal(selector, { contractId, description: \"Connect your NEAR wallet to SwapKit\" });\n\n await waitForWalletSelection(selector, modal);\n }\n\n const wallet = await selector.wallet();\n const signer = createNearSigner(wallet);\n const toolbox = await getNearToolbox({ signer });\n const address = await signer.getAddress();\n\n const disconnect = async () => {\n try {\n await wallet.signOut();\n } catch (error) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n };\n\n return { ...toolbox, address, disconnect };\n}\n\nexport const walletSelectorWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletSelector(chains: Chain[], walletFactories?: WalletModuleFactory[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n if (filteredChains.length === 0) {\n throw new SwapKitError(\"wallet_chain_not_supported\", {\n chain: chains[0],\n wallet: WalletOption.WALLET_SELECTOR,\n });\n }\n\n const walletMethods = await getWalletMethods(walletFactories);\n\n addChain({ ...walletMethods, balance: [], chain: Chain.Near, walletType });\n\n return true;\n },\n directSigningSupport: { [Chain.Near]: true },\n name: \"connectWalletSelector\",\n supportedChains: [Chain.Near],\n walletType: WalletOption.WALLET_SELECTOR,\n});\n\nexport const WALLET_SELECTOR_SUPPORTED_CHAINS = getWalletSupportedChains(walletSelectorWallet);\n"
6
6
  ],
7
- "mappings": "sGACO,IAAP,0DAEA,8BACA,qCAGA,SAAS,CAAgB,CAAC,EAAgB,CACxC,MAAO,CACL,WAAY,SAAY,CAEtB,IAAM,GADW,MAAM,EAAO,YAAY,GACf,IAAI,UAE/B,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,oCAAoC,EAG7D,OAAO,GAGT,aAAc,IAAM,CAClB,MAAM,IAAI,eAAa,kCAAkC,GAE3D,wBAAyB,MAAO,IAAkD,CAEhF,OADe,MAAM,EAAO,wBAAwB,CAAY,KAChD,IAAI,oBAAoB,IAAM,IAGhD,mBAAoB,IAAM,CACxB,MAAM,IAAI,eAAa,kCAAkC,GAG3D,kBAAmB,IAAM,CACvB,MAAM,IAAI,eAAa,kCAAkC,GAG3D,gBAAiB,CAAC,IAAwB,CACxC,GAAI,CAAC,EAAO,gBACV,MAAM,IAAI,eAAa,kCAAkC,EAE3D,OAAO,EAAO,gBAAgB,CAAM,EAExC,EAGF,SAAS,CAAsB,CAAC,EAAe,EAAY,CACzD,OAAO,IAAI,QAAc,CAAC,IAAY,CACpC,IAAM,EAAe,EAAS,MAAM,WAAW,UAAU,CAAC,IAAe,CACvE,GAAI,EAAM,iBACR,EAAa,YAAY,EACzB,EAAM,KAAK,EACX,EAAQ,EAEX,EAED,EAAM,KAAK,EACZ,EAGH,eAAe,CAAgB,CAAC,EAAyC,CACvE,IAAQ,uBAAwB,KAAa,uCACrC,cAAe,KAAa,6CAE9B,EAAa,WAAS,IAAI,cAAc,GAAG,oBAAoB,YAAc,GAC7E,EAAW,MAAM,EAAoB,CAAE,QAAS,CAAC,GAAI,GAAmB,CAAC,CAAE,EAAG,QAAS,SAAU,CAAC,EAIxG,GAAI,CAFe,EAAS,WAAW,EAEtB,CAEf,IAAM,EAAQ,EAAW,EAAU,CAAE,aAAY,YAAa,qCAAsC,CAAC,EAErG,MAAM,EAAuB,EAAU,CAAK,EAG9C,IAAM,EAAS,MAAM,EAAS,OAAO,EAC/B,EAAS,EAAiB,CAAM,EAChC,EAAU,MAAM,iBAAe,CAAE,QAAO,CAAC,EACzC,EAAU,MAAM,EAAO,WAAW,EAUxC,MAAO,IAAK,EAAS,UAAS,WARX,SAAY,CAC7B,GAAI,CACF,MAAM,EAAO,QAAQ,EACrB,MAAO,EAAO,CACd,MAAM,IAAI,eAAa,qCAAsC,CAAK,GAI7B,EAGpC,IAAM,EAAuB,EAAa,CAC/C,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAoC,CAAC,EAAiB,EAAyC,CAG7F,GAFuB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEjE,SAAW,EAC5B,MAAM,IAAI,eAAa,6BAA8B,CACnD,MAAO,EAAO,GACd,OAAQ,eAAa,eACvB,CAAC,EAGH,IAAM,EAAgB,MAAM,EAAiB,CAAe,EAI5D,OAFA,EAAS,IAAK,EAAe,QAAS,CAAC,EAAG,MAAO,QAAM,KAAM,YAAW,CAAC,EAElE,IAEX,KAAM,wBACN,gBAAiB,CAAC,QAAM,IAAI,EAC5B,WAAY,eAAa,eAC3B,CAAC,EAEY,EAAmC,EAAyB,CAAoB",
8
- "debugId": "B550DEF210BDDAAC64756E2164756E21",
7
+ "mappings": "sGACO,IAAP,0DAEA,8BACA,qCACA,kCAEA,SAAS,CAAgB,CAAC,EAAgB,CACxC,MAAO,CACL,WAAY,SAAY,CAEtB,IAAM,GADW,MAAM,EAAO,YAAY,GACf,IAAI,UAE/B,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,oCAAoC,EAG7D,OAAO,GAGT,aAAc,IAAM,CAClB,MAAM,IAAI,eAAa,kCAAkC,GAE3D,wBAAyB,MAAO,IAAkD,CAEhF,OADe,MAAM,EAAO,wBAAwB,CAAY,KAChD,IAAI,oBAAoB,IAAM,IAGhD,mBAAoB,IAAM,CACxB,MAAM,IAAI,eAAa,kCAAkC,GAG3D,kBAAmB,IAAM,CACvB,MAAM,IAAI,eAAa,kCAAkC,GAG3D,gBAAiB,CAAC,IAAwB,CACxC,GAAI,CAAC,EAAO,gBACV,MAAM,IAAI,eAAa,kCAAkC,EAE3D,OAAO,EAAO,gBAAgB,CAAM,EAExC,EAGF,SAAS,CAAsB,CAAC,EAAe,EAAY,CACzD,OAAO,IAAI,QAAc,CAAC,IAAY,CACpC,IAAM,EAAe,EAAS,MAAM,WAAW,UAAU,CAAC,IAAe,CACvE,GAAI,EAAM,iBACR,EAAa,YAAY,EACzB,EAAM,KAAK,EACX,EAAQ,EAEX,EAED,EAAM,KAAK,EACZ,EAGH,eAAe,CAAgB,CAAC,EAAyC,CACvE,IAAQ,uBAAwB,KAAa,uCACrC,cAAe,KAAa,6CAE9B,EAAa,WAAS,IAAI,cAAc,GAAG,oBAAoB,YAAc,GAC7E,EAAW,MAAM,EAAoB,CAAE,QAAS,CAAC,GAAI,GAAmB,CAAC,CAAE,EAAG,QAAS,SAAU,CAAC,EAIxG,GAAI,CAFe,EAAS,WAAW,EAEtB,CAEf,IAAM,EAAQ,EAAW,EAAU,CAAE,aAAY,YAAa,qCAAsC,CAAC,EAErG,MAAM,EAAuB,EAAU,CAAK,EAG9C,IAAM,EAAS,MAAM,EAAS,OAAO,EAC/B,EAAS,EAAiB,CAAM,EAChC,EAAU,MAAM,iBAAe,CAAE,QAAO,CAAC,EACzC,EAAU,MAAM,EAAO,WAAW,EAUxC,MAAO,IAAK,EAAS,UAAS,WARX,SAAY,CAC7B,GAAI,CACF,MAAM,EAAO,QAAQ,EACrB,MAAO,EAAO,CACd,MAAM,IAAI,eAAa,qCAAsC,CAAK,GAI7B,EAGpC,IAAM,EAAuB,eAAa,CAC/C,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAoC,CAAC,EAAiB,EAAyC,CAG7F,GAFuB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEjE,SAAW,EAC5B,MAAM,IAAI,eAAa,6BAA8B,CACnD,MAAO,EAAO,GACd,OAAQ,eAAa,eACvB,CAAC,EAGH,IAAM,EAAgB,MAAM,EAAiB,CAAe,EAI5D,OAFA,EAAS,IAAK,EAAe,QAAS,CAAC,EAAG,MAAO,QAAM,KAAM,YAAW,CAAC,EAElE,IAEX,qBAAsB,EAAG,QAAM,MAAO,EAAK,EAC3C,KAAM,wBACN,gBAAiB,CAAC,QAAM,IAAI,EAC5B,WAAY,eAAa,eAC3B,CAAC,EAEY,EAAmC,2BAAyB,CAAoB",
8
+ "debugId": "CFDAD77E2A11B1B664756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{G as U,H as V}from"../../chunk-qv7snmdv.js";import{I as P}from"../../chunk-5jj4jvy9.js";import"@near-wallet-selector/modal-ui-js/styles.css";import{Chain as Q,filterSupportedChains as Z,SKConfig as _,SwapKitError as B,WalletOption as R}from"@swapkit/helpers";import{getNearToolbox as $}from"@swapkit/toolboxes/near";function j(q){return{getAddress:async()=>{let z=(await q.getAccounts())[0]?.accountId;if(!z)throw new B("wallet_connection_rejected_by_user");return z},getPublicKey:()=>{throw new B("wallet_near_method_not_supported")},signAndSendTransactions:async(k)=>{return(await q.signAndSendTransactions(k))?.[0]?.transaction_outcome.id||""},signDelegateAction:()=>{throw new B("wallet_near_method_not_supported")},signNep413Message:()=>{throw new B("wallet_near_method_not_supported")},signTransaction:(k)=>{if(!q.signTransaction)throw new B("wallet_near_method_not_supported");return q.signTransaction(k)}}}function f(q,k){return new Promise((z)=>{let D=q.store.observable.subscribe((A)=>{if(A.selectedWalletId)D.unsubscribe(),k.hide(),z()});k.show()})}async function v(q){let{setupWalletSelector:k}=await import("@near-wallet-selector/core"),{setupModal:z}=await import("@near-wallet-selector/modal-ui-js"),D=_.get("integrations")?.nearWalletSelector?.contractId||"",A=await k({modules:[...q||[]],network:"mainnet"});if(!A.isSignedIn()){let J=z(A,{contractId:D,description:"Connect your NEAR wallet to SwapKit"});await f(A,J)}let H=await A.wallet(),G=j(H),X=await $({signer:G}),Y=await G.getAddress();return{...X,address:Y,disconnect:async()=>{try{await H.signOut()}catch(J){throw new B("wallet_connection_rejected_by_user",J)}}}}var x=U({connect:({addChain:q,supportedChains:k,walletType:z})=>async function(A,L){if(Z({chains:A,supportedChains:k,walletType:z}).length===0)throw new B("wallet_chain_not_supported",{chain:A[0],wallet:R.WALLET_SELECTOR});let G=await v(L);return q({...G,balance:[],chain:Q.Near,walletType:z}),!0},name:"connectWalletSelector",supportedChains:[Q.Near],walletType:R.WALLET_SELECTOR}),y=V(x);export{x as walletSelectorWallet,y as WALLET_SELECTOR_SUPPORTED_CHAINS};
1
+ import{H as Q}from"../../chunk-99wp90e6.js";import"@near-wallet-selector/modal-ui-js/styles.css";import{Chain as L,filterSupportedChains as X,SKConfig as Y,SwapKitError as B,WalletOption as R}from"@swapkit/helpers";import{getNearToolbox as Z}from"@swapkit/toolboxes/near";import{createWallet as _,getWalletSupportedChains as $}from"@swapkit/wallet-core";function j(q){return{getAddress:async()=>{let z=(await q.getAccounts())[0]?.accountId;if(!z)throw new B("wallet_connection_rejected_by_user");return z},getPublicKey:()=>{throw new B("wallet_near_method_not_supported")},signAndSendTransactions:async(k)=>{return(await q.signAndSendTransactions(k))?.[0]?.transaction_outcome.id||""},signDelegateAction:()=>{throw new B("wallet_near_method_not_supported")},signNep413Message:()=>{throw new B("wallet_near_method_not_supported")},signTransaction:(k)=>{if(!q.signTransaction)throw new B("wallet_near_method_not_supported");return q.signTransaction(k)}}}function f(q,k){return new Promise((z)=>{let D=q.store.observable.subscribe((A)=>{if(A.selectedWalletId)D.unsubscribe(),k.hide(),z()});k.show()})}async function v(q){let{setupWalletSelector:k}=await import("@near-wallet-selector/core"),{setupModal:z}=await import("@near-wallet-selector/modal-ui-js"),D=Y.get("integrations")?.nearWalletSelector?.contractId||"",A=await k({modules:[...q||[]],network:"mainnet"});if(!A.isSignedIn()){let J=z(A,{contractId:D,description:"Connect your NEAR wallet to SwapKit"});await f(A,J)}let H=await A.wallet(),G=j(H),U=await Z({signer:G}),V=await G.getAddress();return{...U,address:V,disconnect:async()=>{try{await H.signOut()}catch(J){throw new B("wallet_connection_rejected_by_user",J)}}}}var x=_({connect:({addChain:q,supportedChains:k,walletType:z})=>async function(A,P){if(X({chains:A,supportedChains:k,walletType:z}).length===0)throw new B("wallet_chain_not_supported",{chain:A[0],wallet:R.WALLET_SELECTOR});let G=await v(P);return q({...G,balance:[],chain:L.Near,walletType:z}),!0},directSigningSupport:{[L.Near]:!0},name:"connectWalletSelector",supportedChains:[L.Near],walletType:R.WALLET_SELECTOR}),y=$(x);export{x as walletSelectorWallet,y as WALLET_SELECTOR_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=ECE86767D0DDDB2864756E2164756E21
3
+ //# debugId=AB531AB71CB1BAAF64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/near-wallet-selector/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Wallet, WalletModuleFactory } from \"@near-wallet-selector/core\";\nimport \"@near-wallet-selector/modal-ui-js/styles.css\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport { Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { getNearToolbox } from \"@swapkit/toolboxes/near\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\n\nfunction createNearSigner(wallet: Wallet) {\n return {\n getAddress: async () => {\n const accounts = await wallet.getAccounts();\n const accountId = accounts[0]?.accountId;\n\n if (!accountId) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n }\n\n return accountId;\n },\n\n getPublicKey: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n signAndSendTransactions: async (transactions: { transactions: Transaction[] }) => {\n const result = await wallet.signAndSendTransactions(transactions);\n return result?.[0]?.transaction_outcome.id || \"\";\n },\n\n signDelegateAction: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n\n signNep413Message: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n\n signTransaction: (params: Transaction) => {\n if (!wallet.signTransaction) {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n }\n return wallet.signTransaction(params);\n },\n };\n}\n\nfunction waitForWalletSelection(selector: any, modal: any) {\n return new Promise<void>((resolve) => {\n const subscription = selector.store.observable.subscribe((state: any) => {\n if (state.selectedWalletId) {\n subscription.unsubscribe();\n modal.hide();\n resolve();\n }\n });\n\n modal.show();\n });\n}\n\nasync function getWalletMethods(walletFactories?: WalletModuleFactory[]) {\n const { setupWalletSelector } = await import(\"@near-wallet-selector/core\");\n const { setupModal } = await import(\"@near-wallet-selector/modal-ui-js\");\n\n const contractId = SKConfig.get(\"integrations\")?.nearWalletSelector?.contractId || \"\";\n const selector = await setupWalletSelector({ modules: [...(walletFactories || [])], network: \"mainnet\" });\n\n const isSignedIn = selector.isSignedIn();\n\n if (!isSignedIn) {\n // Only show modal if not already connected\n const modal = setupModal(selector, { contractId, description: \"Connect your NEAR wallet to SwapKit\" });\n\n await waitForWalletSelection(selector, modal);\n }\n\n const wallet = await selector.wallet();\n const signer = createNearSigner(wallet);\n const toolbox = await getNearToolbox({ signer });\n const address = await signer.getAddress();\n\n const disconnect = async () => {\n try {\n await wallet.signOut();\n } catch (error) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n };\n\n return { ...toolbox, address, disconnect };\n}\n\nexport const walletSelectorWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletSelector(chains: Chain[], walletFactories?: WalletModuleFactory[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n if (filteredChains.length === 0) {\n throw new SwapKitError(\"wallet_chain_not_supported\", {\n chain: chains[0],\n wallet: WalletOption.WALLET_SELECTOR,\n });\n }\n\n const walletMethods = await getWalletMethods(walletFactories);\n\n addChain({ ...walletMethods, balance: [], chain: Chain.Near, walletType });\n\n return true;\n },\n name: \"connectWalletSelector\",\n supportedChains: [Chain.Near],\n walletType: WalletOption.WALLET_SELECTOR,\n});\n\nexport const WALLET_SELECTOR_SUPPORTED_CHAINS = getWalletSupportedChains(walletSelectorWallet);\n"
5
+ "import type { Wallet, WalletModuleFactory } from \"@near-wallet-selector/core\";\nimport \"@near-wallet-selector/modal-ui-js/styles.css\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport { Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { getNearToolbox } from \"@swapkit/toolboxes/near\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nfunction createNearSigner(wallet: Wallet) {\n return {\n getAddress: async () => {\n const accounts = await wallet.getAccounts();\n const accountId = accounts[0]?.accountId;\n\n if (!accountId) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n }\n\n return accountId;\n },\n\n getPublicKey: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n signAndSendTransactions: async (transactions: { transactions: Transaction[] }) => {\n const result = await wallet.signAndSendTransactions(transactions);\n return result?.[0]?.transaction_outcome.id || \"\";\n },\n\n signDelegateAction: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n\n signNep413Message: () => {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n },\n\n signTransaction: (params: Transaction) => {\n if (!wallet.signTransaction) {\n throw new SwapKitError(\"wallet_near_method_not_supported\");\n }\n return wallet.signTransaction(params);\n },\n };\n}\n\nfunction waitForWalletSelection(selector: any, modal: any) {\n return new Promise<void>((resolve) => {\n const subscription = selector.store.observable.subscribe((state: any) => {\n if (state.selectedWalletId) {\n subscription.unsubscribe();\n modal.hide();\n resolve();\n }\n });\n\n modal.show();\n });\n}\n\nasync function getWalletMethods(walletFactories?: WalletModuleFactory[]) {\n const { setupWalletSelector } = await import(\"@near-wallet-selector/core\");\n const { setupModal } = await import(\"@near-wallet-selector/modal-ui-js\");\n\n const contractId = SKConfig.get(\"integrations\")?.nearWalletSelector?.contractId || \"\";\n const selector = await setupWalletSelector({ modules: [...(walletFactories || [])], network: \"mainnet\" });\n\n const isSignedIn = selector.isSignedIn();\n\n if (!isSignedIn) {\n // Only show modal if not already connected\n const modal = setupModal(selector, { contractId, description: \"Connect your NEAR wallet to SwapKit\" });\n\n await waitForWalletSelection(selector, modal);\n }\n\n const wallet = await selector.wallet();\n const signer = createNearSigner(wallet);\n const toolbox = await getNearToolbox({ signer });\n const address = await signer.getAddress();\n\n const disconnect = async () => {\n try {\n await wallet.signOut();\n } catch (error) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n };\n\n return { ...toolbox, address, disconnect };\n}\n\nexport const walletSelectorWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletSelector(chains: Chain[], walletFactories?: WalletModuleFactory[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n if (filteredChains.length === 0) {\n throw new SwapKitError(\"wallet_chain_not_supported\", {\n chain: chains[0],\n wallet: WalletOption.WALLET_SELECTOR,\n });\n }\n\n const walletMethods = await getWalletMethods(walletFactories);\n\n addChain({ ...walletMethods, balance: [], chain: Chain.Near, walletType });\n\n return true;\n },\n directSigningSupport: { [Chain.Near]: true },\n name: \"connectWalletSelector\",\n supportedChains: [Chain.Near],\n walletType: WalletOption.WALLET_SELECTOR,\n});\n\nexport const WALLET_SELECTOR_SUPPORTED_CHAINS = getWalletSupportedChains(walletSelectorWallet);\n"
6
6
  ],
7
- "mappings": "iGACA,mDAEA,gBAAS,2BAAO,cAAuB,kBAAU,kBAAc,yBAC/D,yBAAS,gCAGT,SAAS,CAAgB,CAAC,EAAgB,CACxC,MAAO,CACL,WAAY,SAAY,CAEtB,IAAM,GADW,MAAM,EAAO,YAAY,GACf,IAAI,UAE/B,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,oCAAoC,EAG7D,OAAO,GAGT,aAAc,IAAM,CAClB,MAAM,IAAI,EAAa,kCAAkC,GAE3D,wBAAyB,MAAO,IAAkD,CAEhF,OADe,MAAM,EAAO,wBAAwB,CAAY,KAChD,IAAI,oBAAoB,IAAM,IAGhD,mBAAoB,IAAM,CACxB,MAAM,IAAI,EAAa,kCAAkC,GAG3D,kBAAmB,IAAM,CACvB,MAAM,IAAI,EAAa,kCAAkC,GAG3D,gBAAiB,CAAC,IAAwB,CACxC,GAAI,CAAC,EAAO,gBACV,MAAM,IAAI,EAAa,kCAAkC,EAE3D,OAAO,EAAO,gBAAgB,CAAM,EAExC,EAGF,SAAS,CAAsB,CAAC,EAAe,EAAY,CACzD,OAAO,IAAI,QAAc,CAAC,IAAY,CACpC,IAAM,EAAe,EAAS,MAAM,WAAW,UAAU,CAAC,IAAe,CACvE,GAAI,EAAM,iBACR,EAAa,YAAY,EACzB,EAAM,KAAK,EACX,EAAQ,EAEX,EAED,EAAM,KAAK,EACZ,EAGH,eAAe,CAAgB,CAAC,EAAyC,CACvE,IAAQ,uBAAwB,KAAa,uCACrC,cAAe,KAAa,6CAE9B,EAAa,EAAS,IAAI,cAAc,GAAG,oBAAoB,YAAc,GAC7E,EAAW,MAAM,EAAoB,CAAE,QAAS,CAAC,GAAI,GAAmB,CAAC,CAAE,EAAG,QAAS,SAAU,CAAC,EAIxG,GAAI,CAFe,EAAS,WAAW,EAEtB,CAEf,IAAM,EAAQ,EAAW,EAAU,CAAE,aAAY,YAAa,qCAAsC,CAAC,EAErG,MAAM,EAAuB,EAAU,CAAK,EAG9C,IAAM,EAAS,MAAM,EAAS,OAAO,EAC/B,EAAS,EAAiB,CAAM,EAChC,EAAU,MAAM,EAAe,CAAE,QAAO,CAAC,EACzC,EAAU,MAAM,EAAO,WAAW,EAUxC,MAAO,IAAK,EAAS,UAAS,WARX,SAAY,CAC7B,GAAI,CACF,MAAM,EAAO,QAAQ,EACrB,MAAO,EAAO,CACd,MAAM,IAAI,EAAa,qCAAsC,CAAK,GAI7B,EAGpC,IAAM,EAAuB,EAAa,CAC/C,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAoC,CAAC,EAAiB,EAAyC,CAG7F,GAFuB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEjE,SAAW,EAC5B,MAAM,IAAI,EAAa,6BAA8B,CACnD,MAAO,EAAO,GACd,OAAQ,EAAa,eACvB,CAAC,EAGH,IAAM,EAAgB,MAAM,EAAiB,CAAe,EAI5D,OAFA,EAAS,IAAK,EAAe,QAAS,CAAC,EAAG,MAAO,EAAM,KAAM,YAAW,CAAC,EAElE,IAEX,KAAM,wBACN,gBAAiB,CAAC,EAAM,IAAI,EAC5B,WAAY,EAAa,eAC3B,CAAC,EAEY,EAAmC,EAAyB,CAAoB",
8
- "debugId": "ECE86767D0DDDB2864756E2164756E21",
7
+ "mappings": "4CACA,qDAEA,gBAAS,2BAAO,cAAuB,kBAAU,kBAAc,yBAC/D,yBAAS,gCACT,uBAAS,8BAAc,6BAEvB,SAAS,CAAgB,CAAC,EAAgB,CACxC,MAAO,CACL,WAAY,SAAY,CAEtB,IAAM,GADW,MAAM,EAAO,YAAY,GACf,IAAI,UAE/B,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,oCAAoC,EAG7D,OAAO,GAGT,aAAc,IAAM,CAClB,MAAM,IAAI,EAAa,kCAAkC,GAE3D,wBAAyB,MAAO,IAAkD,CAEhF,OADe,MAAM,EAAO,wBAAwB,CAAY,KAChD,IAAI,oBAAoB,IAAM,IAGhD,mBAAoB,IAAM,CACxB,MAAM,IAAI,EAAa,kCAAkC,GAG3D,kBAAmB,IAAM,CACvB,MAAM,IAAI,EAAa,kCAAkC,GAG3D,gBAAiB,CAAC,IAAwB,CACxC,GAAI,CAAC,EAAO,gBACV,MAAM,IAAI,EAAa,kCAAkC,EAE3D,OAAO,EAAO,gBAAgB,CAAM,EAExC,EAGF,SAAS,CAAsB,CAAC,EAAe,EAAY,CACzD,OAAO,IAAI,QAAc,CAAC,IAAY,CACpC,IAAM,EAAe,EAAS,MAAM,WAAW,UAAU,CAAC,IAAe,CACvE,GAAI,EAAM,iBACR,EAAa,YAAY,EACzB,EAAM,KAAK,EACX,EAAQ,EAEX,EAED,EAAM,KAAK,EACZ,EAGH,eAAe,CAAgB,CAAC,EAAyC,CACvE,IAAQ,uBAAwB,KAAa,uCACrC,cAAe,KAAa,6CAE9B,EAAa,EAAS,IAAI,cAAc,GAAG,oBAAoB,YAAc,GAC7E,EAAW,MAAM,EAAoB,CAAE,QAAS,CAAC,GAAI,GAAmB,CAAC,CAAE,EAAG,QAAS,SAAU,CAAC,EAIxG,GAAI,CAFe,EAAS,WAAW,EAEtB,CAEf,IAAM,EAAQ,EAAW,EAAU,CAAE,aAAY,YAAa,qCAAsC,CAAC,EAErG,MAAM,EAAuB,EAAU,CAAK,EAG9C,IAAM,EAAS,MAAM,EAAS,OAAO,EAC/B,EAAS,EAAiB,CAAM,EAChC,EAAU,MAAM,EAAe,CAAE,QAAO,CAAC,EACzC,EAAU,MAAM,EAAO,WAAW,EAUxC,MAAO,IAAK,EAAS,UAAS,WARX,SAAY,CAC7B,GAAI,CACF,MAAM,EAAO,QAAQ,EACrB,MAAO,EAAO,CACd,MAAM,IAAI,EAAa,qCAAsC,CAAK,GAI7B,EAGpC,IAAM,EAAuB,EAAa,CAC/C,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAoC,CAAC,EAAiB,EAAyC,CAG7F,GAFuB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEjE,SAAW,EAC5B,MAAM,IAAI,EAAa,6BAA8B,CACnD,MAAO,EAAO,GACd,OAAQ,EAAa,eACvB,CAAC,EAGH,IAAM,EAAgB,MAAM,EAAiB,CAAe,EAI5D,OAFA,EAAS,IAAK,EAAe,QAAS,CAAC,EAAG,MAAO,EAAM,KAAM,YAAW,CAAC,EAElE,IAEX,qBAAsB,EAAG,EAAM,MAAO,EAAK,EAC3C,KAAM,wBACN,gBAAiB,CAAC,EAAM,IAAI,EAC5B,WAAY,EAAa,eAC3B,CAAC,EAEY,EAAmC,EAAyB,CAAoB",
8
+ "debugId": "AB531AB71CB1BAAF64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- var z={};E(z,{passkeysWallet:()=>M,PASSKEYS_SUPPORTED_CHAINS:()=>S});module.exports=y(z);var I=require("@scure/base"),q=require("@swapkit/helpers"),N=require("@swapkit/utxo-signer"),X=require("sats-connect"),B=require("ts-pattern");F(z,require("@passkeys/core"),module.exports);F(z,require("@passkeys/react"),module.exports);async function P(){let Y=q.SKConfig.get("apiKeys").passkeys,{createWallet:R}=await import("@passkeys/core");return R({appId:Y.length>0?Y:void 0,providers:{bitcoin:!0,ethereum:!0,solana:!0}})}function T({wallet:Y,chain:R}){return B.match(R).with(q.Chain.Bitcoin,async(G)=>{let{getUtxoToolbox:Z}=await import("@swapkit/toolboxes/utxo"),$=await Y.getProvider("bitcoin");if(!$)throw new q.SwapKitError("wallet_passkeys_not_found");let H="",J=()=>Promise.resolve($),j={getProvider:J,onCancel:()=>{throw new q.SwapKitError("wallet_passkeys_request_canceled")},onFinish:(Q)=>{if(!Q.addresses[0])throw new q.SwapKitError("wallet_passkeys_no_address");H=Q.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:X.BitcoinNetworkType.Mainnet},purposes:[X.AddressPurpose.Payment]}};await X.getAddress(j);async function L(Q){let U,O=Q.toPSBT(0),m=I.base64.encode(O),u=Q.inputsLength,K={getProvider:J,onCancel:()=>{throw new q.SwapKitError("wallet_passkeys_signature_canceled")},onFinish:(f)=>{U=N.Transaction.fromPSBT(I.base64.decode(f.psbtBase64))},payload:{broadcast:!1,inputsToSign:[{address:H,signingIndexes:Array.from({length:u},(f,W)=>W)}],message:"Sign transaction",network:{type:X.BitcoinNetworkType.Mainnet},psbtBase64:m}};if(await X.signTransaction(K),!U)throw new q.SwapKitError("wallet_passkeys_sign_transaction_error");return U}return{...await Z(G,{signer:{getAddress:()=>Promise.resolve(H),signTransaction:L}}),address:H}}).with(...q.EVMChains,async(G)=>{let{getProvider:Z,getEvmToolboxAsync:$}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:H}=await import("ethers"),J=await Y.getProvider("ethereum");if(!J)throw new q.SwapKitError("wallet_passkeys_not_found");let j=await Z(G),L=new H(J,"any");await L.send("eth_requestAccounts",[]);let _=await L.getSigner(),D=await _.getAddress(),Q=await $(G,{provider:j,signer:_});try{if(G!==q.Chain.Ethereum){let U=Q.getNetworkParams();await q.switchEVMWalletNetwork(L,G,U)}}catch{throw new q.SwapKitError("wallet_passkeys_failed_to_switch_network",{chain:G})}return{...q.prepareNetworkSwitch({chain:G,provider:L,toolbox:Q}),address:D}}).with(q.Chain.Solana,async()=>{let{getSolanaToolbox:G}=await import("@swapkit/toolboxes/solana"),Z=await Y.getProvider("solana"),H=(await Z.connect()).publicKey.toString();return{...await G({signer:Z}),address:H,disconnect:async()=>{await Z.disconnect()}}}).otherwise((G)=>{throw new q.SwapKitError("wallet_passkeys_chain_not_supported",{chain:G})})}var M=V({connect:({addChain:Y,walletType:R,supportedChains:G})=>async function($,H){let J=H||await P();if(!J)throw new q.SwapKitError("wallet_passkeys_instance_missing");let j=q.filterSupportedChains({chains:$,supportedChains:G,walletType:R});return await Promise.all(j.map(async(L)=>{try{let _=await T({chain:L,wallet:J}),{address:D,...Q}=_;Y({...Q,address:D,chain:L,disconnect:J.disconnect,walletType:q.WalletOption.PASSKEYS})}catch(_){throw console.error(`Failed to connect ${L} wallet:`,_),_}})),!0},name:"connectPasskeys",supportedChains:[...q.EVMChains,q.Chain.Bitcoin,q.Chain.Solana],walletType:q.WalletOption.PASSKEYS}),S=A(M);
1
+ var z={};y(z,{passkeysWallet:()=>B,PASSKEYS_SUPPORTED_CHAINS:()=>k});module.exports=W(z);var f=require("@scure/base"),q=require("@swapkit/helpers"),V=require("@swapkit/utxo-signer"),Y=require("sats-connect"),A=require("ts-pattern"),D=require("@swapkit/wallet-core");F(z,require("@passkeys/core"),module.exports);F(z,require("@passkeys/react"),module.exports);async function E(){let H=q.SKConfig.get("apiKeys").passkeys,{createWallet:R}=await import("@passkeys/core");return R({appId:H.length>0?H:void 0,providers:{bitcoin:!0,ethereum:!0,solana:!0}})}function P({wallet:H,chain:R}){return A.match(R).with(q.Chain.Bitcoin,async(G)=>{let{getUtxoToolbox:Z}=await import("@swapkit/toolboxes/utxo"),$=await H.getProvider("bitcoin");if(!$)throw new q.SwapKitError("wallet_passkeys_not_found");let J="",L=()=>Promise.resolve($),j={getProvider:L,onCancel:()=>{throw new q.SwapKitError("wallet_passkeys_request_canceled")},onFinish:(X)=>{if(!X.addresses[0])throw new q.SwapKitError("wallet_passkeys_no_address");J=X.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:Y.BitcoinNetworkType.Mainnet},purposes:[Y.AddressPurpose.Payment]}};await Y.getAddress(j);async function Q(X){let I,M=X.toPSBT(0),O=f.base64.encode(M),m=X.inputsLength,K={getProvider:L,onCancel:()=>{throw new q.SwapKitError("wallet_passkeys_signature_canceled")},onFinish:(N)=>{I=V.Transaction.fromPSBT(f.base64.decode(N.psbtBase64))},payload:{broadcast:!1,inputsToSign:[{address:J,signingIndexes:Array.from({length:m},(N,u)=>u)}],message:"Sign transaction",network:{type:Y.BitcoinNetworkType.Mainnet},psbtBase64:O}};if(await Y.signTransaction(K),!I)throw new q.SwapKitError("wallet_passkeys_sign_transaction_error");return I}return{...await Z(G,{signer:{getAddress:()=>Promise.resolve(J),signTransaction:Q}}),address:J}}).with(...q.EVMChains,async(G)=>{let{getProvider:Z,getEvmToolboxAsync:$}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:J}=await import("ethers"),L=await H.getProvider("ethereum");if(!L)throw new q.SwapKitError("wallet_passkeys_not_found");let j=await Z(G),Q=new J(L,"any");await Q.send("eth_requestAccounts",[]);let _=await Q.getSigner(),U=await _.getAddress(),X=await $(G,{provider:j,signer:_});return{...q.prepareNetworkSwitch({chain:G,provider:Q,toolbox:X}),address:U}}).with(q.Chain.Solana,async()=>{let{getSolanaToolbox:G}=await import("@swapkit/toolboxes/solana"),Z=await H.getProvider("solana"),J=(await Z.connect()).publicKey.toString();return{...await G({signer:Z}),address:J,disconnect:async()=>{await Z.disconnect()}}}).otherwise((G)=>{throw new q.SwapKitError("wallet_passkeys_chain_not_supported",{chain:G})})}var B=D.createWallet({connect:({addChain:H,walletType:R,supportedChains:G})=>async function($,J){let L=J||await E();if(!L)throw new q.SwapKitError("wallet_passkeys_instance_missing");let j=q.filterSupportedChains({chains:$,supportedChains:G,walletType:R});return await Promise.all(j.map(async(Q)=>{try{let _=await P({chain:Q,wallet:L}),{address:U,...X}=_;H({...X,address:U,chain:Q,disconnect:L.disconnect,walletType:q.WalletOption.PASSKEYS})}catch(_){throw console.error(`Failed to connect ${Q} wallet:`,_),_}})),!0},directSigningSupport:{...Object.fromEntries(q.EVMChains.map((H)=>[H,!0])),[q.Chain.Bitcoin]:!0,[q.Chain.Solana]:!0},name:"connectPasskeys",supportedChains:[...q.EVMChains,q.Chain.Bitcoin,q.Chain.Solana],walletType:q.WalletOption.PASSKEYS}),k=D.getWalletSupportedChains(B);
2
2
 
3
- //# debugId=83F25A19965702E364756E2164756E21
3
+ //# debugId=271B7FC2545B714264756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/passkeys/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Wallet } from \"@passkeys/core\";\nimport { base64 } from \"@scure/base\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SKConfig,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { Transaction } from \"@swapkit/utxo-signer\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\nimport { match } from \"ts-pattern\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\n\nasync function getPasskeyWallet() {\n const appId = SKConfig.get(\"apiKeys\").passkeys;\n const { createWallet } = await import(\"@passkeys/core\");\n\n return createWallet({\n appId: appId.length > 0 ? appId : undefined,\n providers: { bitcoin: true, ethereum: true, solana: true },\n });\n}\n\nfunction getWalletMethods({ wallet, chain: paramChain }: { wallet: Wallet; chain: Chain }) {\n return match(paramChain)\n .with(Chain.Bitcoin, async (chain) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_passkeys_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(tx: InstanceType<typeof Transaction>) {\n let signedTx: InstanceType<typeof Transaction> | undefined;\n const psbtBytes = tx.toPSBT(0);\n const psbtBase64Str = base64.encode(psbtBytes);\n const inputCount = tx.inputsLength;\n\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_signature_canceled\");\n },\n onFinish: (response) => {\n signedTx = Transaction.fromPSBT(base64.decode(response.psbtBase64));\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: Array.from({ length: inputCount }, (_, i) => i) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbtBase64Str,\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedTx) throw new SwapKitError(\"wallet_passkeys_sign_transaction_error\");\n return signedTx;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n })\n .with(...EVMChains, async (chain) => {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolboxAsync(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch {\n throw new SwapKitError(\"wallet_passkeys_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n })\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n const providerConnection = await provider.connect();\n const address = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n })\n .otherwise((chain) => {\n throw new SwapKitError(\"wallet_passkeys_chain_not_supported\", { chain });\n });\n}\n\nexport const passkeysWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectPasskeys(chains: Chain[], paramWallet?: Wallet) {\n const wallet = paramWallet || (await getPasskeyWallet());\n\n if (!wallet) throw new SwapKitError(\"wallet_passkeys_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: wallet.disconnect,\n walletType: WalletOption.PASSKEYS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectPasskeys\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.PASSKEYS,\n});\n\nexport const PASSKEYS_SUPPORTED_CHAINS = getWalletSupportedChains(passkeysWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
5
+ "import type { Wallet } from \"@passkeys/core\";\nimport { base64 } from \"@scure/base\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { Transaction } from \"@swapkit/utxo-signer\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\nimport { match } from \"ts-pattern\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nasync function getPasskeyWallet() {\n const appId = SKConfig.get(\"apiKeys\").passkeys;\n const { createWallet } = await import(\"@passkeys/core\");\n\n return createWallet({\n appId: appId.length > 0 ? appId : undefined,\n providers: { bitcoin: true, ethereum: true, solana: true },\n });\n}\n\nfunction getWalletMethods({ wallet, chain: paramChain }: { wallet: Wallet; chain: Chain }) {\n return match(paramChain)\n .with(Chain.Bitcoin, async (chain) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_passkeys_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(tx: InstanceType<typeof Transaction>) {\n let signedTx: InstanceType<typeof Transaction> | undefined;\n const psbtBytes = tx.toPSBT(0);\n const psbtBase64Str = base64.encode(psbtBytes);\n const inputCount = tx.inputsLength;\n\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_signature_canceled\");\n },\n onFinish: (response) => {\n signedTx = Transaction.fromPSBT(base64.decode(response.psbtBase64));\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: Array.from({ length: inputCount }, (_, i) => i) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbtBase64Str,\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedTx) throw new SwapKitError(\"wallet_passkeys_sign_transaction_error\");\n return signedTx;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n })\n .with(...EVMChains, async (chain) => {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolboxAsync(chain, { provider: jsonRpcProvider, signer });\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n })\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n const providerConnection = await provider.connect();\n const address = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n })\n .otherwise((chain) => {\n throw new SwapKitError(\"wallet_passkeys_chain_not_supported\", { chain });\n });\n}\n\nexport const passkeysWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectPasskeys(chains: Chain[], paramWallet?: Wallet) {\n const wallet = paramWallet || (await getPasskeyWallet());\n\n if (!wallet) throw new SwapKitError(\"wallet_passkeys_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: wallet.disconnect,\n walletType: WalletOption.PASSKEYS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n directSigningSupport: {\n ...Object.fromEntries(EVMChains.map((chain) => [chain, true])),\n [Chain.Bitcoin]: true,\n [Chain.Solana]: true,\n },\n name: \"connectPasskeys\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.PASSKEYS,\n});\n\nexport const PASSKEYS_SUPPORTED_CHAINS = getWalletSupportedChains(passkeysWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "83F25A19965702E364756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "271B7FC2545B714264756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{G as A,H as N}from"../../chunk-qv7snmdv.js";import{I as j}from"../../chunk-5jj4jvy9.js";import{base64 as I}from"@scure/base";import{Chain as R,EVMChains as B,filterSupportedChains as W,prepareNetworkSwitch as y,SKConfig as E,SwapKitError as J,switchEVMWalletNetwork as k,WalletOption as f}from"@swapkit/helpers";import{Transaction as P}from"@swapkit/utxo-signer";import{AddressPurpose as T,BitcoinNetworkType as V,getAddress as S,signTransaction as v}from"sats-connect";import{match as x}from"ts-pattern";export*from"@passkeys/core";export*from"@passkeys/react";async function C(){let L=E.get("apiKeys").passkeys,{createWallet:_}=await import("@passkeys/core");return _({appId:L.length>0?L:void 0,providers:{bitcoin:!0,ethereum:!0,solana:!0}})}function b({wallet:L,chain:_}){return x(_).with(R.Bitcoin,async(q)=>{let{getUtxoToolbox:Q}=await import("@swapkit/toolboxes/utxo"),Y=await L.getProvider("bitcoin");if(!Y)throw new J("wallet_passkeys_not_found");let z="",F=()=>Promise.resolve(Y),Z={getProvider:F,onCancel:()=>{throw new J("wallet_passkeys_request_canceled")},onFinish:(H)=>{if(!H.addresses[0])throw new J("wallet_passkeys_no_address");z=H.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:V.Mainnet},purposes:[T.Payment]}};await S(Z);async function G(H){let $,M=H.toPSBT(0),O=I.encode(M),m=H.inputsLength,u={getProvider:F,onCancel:()=>{throw new J("wallet_passkeys_signature_canceled")},onFinish:(D)=>{$=P.fromPSBT(I.decode(D.psbtBase64))},payload:{broadcast:!1,inputsToSign:[{address:z,signingIndexes:Array.from({length:m},(D,K)=>K)}],message:"Sign transaction",network:{type:V.Mainnet},psbtBase64:O}};if(await v(u),!$)throw new J("wallet_passkeys_sign_transaction_error");return $}return{...await Q(q,{signer:{getAddress:()=>Promise.resolve(z),signTransaction:G}}),address:z}}).with(...B,async(q)=>{let{getProvider:Q,getEvmToolboxAsync:Y}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:z}=await import("ethers"),F=await L.getProvider("ethereum");if(!F)throw new J("wallet_passkeys_not_found");let Z=await Q(q),G=new z(F,"any");await G.send("eth_requestAccounts",[]);let X=await G.getSigner(),U=await X.getAddress(),H=await Y(q,{provider:Z,signer:X});try{if(q!==R.Ethereum){let $=H.getNetworkParams();await k(G,q,$)}}catch{throw new J("wallet_passkeys_failed_to_switch_network",{chain:q})}return{...y({chain:q,provider:G,toolbox:H}),address:U}}).with(R.Solana,async()=>{let{getSolanaToolbox:q}=await import("@swapkit/toolboxes/solana"),Q=await L.getProvider("solana"),z=(await Q.connect()).publicKey.toString();return{...await q({signer:Q}),address:z,disconnect:async()=>{await Q.disconnect()}}}).otherwise((q)=>{throw new J("wallet_passkeys_chain_not_supported",{chain:q})})}var g=A({connect:({addChain:L,walletType:_,supportedChains:q})=>async function(Y,z){let F=z||await C();if(!F)throw new J("wallet_passkeys_instance_missing");let Z=W({chains:Y,supportedChains:q,walletType:_});return await Promise.all(Z.map(async(G)=>{try{let X=await b({chain:G,wallet:F}),{address:U,...H}=X;L({...H,address:U,chain:G,disconnect:F.disconnect,walletType:f.PASSKEYS})}catch(X){throw console.error(`Failed to connect ${G} wallet:`,X),X}})),!0},name:"connectPasskeys",supportedChains:[...B,R.Bitcoin,R.Solana],walletType:f.PASSKEYS}),n=N(g);export{g as passkeysWallet,n as PASSKEYS_SUPPORTED_CHAINS};
1
+ import{H as j}from"../../chunk-99wp90e6.js";import{base64 as f}from"@scure/base";import{Chain as _,EVMChains as D,filterSupportedChains as K,prepareNetworkSwitch as u,SKConfig as W,SwapKitError as X,WalletOption as N}from"@swapkit/helpers";import{Transaction as y}from"@swapkit/utxo-signer";import{AddressPurpose as E,BitcoinNetworkType as V,getAddress as P,signTransaction as k}from"sats-connect";import{match as S}from"ts-pattern";import{createWallet as T,getWalletSupportedChains as v}from"@swapkit/wallet-core";export*from"@passkeys/core";export*from"@passkeys/react";async function x(){let z=W.get("apiKeys").passkeys,{createWallet:$}=await import("@passkeys/core");return $({appId:z.length>0?z:void 0,providers:{bitcoin:!0,ethereum:!0,solana:!0}})}function b({wallet:z,chain:$}){return S($).with(_.Bitcoin,async(q)=>{let{getUtxoToolbox:L}=await import("@swapkit/toolboxes/utxo"),Y=await z.getProvider("bitcoin");if(!Y)throw new X("wallet_passkeys_not_found");let F="",G=()=>Promise.resolve(Y),Z={getProvider:G,onCancel:()=>{throw new X("wallet_passkeys_request_canceled")},onFinish:(J)=>{if(!J.addresses[0])throw new X("wallet_passkeys_no_address");F=J.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:V.Mainnet},purposes:[E.Payment]}};await P(Z);async function H(J){let U,A=J.toPSBT(0),B=f.encode(A),M=J.inputsLength,O={getProvider:G,onCancel:()=>{throw new X("wallet_passkeys_signature_canceled")},onFinish:(I)=>{U=y.fromPSBT(f.decode(I.psbtBase64))},payload:{broadcast:!1,inputsToSign:[{address:F,signingIndexes:Array.from({length:M},(I,m)=>m)}],message:"Sign transaction",network:{type:V.Mainnet},psbtBase64:B}};if(await k(O),!U)throw new X("wallet_passkeys_sign_transaction_error");return U}return{...await L(q,{signer:{getAddress:()=>Promise.resolve(F),signTransaction:H}}),address:F}}).with(...D,async(q)=>{let{getProvider:L,getEvmToolboxAsync:Y}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:F}=await import("ethers"),G=await z.getProvider("ethereum");if(!G)throw new X("wallet_passkeys_not_found");let Z=await L(q),H=new F(G,"any");await H.send("eth_requestAccounts",[]);let Q=await H.getSigner(),R=await Q.getAddress(),J=await Y(q,{provider:Z,signer:Q});return{...u({chain:q,provider:H,toolbox:J}),address:R}}).with(_.Solana,async()=>{let{getSolanaToolbox:q}=await import("@swapkit/toolboxes/solana"),L=await z.getProvider("solana"),F=(await L.connect()).publicKey.toString();return{...await q({signer:L}),address:F,disconnect:async()=>{await L.disconnect()}}}).otherwise((q)=>{throw new X("wallet_passkeys_chain_not_supported",{chain:q})})}var C=T({connect:({addChain:z,walletType:$,supportedChains:q})=>async function(Y,F){let G=F||await x();if(!G)throw new X("wallet_passkeys_instance_missing");let Z=K({chains:Y,supportedChains:q,walletType:$});return await Promise.all(Z.map(async(H)=>{try{let Q=await b({chain:H,wallet:G}),{address:R,...J}=Q;z({...J,address:R,chain:H,disconnect:G.disconnect,walletType:N.PASSKEYS})}catch(Q){throw console.error(`Failed to connect ${H} wallet:`,Q),Q}})),!0},directSigningSupport:{...Object.fromEntries(D.map((z)=>[z,!0])),[_.Bitcoin]:!0,[_.Solana]:!0},name:"connectPasskeys",supportedChains:[...D,_.Bitcoin,_.Solana],walletType:N.PASSKEYS}),l=v(C);export{C as passkeysWallet,l as PASSKEYS_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=54ADEEE80B38B79564756E2164756E21
3
+ //# debugId=02B93B3F2CBEE8E964756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/passkeys/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Wallet } from \"@passkeys/core\";\nimport { base64 } from \"@scure/base\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SKConfig,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { Transaction } from \"@swapkit/utxo-signer\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\nimport { match } from \"ts-pattern\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\n\nasync function getPasskeyWallet() {\n const appId = SKConfig.get(\"apiKeys\").passkeys;\n const { createWallet } = await import(\"@passkeys/core\");\n\n return createWallet({\n appId: appId.length > 0 ? appId : undefined,\n providers: { bitcoin: true, ethereum: true, solana: true },\n });\n}\n\nfunction getWalletMethods({ wallet, chain: paramChain }: { wallet: Wallet; chain: Chain }) {\n return match(paramChain)\n .with(Chain.Bitcoin, async (chain) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_passkeys_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(tx: InstanceType<typeof Transaction>) {\n let signedTx: InstanceType<typeof Transaction> | undefined;\n const psbtBytes = tx.toPSBT(0);\n const psbtBase64Str = base64.encode(psbtBytes);\n const inputCount = tx.inputsLength;\n\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_signature_canceled\");\n },\n onFinish: (response) => {\n signedTx = Transaction.fromPSBT(base64.decode(response.psbtBase64));\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: Array.from({ length: inputCount }, (_, i) => i) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbtBase64Str,\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedTx) throw new SwapKitError(\"wallet_passkeys_sign_transaction_error\");\n return signedTx;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n })\n .with(...EVMChains, async (chain) => {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolboxAsync(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch {\n throw new SwapKitError(\"wallet_passkeys_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n })\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n const providerConnection = await provider.connect();\n const address = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n })\n .otherwise((chain) => {\n throw new SwapKitError(\"wallet_passkeys_chain_not_supported\", { chain });\n });\n}\n\nexport const passkeysWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectPasskeys(chains: Chain[], paramWallet?: Wallet) {\n const wallet = paramWallet || (await getPasskeyWallet());\n\n if (!wallet) throw new SwapKitError(\"wallet_passkeys_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: wallet.disconnect,\n walletType: WalletOption.PASSKEYS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectPasskeys\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.PASSKEYS,\n});\n\nexport const PASSKEYS_SUPPORTED_CHAINS = getWalletSupportedChains(passkeysWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
5
+ "import type { Wallet } from \"@passkeys/core\";\nimport { base64 } from \"@scure/base\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { Transaction } from \"@swapkit/utxo-signer\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\nimport { match } from \"ts-pattern\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nasync function getPasskeyWallet() {\n const appId = SKConfig.get(\"apiKeys\").passkeys;\n const { createWallet } = await import(\"@passkeys/core\");\n\n return createWallet({\n appId: appId.length > 0 ? appId : undefined,\n providers: { bitcoin: true, ethereum: true, solana: true },\n });\n}\n\nfunction getWalletMethods({ wallet, chain: paramChain }: { wallet: Wallet; chain: Chain }) {\n return match(paramChain)\n .with(Chain.Bitcoin, async (chain) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_passkeys_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(tx: InstanceType<typeof Transaction>) {\n let signedTx: InstanceType<typeof Transaction> | undefined;\n const psbtBytes = tx.toPSBT(0);\n const psbtBase64Str = base64.encode(psbtBytes);\n const inputCount = tx.inputsLength;\n\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_signature_canceled\");\n },\n onFinish: (response) => {\n signedTx = Transaction.fromPSBT(base64.decode(response.psbtBase64));\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: Array.from({ length: inputCount }, (_, i) => i) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbtBase64Str,\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedTx) throw new SwapKitError(\"wallet_passkeys_sign_transaction_error\");\n return signedTx;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n })\n .with(...EVMChains, async (chain) => {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolboxAsync(chain, { provider: jsonRpcProvider, signer });\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n })\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n const providerConnection = await provider.connect();\n const address = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n })\n .otherwise((chain) => {\n throw new SwapKitError(\"wallet_passkeys_chain_not_supported\", { chain });\n });\n}\n\nexport const passkeysWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectPasskeys(chains: Chain[], paramWallet?: Wallet) {\n const wallet = paramWallet || (await getPasskeyWallet());\n\n if (!wallet) throw new SwapKitError(\"wallet_passkeys_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: wallet.disconnect,\n walletType: WalletOption.PASSKEYS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n directSigningSupport: {\n ...Object.fromEntries(EVMChains.map((chain) => [chain, true])),\n [Chain.Bitcoin]: true,\n [Chain.Solana]: true,\n },\n name: \"connectPasskeys\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.PASSKEYS,\n});\n\nexport const PASSKEYS_SUPPORTED_CHAINS = getWalletSupportedChains(passkeysWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "54ADEEE80B38B79564756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "02B93B3F2CBEE8E964756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- var R={};m(R,{radixWallet:()=>g,RADIX_SUPPORTED_CHAINS:()=>h});module.exports=_(R);var t=require("@swapkit/helpers");var g=x({connect:({addChain:r,supportedChains:s,walletType:n})=>async function(l){let c=t.filterSupportedChains({chains:l,supportedChains:s,walletType:n});if(!t.SKConfig.get("integrations").radix)throw new t.SwapKitError("wallet_radix_not_found");return await Promise.all(c.map(async(u)=>{let i=await A();r({...i,chain:u,walletType:n})})),!0},name:"connectRadixWallet",supportedChains:[t.Chain.Radix],walletType:t.WalletOption.RADIX_WALLET}),h=f(g);async function A(){let{RadixDappToolkit:r}=await import("@radixdlt/radix-dapp-toolkit"),{getRadixToolbox:s}=await import("@swapkit/toolboxes/radix"),n=t.SKConfig.get("integrations").radix,o=r({...n,networkId:n.network.networkId}),l=s({dappConfig:n});function c(a){return new Promise((e)=>setTimeout(e,a))}await c(400);function d(){return o.walletApi.getWalletData()?.accounts?.[0]?.address}async function u(){let{DataRequestBuilder:a}=await import("@radixdlt/radix-dapp-toolkit");o.walletApi.setRequestData(a.accounts().exactly(1));let e=await o.walletApi.sendRequest();if(!e)throw new t.SwapKitError("wallet_radix_no_account");let w=e.unwrapOr(null)?.accounts[0]?.address;if(!w)throw new t.SwapKitError("wallet_radix_no_account");return w}let i=d()||await u();return{address:i,getAddress:d,getBalance:()=>l.getBalance(i),radixDappToolkit:o,signAndBroadcast:async({manifest:a,message:e})=>{let p=(await o.walletApi.sendTransaction({message:e,transactionManifest:a})).unwrapOr(null)?.transactionIntentHash;if(!p)throw new t.SwapKitError("wallet_radix_transaction_failed");return p},transfer:(a)=>{throw new t.SwapKitError("wallet_radix_method_not_supported",{method:"transfer"})}}}
1
+ var v={};B(v,{radixWallet:()=>$,RADIX_SUPPORTED_CHAINS:()=>N});module.exports=q(v);var j=require("@swapkit/helpers"),J=require("@swapkit/wallet-core"),$=J.createWallet({connect:({addChain:L,supportedChains:P,walletType:G})=>async function(Q){let U=j.filterSupportedChains({chains:Q,supportedChains:P,walletType:G});if(!j.SKConfig.get("integrations").radix)throw new j.SwapKitError("wallet_radix_not_found");return await Promise.all(U.map(async(Y)=>{let I=await V();L({...I,chain:Y,walletType:G})})),!0},directSigningSupport:{},name:"connectRadixWallet",supportedChains:[j.Chain.Radix],walletType:j.WalletOption.RADIX_WALLET}),N=J.getWalletSupportedChains($);async function V(){let{RadixDappToolkit:L}=await import("@radixdlt/radix-dapp-toolkit"),{getRadixToolbox:P}=await import("@swapkit/toolboxes/radix"),G=j.SKConfig.get("integrations").radix,H=L({...G,networkId:G.network.networkId}),Q=P({dappConfig:G});function U(z){return new Promise((F)=>setTimeout(F,z))}await U(400);function X(){return H.walletApi.getWalletData()?.accounts?.[0]?.address}async function Y(){let{DataRequestBuilder:z}=await import("@radixdlt/radix-dapp-toolkit");H.walletApi.setRequestData(z.accounts().exactly(1));let F=await H.walletApi.sendRequest();if(!F)throw new j.SwapKitError("wallet_radix_no_account");let Z=F.unwrapOr(null)?.accounts[0]?.address;if(!Z)throw new j.SwapKitError("wallet_radix_no_account");return Z}let I=X()||await Y();return{address:I,getAddress:X,getBalance:()=>Q.getBalance(I),radixDappToolkit:H,signAndBroadcast:async({manifest:z,message:F})=>{let _=(await H.walletApi.sendTransaction({message:F,transactionManifest:z})).unwrapOr(null)?.transactionIntentHash;if(!_)throw new j.SwapKitError("wallet_radix_transaction_failed");return _},transfer:(z)=>{throw new j.SwapKitError("wallet_radix_method_not_supported",{method:"transfer"})}}}
2
2
 
3
- //# debugId=C82A8FC13E2CDF5164756E2164756E21
3
+ //# debugId=41EC1C5F66D1BB9F64756E2164756E21
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 AssetValue, Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"../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 getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const { getRadixToolbox } = await import(\"@swapkit/toolboxes/radix\");\n\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n const toolbox = getRadixToolbox({ dappConfig });\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 async function getNewAddress() {\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: () => toolbox.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"
5
+ "import { type 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 // Radix is not in V3 swap chain list\n directSigningSupport: {},\n name: \"connectRadixWallet\",\n supportedChains: [Chain.Radix],\n walletType: WalletOption.RADIX_WALLET,\n});\n\nexport const RADIX_SUPPORTED_CHAINS = getWalletSupportedChains(radixWallet);\n\nasync function getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const { getRadixToolbox } = await import(\"@swapkit/toolboxes/radix\");\n\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n const toolbox = getRadixToolbox({ dappConfig });\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 async function getNewAddress() {\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: () => toolbox.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": "mFAAoG,IAApG,8BAGO,IAAM,EAAc,EAAa,CACtC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAiC,CAAC,EAAiB,CACjD,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAGpF,GAAI,CAFgB,WAAS,IAAI,cAAc,EAAE,MAG/C,MAAM,IAAI,eAAa,wBAAwB,EAWjD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,EAE7C,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAEX,KAAM,qBACN,gBAAiB,CAAC,QAAM,KAAK,EAC7B,WAAY,eAAa,YAC3B,CAAC,EAEY,EAAyB,EAAyB,CAAW,EAE1E,eAAe,CAAgB,EAAG,CAChC,IAAQ,oBAAqB,KAAa,yCAClC,mBAAoB,KAAa,oCAEnC,EAAa,WAAS,IAAI,cAAc,EAAE,MAC1C,EAAM,EAAiB,IAAK,EAAY,UAAW,EAAW,QAAQ,SAAU,CAAC,EACjF,EAAU,EAAgB,CAAE,YAAW,CAAC,EAE9C,SAAS,CAAK,CAAC,EAAY,CACzB,OAAO,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAE,CAAC,EAIzD,MAAM,EAAM,GAAG,EAEf,SAAS,CAAU,EAAG,CAIpB,OAH2B,EAAI,UAAU,cAAc,GACnB,WAAW,IAE/B,QAGlB,eAAe,CAAa,EAAG,CAC7B,IAAQ,sBAAuB,KAAa,wCAC5C,EAAI,UAAU,eAAe,EAAmB,SAAS,EAAE,QAAQ,CAAC,CAAC,EACrE,IAAM,EAAM,MAAM,EAAI,UAAU,YAAY,EAE5C,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,yBAAyB,EAGlD,IAAM,EAAa,EAAI,SAAS,IAAI,GAAG,SAAS,IAAI,QAEpD,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,yBAAyB,EAGlD,OAAO,EAGT,IAAM,EAAU,EAAW,GAAM,MAAM,EAAc,EAErD,MAAO,CACL,UACA,aACA,WAAY,IAAM,EAAQ,WAAW,CAAO,EAC5C,iBAAkB,EAClB,iBAAkB,OAAS,WAAU,aAAqD,CAGxF,IAAM,GAFK,MAAM,EAAI,UAAU,gBAAgB,CAAE,UAAS,oBAAqB,CAAS,CAAC,GAErE,SAAS,IAAI,GAAG,sBAEpC,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,iCAAiC,EAG1D,OAAO,GAET,SAAU,CAAC,IAAyE,CAClF,MAAM,IAAI,eAAa,oCAAqC,CAAE,OAAQ,UAAW,CAAC,EAEtF",
8
- "debugId": "C82A8FC13E2CDF5164756E2164756E21",
7
+ "mappings": "mFAAoG,IAApG,8BACA,kCAEa,EAAc,eAAa,CACtC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAiC,CAAC,EAAiB,CACjD,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAGpF,GAAI,CAFgB,WAAS,IAAI,cAAc,EAAE,MAG/C,MAAM,IAAI,eAAa,wBAAwB,EAWjD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,EAE7C,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAGX,qBAAsB,CAAC,EACvB,KAAM,qBACN,gBAAiB,CAAC,QAAM,KAAK,EAC7B,WAAY,eAAa,YAC3B,CAAC,EAEY,EAAyB,2BAAyB,CAAW,EAE1E,eAAe,CAAgB,EAAG,CAChC,IAAQ,oBAAqB,KAAa,yCAClC,mBAAoB,KAAa,oCAEnC,EAAa,WAAS,IAAI,cAAc,EAAE,MAC1C,EAAM,EAAiB,IAAK,EAAY,UAAW,EAAW,QAAQ,SAAU,CAAC,EACjF,EAAU,EAAgB,CAAE,YAAW,CAAC,EAE9C,SAAS,CAAK,CAAC,EAAY,CACzB,OAAO,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAE,CAAC,EAIzD,MAAM,EAAM,GAAG,EAEf,SAAS,CAAU,EAAG,CAIpB,OAH2B,EAAI,UAAU,cAAc,GACnB,WAAW,IAE/B,QAGlB,eAAe,CAAa,EAAG,CAC7B,IAAQ,sBAAuB,KAAa,wCAC5C,EAAI,UAAU,eAAe,EAAmB,SAAS,EAAE,QAAQ,CAAC,CAAC,EACrE,IAAM,EAAM,MAAM,EAAI,UAAU,YAAY,EAE5C,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,yBAAyB,EAGlD,IAAM,EAAa,EAAI,SAAS,IAAI,GAAG,SAAS,IAAI,QAEpD,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,yBAAyB,EAGlD,OAAO,EAGT,IAAM,EAAU,EAAW,GAAM,MAAM,EAAc,EAErD,MAAO,CACL,UACA,aACA,WAAY,IAAM,EAAQ,WAAW,CAAO,EAC5C,iBAAkB,EAClB,iBAAkB,OAAS,WAAU,aAAqD,CAGxF,IAAM,GAFK,MAAM,EAAI,UAAU,gBAAgB,CAAE,UAAS,oBAAqB,CAAS,CAAC,GAErE,SAAS,IAAI,GAAG,sBAEpC,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,iCAAiC,EAG1D,OAAO,GAET,SAAU,CAAC,IAAyE,CAClF,MAAM,IAAI,eAAa,oCAAqC,CAAE,OAAQ,UAAW,CAAC,EAEtF",
8
+ "debugId": "41EC1C5F66D1BB9F64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{G as g,H as _}from"../../chunk-qv7snmdv.js";import{I as p}from"../../chunk-5jj4jvy9.js";import{Chain as m,filterSupportedChains as h,SKConfig as x,SwapKitError as o,WalletOption as A}from"@swapkit/helpers";var R=g({connect:({addChain:r,supportedChains:s,walletType:e})=>async function(l){let c=h({chains:l,supportedChains:s,walletType:e});if(!x.get("integrations").radix)throw new o("wallet_radix_not_found");return await Promise.all(c.map(async(u)=>{let i=await C();r({...i,chain:u,walletType:e})})),!0},name:"connectRadixWallet",supportedChains:[m.Radix],walletType:A.RADIX_WALLET}),y=_(R);async function C(){let{RadixDappToolkit:r}=await import("@radixdlt/radix-dapp-toolkit"),{getRadixToolbox:s}=await import("@swapkit/toolboxes/radix"),e=x.get("integrations").radix,n=r({...e,networkId:e.network.networkId}),l=s({dappConfig:e});function c(t){return new Promise((a)=>setTimeout(a,t))}await c(400);function d(){return n.walletApi.getWalletData()?.accounts?.[0]?.address}async function u(){let{DataRequestBuilder:t}=await import("@radixdlt/radix-dapp-toolkit");n.walletApi.setRequestData(t.accounts().exactly(1));let a=await n.walletApi.sendRequest();if(!a)throw new o("wallet_radix_no_account");let w=a.unwrapOr(null)?.accounts[0]?.address;if(!w)throw new o("wallet_radix_no_account");return w}let i=d()||await u();return{address:i,getAddress:d,getBalance:()=>l.getBalance(i),radixDappToolkit:n,signAndBroadcast:async({manifest:t,message:a})=>{let f=(await n.walletApi.sendTransaction({message:a,transactionManifest:t})).unwrapOr(null)?.transactionIntentHash;if(!f)throw new o("wallet_radix_transaction_failed");return f},transfer:(t)=>{throw new o("wallet_radix_method_not_supported",{method:"transfer"})}}}export{R as radixWallet,y as RADIX_SUPPORTED_CHAINS};
1
+ import{H as Z}from"../../chunk-99wp90e6.js";import{Chain as q,filterSupportedChains as B,SKConfig as _,SwapKitError as H,WalletOption as N}from"@swapkit/helpers";import{createWallet as V,getWalletSupportedChains as v}from"@swapkit/wallet-core";var M=V({connect:({addChain:J,supportedChains:L,walletType:F})=>async function(P){let Q=B({chains:P,supportedChains:L,walletType:F});if(!_.get("integrations").radix)throw new H("wallet_radix_not_found");return await Promise.all(Q.map(async(X)=>{let I=await b();J({...I,chain:X,walletType:F})})),!0},directSigningSupport:{},name:"connectRadixWallet",supportedChains:[q.Radix],walletType:N.RADIX_WALLET}),y=v(M);async function b(){let{RadixDappToolkit:J}=await import("@radixdlt/radix-dapp-toolkit"),{getRadixToolbox:L}=await import("@swapkit/toolboxes/radix"),F=_.get("integrations").radix,G=J({...F,networkId:F.network.networkId}),P=L({dappConfig:F});function Q(j){return new Promise((z)=>setTimeout(z,j))}await Q(400);function U(){return G.walletApi.getWalletData()?.accounts?.[0]?.address}async function X(){let{DataRequestBuilder:j}=await import("@radixdlt/radix-dapp-toolkit");G.walletApi.setRequestData(j.accounts().exactly(1));let z=await G.walletApi.sendRequest();if(!z)throw new H("wallet_radix_no_account");let Y=z.unwrapOr(null)?.accounts[0]?.address;if(!Y)throw new H("wallet_radix_no_account");return Y}let I=U()||await X();return{address:I,getAddress:U,getBalance:()=>P.getBalance(I),radixDappToolkit:G,signAndBroadcast:async({manifest:j,message:z})=>{let $=(await G.walletApi.sendTransaction({message:z,transactionManifest:j})).unwrapOr(null)?.transactionIntentHash;if(!$)throw new H("wallet_radix_transaction_failed");return $},transfer:(j)=>{throw new H("wallet_radix_method_not_supported",{method:"transfer"})}}}export{M as radixWallet,y as RADIX_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=CF8715272828085D64756E2164756E21
3
+ //# debugId=B51C1EFA7E0B33CB64756E2164756E21
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 AssetValue, Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"../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 getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const { getRadixToolbox } = await import(\"@swapkit/toolboxes/radix\");\n\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n const toolbox = getRadixToolbox({ dappConfig });\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 async function getNewAddress() {\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: () => toolbox.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"
5
+ "import { type 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 // Radix is not in V3 swap chain list\n directSigningSupport: {},\n name: \"connectRadixWallet\",\n supportedChains: [Chain.Radix],\n walletType: WalletOption.RADIX_WALLET,\n});\n\nexport const RADIX_SUPPORTED_CHAINS = getWalletSupportedChains(radixWallet);\n\nasync function getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const { getRadixToolbox } = await import(\"@swapkit/toolboxes/radix\");\n\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n const toolbox = getRadixToolbox({ dappConfig });\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 async function getNewAddress() {\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: () => toolbox.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": "iGAAA,cAA0B,2BAAO,cAAuB,kBAAU,kBAAc,yBAGzE,IAAM,EAAc,EAAa,CACtC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAiC,CAAC,EAAiB,CACjD,IAAM,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAGpF,GAAI,CAFgB,EAAS,IAAI,cAAc,EAAE,MAG/C,MAAM,IAAI,EAAa,wBAAwB,EAWjD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,EAE7C,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAEX,KAAM,qBACN,gBAAiB,CAAC,EAAM,KAAK,EAC7B,WAAY,EAAa,YAC3B,CAAC,EAEY,EAAyB,EAAyB,CAAW,EAE1E,eAAe,CAAgB,EAAG,CAChC,IAAQ,oBAAqB,KAAa,yCAClC,mBAAoB,KAAa,oCAEnC,EAAa,EAAS,IAAI,cAAc,EAAE,MAC1C,EAAM,EAAiB,IAAK,EAAY,UAAW,EAAW,QAAQ,SAAU,CAAC,EACjF,EAAU,EAAgB,CAAE,YAAW,CAAC,EAE9C,SAAS,CAAK,CAAC,EAAY,CACzB,OAAO,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAE,CAAC,EAIzD,MAAM,EAAM,GAAG,EAEf,SAAS,CAAU,EAAG,CAIpB,OAH2B,EAAI,UAAU,cAAc,GACnB,WAAW,IAE/B,QAGlB,eAAe,CAAa,EAAG,CAC7B,IAAQ,sBAAuB,KAAa,wCAC5C,EAAI,UAAU,eAAe,EAAmB,SAAS,EAAE,QAAQ,CAAC,CAAC,EACrE,IAAM,EAAM,MAAM,EAAI,UAAU,YAAY,EAE5C,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,yBAAyB,EAGlD,IAAM,EAAa,EAAI,SAAS,IAAI,GAAG,SAAS,IAAI,QAEpD,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,yBAAyB,EAGlD,OAAO,EAGT,IAAM,EAAU,EAAW,GAAM,MAAM,EAAc,EAErD,MAAO,CACL,UACA,aACA,WAAY,IAAM,EAAQ,WAAW,CAAO,EAC5C,iBAAkB,EAClB,iBAAkB,OAAS,WAAU,aAAqD,CAGxF,IAAM,GAFK,MAAM,EAAI,UAAU,gBAAgB,CAAE,UAAS,oBAAqB,CAAS,CAAC,GAErE,SAAS,IAAI,GAAG,sBAEpC,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,iCAAiC,EAG1D,OAAO,GAET,SAAU,CAAC,IAAyE,CAClF,MAAM,IAAI,EAAa,oCAAqC,CAAE,OAAQ,UAAW,CAAC,EAEtF",
8
- "debugId": "CF8715272828085D64756E2164756E21",
7
+ "mappings": "4CAAA,gBAA0B,2BAAO,cAAuB,kBAAU,kBAAc,yBAChF,uBAAS,8BAAc,6BAEhB,IAAM,EAAc,EAAa,CACtC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAiC,CAAC,EAAiB,CACjD,IAAM,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAGpF,GAAI,CAFgB,EAAS,IAAI,cAAc,EAAE,MAG/C,MAAM,IAAI,EAAa,wBAAwB,EAWjD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,EAE7C,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAGX,qBAAsB,CAAC,EACvB,KAAM,qBACN,gBAAiB,CAAC,EAAM,KAAK,EAC7B,WAAY,EAAa,YAC3B,CAAC,EAEY,EAAyB,EAAyB,CAAW,EAE1E,eAAe,CAAgB,EAAG,CAChC,IAAQ,oBAAqB,KAAa,yCAClC,mBAAoB,KAAa,oCAEnC,EAAa,EAAS,IAAI,cAAc,EAAE,MAC1C,EAAM,EAAiB,IAAK,EAAY,UAAW,EAAW,QAAQ,SAAU,CAAC,EACjF,EAAU,EAAgB,CAAE,YAAW,CAAC,EAE9C,SAAS,CAAK,CAAC,EAAY,CACzB,OAAO,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAE,CAAC,EAIzD,MAAM,EAAM,GAAG,EAEf,SAAS,CAAU,EAAG,CAIpB,OAH2B,EAAI,UAAU,cAAc,GACnB,WAAW,IAE/B,QAGlB,eAAe,CAAa,EAAG,CAC7B,IAAQ,sBAAuB,KAAa,wCAC5C,EAAI,UAAU,eAAe,EAAmB,SAAS,EAAE,QAAQ,CAAC,CAAC,EACrE,IAAM,EAAM,MAAM,EAAI,UAAU,YAAY,EAE5C,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,yBAAyB,EAGlD,IAAM,EAAa,EAAI,SAAS,IAAI,GAAG,SAAS,IAAI,QAEpD,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,yBAAyB,EAGlD,OAAO,EAGT,IAAM,EAAU,EAAW,GAAM,MAAM,EAAc,EAErD,MAAO,CACL,UACA,aACA,WAAY,IAAM,EAAQ,WAAW,CAAO,EAC5C,iBAAkB,EAClB,iBAAkB,OAAS,WAAU,aAAqD,CAGxF,IAAM,GAFK,MAAM,EAAI,UAAU,gBAAgB,CAAE,UAAS,oBAAqB,CAAS,CAAC,GAErE,SAAS,IAAI,GAAG,sBAEpC,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,iCAAiC,EAG1D,OAAO,GAET,SAAU,CAAC,IAAyE,CAClF,MAAM,IAAI,EAAa,oCAAqC,CAAE,OAAQ,UAAW,CAAC,EAEtF",
8
+ "debugId": "B51C1EFA7E0B33CB64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- var m5={};H5(m5,{walletconnectWallet:()=>b5,WC_SUPPORTED_CHAINS:()=>T5,TRON_MAINNET_ID:()=>c,THORCHAIN_MAINNET_ID:()=>P,POLYGON_MAINNET_ID:()=>h,OPTIMISM_MAINNET_ID:()=>C,NEAR_TESTNET_ID:()=>I,NEAR_MAINNET_ID:()=>s,MONAD_MAINNET_ID:()=>o,MAYACHAIN_MAINNET_ID:()=>g,KUJIRA_MAINNET_ID:()=>d,ETHEREUM_MAINNET_ID:()=>S,DEFAULT_TRON_METHODS:()=>y5,DEFAULT_TRON_EVENTS:()=>z5,DEFAULT_SOLANA_METHODS:()=>n,DEFAULT_SOLANA_EVENTS:()=>L5,DEFAULT_RELAY_URL:()=>r,DEFAULT_POLKADOT_METHODS:()=>j5,DEFAULT_POLKADOT_EVENTS:()=>O5,DEFAULT_NEAR_METHODS:()=>F5,DEFAULT_NEAR_EVENTS:()=>f5,DEFAULT_LOGGER:()=>B,DEFAULT_EIP_155_EVENTS:()=>i,DEFAULT_EIP155_METHODS:()=>W,DEFAULT_COSMOS_METHODS:()=>E,DEFAULT_COSMOS_EVENTS:()=>_5,DEFAULT_APP_METADATA:()=>U5,COSMOS_HUB_MAINNET_ID:()=>A,BSC_MAINNET_ID:()=>m,BERACHAIN_MAINNET_ID:()=>e,BASE_MAINNET_ID:()=>l,AVALANCHE_MAINNET_ID:()=>M,AURORA_MAINNET_ID:()=>t,ARBITRUM_ONE_MAINNET_ID:()=>N});module.exports=D5(m5);var L=require("@swapkit/helpers");var q=require("@swapkit/helpers"),v5=require("ethers");var y=require("@swapkit/helpers");var u=(j,O)=>{return(O.find((U)=>U.startsWith(K(j)))||"")?.split(":")?.[2]||""},K=(j)=>{switch(j){case y.Chain.Avalanche:return M;case y.Chain.Aurora:return t;case y.Chain.Base:return l;case y.Chain.BinanceSmartChain:return m;case y.Chain.Berachain:return e;case y.Chain.Monad:return o;case y.Chain.Ethereum:return S;case y.Chain.THORChain:return P;case y.Chain.Arbitrum:return N;case y.Chain.Optimism:return C;case y.Chain.Polygon:return h;case y.Chain.Maya:return g;case y.Chain.Cosmos:return A;case y.Chain.Kujira:return d;case y.Chain.Near:{let{isStagenet:O}=y.SKConfig.get("envs");return O?I:s}case y.Chain.Tron:return c;default:return""}};class a extends v5.AbstractSigner{address;chain;walletconnect;provider;constructor({chain:j,provider:O,walletconnect:F}){super(O);this.chain=j,this.walletconnect=F,this.provider=O,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new q.SwapKitError("wallet_walletconnect_connection_not_established");if(!this.address)this.address=u(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(j)=>{let O=await this.walletconnect?.client.request({chainId:K(this.chain),request:{method:"eth_sign",params:[j]},topic:this.walletconnect.session.topic||""});return O.startsWith("0x")?O:`0x${O}`};signTransaction=()=>{throw new q.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=(j,O,F,z)=>{throw new q.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};sendTransaction=async({from:j,to:O,value:F,data:z})=>{let{toHexString:U}=await import("@swapkit/toolboxes/evm"),f={data:z,from:j,to:O,value:U(BigInt(F||0))};return await this.walletconnect?.client.request({chainId:K(this.chain),request:{method:"eth_sendTransaction",params:[f]},topic:this.walletconnect.session.topic})};connect=(j)=>{if(!j)throw new q.SwapKitError({errorKey:"wallet_provider_not_found",info:{chain:this.chain,wallet:q.WalletOption.WALLETCONNECT}});return new a({chain:this.chain,provider:j,walletconnect:this.walletconnect})}}var G5=async({chain:j,walletconnect:O,provider:F})=>new a({chain:j,provider:F,walletconnect:O});var Q5=require("@swapkit/helpers");var B5=(j)=>{let O=[];for(let F of j){let[z]=F.split(":");if(z&&!O.includes(z))O.push(z)}return O},R5=(j)=>{switch(j){case"eip155":return Object.values(W);case"cosmos":return Object.values(E);case"solana":return Object.values(n);case"polkadot":return Object.values(j5);case"near":return Object.values(F5);case"tron":return Object.values(y5);default:throw new Q5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:j}})}},w5=(j)=>{switch(j){case"eip155":return Object.values(i);case"cosmos":return[];case"solana":return Object.values(L5);case"polkadot":return Object.values(O5);case"near":return Object.values(f5);case"tron":return Object.values(z5);default:throw new Q5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:j}})}},J5=(j)=>{let O=B5(j);return Object.fromEntries(O.map((F)=>[F,{chains:j.filter((z)=>z.startsWith(F)),events:w5(F),methods:R5(F)}]))};var b5=K5({connect:({addChain:j,supportedChains:O,walletType:F})=>async function(U,f){let Q=L.filterSupportedChains({chains:U,supportedChains:O,walletType:F}),{walletConnectProjectId:Z}=L.SKConfig.get("apiKeys");if(!Z)throw new L.SwapKitError("wallet_walletconnect_project_id_not_specified");let V=await S5(Q,Z,f);if(!V)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let{accounts:v}=V;return await Promise.all(Q.map(async(X)=>{let G=u(X,v||[]),$=await x5({address:G,chain:X,walletconnect:V});j({...$,address:G,chain:X,disconnect:V.disconnect,walletType:L.WalletOption.WALLETCONNECT})})),!0},name:"connectWalletconnect",supportedChains:[L.Chain.Arbitrum,L.Chain.Aurora,L.Chain.Avalanche,L.Chain.Base,L.Chain.Berachain,L.Chain.BinanceSmartChain,L.Chain.Cosmos,L.Chain.Ethereum,L.Chain.Kujira,L.Chain.Maya,L.Chain.Monad,L.Chain.Near,L.Chain.Optimism,L.Chain.Polygon,L.Chain.THORChain,L.Chain.Tron,L.Chain.XLayer],walletType:L.WalletOption.WALLETCONNECT}),T5=$5(b5);async function x5({chain:j,walletconnect:O,address:F}){let z=O?.session;if(!z)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");switch(j){case L.Chain.Arbitrum:case L.Chain.Avalanche:case L.Chain.Base:case L.Chain.BinanceSmartChain:case L.Chain.Ethereum:case L.Chain.Monad:case L.Chain.Optimism:case L.Chain.Polygon:case L.Chain.XLayer:{let{getProvider:U,getEvmToolboxAsync:f}=await import("@swapkit/toolboxes/evm"),Q=await U(j),Z=await G5({chain:j,provider:Q,walletconnect:O});return await f(j,{provider:Q,signer:Z})}case L.Chain.THORChain:{let{SignMode:U}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:f}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),Q=await import("@cosmjs/proto-signing"),Z=Q.encodePubkey??Q.default?.encodePubkey,V=Q.makeAuthInfoBytes??Q.default?.makeAuthInfoBytes,X=(await import("@cosmjs/amino")).makeSignDoc??Q.default?.makeSignDoc,{getCosmosToolbox:G,buildAminoMsg:$,buildEncodedTxBody:k,createStargateClient:R,fromBase64:w,getDefaultChainFee:D,parseAminoMessageForDirectSigning:H}=await import("@swapkit/toolboxes/cosmos"),Y=await G(j),p=D(j),_=(J)=>O?.client.request({chainId:P,request:{method:"cosmos_signAmino",params:{signDoc:J,signerAddress:F}},topic:z.topic});async function V5({assetValue:J,memo:T,...q5}){let b=await Y.getAccount(F);if(!b)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:b}});if(!b.pubkey)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:b,pubkey:b?.pubkey}});let{accountNumber:Y5,sequence:X5=0}=b,Z5=[$({...q5,assetValue:J,memo:T,sender:F})],P5=X(Z5,p,J.chainId,T,Y5?.toString(),X5?.toString()||"0"),x=await _(P5),k5=await k({chain:L.Chain.THORChain,memo:T||"",msgs:Z5.map(H)}),p5=Z(b.pubkey),u5=V([{pubkey:p5,sequence:X5}],p.amount,Number.parseInt(p.gas,10),void 0,void 0,U.SIGN_MODE_LEGACY_AMINO_JSON),W5=f.fromPartial({authInfoBytes:u5,bodyBytes:k5,signatures:[w(typeof x.signature==="string"?x.signature:x.signature.signature)]}),E5=f.encode(W5).finish(),r5=await L.getRPCUrl(L.Chain.THORChain);return(await(await R(r5)).broadcastTx(E5)).transactionHash}return{...Y,deposit:(J)=>V5(J),transfer:(J)=>V5(J)}}case L.Chain.Near:{let{getNearToolbox:U}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-ae6bkfs5.js");return U({signer:{getAddress(){return Promise.resolve(F)},getPublicKey(){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signDelegateAction(V){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},signNep413Message(V,v,X,G,$){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(V){if(!O)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let v=await O.client.request({chainId:K(L.Chain.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:V}},topic:z.topic});return[new Uint8Array(32),v]}}})}case L.Chain.Tron:{let{getTronToolbox:U}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-ae6bkfs5.js");return U({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(V){if(!O)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return await O.client.request({chainId:K(L.Chain.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:V}},topic:z.topic})}}})}default:throw new L.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:j,wallet:L.WalletOption.WALLETCONNECT}})}}async function S5(j,O,F){let z,U,f,Q;try{let Z=J5(j.map(K)),{SignClient:V}=await import("@walletconnect/sign-client"),{WalletConnectModal:v}=await import("@walletconnect/modal"),X=await V.init({logger:B,metadata:F?.metadata||U5,projectId:O,relayUrl:r,...F?.core}),G=new v({logger:B,projectId:O,relayUrl:r,...F?.core}),$=(await X.session.getAll())[0];if($)await X.disconnect({reason:{code:0,message:"Resetting session"},topic:$.topic});let{uri:k,approval:R}=await X.connect({requiredNamespaces:Z});if(k){let D=function(H){let Y=[];for(let[p,_]of Object.entries(H.namespaces))Y.push(..._.accounts);return Y};G.openModal({uri:k}),f=await R(),G.closeModal(),Q=D(f)}let w=async()=>{f&&await X.disconnect({reason:{code:0,message:"User disconnected"},topic:f.topic})};if(!f)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return{accounts:Q,client:X,disconnect:w,session:f,signer:U}}catch{}finally{if(z)z.closeModal()}return}
1
+ var m5={};D5(m5,{walletconnectWallet:()=>b5,XLAYER_MAINNET_ID:()=>i,WC_SUPPORTED_CHAINS:()=>x5,TRON_MAINNET_ID:()=>t,THORCHAIN_MAINNET_ID:()=>Y,POLYGON_MAINNET_ID:()=>l,OPTIMISM_MAINNET_ID:()=>h,NEAR_TESTNET_ID:()=>c,NEAR_MAINNET_ID:()=>I,MONAD_MAINNET_ID:()=>a,MAYACHAIN_MAINNET_ID:()=>N,KUJIRA_MAINNET_ID:()=>g,ETHEREUM_MAINNET_ID:()=>m,DEFAULT_TRON_METHODS:()=>Q5,DEFAULT_TRON_EVENTS:()=>U5,DEFAULT_SOLANA_METHODS:()=>L5,DEFAULT_SOLANA_EVENTS:()=>O5,DEFAULT_RELAY_URL:()=>B,DEFAULT_POLKADOT_METHODS:()=>F5,DEFAULT_POLKADOT_EVENTS:()=>f5,DEFAULT_NEAR_METHODS:()=>y5,DEFAULT_NEAR_EVENTS:()=>z5,DEFAULT_LOGGER:()=>E,DEFAULT_EIP_155_EVENTS:()=>j5,DEFAULT_EIP155_METHODS:()=>W,DEFAULT_COSMOS_METHODS:()=>r,DEFAULT_COSMOS_EVENTS:()=>_5,DEFAULT_APP_METADATA:()=>Z5,COSMOS_HUB_MAINNET_ID:()=>A,BSC_MAINNET_ID:()=>M,BERACHAIN_MAINNET_ID:()=>o,BASE_MAINNET_ID:()=>s,AVALANCHE_MAINNET_ID:()=>d,AURORA_MAINNET_ID:()=>e,ARBITRUM_ONE_MAINNET_ID:()=>C});module.exports=R5(m5);var j=require("@swapkit/helpers"),w=require("@swapkit/wallet-core");var q=require("@swapkit/helpers"),K5=require("ethers");var f=require("@swapkit/helpers");var u=(L,O)=>{return(O.find((U)=>U.startsWith(X(L)))||"")?.split(":")?.[2]||""},X=(L)=>{switch(L){case f.Chain.Avalanche:return d;case f.Chain.Aurora:return e;case f.Chain.Base:return s;case f.Chain.BinanceSmartChain:return M;case f.Chain.Berachain:return o;case f.Chain.Monad:return a;case f.Chain.Ethereum:return m;case f.Chain.THORChain:return Y;case f.Chain.Arbitrum:return C;case f.Chain.Optimism:return h;case f.Chain.Polygon:return l;case f.Chain.Maya:return N;case f.Chain.Cosmos:return A;case f.Chain.Kujira:return g;case f.Chain.Near:{let{isStagenet:O}=f.SKConfig.get("envs");return O?c:I}case f.Chain.Tron:return t;case f.Chain.XLayer:return i;default:return""}};class n extends K5.AbstractSigner{address;chain;walletconnect;provider;constructor({chain:L,provider:O,walletconnect:F}){super(O);this.chain=L,this.walletconnect=F,this.provider=O,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new q.SwapKitError("wallet_walletconnect_connection_not_established");if(!this.address)this.address=u(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(L)=>{let O=await this.walletconnect?.client.request({chainId:X(this.chain),request:{method:"eth_sign",params:[L]},topic:this.walletconnect.session.topic||""});return O.startsWith("0x")?O:`0x${O}`};signTransaction=()=>{throw new q.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=(L,O,F,z)=>{throw new q.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};sendTransaction=async({from:L,to:O,value:F,data:z})=>{let{toHexString:U}=await import("@swapkit/toolboxes/evm"),y={data:z,from:L,to:O,value:U(BigInt(F||0))};return await this.walletconnect?.client.request({chainId:X(this.chain),request:{method:"eth_sendTransaction",params:[y]},topic:this.walletconnect.session.topic})};connect=(L)=>{if(!L)throw new q.SwapKitError({errorKey:"wallet_provider_not_found",info:{chain:this.chain,wallet:q.WalletOption.WALLETCONNECT}});return new n({chain:this.chain,provider:L,walletconnect:this.walletconnect})}}var X5=async({chain:L,walletconnect:O,provider:F})=>new n({chain:L,provider:F,walletconnect:O});var V5=require("@swapkit/helpers");var E5=(L)=>{let O=[];for(let F of L){let[z]=F.split(":");if(z&&!O.includes(z))O.push(z)}return O},w5=(L)=>{switch(L){case"eip155":return Object.values(W);case"cosmos":return Object.values(r);case"solana":return Object.values(L5);case"polkadot":return Object.values(F5);case"near":return Object.values(y5);case"tron":return Object.values(Q5);default:throw new V5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},H5=(L)=>{switch(L){case"eip155":return Object.values(j5);case"cosmos":return[];case"solana":return Object.values(O5);case"polkadot":return Object.values(f5);case"near":return Object.values(z5);case"tron":return Object.values(U5);default:throw new V5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},$5=(L)=>{let O=E5(L);return Object.fromEntries(O.map((F)=>[F,{chains:L.filter((z)=>z.startsWith(F)),events:H5(F),methods:w5(F)}]))};var b5=w.createWallet({connect:({addChain:L,supportedChains:O,walletType:F})=>async function(U,y){let Q=j.filterSupportedChains({chains:U,supportedChains:O,walletType:F}),{walletConnectProjectId:v}=j.SKConfig.get("apiKeys");if(!v)throw new j.SwapKitError("wallet_walletconnect_project_id_not_specified");let V=await T5(Q,v,y);if(!V)throw new j.SwapKitError("wallet_walletconnect_connection_not_established");let{accounts:G}=V;return await Promise.all(Q.map(async(Z)=>{let J=u(Z,G||[]),$=await S5({address:J,chain:Z,walletconnect:V});L({...$,address:J,chain:Z,disconnect:V.disconnect,walletType:j.WalletOption.WALLETCONNECT})})),!0},directSigningSupport:{[j.Chain.Arbitrum]:!0,[j.Chain.Aurora]:!0,[j.Chain.Avalanche]:!0,[j.Chain.Base]:!0,[j.Chain.Berachain]:!0,[j.Chain.BinanceSmartChain]:!0,[j.Chain.Ethereum]:!0,[j.Chain.Monad]:!0,[j.Chain.Optimism]:!0,[j.Chain.Polygon]:!0,[j.Chain.XLayer]:!0},name:"connectWalletconnect",supportedChains:[j.Chain.Arbitrum,j.Chain.Aurora,j.Chain.Avalanche,j.Chain.Base,j.Chain.Berachain,j.Chain.BinanceSmartChain,j.Chain.Cosmos,j.Chain.Ethereum,j.Chain.Kujira,j.Chain.Maya,j.Chain.Monad,j.Chain.Near,j.Chain.Optimism,j.Chain.Polygon,j.Chain.THORChain,j.Chain.Tron,j.Chain.XLayer],walletType:j.WalletOption.WALLETCONNECT}),x5=w.getWalletSupportedChains(b5);async function S5({chain:L,walletconnect:O,address:F}){let z=O?.session;if(!z)throw new j.SwapKitError("wallet_walletconnect_connection_not_established");switch(L){case j.Chain.Arbitrum:case j.Chain.Aurora:case j.Chain.Avalanche:case j.Chain.Base:case j.Chain.Berachain:case j.Chain.BinanceSmartChain:case j.Chain.Ethereum:case j.Chain.Monad:case j.Chain.Optimism:case j.Chain.Polygon:case j.Chain.XLayer:{let{getProvider:U,getEvmToolboxAsync:y}=await import("@swapkit/toolboxes/evm"),Q=await U(L),v=await X5({chain:L,provider:Q,walletconnect:O});return await y(L,{provider:Q,signer:v})}case j.Chain.THORChain:{let{SignMode:U}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:y}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),Q=await import("@cosmjs/proto-signing"),v=Q.encodePubkey??Q.default?.encodePubkey,V=Q.makeAuthInfoBytes??Q.default?.makeAuthInfoBytes,Z=(await import("@cosmjs/amino")).makeSignDoc??Q.default?.makeSignDoc,{getCosmosToolbox:J,buildAminoMsg:$,buildEncodedTxBody:k,createStargateClient:H,fromBase64:R,getDefaultChainFee:D,parseAminoMessageForDirectSigning:_}=await import("@swapkit/toolboxes/cosmos"),P=await J(L),p=D(L),x=(K)=>O?.client.request({chainId:Y,request:{method:"cosmos_signAmino",params:{signDoc:K,signerAddress:F}},topic:z.topic});async function v5({assetValue:K,memo:S,...q5}){let b=await P.getAccount(F);if(!b)throw new j.SwapKitError({errorKey:"wallet_missing_params",info:{account:b}});if(!b.pubkey)throw new j.SwapKitError({errorKey:"wallet_missing_params",info:{account:b,pubkey:b?.pubkey}});let{accountNumber:P5,sequence:G5=0}=b,J5=[$({...q5,assetValue:K,memo:S,sender:F})],Y5=Z(J5,p,K.chainId,S,P5?.toString(),G5?.toString()||"0"),T=await x(Y5),k5=await k({chain:j.Chain.THORChain,memo:S||"",msgs:J5.map(_)}),p5=v(b.pubkey),u5=V([{pubkey:p5,sequence:G5}],p.amount,Number.parseInt(p.gas,10),void 0,void 0,U.SIGN_MODE_LEGACY_AMINO_JSON),W5=y.fromPartial({authInfoBytes:u5,bodyBytes:k5,signatures:[R(typeof T.signature==="string"?T.signature:T.signature.signature)]}),r5=y.encode(W5).finish(),B5=await j.getRPCUrl(j.Chain.THORChain);return(await(await H(B5)).broadcastTx(r5)).transactionHash}return{...P,deposit:(K)=>v5(K),transfer:(K)=>v5(K)}}case j.Chain.Near:{let{getNearToolbox:U}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:y}=await import("../../chunk-ae6bkfs5.js");return U({signer:{getAddress(){return Promise.resolve(F)},getPublicKey(){return Promise.reject(new j.SwapKitError("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signDelegateAction(V){return Promise.reject(new j.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},signNep413Message(V,G,Z,J,$){return Promise.reject(new j.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(V){if(!O)throw new j.SwapKitError("wallet_walletconnect_connection_not_established");let G=await O.client.request({chainId:X(j.Chain.Near),request:{method:y.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:V}},topic:z.topic});return[new Uint8Array(32),G]}}})}case j.Chain.Tron:{let{getTronToolbox:U}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:y}=await import("../../chunk-ae6bkfs5.js");return U({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(V){if(!O)throw new j.SwapKitError("wallet_walletconnect_connection_not_established");return await O.client.request({chainId:X(j.Chain.Tron),request:{method:y.TRON_SIGN_TRANSACTION,params:{transaction:V}},topic:z.topic})}}})}default:throw new j.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:L,wallet:j.WalletOption.WALLETCONNECT}})}}async function T5(L,O,F){let z,U,y,Q;try{let v=$5(L.map(X)),{SignClient:V}=await import("@walletconnect/sign-client"),{WalletConnectModal:G}=await import("@walletconnect/modal"),Z=await V.init({logger:E,metadata:F?.metadata||Z5,projectId:O,relayUrl:B,...F?.core}),J=new G({logger:E,projectId:O,relayUrl:B,...F?.core}),$=(await Z.session.getAll())[0];if($)await Z.disconnect({reason:{code:0,message:"Resetting session"},topic:$.topic});let{uri:k,approval:H}=await Z.connect({requiredNamespaces:v});if(k){let D=function(_){let P=[];for(let[p,x]of Object.entries(_.namespaces))P.push(...x.accounts);return P};J.openModal({uri:k}),y=await H(),J.closeModal(),Q=D(y)}let R=async()=>{y&&await Z.disconnect({reason:{code:0,message:"User disconnected"},topic:y.topic})};if(!y)throw new j.SwapKitError("wallet_walletconnect_connection_not_established");return{accounts:Q,client:Z,disconnect:R,session:y,signer:U}}catch{}finally{if(z)z.closeModal()}return}
2
2
 
3
- //# debugId=5A95A321D0164C4764756E2164756E21
3
+ //# debugId=AF5A4A82ABD9321D64756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map