{"version":3,"sources":["../src/index.ts","../src/configuration/execution.ts","../src/utils/validator.ts","../src/configuration/explorer.ts","../src/configuration/rpc.ts","../src/adapter.ts","../src/mapping/type-mapper.ts","../src/mapping/field-generator.ts","../src/query/handler.ts","../src/query/view-checker.ts","../src/transaction/formatter.ts","../src/transaction/sender.ts","../src/transform/input-parser.ts","../src/transform/output-formatter.ts","../src/wallet/connection.ts","../src/networks/mainnet.ts","../src/networks/testnet.ts","../src/networks/index.ts","../src/config.ts"],"sourcesContent":["// Re-export the main adapter class\nexport { StellarAdapter } from './adapter';\n\n// Optionally re-export types if needed\n// export * from './types'; // No types.ts in Stellar adapter yet\n\nexport {\n  stellarNetworks,\n  stellarMainnetNetworks,\n  stellarTestnetNetworks,\n  // Individual networks\n  stellarPublic,\n  stellarTestnet,\n} from './networks';\n\n// Export adapter configuration\nexport { stellarAdapterConfig } from './config';\n","import type {\n  ExecutionConfig,\n  ExecutionMethodDetail,\n} from '@openzeppelin/contracts-ui-builder-types';\nimport { logger } from '@openzeppelin/contracts-ui-builder-utils';\n\nimport { isValidAddress } from '../utils';\n\n/**\n * Get supported execution methods for Stellar.\n * TODO: Implement actual supported methods for Stellar.\n */\nexport function getStellarSupportedExecutionMethods(): Promise<ExecutionMethodDetail[]> {\n  // Placeholder: Assume only EOA is supported for now\n  logger.warn(\n    'StellarExecutionConfig',\n    'getSupportedExecutionMethods is using placeholder implementation.'\n  );\n  return Promise.resolve([\n    {\n      type: 'eoa',\n      name: 'Stellar Account',\n      description: 'Execute using a standard Stellar account address.',\n    },\n  ]);\n}\n\n/**\n * Validate execution config for Stellar.\n * TODO: Implement actual validation logic for Stellar execution configs.\n */\nexport function validateStellarExecutionConfig(config: ExecutionConfig): Promise<true | string> {\n  // Placeholder: Basic validation\n  logger.warn(\n    'StellarExecutionConfig',\n    'validateExecutionConfig is using placeholder implementation.'\n  );\n  if (config.method === 'eoa') {\n    if (!config.allowAny && !config.specificAddress) {\n      return Promise.resolve('Specific Stellar account address is required.');\n    }\n    if (\n      !config.allowAny &&\n      config.specificAddress &&\n      !isValidAddress(config.specificAddress) // Assuming isValidAddress is moved to utils\n    ) {\n      return Promise.resolve('Invalid account address format for Stellar.');\n    }\n    return Promise.resolve(true);\n  } else {\n    // For now, consider other methods unsupported by this placeholder\n    return Promise.resolve(\n      `Execution method '${config.method}' is not yet supported by this adapter implementation.`\n    );\n  }\n}\n","/**\n * Validate a Stellar blockchain address\n * @param address The address to validate\n * @returns Whether the address is a valid Stellar address\n */\nexport function isValidAddress(address: string): boolean {\n  // Basic check for Stellar addresses (starts with G and is 56 chars long)\n  // TODO: Use a proper Stellar SDK for validation when focusing on that chain\n  return /^G[A-Z0-9]{55}$/.test(address);\n}\n","import { NetworkConfig } from '@openzeppelin/contracts-ui-builder-types';\nimport type { UserExplorerConfig } from '@openzeppelin/contracts-ui-builder-types';\nimport { logger } from '@openzeppelin/contracts-ui-builder-utils';\n\n/**\n * Gets a blockchain explorer URL for an address on Stellar.\n * Uses the explorerUrl from the network configuration.\n *\n * @param address The address to get the explorer URL for\n * @param networkConfig The network configuration object.\n * @returns A URL to view the address on the configured Stellar explorer, or null.\n */\nexport function getStellarExplorerAddressUrl(\n  address: string,\n  networkConfig: NetworkConfig\n): string | null {\n  if (!address || !networkConfig.explorerUrl) {\n    return null;\n  }\n  // Construct the URL, assuming a standard /account/ path for Stellar explorers\n  const baseUrl = networkConfig.explorerUrl.replace(/\\/+$/, '');\n  return `${baseUrl}/account/${address}`;\n}\n\n/**\n * Gets a blockchain explorer URL for a transaction on Stellar.\n * Uses the explorerUrl from the network configuration.\n *\n * @param txHash - The hash of the transaction to get the explorer URL for\n * @param networkConfig The network configuration object.\n * @returns A URL to view the transaction on the configured Stellar explorer, or null.\n */\nexport function getStellarExplorerTxUrl(\n  txHash: string,\n  networkConfig: NetworkConfig\n): string | null {\n  if (!txHash || !networkConfig.explorerUrl) {\n    return null;\n  }\n  // Construct the URL, assuming a standard /tx/ path for Stellar explorers\n  const baseUrl = networkConfig.explorerUrl.replace(/\\/+$/, '');\n  return `${baseUrl}/tx/${txHash}`;\n}\n\n/**\n * Validates an explorer configuration for Stellar networks.\n * @param explorerConfig - The explorer configuration to validate\n * @returns True if the configuration is valid, false otherwise\n */\nexport function validateStellarExplorerConfig(_explorerConfig: UserExplorerConfig): boolean {\n  // TODO: Implement Stellar-specific explorer validation when needed\n  logger.info('validateStellarExplorerConfig', 'Stellar explorer validation not yet implemented');\n  return true;\n}\n\n/**\n * Tests the connection to a Stellar explorer API.\n * @param explorerConfig - The explorer configuration to test\n * @returns Connection test results including success status, latency, and any errors\n */\nexport async function testStellarExplorerConnection(_explorerConfig: UserExplorerConfig): Promise<{\n  success: boolean;\n  latency?: number;\n  error?: string;\n}> {\n  // TODO: Implement explorer connection testing for Stellar\n  // Could use a health check endpoint if available\n  logger.info('testStellarExplorerConnection', 'TODO: Implement explorer connection testing');\n  return { success: true };\n}\n","import type { UserRpcProviderConfig } from '@openzeppelin/contracts-ui-builder-types';\nimport { logger } from '@openzeppelin/contracts-ui-builder-utils';\n\n/**\n * Validates an RPC endpoint configuration for Stellar networks.\n * @param rpcConfig - The RPC provider configuration to validate\n * @returns True if the configuration is valid, false otherwise\n */\nexport function validateStellarRpcEndpoint(_rpcConfig: UserRpcProviderConfig): boolean {\n  // TODO: Implement Stellar-specific RPC validation when needed\n  logger.info('validateStellarRpcEndpoint', 'Stellar RPC validation not yet implemented');\n  return true;\n}\n\n/**\n * Tests the connection to a Stellar RPC endpoint.\n * @param rpcConfig - The RPC provider configuration to test\n * @returns Connection test results including success status, latency, and any errors\n */\nexport async function testStellarRpcConnection(_rpcConfig: UserRpcProviderConfig): Promise<{\n  success: boolean;\n  latency?: number;\n  error?: string;\n}> {\n  // TODO: Implement RPC connection testing for Stellar\n  // Could use Horizon API health check endpoint\n  logger.info('testStellarRpcConnection', 'TODO: Implement RPC connection testing');\n  return { success: true };\n}\n","import {\n  testStellarRpcConnection,\n  validateStellarRpcEndpoint,\n} from 'packages/adapter-stellar/src/configuration';\n\nimport type {\n  AvailableUiKit,\n  Connector,\n  ContractAdapter,\n  ContractFunction,\n  ContractSchema,\n  ExecutionConfig,\n  ExecutionMethodDetail,\n  FieldType,\n  FormFieldType,\n  FormValues,\n  FunctionParameter,\n  RelayerDetails,\n  RelayerDetailsRich,\n  StellarNetworkConfig,\n  UiKitConfiguration,\n  UserRpcProviderConfig,\n} from '@openzeppelin/contracts-ui-builder-types';\nimport { isStellarNetworkConfig } from '@openzeppelin/contracts-ui-builder-types';\nimport { logger } from '@openzeppelin/contracts-ui-builder-utils';\n\n// Import functions from modules\nimport {\n  getStellarSupportedExecutionMethods,\n  validateStellarExecutionConfig,\n} from './configuration/execution';\nimport { getStellarExplorerAddressUrl, getStellarExplorerTxUrl } from './configuration/explorer';\n\nimport {\n  generateStellarDefaultField,\n  getStellarCompatibleFieldTypes,\n  mapStellarParameterTypeToFieldType,\n} from './mapping';\nimport { isStellarViewFunction, queryStellarViewFunction } from './query';\nimport { formatStellarTransactionData, signAndBroadcastStellarTransaction } from './transaction';\nimport { formatStellarFunctionResult } from './transform';\nimport { isValidAddress as isStellarValidAddress } from './utils';\nimport {\n  connectStellarWallet,\n  disconnectStellarWallet,\n  getStellarAvailableConnectors,\n  getStellarWalletConnectionStatus,\n  supportsStellarWalletConnection,\n  // onStellarWalletConnectionChange, // Placeholder if needed later\n} from './wallet';\n\n/**\n * Stellar-specific adapter implementation using explicit method delegation.\n *\n * NOTE: Contains placeholder implementations for most functionalities.\n */\nexport class StellarAdapter implements ContractAdapter {\n  readonly networkConfig: StellarNetworkConfig;\n  readonly initialAppServiceKitName: UiKitConfiguration['kitName'];\n\n  constructor(networkConfig: StellarNetworkConfig) {\n    if (!isStellarNetworkConfig(networkConfig)) {\n      throw new Error('StellarAdapter requires a valid Stellar network configuration.');\n    }\n    this.networkConfig = networkConfig;\n    this.initialAppServiceKitName = 'custom';\n    logger.info(\n      'StellarAdapter',\n      `Adapter initialized for network: ${networkConfig.name} (ID: ${networkConfig.id})`\n    );\n  }\n\n  // --- Contract Loading --- //\n  public getContractDefinitionInputs(): FormFieldType[] {\n    return [\n      {\n        id: 'contractAddress',\n        name: 'contractAddress',\n        label: 'Contract ID',\n        type: 'blockchain-address',\n        validation: { required: true },\n        placeholder: 'G...',\n        helperText: 'Enter the Stellar contract ID.',\n      },\n    ];\n  }\n\n  async loadContract(artifacts: FormValues): Promise<ContractSchema> {\n    // Stellar doesn't have a standardized on-chain contract interface like an ABI.\n    // The 'source' would need to be a custom JSON descriptor provided by the user.\n    // This is a placeholder for a more complex implementation.\n    if (typeof artifacts.contractAddress !== 'string') {\n      throw new Error('A contract address must be provided.');\n    }\n\n    return {\n      name: 'StellarContract',\n      address: artifacts.contractAddress,\n      ecosystem: 'stellar',\n      functions: [],\n      events: [],\n    };\n  }\n\n  getWritableFunctions(contractSchema: ContractSchema): ContractSchema['functions'] {\n    return contractSchema.functions.filter((fn: ContractFunction) => fn.modifiesState);\n  }\n\n  // --- Type Mapping & Field Generation --- //\n  mapParameterTypeToFieldType(parameterType: string): FieldType {\n    return mapStellarParameterTypeToFieldType(parameterType);\n  }\n  getCompatibleFieldTypes(parameterType: string): FieldType[] {\n    return getStellarCompatibleFieldTypes(parameterType);\n  }\n  generateDefaultField<T extends FieldType = FieldType>(\n    parameter: FunctionParameter\n  ): FormFieldType<T> {\n    return generateStellarDefaultField(parameter);\n  }\n\n  // --- Transaction Formatting & Execution --- //\n  public formatTransactionData(\n    contractSchema: ContractSchema,\n    functionId: string,\n    submittedInputs: Record<string, unknown>,\n    fields: FormFieldType[]\n  ): unknown {\n    return formatStellarTransactionData(contractSchema, functionId, submittedInputs, fields);\n  }\n  async signAndBroadcast(\n    transactionData: unknown,\n    executionConfig?: ExecutionConfig\n  ): Promise<{ txHash: string }> {\n    return signAndBroadcastStellarTransaction(transactionData, executionConfig);\n  }\n\n  // NOTE: waitForTransactionConfirmation? is optional in the interface.\n  // Since the imported function is currently undefined, we omit the method here.\n  // If implemented in ./transaction/sender.ts later, add the method back:\n  // async waitForTransactionConfirmation?(...) { ... }\n\n  // --- View Function Querying --- //\n  isViewFunction(functionDetails: ContractFunction): boolean {\n    return isStellarViewFunction(functionDetails);\n  }\n\n  // Implement queryViewFunction with the correct signature from ContractAdapter\n  async queryViewFunction(\n    contractAddress: string,\n    functionId: string,\n    params: unknown[] = [],\n    contractSchema?: ContractSchema\n  ): Promise<unknown> {\n    return queryStellarViewFunction(\n      contractAddress,\n      functionId,\n      this.networkConfig,\n      params,\n      contractSchema\n    );\n  }\n\n  formatFunctionResult(decodedValue: unknown, functionDetails: ContractFunction): string {\n    return formatStellarFunctionResult(decodedValue, functionDetails);\n  }\n\n  // --- Wallet Interaction --- //\n  supportsWalletConnection(): boolean {\n    return supportsStellarWalletConnection();\n  }\n  async getAvailableConnectors(): Promise<Connector[]> {\n    return getStellarAvailableConnectors();\n  }\n  async connectWallet(\n    connectorId: string\n  ): Promise<{ connected: boolean; address?: string; error?: string }> {\n    return connectStellarWallet(connectorId);\n  }\n  async disconnectWallet(): Promise<{ disconnected: boolean; error?: string }> {\n    return disconnectStellarWallet();\n  }\n  getWalletConnectionStatus(): { isConnected: boolean; address?: string; chainId?: string } {\n    return getStellarWalletConnectionStatus();\n  }\n  // Optional: onWalletConnectionChange(...) implementation would go here\n\n  // --- Configuration & Metadata --- //\n  async getSupportedExecutionMethods(): Promise<ExecutionMethodDetail[]> {\n    return getStellarSupportedExecutionMethods();\n  }\n  async validateExecutionConfig(config: ExecutionConfig): Promise<true | string> {\n    return validateStellarExecutionConfig(config);\n  }\n\n  // Implement getExplorerUrl with the correct signature from ContractAdapter\n  getExplorerUrl(address: string): string | null {\n    return getStellarExplorerAddressUrl(address, this.networkConfig);\n  }\n\n  // Implement getExplorerTxUrl with the correct signature from ContractAdapter\n  getExplorerTxUrl?(txHash: string): string | null {\n    if (getStellarExplorerTxUrl) {\n      return getStellarExplorerTxUrl(txHash, this.networkConfig);\n    }\n    return null;\n  }\n\n  // --- Validation --- //\n  isValidAddress(address: string): boolean {\n    return isStellarValidAddress(address);\n  }\n\n  public async getAvailableUiKits(): Promise<AvailableUiKit[]> {\n    return [\n      {\n        id: 'custom',\n        name: 'OpenZeppelin Custom',\n        configFields: [],\n      },\n    ];\n  }\n\n  public async getRelayers(_serviceUrl: string, _accessToken: string): Promise<RelayerDetails[]> {\n    logger.warn('StellarAdapter', 'getRelayers is not implemented for the Stellar adapter yet.');\n    return Promise.resolve([]);\n  }\n\n  public async getRelayer(\n    _serviceUrl: string,\n    _accessToken: string,\n    _relayerId: string\n  ): Promise<RelayerDetailsRich> {\n    logger.warn('StellarAdapter', 'getRelayer is not implemented for the Stellar adapter yet.');\n    return Promise.resolve({} as RelayerDetailsRich);\n  }\n\n  /**\n   * @inheritdoc\n   */\n  public async validateRpcEndpoint(rpcConfig: UserRpcProviderConfig): Promise<boolean> {\n    // TODO: Implement Stellar-specific RPC validation when needed\n    return validateStellarRpcEndpoint(rpcConfig);\n  }\n\n  /**\n   * @inheritdoc\n   */\n  public async testRpcConnection(rpcConfig: UserRpcProviderConfig): Promise<{\n    success: boolean;\n    latency?: number;\n    error?: string;\n  }> {\n    // TODO: Implement Stellar-specific RPC validation when needed\n    return testStellarRpcConnection(rpcConfig);\n  }\n}\n\n// Also export as default to ensure compatibility with various import styles\nexport default StellarAdapter;\n","import type { FieldType } from '@openzeppelin/contracts-ui-builder-types';\n\n/**\n * Map a Stellar-specific parameter type to a form field type\n *\n * TODO: Implement proper Stellar type mapping in future phases\n */\nexport function mapStellarParameterTypeToFieldType(_parameterType: string): FieldType {\n  // Placeholder implementation that defaults everything to text fields\n  return 'text';\n}\n\n/**\n * Get field types compatible with a specific parameter type\n * @param _parameterType The blockchain parameter type\n * @returns Array of compatible field types\n *\n * TODO: Implement proper Stellar field type compatibility in future phases\n */\nexport function getStellarCompatibleFieldTypes(_parameterType: string): FieldType[] {\n  // Placeholder implementation that returns all field types\n  return [\n    'text',\n    'number',\n    'checkbox',\n    'radio',\n    'select',\n    'textarea',\n    'date',\n    'email',\n    'password',\n    'blockchain-address',\n    'amount',\n    'hidden',\n  ];\n}\n","import type {\n  FieldType,\n  FieldValue,\n  FormFieldType,\n  FunctionParameter,\n} from '@openzeppelin/contracts-ui-builder-types';\n\n/**\n * Generate default field configuration for a Stellar function parameter\n *\n * TODO: Implement proper Stellar field generation in future phases\n */\nexport function generateStellarDefaultField<T extends FieldType = FieldType>(\n  parameter: FunctionParameter\n): FormFieldType<T> {\n  // Default to text fields for now as a placeholder\n  const fieldType = 'text' as T;\n\n  return {\n    id: Math.random().toString(36).substring(2, 11),\n    name: parameter.name || 'placeholder',\n    label: parameter.displayName || parameter.name || 'Placeholder Field',\n    type: fieldType,\n    placeholder: 'Placeholder - Stellar adapter not fully implemented yet',\n    helperText: 'Stellar adapter is not fully implemented yet',\n    defaultValue: '' as FieldValue<T>,\n    validation: { required: true },\n    width: 'full',\n  };\n}\n","import type {\n  ContractSchema,\n  NetworkConfig,\n  StellarNetworkConfig,\n} from '@openzeppelin/contracts-ui-builder-types';\nimport { logger } from '@openzeppelin/contracts-ui-builder-utils';\n\n/**\n * Queries a view function on a contract\n */\nexport async function queryStellarViewFunction(\n  _contractAddress: string,\n  _functionId: string,\n  networkConfig: NetworkConfig,\n  _params: unknown[] = [],\n  _contractSchema?: ContractSchema\n): Promise<unknown> {\n  if (networkConfig.ecosystem !== 'stellar') {\n    throw new Error('Invalid network configuration for Stellar query.');\n  }\n  const stellarConfig = networkConfig as StellarNetworkConfig;\n\n  // TODO: Implement Stellar contract query functionality using:\n  // - stellarConfig.horizonUrl\n  // - _contractAddress, _functionId, _params, _contractSchema\n  // - Potentially use stellar-sdk\n  logger.warn(\n    'queryStellarViewFunction',\n    `Not implemented for network: ${stellarConfig.name} (Horizon: ${stellarConfig.horizonUrl})`\n  );\n  throw new Error('Stellar view function queries not yet implemented');\n}\n","import type { ContractFunction } from '@openzeppelin/contracts-ui-builder-types';\n\n/**\n * Determines if a function is a view/pure function (read-only)\n */\nexport function isStellarViewFunction(_functionDetails: ContractFunction): boolean {\n  // TODO: Implement properly for Stellar Soroban contracts\n  return false; // Temporary placeholder\n}\n","import type { ContractSchema, FormFieldType } from '@openzeppelin/contracts-ui-builder-types';\nimport { logger } from '@openzeppelin/contracts-ui-builder-utils';\n\n/**\n * @inheritdoc\n */\nexport function formatStellarTransactionData(\n  _contractSchema: ContractSchema,\n  _functionId: string,\n  _submittedInputs: Record<string, unknown>,\n  _fields: FormFieldType[]\n): unknown {\n  logger.warn(\n    'adapter-stellar',\n    'formatTransactionData not implemented, returning placeholder data.'\n  );\n  // Placeholder implementation\n  return { data: 'stellar_formatted_placeholder' };\n}\n","import type { ExecutionConfig } from '@openzeppelin/contracts-ui-builder-types';\nimport { logger } from '@openzeppelin/contracts-ui-builder-utils';\n\nconst SYSTEM_LOG_TAG = 'adapter-stellar';\n\n/**\n * Sign and broadcast a transaction\n *\n * TODO: Implement proper Stellar transaction signing in future phases\n */\nexport function signAndBroadcastStellarTransaction(\n  _transactionData: unknown,\n  executionConfig?: ExecutionConfig\n): Promise<{ txHash: string }> {\n  logger.info(\n    SYSTEM_LOG_TAG,\n    'Stellar signAndBroadcast called with executionConfig:',\n    executionConfig\n  );\n  // TODO: Use executionConfig\n  return Promise.resolve({ txHash: 'stellar_placeholder_tx' });\n}\n\n/**\n * (Optional) Waits for a transaction to be confirmed on the blockchain.\n *\n * @param _txHash - The hash of the transaction to wait for.\n * @returns A promise resolving to the final status and receipt/error.\n */\nexport const waitForStellarTransactionConfirmation: undefined = undefined;\n// Optional methods can be implemented later if needed, for now export undefined\n// export function waitForStellarTransactionConfirmation(txHash: string): Promise<{\n//   status: 'success' | 'error';\n//   receipt?: unknown;\n//   error?: Error;\n// }> {\n//   // Placeholder logic\n//   console.warn('waitForStellarTransactionConfirmation placeholder called');\n//   return Promise.resolve({ status: 'success' as const });\n// }\n","import { logger } from '@openzeppelin/contracts-ui-builder-utils';\n\n// TODO: Implement Stellar-specific input parsing logic if needed.\n\n// Placeholder function - adapt as needed\nexport function parseStellarInput(\n  _fieldType: string,\n  _value: unknown,\n  _parameterType: string\n): unknown {\n  logger.warn('adapter-stellar', 'parseStellarInput not implemented, returning raw value.');\n  return _value; // Placeholder: return value as is\n}\n","import type { ContractFunction } from '@openzeppelin/contracts-ui-builder-types';\n\n/**\n * Formats a function result for display\n */\nexport function formatStellarFunctionResult(\n  result: unknown,\n  _functionDetails: ContractFunction\n): string {\n  // TODO: Implement Stellar-specific result formatting\n  if (result === null || result === undefined) {\n    return 'No data';\n  }\n\n  // Placeholder: Return simple string representation\n  return String(result);\n}\n","import type { Connector } from '@openzeppelin/contracts-ui-builder-types';\n\n/**\n * Indicates if this adapter supports wallet connection\n * @returns Whether wallet connection is supported by this adapter\n */\nexport function supportsStellarWalletConnection(): boolean {\n  return false; // Stellar wallet connection not yet implemented\n}\n\nexport async function getStellarAvailableConnectors(): Promise<Connector[]> {\n  return [];\n}\n\nexport async function connectStellarWallet(\n  _connectorId: string\n): Promise<{ connected: boolean; address?: string; error?: string }> {\n  return { connected: false, error: 'Stellar adapter does not support wallet connection.' };\n}\n\nexport async function disconnectStellarWallet(): Promise<{\n  disconnected: boolean;\n  error?: string;\n}> {\n  return { disconnected: false, error: 'Stellar adapter does not support wallet connection.' };\n}\n\n/**\n * @inheritdoc\n */\nexport function getStellarWalletConnectionStatus(): {\n  isConnected: boolean;\n  address?: string;\n  chainId?: string;\n} {\n  // Stub implementation: Always return disconnected status\n  return { isConnected: false };\n}\n","import { StellarNetworkConfig } from '@openzeppelin/contracts-ui-builder-types';\n\n// Placeholder for Stellar Public Network (Mainnet)\nexport const stellarPublic: StellarNetworkConfig = {\n  id: 'stellar-public',\n  exportConstName: 'stellarPublic',\n  name: 'Stellar',\n  ecosystem: 'stellar',\n  network: 'stellar',\n  type: 'mainnet',\n  isTestnet: false,\n  horizonUrl: 'https://horizon.stellar.org',\n  networkPassphrase: 'Public Global Stellar Network ; September 2015',\n  explorerUrl: 'https://stellar.expert/explorer/public',\n  icon: 'stellar',\n};\n","import { StellarNetworkConfig } from '@openzeppelin/contracts-ui-builder-types';\n\n// Placeholder for Stellar Testnet\nexport const stellarTestnet: StellarNetworkConfig = {\n  id: 'stellar-testnet',\n  exportConstName: 'stellarTestnet',\n  name: 'Stellar Testnet',\n  ecosystem: 'stellar',\n  network: 'stellar',\n  type: 'testnet',\n  isTestnet: true,\n  horizonUrl: 'https://horizon-testnet.stellar.org',\n  networkPassphrase: 'Test SDF Network ; September 2015',\n  explorerUrl: 'https://stellar.expert/explorer/testnet',\n  icon: 'stellar',\n};\n","import { StellarNetworkConfig } from '@openzeppelin/contracts-ui-builder-types';\n\nimport { stellarPublic } from './mainnet';\nimport { stellarTestnet } from './testnet';\n\n// All mainnet networks\nexport const stellarMainnetNetworks: StellarNetworkConfig[] = [stellarPublic];\n\n// All testnet networks\nexport const stellarTestnetNetworks: StellarNetworkConfig[] = [stellarTestnet];\n\n// All Stellar networks\nexport const stellarNetworks: StellarNetworkConfig[] = [\n  ...stellarMainnetNetworks,\n  ...stellarTestnetNetworks,\n];\n\n// Export individual networks as well\nexport { stellarPublic, stellarTestnet };\n","/**\n * Configuration for the Stellar adapter\n *\n * This file defines the dependencies required by the Stellar adapter\n * when generating exported projects. It follows the AdapterConfig\n * interface to provide a structured approach to dependency management.\n */\nexport const stellarAdapterConfig = {\n  /**\n   * Dependencies required by the Stellar adapter\n   * These will be included in exported projects that use this adapter\n   */\n  dependencies: {\n    // TODO: Review and update with real, verified dependencies and versions before production release\n\n    // Runtime dependencies\n    runtime: {\n      // Core Stellar libraries\n      'stellar-sdk': '^10.4.1',\n      '@stellar/freighter-api': '^1.5.1',\n\n      // Stellar wallet integration\n      '@stellar/design-system': '^0.5.1',\n      '@stellar/wallet-sdk': '^0.11.2',\n\n      // Utilities for Stellar development\n      'bignumber.js': '^9.1.1',\n      'js-xdr': '^1.3.0',\n    },\n\n    // Development dependencies\n    dev: {\n      // Testing utilities for Stellar\n      '@stellar/typescript-wallet-sdk': '^1.9.0',\n\n      // Soroban contract SDK for Stellar\n      // '@stellar/soroban-sdk': '^0.7.0',\n    },\n  },\n};\n"],"mappings":"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","names":["import_contracts_ui_builder_utils","import_contracts_ui_builder_utils","import_contracts_ui_builder_utils","import_contracts_ui_builder_utils","import_contracts_ui_builder_utils","import_contracts_ui_builder_utils","import_contracts_ui_builder_utils"]}