@tuwaio/nova-connect 1.0.0-fix-test-alpha.5.73fb7f5 → 1.0.0-fix-test-alpha.7.eac112e

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 (56) hide show
  1. package/README.md +15 -34
  2. package/dist/{chunk-HBN6AO5M.cjs → chunk-6S5OTERL.cjs} +2 -2
  3. package/dist/{chunk-HBN6AO5M.cjs.map → chunk-6S5OTERL.cjs.map} +1 -1
  4. package/dist/{chunk-AFENADNV.js → chunk-FNWARYJY.js} +2 -2
  5. package/dist/{chunk-AFENADNV.js.map → chunk-FNWARYJY.js.map} +1 -1
  6. package/dist/evm/index.cjs +1 -1
  7. package/dist/evm/index.cjs.map +1 -1
  8. package/dist/evm/index.js +1 -1
  9. package/dist/evm/index.js.map +1 -1
  10. package/dist/evm-7NHOTSAK.cjs +2 -0
  11. package/dist/{evm-6LYBL7FT.js.map → evm-7NHOTSAK.cjs.map} +1 -1
  12. package/dist/evm-RBGEX4L3.js +2 -0
  13. package/dist/evm-RBGEX4L3.js.map +1 -0
  14. package/dist/{getChainsListByWalletType-FP5QXAXK.js → getChainsListByWalletType-EO6A7Q5A.js} +2 -2
  15. package/dist/{getChainsListByWalletType-FP5QXAXK.js.map → getChainsListByWalletType-EO6A7Q5A.js.map} +1 -1
  16. package/dist/getChainsListByWalletType-ZU7OPWTP.cjs +2 -0
  17. package/dist/{getChainsListByWalletType-JZ6IC2Q4.cjs.map → getChainsListByWalletType-ZU7OPWTP.cjs.map} +1 -1
  18. package/dist/index.cjs +3 -3
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.cts +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.js +3 -3
  23. package/dist/index.js.map +1 -1
  24. package/dist/solana/index.cjs +1 -1
  25. package/dist/solana/index.cjs.map +1 -1
  26. package/dist/solana/index.d.cts +1 -1
  27. package/dist/solana/index.d.ts +1 -1
  28. package/dist/solana/index.js +1 -1
  29. package/dist/solana/index.js.map +1 -1
  30. package/dist/solana-GLHHYZDQ.js +2 -0
  31. package/dist/solana-GLHHYZDQ.js.map +1 -0
  32. package/dist/solana-JUU54KQ3.cjs +2 -0
  33. package/dist/{solana-ZVGXG6LZ.js.map → solana-JUU54KQ3.cjs.map} +1 -1
  34. package/dist/utils-5KC7QXWB.js +2 -0
  35. package/dist/{utils-AQMCWFOA.js.map → utils-5KC7QXWB.js.map} +1 -1
  36. package/dist/utils-DZB4ZTS4.cjs +2 -0
  37. package/dist/{utils-GUHUQKQW.cjs.map → utils-DZB4ZTS4.cjs.map} +1 -1
  38. package/dist/utils-H5O25MTI.cjs +2 -0
  39. package/dist/{utils-VHV2TTDH.cjs.map → utils-H5O25MTI.cjs.map} +1 -1
  40. package/dist/{utils-CVNYMZHN.js → utils-SUIRQJIA.js} +2 -2
  41. package/dist/{utils-CVNYMZHN.js.map → utils-SUIRQJIA.js.map} +1 -1
  42. package/package.json +4 -5
  43. package/dist/chunk-7VKWLCWT.cjs +0 -2
  44. package/dist/chunk-7VKWLCWT.cjs.map +0 -1
  45. package/dist/chunk-DJ356OUX.js +0 -2
  46. package/dist/chunk-DJ356OUX.js.map +0 -1
  47. package/dist/evm-2TQURF3A.cjs +0 -2
  48. package/dist/evm-2TQURF3A.cjs.map +0 -1
  49. package/dist/evm-6LYBL7FT.js +0 -2
  50. package/dist/getChainsListByWalletType-JZ6IC2Q4.cjs +0 -2
  51. package/dist/solana-7WH33SWA.cjs +0 -2
  52. package/dist/solana-7WH33SWA.cjs.map +0 -1
  53. package/dist/solana-ZVGXG6LZ.js +0 -2
  54. package/dist/utils-AQMCWFOA.js +0 -2
  55. package/dist/utils-GUHUQKQW.cjs +0 -2
  56. package/dist/utils-VHV2TTDH.cjs +0 -2
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkDYDY3FCT_cjs=require('../chunk-DYDY3FCT.cjs'),chunk7VKWLCWT_cjs=require('../chunk-7VKWLCWT.cjs'),f=require('@tuwaio/satellite-react/solana');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var f__namespace=/*#__PURE__*/_interopNamespace(f);var e={};chunk7VKWLCWT_cjs.a(e,{getAvailableSolanaClusters:()=>chunkDYDY3FCT_cjs.c,getSolanaClusters:()=>chunkDYDY3FCT_cjs.a,isSolanaChainList:()=>chunkDYDY3FCT_cjs.b,isValidSolanaCluster:()=>chunkDYDY3FCT_cjs.d});var o={};chunk7VKWLCWT_cjs.b(o,f__namespace);chunk7VKWLCWT_cjs.b(e,o);Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.c}});Object.defineProperty(exports,"getSolanaClusters",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.a}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.b}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.d}});//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkDYDY3FCT_cjs=require('../chunk-DYDY3FCT.cjs'),solana=require('@tuwaio/satellite-react/solana');Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.c}});Object.defineProperty(exports,"getSolanaClusters",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.a}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.b}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.d}});Object.keys(solana).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return solana[k]}})});//# sourceMappingURL=index.cjs.map
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/solana/index.ts","../../src/solana/satellite.ts"],"names":["solana_exports","__export","getAvailableSolanaClusters","getSolanaClusters","isSolanaChainList","isValidSolanaCluster","satellite_exports","__reExport","solana_star"],"mappings":"ygBAAA,IAAAA,CAAAA,CAAA,GAAAC,mBAAAA,CAAAD,CAAAA,CAAA,gCAAAE,mBAAAA,CAAA,iBAAA,CAAA,IAAAC,mBAAAA,CAAA,iBAAA,CAAA,IAAAC,mBAAAA,CAAA,oBAAA,CAAA,IAAAC,sBCAA,IAAAC,CAAAA,CAAA,GAAAC,mBAAAA,CAAAD,CAAAA,CAAAE,cDmBAD,mBAAAA,CAAAP,CAAAA,CAAcM,CAAAA,CAAAA","file":"index.cjs","sourcesContent":["// Re-export gill types directly when available\nexport type { SolanaClusterMoniker } from 'gill';\n// Import types for extension\nimport type { SolanaClusterMoniker } from 'gill';\n\n// Extend the main interface with Solana-specific config\n// This will override the default `any` type with specific SolanaClusterMoniker typing\n// eslint-disable-next-line\n// @ts-ignore - Need for declaration merging\ndeclare module '@tuwaio/nova-connect' {\n interface AllChainConfigs {\n /**\n * Solana RPC URLs configuration - enhanced from default any type\n * @override Replaces default `any` with specific SolanaClusterMoniker typing when gill is available\n */\n solanaRPCUrls?: Partial<Record<SolanaClusterMoniker, string>>;\n }\n}\n\nexport * from './satellite';\nexport * from './utils';\n","export * from '@tuwaio/satellite-react/solana';\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs","sourcesContent":[]}
@@ -1,7 +1,7 @@
1
1
  import { SolanaClusterMoniker } from 'gill';
2
2
  export { SolanaClusterMoniker } from 'gill';
3
- export * from '@tuwaio/satellite-react/solana';
4
3
  import { C as ChainIdentifierArray } from '../types-DGsiEwne.cjs';
4
+ export * from '@tuwaio/satellite-react/solana';
5
5
 
