UNPKG

@creit.tech/stellar-wallets-kit

Version:
1 lines 6.73 kB
{"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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"}