{"version":3,"file":"freighter.module.cjs","sources":["../../src/modules/freighter.module.ts"],"sourcesContent":["import {\n  isConnected,\n  signTransaction,\n  signAuthEntry,\n  requestAccess,\n  signMessage,\n  getNetwork,\n  getAddress,\n} from '@stellar/freighter-api';\nimport { ModuleInterface, ModuleType } from '../types';\nimport { parseError } from '../utils';\nimport { Buffer } from 'buffer';\n\nexport const FREIGHTER_ID = 'freighter';\n\nexport class FreighterModule implements ModuleInterface {\n  moduleType: ModuleType = ModuleType.HOT_WALLET;\n\n  productId: string = FREIGHTER_ID;\n  productName: string = 'Freighter';\n  productUrl: string = 'https://freighter.app';\n  productIcon: string = 'https://stellar.creit.tech/wallet-icons/freighter.png';\n\n  async runChecks(): Promise<void> {\n    if (!(await this.isAvailable())) {\n      throw new Error('Freighter is not connected');\n    }\n  }\n\n  async isAvailable(): Promise<boolean> {\n    return isConnected()\n      .then(({ isConnected, error }) => !error && isConnected)\n      .catch((): boolean => false);\n  }\n\n  async getAddress(): Promise<{ address: string }> {\n    return this.runChecks()\n      .then(() => requestAccess())\n      .then(() => getAddress())\n      .then(({ address, error }) => {\n        if (error) throw error;\n\n        return { address };\n      })\n      .catch(e => {\n        throw parseError(e);\n      });\n  }\n\n  async signTransaction(\n    xdr: string,\n    opts?: {\n      networkPassphrase?: string;\n      address?: string;\n      path?: string;\n      submit?: boolean;\n      submitUrl?: string;\n    }\n  ): Promise<{ signedTxXdr: string; signerAddress?: string }> {\n    return this.runChecks()\n      .then(async () => {\n        const { signedTxXdr, signerAddress, error } = await signTransaction(xdr, {\n          address: opts?.address,\n          networkPassphrase: opts?.networkPassphrase,\n        });\n\n        if (error) throw error;\n\n        return { signedTxXdr, signerAddress: signerAddress };\n      })\n      .catch(e => {\n        throw parseError(e);\n      });\n  }\n\n  async signAuthEntry(\n    authEntry: string,\n    opts?: {\n      networkPassphrase?: string;\n      address?: string;\n      path?: string;\n    }\n  ): Promise<{ signedAuthEntry: string; signerAddress?: string }> {\n    return this.runChecks()\n      .then(async () => {\n        const { signedAuthEntry, signerAddress, error } = await signAuthEntry(authEntry, {\n          address: opts?.address,\n          networkPassphrase: opts?.networkPassphrase,\n        });\n\n        if (error || !signedAuthEntry) throw error;\n\n        return { signedAuthEntry: Buffer.from(signedAuthEntry).toString('base64'), signerAddress: signerAddress };\n      })\n      .catch(e => {\n        throw parseError(e);\n      });\n  }\n\n  async signMessage(\n    message: string,\n    opts?: {\n      networkPassphrase?: string;\n      address?: string;\n      path?: string;\n    }\n  ): Promise<{ signedMessage: string; signerAddress?: string }> {\n    return this.runChecks()\n      .then(async () => {\n        const { signedMessage, signerAddress, error } = await signMessage(message, {\n          address: opts?.address,\n          networkPassphrase: opts?.networkPassphrase,\n        });\n\n        if (error || !signedMessage) throw error;\n\n        return { signedMessage: Buffer.from(signedMessage).toString('base64'), signerAddress: signerAddress };\n      })\n      .catch(e => {\n        throw parseError(e);\n      });\n  }\n\n  async getNetwork(): Promise<{ network: string; networkPassphrase: string }> {\n    return this.runChecks()\n      .then(async () => {\n        const { network, networkPassphrase, error } = await getNetwork();\n\n        if (error) throw error;\n\n        return { network, networkPassphrase };\n      })\n      .catch(e => {\n        throw parseError(e);\n      });\n  }\n}\n"],"names":["ModuleType","isConnected","requestAccess","getAddress","parseError","signTransaction","signAuthEntry","Buffer","signMessage","getNetwork"],"mappings":"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"}