6
6
  /**
7
7
  * Get Solana clusters from configuration
@@ -1,7 +1,7 @@
1
1
  import { SolanaClusterMoniker } from 'gill';
2
2
  export { SolanaClusterMoniker } from 'gill';
3
- export * from '@tuwaio/satellite-react/solana';
4
3
  import { C as ChainIdentifierArray } from '../types-DGsiEwne.js';
4
+ export * from '@tuwaio/satellite-react/solana';
5
5
 
6
6
  /**
7
7
  * Get Solana clusters from configuration
@@ -1,2 +1,2 @@
1
- import {d,b,a as a$1,c}from'../chunk-J4TY3CJF.js';export{c as getAvailableSolanaClusters,a as getSolanaClusters,b as isSolanaChainList,d as isValidSolanaCluster}from'../chunk-J4TY3CJF.js';import {a,b as b$1}from'../chunk-DJ356OUX.js';import*as f from'@tuwaio/satellite-react/solana';var e={};a(e,{getAvailableSolanaClusters:()=>c,getSolanaClusters:()=>a$1,isSolanaChainList:()=>b,isValidSolanaCluster:()=>d});var o={};b$1(o,f);b$1(e,o);//# sourceMappingURL=index.js.map
1
+ export{c as getAvailableSolanaClusters,a as getSolanaClusters,b as isSolanaChainList,d as isValidSolanaCluster}from'../chunk-J4TY3CJF.js';export*from'@tuwaio/satellite-react/solana';//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/solana/index.ts","../../src/solana/satellite.ts"],"names":["solana_exports","__export","getAvailableSolanaClusters","getSolanaClusters","isSolanaChainList","isValidSolanaCluster","satellite_exports","__reExport","solana_star"],"mappings":"2RAAA,IAAAA,CAAAA,CAAA,GAAAC,CAAAA,CAAAD,CAAAA,CAAA,gCAAAE,CAAAA,CAAA,iBAAA,CAAA,IAAAC,GAAAA,CAAA,iBAAA,CAAA,IAAAC,CAAAA,CAAA,oBAAA,CAAA,IAAAC,ICAA,IAAAC,CAAAA,CAAA,GAAAC,GAAAA,CAAAD,CAAAA,CAAAE,GDmBAD,GAAAA,CAAAP,CAAAA,CAAcM,CAAAA,CAAAA","file":"index.js","sourcesContent":["// Re-export gill types directly when available\nexport type { SolanaClusterMoniker } from 'gill';\n// Import types for extension\nimport type { SolanaClusterMoniker } from 'gill';\n\n// Extend the main interface with Solana-specific config\n// This will override the default `any` type with specific SolanaClusterMoniker typing\n// eslint-disable-next-line\n// @ts-ignore - Need for declaration merging\ndeclare module '@tuwaio/nova-connect' {\n interface AllChainConfigs {\n /**\n * Solana RPC URLs configuration - enhanced from default any type\n * @override Replaces default `any` with specific SolanaClusterMoniker typing when gill is available\n */\n solanaRPCUrls?: Partial<Record<SolanaClusterMoniker, string>>;\n }\n}\n\nexport * from './satellite';\nexport * from './utils';\n","export * from '@tuwaio/satellite-react/solana';\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
@@ -0,0 +1,2 @@
1
+ async function n(){try{return await import('./utils-SUIRQJIA.js')}catch(a){return console.warn("Solana utilities not available:",a),null}}async function r(){let a=await n();return {getChains(t,e){return a?.getSolanaClusters?a.getSolanaClusters(t,e):t&&typeof t=="object"?Object.keys(t):[]},isChainList(t){return a?.isSolanaChainList?a.isSolanaChainList(t):t.length>0&&t.every(e=>typeof e=="string")},getAvailableClusters(){return a?.getAvailableSolanaClusters?a.getAvailableSolanaClusters():[]},isValidCluster(t){return a?.isValidSolanaCluster?a.isValidSolanaCluster(t):false}}}async function l(){try{return await import('./utils-SUIRQJIA.js'),!0}catch{return false}}export{r as createSolanaAdapter,l as isSolanaAdapterAvailable};//# sourceMappingURL=solana-GLHHYZDQ.js.map
2
+ //# sourceMappingURL=solana-GLHHYZDQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/adapters/solana.ts"],"names":["getSolanaUtils","error","createSolanaAdapter","solanaUtils","solanaRPCUrls","chains","chain","cluster","isSolanaAdapterAvailable"],"mappings":"AAiCA,eAAeA,CAAAA,EAAoD,CACjE,GAAI,CAGF,OADoB,MAAM,OAAO,qBAAoB,CAEvD,CAAA,MAASC,CAAAA,CAAO,CACd,eAAQ,IAAA,CAAK,iCAAA,CAAmCA,CAAK,CAAA,CAC9C,IACT,CACF,CAiCA,eAAsBC,CAAAA,EAA6C,CACjE,IAAMC,CAAAA,CAAc,MAAMH,CAAAA,GAE1B,OAAO,CAQL,SAAA,CAAUI,CAAAA,CAAoBC,CAAAA,CAAmC,CAE/D,OAAIF,CAAAA,EAAa,iBAAA,CACRA,CAAAA,CAAY,iBAAA,CAAkBC,CAAAA,CAAeC,CAAM,EAIxDD,CAAAA,EAAiB,OAAOA,CAAAA,EAAkB,QAAA,CACrC,MAAA,CAAO,IAAA,CAAKA,CAAa,CAAA,CAE3B,EACT,CAAA,CASA,WAAA,CAAYC,CAAAA,CAAsC,CAChD,OAAIF,CAAAA,EAAa,iBAAA,CACRA,CAAAA,CAAY,iBAAA,CAAkBE,CAAM,CAAA,CAItCA,EAAO,MAAA,CAAS,CAAA,EAAKA,CAAAA,CAAO,KAAA,CAAOC,CAAAA,EAAU,OAAOA,GAAU,QAAQ,CAC/E,CAAA,CAcA,oBAAA,EAAiC,CAC/B,OAAIH,CAAAA,EAAa,0BAAA,CACRA,CAAAA,CAAY,0BAAA,EAA2B,CAEzC,EACT,CAAA,CAkBA,eAAeI,CAAAA,CAA0B,CACvC,OAAIJ,CAAAA,EAAa,oBAAA,CACRA,CAAAA,CAAY,oBAAA,CAAqBI,CAAO,CAAA,CAE1C,KACT,CACF,CACF,CAuBA,eAAsBC,GAA6C,CACjE,GAAI,CACF,OAAA,MAAM,OAAO,qBAAoB,CAAA,CAC1B,CAAA,CACT,CAAA,KAAQ,CACN,OAAO,MACT,CACF","file":"solana-GLHHYZDQ.js","sourcesContent":["import type { ChainAdapter } from './types';\n\n/**\n * Solana utilities module interface for dynamic imports.\n *\n * @internal\n * @since 1.0.0\n */\ninterface SolanaUtilsModule {\n getSolanaClusters?: (solanaRPCUrls: any, chains?: any) => string[];\n isSolanaChainList?: (chains: (string | number)[]) => boolean;\n getAvailableSolanaClusters?: () => string[];\n isValidSolanaCluster?: (cluster: string) => boolean;\n}\n\n/**\n * Dynamically imports and checks availability of Solana utilities.\n * This function attempts to load Solana-specific utilities without throwing errors\n * if the Solana package is not installed in the current environment.\n *\n * @internal\n * @returns Promise resolving to Solana utilities module or null if not available\n *\n * @example\n * ```typescript\n * const solanaUtils = await getSolanaUtils();\n * if (solanaUtils?.getSolanaClusters) {\n * const clusters = solanaUtils.getSolanaClusters(rpcUrls);\n * }\n * ```\n *\n * @since 1.0.0\n */\nasync function getSolanaUtils(): Promise<SolanaUtilsModule | null> {\n try {\n // Dynamic import of Solana utilities - fails gracefully if package not installed\n const solanaUtils = await import('../../solana/utils');\n return solanaUtils;\n } catch (error) {\n console.warn('Solana utilities not available:', error);\n return null;\n }\n}\n\n/**\n * Creates a Solana chain adapter with dynamic loading and fallback support.\n *\n * This adapter provides Solana-specific functionality while gracefully handling\n * environments where Solana utilities are not available. It includes Solana-specific\n * methods like cluster management that are unique to the Solana blockchain architecture.\n *\n * @returns Promise resolving to a configured Solana ChainAdapter\n *\n * @example\n * ```typescript\n * const adapter = await createSolanaAdapter();\n *\n * // Get Solana cluster names from RPC configuration\n * const clusters = adapter.getChains({\n * 'mainnet-beta': 'https://api.mainnet-beta.solana.com',\n * devnet: 'https://api.devnet.solana.com'\n * });\n * console.log(clusters); // ['mainnet-beta', 'devnet']\n *\n * // Validate cluster list format\n * const isValid = adapter.isChainList(['mainnet-beta', 'devnet']);\n * console.log(isValid); // true (string identifiers are valid for Solana)\n *\n * // Get available clusters\n * const availableClusters = adapter.getAvailableClusters?.();\n * console.log(availableClusters); // All configured cluster names\n * ```\n *\n * @since 1.0.0\n */\nexport async function createSolanaAdapter(): Promise<ChainAdapter> {\n const solanaUtils = await getSolanaUtils();\n\n return {\n /**\n * Extracts cluster names from Solana RPC URL configuration.\n *\n * @param solanaRPCUrls Object mapping cluster names to RPC URLs\n * @param chains Optional array of specific chains to filter\n * @returns Array of cluster names (strings)\n */\n getChains(solanaRPCUrls: any, chains?: any): (string | number)[] {\n // Use imported Solana utilities if available\n if (solanaUtils?.getSolanaClusters) {\n return solanaUtils.getSolanaClusters(solanaRPCUrls, chains);\n }\n\n // Fallback implementation for basic cluster extraction\n if (solanaRPCUrls && typeof solanaRPCUrls === 'object') {\n return Object.keys(solanaRPCUrls);\n }\n return [];\n },\n\n /**\n * Validates whether the provided chains list conforms to Solana cluster format.\n * Solana clusters are typically identified by string names like 'mainnet-beta', 'devnet'.\n *\n * @param chains Array of chain identifiers to validate\n * @returns True if the chain list is valid for Solana\n */\n isChainList(chains: (string | number)[]): boolean {\n if (solanaUtils?.isSolanaChainList) {\n return solanaUtils.isSolanaChainList(chains);\n }\n\n // Fallback validation: Solana clusters should be strings\n return chains.length > 0 && chains.every((chain) => typeof chain === 'string');\n },\n\n /**\n * Gets all available Solana clusters from the current configuration.\n * This is a Solana-specific method that returns cluster names that can be used.\n *\n * @returns Array of available cluster names\n *\n * @example\n * ```typescript\n * const clusters = adapter.getAvailableClusters?.();\n * // Might return: ['mainnet-beta', 'devnet', 'testnet']\n * ```\n */\n getAvailableClusters(): string[] {\n if (solanaUtils?.getAvailableSolanaClusters) {\n return solanaUtils.getAvailableSolanaClusters();\n }\n return [];\n },\n\n /**\n * Validates whether a cluster name is valid for Solana.\n * Checks against known Solana cluster monikers and custom configurations.\n *\n * @param cluster Cluster name to validate\n * @returns True if the cluster name is valid\n *\n * @example\n * ```typescript\n * const isValid = adapter.isValidCluster?.('mainnet-beta');\n * console.log(isValid); // true\n *\n * const isInvalid = adapter.isValidCluster?.('invalid-cluster');\n * console.log(isInvalid); // false\n * ```\n */\n isValidCluster(cluster: string): boolean {\n if (solanaUtils?.isValidSolanaCluster) {\n return solanaUtils.isValidSolanaCluster(cluster);\n }\n return false;\n },\n };\n}\n\n/**\n * Checks if the Solana adapter can be created in the current environment.\n * This function verifies that the required Solana utilities are available\n * by attempting to import them.\n *\n * @returns Promise resolving to true if Solana adapter is available\n *\n * @example\n * ```typescript\n * const hasSolana = await isSolanaAdapterAvailable();\n * if (hasSolana) {\n * const adapter = await createSolanaAdapter();\n * // Use Solana functionality\n * const clusters = adapter.getAvailableClusters?.();\n * } else {\n * console.log('Solana support not available in this build');\n * }\n * ```\n *\n * @since 1.0.0\n */\nexport async function isSolanaAdapterAvailable(): Promise<boolean> {\n try {\n await import('../../solana/utils');\n return true;\n } catch {\n return false;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';async function n(){try{return await import('./utils-H5O25MTI.cjs')}catch(a){return console.warn("Solana utilities not available:",a),null}}async function r(){let a=await n();return {getChains(t,e){return a?.getSolanaClusters?a.getSolanaClusters(t,e):t&&typeof t=="object"?Object.keys(t):[]},isChainList(t){return a?.isSolanaChainList?a.isSolanaChainList(t):t.length>0&&t.every(e=>typeof e=="string")},getAvailableClusters(){return a?.getAvailableSolanaClusters?a.getAvailableSolanaClusters():[]},isValidCluster(t){return a?.isValidSolanaCluster?a.isValidSolanaCluster(t):false}}}async function l(){try{return await import('./utils-H5O25MTI.cjs'),!0}catch{return false}}exports.createSolanaAdapter=r;exports.isSolanaAdapterAvailable=l;//# sourceMappingURL=solana-JUU54KQ3.cjs.map
2
+ //# sourceMappingURL=solana-JUU54KQ3.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/adapters/solana.ts"],"names":["getSolanaUtils","error","createSolanaAdapter","solanaUtils","solanaRPCUrls","chains","chain","cluster","isSolanaAdapterAvailable"],"mappings":"4BAiCA,eAAeA,CAAAA,EAAoD,CACjE,GAAI,CAGF,OADoB,MAAM,OAAO,qBAAoB,CAEvD,CAAA,MAASC,CAAAA,CAAO,CACd,eAAQ,IAAA,CAAK,iCAAA,CAAmCA,CAAK,CAAA,CAC9C,IACT,CACF,CAiCA,eAAsBC,CAAAA,EAA6C,CACjE,IAAMC,CAAAA,CAAc,MAAMH,CAAAA,GAE1B,OAAO,CAQL,SAAA,CAAUI,CAAAA,CAAoBC,CAAAA,CAAmC,CAE/D,OAAIF,CAAAA,EAAa,iBAAA,CACRA,CAAAA,CAAY,iBAAA,CAAkBC,CAAAA,CAAeC,CAAM,EAIxDD,CAAAA,EAAiB,OAAOA,CAAAA,EAAkB,QAAA,CACrC,MAAA,CAAO,IAAA,CAAKA,CAAa,CAAA,CAE3B,EACT,CAAA,CASA,WAAA,CAAYC,CAAAA,CAAsC,CAChD,OAAIF,CAAAA,EAAa,iBAAA,CACRA,CAAAA,CAAY,iBAAA,CAAkBE,CAAM,CAAA,CAItCA,EAAO,MAAA,CAAS,CAAA,EAAKA,CAAAA,CAAO,KAAA,CAAOC,CAAAA,EAAU,OAAOA,GAAU,QAAQ,CAC/E,CAAA,CAcA,oBAAA,EAAiC,CAC/B,OAAIH,CAAAA,EAAa,0BAAA,CACRA,CAAAA,CAAY,0BAAA,EAA2B,CAEzC,EACT,CAAA,CAkBA,eAAeI,CAAAA,CAA0B,CACvC,OAAIJ,CAAAA,EAAa,oBAAA,CACRA,CAAAA,CAAY,oBAAA,CAAqBI,CAAO,CAAA,CAE1C,KACT,CACF,CACF,CAuBA,eAAsBC,GAA6C,CACjE,GAAI,CACF,OAAA,MAAM,OAAO,qBAAoB,CAAA,CAC1B,CAAA,CACT,CAAA,KAAQ,CACN,OAAO,MACT,CACF","file":"solana-ZVGXG6LZ.js","sourcesContent":["import type { ChainAdapter } from './types';\n\n/**\n * Solana utilities module interface for dynamic imports.\n *\n * @internal\n * @since 1.0.0\n */\ninterface SolanaUtilsModule {\n getSolanaClusters?: (solanaRPCUrls: any, chains?: any) => string[];\n isSolanaChainList?: (chains: (string | number)[]) => boolean;\n getAvailableSolanaClusters?: () => string[];\n isValidSolanaCluster?: (cluster: string) => boolean;\n}\n\n/**\n * Dynamically imports and checks availability of Solana utilities.\n * This function attempts to load Solana-specific utilities without throwing errors\n * if the Solana package is not installed in the current environment.\n *\n * @internal\n * @returns Promise resolving to Solana utilities module or null if not available\n *\n * @example\n * ```typescript\n * const solanaUtils = await getSolanaUtils();\n * if (solanaUtils?.getSolanaClusters) {\n * const clusters = solanaUtils.getSolanaClusters(rpcUrls);\n * }\n * ```\n *\n * @since 1.0.0\n */\nasync function getSolanaUtils(): Promise<SolanaUtilsModule | null> {\n try {\n // Dynamic import of Solana utilities - fails gracefully if package not installed\n const solanaUtils = await import('../../solana/utils');\n return solanaUtils;\n } catch (error) {\n console.warn('Solana utilities not available:', error);\n return null;\n }\n}\n\n/**\n * Creates a Solana chain adapter with dynamic loading and fallback support.\n *\n * This adapter provides Solana-specific functionality while gracefully handling\n * environments where Solana utilities are not available. It includes Solana-specific\n * methods like cluster management that are unique to the Solana blockchain architecture.\n *\n * @returns Promise resolving to a configured Solana ChainAdapter\n *\n * @example\n * ```typescript\n * const adapter = await createSolanaAdapter();\n *\n * // Get Solana cluster names from RPC configuration\n * const clusters = adapter.getChains({\n * 'mainnet-beta': 'https://api.mainnet-beta.solana.com',\n * devnet: 'https://api.devnet.solana.com'\n * });\n * console.log(clusters); // ['mainnet-beta', 'devnet']\n *\n * // Validate cluster list format\n * const isValid = adapter.isChainList(['mainnet-beta', 'devnet']);\n * console.log(isValid); // true (string identifiers are valid for Solana)\n *\n * // Get available clusters\n * const availableClusters = adapter.getAvailableClusters?.();\n * console.log(availableClusters); // All configured cluster names\n * ```\n *\n * @since 1.0.0\n */\nexport async function createSolanaAdapter(): Promise<ChainAdapter> {\n const solanaUtils = await getSolanaUtils();\n\n return {\n /**\n * Extracts cluster names from Solana RPC URL configuration.\n *\n * @param solanaRPCUrls Object mapping cluster names to RPC URLs\n * @param chains Optional array of specific chains to filter\n * @returns Array of cluster names (strings)\n */\n getChains(solanaRPCUrls: any, chains?: any): (string | number)[] {\n // Use imported Solana utilities if available\n if (solanaUtils?.getSolanaClusters) {\n return solanaUtils.getSolanaClusters(solanaRPCUrls, chains);\n }\n\n // Fallback implementation for basic cluster extraction\n if (solanaRPCUrls && typeof solanaRPCUrls === 'object') {\n return Object.keys(solanaRPCUrls);\n }\n return [];\n },\n\n /**\n * Validates whether the provided chains list conforms to Solana cluster format.\n * Solana clusters are typically identified by string names like 'mainnet-beta', 'devnet'.\n *\n * @param chains Array of chain identifiers to validate\n * @returns True if the chain list is valid for Solana\n */\n isChainList(chains: (string | number)[]): boolean {\n if (solanaUtils?.isSolanaChainList) {\n return solanaUtils.isSolanaChainList(chains);\n }\n\n // Fallback validation: Solana clusters should be strings\n return chains.length > 0 && chains.every((chain) => typeof chain === 'string');\n },\n\n /**\n * Gets all available Solana clusters from the current configuration.\n * This is a Solana-specific method that returns cluster names that can be used.\n *\n * @returns Array of available cluster names\n *\n * @example\n * ```typescript\n * const clusters = adapter.getAvailableClusters?.();\n * // Might return: ['mainnet-beta', 'devnet', 'testnet']\n * ```\n */\n getAvailableClusters(): string[] {\n if (solanaUtils?.getAvailableSolanaClusters) {\n return solanaUtils.getAvailableSolanaClusters();\n }\n return [];\n },\n\n /**\n * Validates whether a cluster name is valid for Solana.\n * Checks against known Solana cluster monikers and custom configurations.\n *\n * @param cluster Cluster name to validate\n * @returns True if the cluster name is valid\n *\n * @example\n * ```typescript\n * const isValid = adapter.isValidCluster?.('mainnet-beta');\n * console.log(isValid); // true\n *\n * const isInvalid = adapter.isValidCluster?.('invalid-cluster');\n * console.log(isInvalid); // false\n * ```\n */\n isValidCluster(cluster: string): boolean {\n if (solanaUtils?.isValidSolanaCluster) {\n return solanaUtils.isValidSolanaCluster(cluster);\n }\n return false;\n },\n };\n}\n\n/**\n * Checks if the Solana adapter can be created in the current environment.\n * This function verifies that the required Solana utilities are available\n * by attempting to import them.\n *\n * @returns Promise resolving to true if Solana adapter is available\n *\n * @example\n * ```typescript\n * const hasSolana = await isSolanaAdapterAvailable();\n * if (hasSolana) {\n * const adapter = await createSolanaAdapter();\n * // Use Solana functionality\n * const clusters = adapter.getAvailableClusters?.();\n * } else {\n * console.log('Solana support not available in this build');\n * }\n * ```\n *\n * @since 1.0.0\n */\nexport async function isSolanaAdapterAvailable(): Promise<boolean> {\n try {\n await import('../../solana/utils');\n return true;\n } catch {\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/utils/adapters/solana.ts"],"names":["getSolanaUtils","error","createSolanaAdapter","solanaUtils","solanaRPCUrls","chains","chain","cluster","isSolanaAdapterAvailable"],"mappings":"aAiCA,eAAeA,CAAAA,EAAoD,CACjE,GAAI,CAGF,OADoB,MAAM,OAAO,sBAAoB,CAEvD,CAAA,MAASC,CAAAA,CAAO,CACd,eAAQ,IAAA,CAAK,iCAAA,CAAmCA,CAAK,CAAA,CAC9C,IACT,CACF,CAiCA,eAAsBC,CAAAA,EAA6C,CACjE,IAAMC,CAAAA,CAAc,MAAMH,CAAAA,GAE1B,OAAO,CAQL,SAAA,CAAUI,CAAAA,CAAoBC,CAAAA,CAAmC,CAE/D,OAAIF,CAAAA,EAAa,iBAAA,CACRA,CAAAA,CAAY,iBAAA,CAAkBC,CAAAA,CAAeC,CAAM,EAIxDD,CAAAA,EAAiB,OAAOA,CAAAA,EAAkB,QAAA,CACrC,MAAA,CAAO,IAAA,CAAKA,CAAa,CAAA,CAE3B,EACT,CAAA,CASA,WAAA,CAAYC,CAAAA,CAAsC,CAChD,OAAIF,CAAAA,EAAa,iBAAA,CACRA,CAAAA,CAAY,iBAAA,CAAkBE,CAAM,CAAA,CAItCA,EAAO,MAAA,CAAS,CAAA,EAAKA,CAAAA,CAAO,KAAA,CAAOC,CAAAA,EAAU,OAAOA,GAAU,QAAQ,CAC/E,CAAA,CAcA,oBAAA,EAAiC,CAC/B,OAAIH,CAAAA,EAAa,0BAAA,CACRA,CAAAA,CAAY,0BAAA,EAA2B,CAEzC,EACT,CAAA,CAkBA,eAAeI,CAAAA,CAA0B,CACvC,OAAIJ,CAAAA,EAAa,oBAAA,CACRA,CAAAA,CAAY,oBAAA,CAAqBI,CAAO,CAAA,CAE1C,KACT,CACF,CACF,CAuBA,eAAsBC,GAA6C,CACjE,GAAI,CACF,OAAA,MAAM,OAAO,sBAAoB,CAAA,CAC1B,CAAA,CACT,CAAA,KAAQ,CACN,OAAO,MACT,CACF","file":"solana-JUU54KQ3.cjs","sourcesContent":["import type { ChainAdapter } from './types';\n\n/**\n * Solana utilities module interface for dynamic imports.\n *\n * @internal\n * @since 1.0.0\n */\ninterface SolanaUtilsModule {\n getSolanaClusters?: (solanaRPCUrls: any, chains?: any) => string[];\n isSolanaChainList?: (chains: (string | number)[]) => boolean;\n getAvailableSolanaClusters?: () => string[];\n isValidSolanaCluster?: (cluster: string) => boolean;\n}\n\n/**\n * Dynamically imports and checks availability of Solana utilities.\n * This function attempts to load Solana-specific utilities without throwing errors\n * if the Solana package is not installed in the current environment.\n *\n * @internal\n * @returns Promise resolving to Solana utilities module or null if not available\n *\n * @example\n * ```typescript\n * const solanaUtils = await getSolanaUtils();\n * if (solanaUtils?.getSolanaClusters) {\n * const clusters = solanaUtils.getSolanaClusters(rpcUrls);\n * }\n * ```\n *\n * @since 1.0.0\n */\nasync function getSolanaUtils(): Promise<SolanaUtilsModule | null> {\n try {\n // Dynamic import of Solana utilities - fails gracefully if package not installed\n const solanaUtils = await import('../../solana/utils');\n return solanaUtils;\n } catch (error) {\n console.warn('Solana utilities not available:', error);\n return null;\n }\n}\n\n/**\n * Creates a Solana chain adapter with dynamic loading and fallback support.\n *\n * This adapter provides Solana-specific functionality while gracefully handling\n * environments where Solana utilities are not available. It includes Solana-specific\n * methods like cluster management that are unique to the Solana blockchain architecture.\n *\n * @returns Promise resolving to a configured Solana ChainAdapter\n *\n * @example\n * ```typescript\n * const adapter = await createSolanaAdapter();\n *\n * // Get Solana cluster names from RPC configuration\n * const clusters = adapter.getChains({\n * 'mainnet-beta': 'https://api.mainnet-beta.solana.com',\n * devnet: 'https://api.devnet.solana.com'\n * });\n * console.log(clusters); // ['mainnet-beta', 'devnet']\n *\n * // Validate cluster list format\n * const isValid = adapter.isChainList(['mainnet-beta', 'devnet']);\n * console.log(isValid); // true (string identifiers are valid for Solana)\n *\n * // Get available clusters\n * const availableClusters = adapter.getAvailableClusters?.();\n * console.log(availableClusters); // All configured cluster names\n * ```\n *\n * @since 1.0.0\n */\nexport async function createSolanaAdapter(): Promise<ChainAdapter> {\n const solanaUtils = await getSolanaUtils();\n\n return {\n /**\n * Extracts cluster names from Solana RPC URL configuration.\n *\n * @param solanaRPCUrls Object mapping cluster names to RPC URLs\n * @param chains Optional array of specific chains to filter\n * @returns Array of cluster names (strings)\n */\n getChains(solanaRPCUrls: any, chains?: any): (string | number)[] {\n // Use imported Solana utilities if available\n if (solanaUtils?.getSolanaClusters) {\n return solanaUtils.getSolanaClusters(solanaRPCUrls, chains);\n }\n\n // Fallback implementation for basic cluster extraction\n if (solanaRPCUrls && typeof solanaRPCUrls === 'object') {\n return Object.keys(solanaRPCUrls);\n }\n return [];\n },\n\n /**\n * Validates whether the provided chains list conforms to Solana cluster format.\n * Solana clusters are typically identified by string names like 'mainnet-beta', 'devnet'.\n *\n * @param chains Array of chain identifiers to validate\n * @returns True if the chain list is valid for Solana\n */\n isChainList(chains: (string | number)[]): boolean {\n if (solanaUtils?.isSolanaChainList) {\n return solanaUtils.isSolanaChainList(chains);\n }\n\n // Fallback validation: Solana clusters should be strings\n return chains.length > 0 && chains.every((chain) => typeof chain === 'string');\n },\n\n /**\n * Gets all available Solana clusters from the current configuration.\n * This is a Solana-specific method that returns cluster names that can be used.\n *\n * @returns Array of available cluster names\n *\n * @example\n * ```typescript\n * const clusters = adapter.getAvailableClusters?.();\n * // Might return: ['mainnet-beta', 'devnet', 'testnet']\n * ```\n */\n getAvailableClusters(): string[] {\n if (solanaUtils?.getAvailableSolanaClusters) {\n return solanaUtils.getAvailableSolanaClusters();\n }\n return [];\n },\n\n /**\n * Validates whether a cluster name is valid for Solana.\n * Checks against known Solana cluster monikers and custom configurations.\n *\n * @param cluster Cluster name to validate\n * @returns True if the cluster name is valid\n *\n * @example\n * ```typescript\n * const isValid = adapter.isValidCluster?.('mainnet-beta');\n * console.log(isValid); // true\n *\n * const isInvalid = adapter.isValidCluster?.('invalid-cluster');\n * console.log(isInvalid); // false\n * ```\n */\n isValidCluster(cluster: string): boolean {\n if (solanaUtils?.isValidSolanaCluster) {\n return solanaUtils.isValidSolanaCluster(cluster);\n }\n return false;\n },\n };\n}\n\n/**\n * Checks if the Solana adapter can be created in the current environment.\n * This function verifies that the required Solana utilities are available\n * by attempting to import them.\n *\n * @returns Promise resolving to true if Solana adapter is available\n *\n * @example\n * ```typescript\n * const hasSolana = await isSolanaAdapterAvailable();\n * if (hasSolana) {\n * const adapter = await createSolanaAdapter();\n * // Use Solana functionality\n * const clusters = adapter.getAvailableClusters?.();\n * } else {\n * console.log('Solana support not available in this build');\n * }\n * ```\n *\n * @since 1.0.0\n */\nexport async function isSolanaAdapterAvailable(): Promise<boolean> {\n try {\n await import('../../solana/utils');\n return true;\n } catch {\n return false;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export{a as getEvmChains,b as isEvmChainList}from'./chunk-RR5G7U5F.js';//# sourceMappingURL=utils-5KC7QXWB.js.map
2
+ //# sourceMappingURL=utils-5KC7QXWB.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"utils-AQMCWFOA.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils-5KC7QXWB.js"}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkCEGEQMI2_cjs=require('./chunk-CEGEQMI2.cjs');Object.defineProperty(exports,"getEvmChains",{enumerable:true,get:function(){return chunkCEGEQMI2_cjs.a}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkCEGEQMI2_cjs.b}});//# sourceMappingURL=utils-DZB4ZTS4.cjs.map
2
+ //# sourceMappingURL=utils-DZB4ZTS4.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"utils-GUHUQKQW.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils-DZB4ZTS4.cjs"}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkDYDY3FCT_cjs=require('./chunk-DYDY3FCT.cjs');Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.c}});Object.defineProperty(exports,"getSolanaClusters",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.a}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.b}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.d}});//# sourceMappingURL=utils-H5O25MTI.cjs.map
2
+ //# sourceMappingURL=utils-H5O25MTI.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"utils-VHV2TTDH.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils-H5O25MTI.cjs"}
@@ -1,2 +1,2 @@
1
- export{c as getAvailableSolanaClusters,a as getSolanaClusters,b as isSolanaChainList,d as isValidSolanaCluster}from'./chunk-J4TY3CJF.js';import'./chunk-DJ356OUX.js';//# sourceMappingURL=utils-CVNYMZHN.js.map
2
- //# sourceMappingURL=utils-CVNYMZHN.js.map
1
+ export{c as getAvailableSolanaClusters,a as getSolanaClusters,b as isSolanaChainList,d as isValidSolanaCluster}from'./chunk-J4TY3CJF.js';//# sourceMappingURL=utils-SUIRQJIA.js.map
2
+ //# sourceMappingURL=utils-SUIRQJIA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"utils-CVNYMZHN.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils-SUIRQJIA.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tuwaio/nova-connect",
3
- "version": "1.0.0-fix-test-alpha.5.73fb7f5",
3
+ "version": "1.0.0-fix-test-alpha.7.eac112e",
4
4
  "private": false,
5
5
  "author": "Oleksandr Tkach",
6
6
  "license": "Apache-2.0",
@@ -65,7 +65,7 @@
65
65
  }
66
66
  ],
67
67
  "dependencies": {
68
- "@tuwaio/satellite-react": "1.0.0-fix-watchers-alpha.1.39245f5"
68
+ "@tuwaio/satellite-react": "^0.1.1"
69
69
  },
70
70
  "peerDependencies": {
71
71
  "@bgd-labs/react-web3-icons": ">=1.5",
@@ -77,7 +77,6 @@
77
77
  "@tuwaio/orbit-solana": ">=0.1",
78
78
  "@tuwaio/satellite-core": ">=0.1",
79
79
  "@tuwaio/satellite-evm": ">=0.1",
80
- "@tuwaio/satellite-react": ">=0.1",
81
80
  "@tuwaio/satellite-solana": ">=0.1",
82
81
  "@tuwaio/pulsar-core": ">=0.2",
83
82
  "@tuwaio/nova-core": ">=0",
@@ -213,8 +212,8 @@
213
212
  "tw-animate-css": "^1.4.0",
214
213
  "typescript": "^5.9.3",
215
214
  "tsup": "^8.5.0",
216
- "@tuwaio/nova-core": "^1.0.0-fix-test-alpha.5.73fb7f5",
217
- "@tuwaio/nova-transactions": "^1.0.0-fix-test-alpha.5.73fb7f5"
215
+ "@tuwaio/nova-core": "^1.0.0-fix-test-alpha.7.eac112e",
216
+ "@tuwaio/nova-transactions": "^1.0.0-fix-test-alpha.7.eac112e"
218
217
  },
219
218
  "scripts": {
220
219
  "start": "tsup src/index.ts --watch",
@@ -1,2 +0,0 @@
1
- 'use strict';var g=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var k=(b,a)=>{for(var c in a)g(b,c,{get:a[c],enumerable:true});},f=(b,a,c,e)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of i(a))!j.call(b,d)&&d!==c&&g(b,d,{get:()=>a[d],enumerable:!(e=h(a,d))||e.enumerable});return b},l=(b,a,c)=>(f(b,a,"default"),c&&f(c,a,"default"));exports.a=k;exports.b=l;//# sourceMappingURL=chunk-7VKWLCWT.cjs.map
2
- //# sourceMappingURL=chunk-7VKWLCWT.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-7VKWLCWT.cjs"}
@@ -1,2 +0,0 @@
1
- var g=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var k=(b,a)=>{for(var c in a)g(b,c,{get:a[c],enumerable:true});},f=(b,a,c,e)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of i(a))!j.call(b,d)&&d!==c&&g(b,d,{get:()=>a[d],enumerable:!(e=h(a,d))||e.enumerable});return b},l=(b,a,c)=>(f(b,a,"default"),c&&f(c,a,"default"));export{k as a,l as b};//# sourceMappingURL=chunk-DJ356OUX.js.map
2
- //# sourceMappingURL=chunk-DJ356OUX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-DJ356OUX.js"}
@@ -1,2 +0,0 @@
1
- 'use strict';require('./chunk-7VKWLCWT.cjs');async function n(){try{return await import('./utils-GUHUQKQW.cjs')}catch(r){return console.warn("EVM utilities not available:",r),null}}async function i(){let r=await n();return {getChains(e){return r?.getEvmChains?r.getEvmChains(e):!Array.isArray(e)||e.length===0?[]:e.map(t=>typeof t=="object"&&t?.id!==void 0?t.id:typeof t=="number"||typeof t=="string"?t:null).filter(t=>t!==null&&(typeof t=="string"||typeof t=="number"))},isChainList(e){return r?.isEvmChainList?r.isEvmChainList(e):e.length>0&&e.every(t=>typeof t=="number")}}}async function s(){try{return await import('./utils-GUHUQKQW.cjs'),!0}catch{return false}}exports.createEvmAdapter=i;exports.isEvmAdapterAvailable=s;//# sourceMappingURL=evm-2TQURF3A.cjs.map
2
- //# sourceMappingURL=evm-2TQURF3A.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/adapters/evm.ts"],"names":["getEvmUtils","error","createEvmAdapter","evmUtils","appChains","chain","id","chains","isEvmAdapterAvailable"],"mappings":"6CA+BA,eAAeA,CAAAA,EAA8C,CAC3D,GAAI,CAGF,OADiB,MAAM,OAAO,sBAAiB,CAEjD,CAAA,MAASC,CAAAA,CAAO,CACd,OAAA,OAAA,CAAQ,KAAK,8BAAA,CAAgCA,CAAK,CAAA,CAC3C,IACT,CACF,CA6BA,eAAsBC,CAAAA,EAA0C,CAC9D,IAAMC,CAAAA,CAAW,MAAMH,CAAAA,EAAY,CAEnC,OAAO,CAOL,SAAA,CAAUI,CAAAA,CAAqC,CAE7C,OAAID,CAAAA,EAAU,YAAA,CACLA,CAAAA,CAAS,YAAA,CAAaC,CAAS,CAAA,CAIpC,CAAC,KAAA,CAAM,OAAA,CAAQA,CAAS,CAAA,EAAKA,CAAAA,CAAU,MAAA,GAAW,CAAA,CAC7C,EAAC,CAGHA,CAAAA,CACJ,GAAA,CAAKC,CAAAA,EAEA,OAAOA,CAAAA,EAAU,QAAA,EAAYA,CAAAA,EAAO,EAAA,GAAO,MAAA,CACtCA,EAAM,EAAA,CAGX,OAAOA,CAAAA,EAAU,QAAA,EAAY,OAAOA,CAAAA,EAAU,QAAA,CACzCA,CAAAA,CAEF,IACR,CAAA,CACA,MAAA,CAAQC,CAAAA,EAAmCA,CAAAA,GAAO,IAAA,GAAS,OAAOA,CAAAA,EAAO,QAAA,EAAY,OAAOA,CAAAA,EAAO,QAAA,CAAS,CACjH,CAAA,CASA,WAAA,CAAYC,CAAAA,CAAsC,CAChD,OAAIJ,CAAAA,EAAU,cAAA,CACLA,CAAAA,CAAS,cAAA,CAAeI,CAAM,CAAA,CAIhCA,CAAAA,CAAO,MAAA,CAAS,CAAA,EAAKA,CAAAA,CAAO,KAAA,CAAOF,CAAAA,EAAU,OAAOA,CAAAA,EAAU,QAAQ,CAC/E,CACF,CACF,CAsBA,eAAsBG,CAAAA,EAA0C,CAC9D,GAAI,CACF,OAAA,MAAM,OAAO,sBAAiB,CAAA,CACvB,CAAA,CACT,CAAA,KAAQ,CACN,OAAO,MACT,CACF","file":"evm-2TQURF3A.cjs","sourcesContent":["import type { ChainAdapter } from './types';\n\n/**\n * EVM utilities module interface for dynamic imports.\n *\n * @internal\n * @since 1.0.0\n */\ninterface EvmUtilsModule {\n getEvmChains?: (appChains: any) => (string | number)[];\n isEvmChainList?: (chains: (string | number)[]) => boolean;\n}\n\n/**\n * Dynamically imports and checks availability of EVM utilities.\n * This function attempts to load EVM-specific utilities without throwing errors\n * if the EVM package is not installed in the current environment.\n *\n * @internal\n * @returns Promise resolving to EVM utilities module or null if not available\n *\n * @example\n * ```typescript\n * const evmUtils = await getEvmUtils();\n * if (evmUtils?.getEvmChains) {\n * const chains = evmUtils.getEvmChains(appChains);\n * }\n * ```\n *\n * @since 1.0.0\n */\nasync function getEvmUtils(): Promise<EvmUtilsModule | null> {\n try {\n // Dynamic import of EVM utilities - fails gracefully if package not installed\n const evmUtils = await import('../../evm/utils');\n return evmUtils;\n } catch (error) {\n console.warn('EVM utilities not available:', error);\n return null;\n }\n}\n\n/**\n * Creates an EVM chain adapter with dynamic loading and fallback support.\n *\n * This adapter provides EVM-specific functionality while gracefully handling\n * environments where EVM utilities are not available. It uses intelligent\n * fallbacks to ensure basic functionality even without the full EVM package.\n *\n * @returns Promise resolving to a configured EVM ChainAdapter\n *\n * @example\n * ```typescript\n * const adapter = await createEvmAdapter();\n *\n * // Get EVM chain IDs from app configuration\n * const chainIds = adapter.getChains([\n * { id: 1, name: 'Ethereum' },\n * { id: 137, name: 'Polygon' }\n * ]);\n * console.log(chainIds); // [1, 137]\n *\n * // Validate chain list format\n * const isValid = adapter.isChainList([1, 137, 56]);\n * console.log(isValid); // true (numeric IDs are valid for EVM)\n * ```\n *\n * @since 1.0.0\n */\nexport async function createEvmAdapter(): Promise<ChainAdapter> {\n const evmUtils = await getEvmUtils();\n\n return {\n /**\n * Extracts chain IDs from EVM app chain configuration.\n *\n * @param appChains Array of chain configurations or chain identifiers\n * @returns Array of chain IDs (numbers or strings)\n */\n getChains(appChains: any): (string | number)[] {\n // Use imported EVM utilities if available\n if (evmUtils?.getEvmChains) {\n return evmUtils.getEvmChains(appChains);\n }\n\n // Fallback implementation for basic chain extraction\n if (!Array.isArray(appChains) || appChains.length === 0) {\n return [];\n }\n\n return appChains\n .map((chain: any) => {\n // Handle chain objects with id property\n if (typeof chain === 'object' && chain?.id !== undefined) {\n return chain.id;\n }\n // Handle direct chain identifiers\n if (typeof chain === 'number' || typeof chain === 'string') {\n return chain;\n }\n return null;\n })\n .filter((id: any): id is string | number => id !== null && (typeof id === 'string' || typeof id === 'number'));\n },\n\n /**\n * Validates whether the provided chains list conforms to EVM chain format.\n * EVM chains are typically identified by numeric IDs.\n *\n * @param chains Array of chain identifiers to validate\n * @returns True if the chain list is valid for EVM\n */\n isChainList(chains: (string | number)[]): boolean {\n if (evmUtils?.isEvmChainList) {\n return evmUtils.isEvmChainList(chains);\n }\n\n // Fallback validation: EVM chains should be numbers\n return chains.length > 0 && chains.every((chain) => typeof chain === 'number');\n },\n };\n}\n\n/**\n * Checks if the EVM adapter can be created in the current environment.\n * This function verifies that the required EVM utilities are available\n * by attempting to import them.\n *\n * @returns Promise resolving to true if EVM adapter is available\n *\n * @example\n * ```typescript\n * const hasEvm = await isEvmAdapterAvailable();\n * if (hasEvm) {\n * const adapter = await createEvmAdapter();\n * // Use EVM functionality\n * } else {\n * console.log('EVM support not available in this build');\n * }\n * ```\n *\n * @since 1.0.0\n */\nexport async function isEvmAdapterAvailable(): Promise<boolean> {\n try {\n await import('../../evm/utils');\n return true;\n } catch {\n return false;\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import'./chunk-DJ356OUX.js';async function n(){try{return await import('./utils-AQMCWFOA.js')}catch(r){return console.warn("EVM utilities not available:",r),null}}async function i(){let r=await n();return {getChains(e){return r?.getEvmChains?r.getEvmChains(e):!Array.isArray(e)||e.length===0?[]:e.map(t=>typeof t=="object"&&t?.id!==void 0?t.id:typeof t=="number"||typeof t=="string"?t:null).filter(t=>t!==null&&(typeof t=="string"||typeof t=="number"))},isChainList(e){return r?.isEvmChainList?r.isEvmChainList(e):e.length>0&&e.every(t=>typeof t=="number")}}}async function s(){try{return await import('./utils-AQMCWFOA.js'),!0}catch{return false}}export{i as createEvmAdapter,s as isEvmAdapterAvailable};//# sourceMappingURL=evm-6LYBL7FT.js.map
2
- //# sourceMappingURL=evm-6LYBL7FT.js.map
@@ -1,2 +0,0 @@
1
- 'use strict';var chunkHBN6AO5M_cjs=require('./chunk-HBN6AO5M.cjs');require('./chunk-7VKWLCWT.cjs');Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.g}});Object.defineProperty(exports,"getChainsListByWalletType",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.a}});Object.defineProperty(exports,"getChainsListByWalletTypeSync",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.f}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkHBN6AO5M_cjs.j}});//# sourceMappingURL=getChainsListByWalletType-JZ6IC2Q4.cjs.map
2
- //# sourceMappingURL=getChainsListByWalletType-JZ6IC2Q4.cjs.map
@@ -1,2 +0,0 @@
1
- 'use strict';require('./chunk-7VKWLCWT.cjs');async function n(){try{return await import('./utils-VHV2TTDH.cjs')}catch(a){return console.warn("Solana utilities not available:",a),null}}async function r(){let a=await n();return {getChains(t,e){return a?.getSolanaClusters?a.getSolanaClusters(t,e):t&&typeof t=="object"?Object.keys(t):[]},isChainList(t){return a?.isSolanaChainList?a.isSolanaChainList(t):t.length>0&&t.every(e=>typeof e=="string")},getAvailableClusters(){return a?.getAvailableSolanaClusters?a.getAvailableSolanaClusters():[]},isValidCluster(t){return a?.isValidSolanaCluster?a.isValidSolanaCluster(t):false}}}async function l(){try{return await import('./utils-VHV2TTDH.cjs'),!0}catch{return false}}exports.createSolanaAdapter=r;exports.isSolanaAdapterAvailable=l;//# sourceMappingURL=solana-7WH33SWA.cjs.map
2
- //# sourceMappingURL=solana-7WH33SWA.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/adapters/solana.ts"],"names":["getSolanaUtils","error","createSolanaAdapter","solanaUtils","solanaRPCUrls","chains","chain","cluster","isSolanaAdapterAvailable"],"mappings":"6CAiCA,eAAeA,CAAAA,EAAoD,CACjE,GAAI,CAGF,OADoB,MAAM,OAAO,sBAAoB,CAEvD,CAAA,MAASC,CAAAA,CAAO,CACd,eAAQ,IAAA,CAAK,iCAAA,CAAmCA,CAAK,CAAA,CAC9C,IACT,CACF,CAiCA,eAAsBC,CAAAA,EAA6C,CACjE,IAAMC,CAAAA,CAAc,MAAMH,CAAAA,GAE1B,OAAO,CAQL,SAAA,CAAUI,CAAAA,CAAoBC,CAAAA,CAAmC,CAE/D,OAAIF,CAAAA,EAAa,iBAAA,CACRA,CAAAA,CAAY,iBAAA,CAAkBC,CAAAA,CAAeC,CAAM,EAIxDD,CAAAA,EAAiB,OAAOA,CAAAA,EAAkB,QAAA,CACrC,MAAA,CAAO,IAAA,CAAKA,CAAa,CAAA,CAE3B,EACT,CAAA,CASA,WAAA,CAAYC,CAAAA,CAAsC,CAChD,OAAIF,CAAAA,EAAa,iBAAA,CACRA,CAAAA,CAAY,iBAAA,CAAkBE,CAAM,CAAA,CAItCA,EAAO,MAAA,CAAS,CAAA,EAAKA,CAAAA,CAAO,KAAA,CAAOC,CAAAA,EAAU,OAAOA,GAAU,QAAQ,CAC/E,CAAA,CAcA,oBAAA,EAAiC,CAC/B,OAAIH,CAAAA,EAAa,0BAAA,CACRA,CAAAA,CAAY,0BAAA,EAA2B,CAEzC,EACT,CAAA,CAkBA,eAAeI,CAAAA,CAA0B,CACvC,OAAIJ,CAAAA,EAAa,oBAAA,CACRA,CAAAA,CAAY,oBAAA,CAAqBI,CAAO,CAAA,CAE1C,KACT,CACF,CACF,CAuBA,eAAsBC,GAA6C,CACjE,GAAI,CACF,OAAA,MAAM,OAAO,sBAAoB,CAAA,CAC1B,CAAA,CACT,CAAA,KAAQ,CACN,OAAO,MACT,CACF","file":"solana-7WH33SWA.cjs","sourcesContent":["import type { ChainAdapter } from './types';\n\n/**\n * Solana utilities module interface for dynamic imports.\n *\n * @internal\n * @since 1.0.0\n */\ninterface SolanaUtilsModule {\n getSolanaClusters?: (solanaRPCUrls: any, chains?: any) => string[];\n isSolanaChainList?: (chains: (string | number)[]) => boolean;\n getAvailableSolanaClusters?: () => string[];\n isValidSolanaCluster?: (cluster: string) => boolean;\n}\n\n/**\n * Dynamically imports and checks availability of Solana utilities.\n * This function attempts to load Solana-specific utilities without throwing errors\n * if the Solana package is not installed in the current environment.\n *\n * @internal\n * @returns Promise resolving to Solana utilities module or null if not available\n *\n * @example\n * ```typescript\n * const solanaUtils = await getSolanaUtils();\n * if (solanaUtils?.getSolanaClusters) {\n * const clusters = solanaUtils.getSolanaClusters(rpcUrls);\n * }\n * ```\n *\n * @since 1.0.0\n */\nasync function getSolanaUtils(): Promise<SolanaUtilsModule | null> {\n try {\n // Dynamic import of Solana utilities - fails gracefully if package not installed\n const solanaUtils = await import('../../solana/utils');\n return solanaUtils;\n } catch (error) {\n console.warn('Solana utilities not available:', error);\n return null;\n }\n}\n\n/**\n * Creates a Solana chain adapter with dynamic loading and fallback support.\n *\n * This adapter provides Solana-specific functionality while gracefully handling\n * environments where Solana utilities are not available. It includes Solana-specific\n * methods like cluster management that are unique to the Solana blockchain architecture.\n *\n * @returns Promise resolving to a configured Solana ChainAdapter\n *\n * @example\n * ```typescript\n * const adapter = await createSolanaAdapter();\n *\n * // Get Solana cluster names from RPC configuration\n * const clusters = adapter.getChains({\n * 'mainnet-beta': 'https://api.mainnet-beta.solana.com',\n * devnet: 'https://api.devnet.solana.com'\n * });\n * console.log(clusters); // ['mainnet-beta', 'devnet']\n *\n * // Validate cluster list format\n * const isValid = adapter.isChainList(['mainnet-beta', 'devnet']);\n * console.log(isValid); // true (string identifiers are valid for Solana)\n *\n * // Get available clusters\n * const availableClusters = adapter.getAvailableClusters?.();\n * console.log(availableClusters); // All configured cluster names\n * ```\n *\n * @since 1.0.0\n */\nexport async function createSolanaAdapter(): Promise<ChainAdapter> {\n const solanaUtils = await getSolanaUtils();\n\n return {\n /**\n * Extracts cluster names from Solana RPC URL configuration.\n *\n * @param solanaRPCUrls Object mapping cluster names to RPC URLs\n * @param chains Optional array of specific chains to filter\n * @returns Array of cluster names (strings)\n */\n getChains(solanaRPCUrls: any, chains?: any): (string | number)[] {\n // Use imported Solana utilities if available\n if (solanaUtils?.getSolanaClusters) {\n return solanaUtils.getSolanaClusters(solanaRPCUrls, chains);\n }\n\n // Fallback implementation for basic cluster extraction\n if (solanaRPCUrls && typeof solanaRPCUrls === 'object') {\n return Object.keys(solanaRPCUrls);\n }\n return [];\n },\n\n /**\n * Validates whether the provided chains list conforms to Solana cluster format.\n * Solana clusters are typically identified by string names like 'mainnet-beta', 'devnet'.\n *\n * @param chains Array of chain identifiers to validate\n * @returns True if the chain list is valid for Solana\n */\n isChainList(chains: (string | number)[]): boolean {\n if (solanaUtils?.isSolanaChainList) {\n return solanaUtils.isSolanaChainList(chains);\n }\n\n // Fallback validation: Solana clusters should be strings\n return chains.length > 0 && chains.every((chain) => typeof chain === 'string');\n },\n\n /**\n * Gets all available Solana clusters from the current configuration.\n * This is a Solana-specific method that returns cluster names that can be used.\n *\n * @returns Array of available cluster names\n *\n * @example\n * ```typescript\n * const clusters = adapter.getAvailableClusters?.();\n * // Might return: ['mainnet-beta', 'devnet', 'testnet']\n * ```\n */\n getAvailableClusters(): string[] {\n if (solanaUtils?.getAvailableSolanaClusters) {\n return solanaUtils.getAvailableSolanaClusters();\n }\n return [];\n },\n\n /**\n * Validates whether a cluster name is valid for Solana.\n * Checks against known Solana cluster monikers and custom configurations.\n *\n * @param cluster Cluster name to validate\n * @returns True if the cluster name is valid\n *\n * @example\n * ```typescript\n * const isValid = adapter.isValidCluster?.('mainnet-beta');\n * console.log(isValid); // true\n *\n * const isInvalid = adapter.isValidCluster?.('invalid-cluster');\n * console.log(isInvalid); // false\n * ```\n */\n isValidCluster(cluster: string): boolean {\n if (solanaUtils?.isValidSolanaCluster) {\n return solanaUtils.isValidSolanaCluster(cluster);\n }\n return false;\n },\n };\n}\n\n/**\n * Checks if the Solana adapter can be created in the current environment.\n * This function verifies that the required Solana utilities are available\n * by attempting to import them.\n *\n * @returns Promise resolving to true if Solana adapter is available\n *\n * @example\n * ```typescript\n * const hasSolana = await isSolanaAdapterAvailable();\n * if (hasSolana) {\n * const adapter = await createSolanaAdapter();\n * // Use Solana functionality\n * const clusters = adapter.getAvailableClusters?.();\n * } else {\n * console.log('Solana support not available in this build');\n * }\n * ```\n *\n * @since 1.0.0\n */\nexport async function isSolanaAdapterAvailable(): Promise<boolean> {\n try {\n await import('../../solana/utils');\n return true;\n } catch {\n return false;\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import'./chunk-DJ356OUX.js';async function n(){try{return await import('./utils-CVNYMZHN.js')}catch(a){return console.warn("Solana utilities not available:",a),null}}async function r(){let a=await n();return {getChains(t,e){return a?.getSolanaClusters?a.getSolanaClusters(t,e):t&&typeof t=="object"?Object.keys(t):[]},isChainList(t){return a?.isSolanaChainList?a.isSolanaChainList(t):t.length>0&&t.every(e=>typeof e=="string")},getAvailableClusters(){return a?.getAvailableSolanaClusters?a.getAvailableSolanaClusters():[]},isValidCluster(t){return a?.isValidSolanaCluster?a.isValidSolanaCluster(t):false}}}async function l(){try{return await import('./utils-CVNYMZHN.js'),!0}catch{return false}}export{r as createSolanaAdapter,l as isSolanaAdapterAvailable};//# sourceMappingURL=solana-ZVGXG6LZ.js.map
2
- //# sourceMappingURL=solana-ZVGXG6LZ.js.map
@@ -1,2 +0,0 @@
1
- export{a as getEvmChains,b as isEvmChainList}from'./chunk-RR5G7U5F.js';import'./chunk-DJ356OUX.js';//# sourceMappingURL=utils-AQMCWFOA.js.map
2
- //# sourceMappingURL=utils-AQMCWFOA.js.map
@@ -1,2 +0,0 @@
1
- 'use strict';var chunkCEGEQMI2_cjs=require('./chunk-CEGEQMI2.cjs');require('./chunk-7VKWLCWT.cjs');Object.defineProperty(exports,"getEvmChains",{enumerable:true,get:function(){return chunkCEGEQMI2_cjs.a}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkCEGEQMI2_cjs.b}});//# sourceMappingURL=utils-GUHUQKQW.cjs.map
2
- //# sourceMappingURL=utils-GUHUQKQW.cjs.map
@@ -1,2 +0,0 @@
1
- 'use strict';var chunkDYDY3FCT_cjs=require('./chunk-DYDY3FCT.cjs');require('./chunk-7VKWLCWT.cjs');Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.c}});Object.defineProperty(exports,"getSolanaClusters",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.a}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.b}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkDYDY3FCT_cjs.d}});//# sourceMappingURL=utils-VHV2TTDH.cjs.map
2
- //# sourceMappingURL=utils-VHV2TTDH.cjs.map