@creit.tech/stellar-wallets-kit
Version:
A kit to handle all Stellar Wallets at once
1 lines • 3.98 kB
Source Map (JSON)
{"version":3,"file":"albedo.module.mjs","sources":["../../src/modules/albedo.module.ts"],"sourcesContent":["import albedo from '@albedo-link/intent';\n\nimport { ModuleInterface, ModuleType, WalletNetwork } from '../types';\nimport { parseError } from '../utils';\n\nexport const ALBEDO_ID = 'albedo';\n\nexport class AlbedoModule implements ModuleInterface {\n moduleType: ModuleType = ModuleType.HOT_WALLET;\n\n productId: string = ALBEDO_ID;\n productName: string = 'Albedo';\n productUrl: string = 'https://albedo.link/';\n productIcon: string = 'https://stellar.creit.tech/wallet-icons/albedo.png';\n\n async isAvailable(): Promise<boolean> {\n return true;\n }\n\n async getAddress(): Promise<{ address: string }> {\n return albedo\n .publicKey({})\n .then(result => ({ address: result.pubkey }))\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 albedo\n .tx({\n xdr,\n pubkey: opts?.address,\n network: opts?.networkPassphrase\n ? opts.networkPassphrase === WalletNetwork.PUBLIC\n ? AlbedoNetwork.PUBLIC\n : AlbedoNetwork.TESTNET\n : undefined,\n })\n .then(({ signed_envelope_xdr }) => ({\n signedTxXdr: signed_envelope_xdr,\n signerAddress: opts?.address,\n }))\n .catch(e => {\n throw parseError(e);\n });\n }\n\n async signAuthEntry(): Promise<{ signedAuthEntry: string; signerAddress?: string }> {\n throw {\n code: -3,\n message: 'Albedo does not support the \"signAuthEntry\" function',\n };\n }\n\n /**\n * We understand that Albedo has a method to sign a message, but that method is not compatible with SEP-0043\n */\n async signMessage(): Promise<{ signedMessage: string; signerAddress?: string }> {\n throw {\n code: -3,\n message: 'Albedo does not support the \"signMessage\" function',\n };\n }\n\n async getNetwork(): Promise<{ network: string; networkPassphrase: string }> {\n throw {\n code: -3,\n message: 'Albedo does not support the \"getNetwork\" function',\n };\n }\n}\n\nexport enum AlbedoNetwork {\n PUBLIC = 'public',\n TESTNET = 'testnet',\n}\n"],"names":["AlbedoNetwork"],"mappings":";;;;AAKO,MAAM,SAAY,GAAA;AAElB,MAAM,YAAwC,CAAA;AAAA,EAA9C,WAAA,GAAA;AACL,IAAA,IAAA,CAAA,UAAA,GAAyB,UAAW,CAAA,UAAA;AAEpC,IAAoB,IAAA,CAAA,SAAA,GAAA,SAAA;AACpB,IAAsB,IAAA,CAAA,WAAA,GAAA,QAAA;AACtB,IAAqB,IAAA,CAAA,UAAA,GAAA,sBAAA;AACrB,IAAsB,IAAA,CAAA,WAAA,GAAA,oDAAA;AAAA;AAAA,EAEtB,MAAM,WAAgC,GAAA;AACpC,IAAO,OAAA,IAAA;AAAA;AACT,EAEA,MAAM,UAA2C,GAAA;AAC/C,IAAA,OAAO,MACJ,CAAA,SAAA,CAAU,EAAE,EACZ,IAAK,CAAA,CAAA,MAAA,MAAW,EAAE,OAAA,EAAS,MAAO,CAAA,MAAA,EAAS,CAAA,CAAA,CAC3C,MAAM,CAAK,CAAA,KAAA;AACV,MAAA,MAAM,WAAW,CAAC,CAAA;AAAA,KACnB,CAAA;AAAA;AACL,EAEA,MAAM,eACJ,CAAA,GAAA,EACA,IAO0D,EAAA;AAC1D,IAAA,OAAO,OACJ,EAAG,CAAA;AAAA,MACF,GAAA;AAAA,MACA,QAAQ,IAAM,EAAA,OAAA;AAAA,MACd,OAAA,EAAS,MAAM,iBACX,GAAA,IAAA,CAAK,sBAAsB,aAAc,CAAA,MAAA,GACvC,wBACA,SACF,iBAAA,KAAA;AAAA,KACL,CACA,CAAA,IAAA,CAAK,CAAC,EAAE,qBAA2B,MAAA;AAAA,MAClC,WAAa,EAAA,mBAAA;AAAA,MACb,eAAe,IAAM,EAAA;AAAA,KACvB,CAAE,CACD,CAAA,KAAA,CAAM,CAAK,CAAA,KAAA;AACV,MAAA,MAAM,WAAW,CAAC,CAAA;AAAA,KACnB,CAAA;AAAA;AACL,EAEA,MAAM,aAA8E,GAAA;AAClF,IAAM,MAAA;AAAA,MACJ,IAAM,EAAA,CAAA,CAAA;AAAA,MACN,OAAS,EAAA;AAAA,KACX;AAAA;AACF;AAAA;AAAA;AAAA,EAKA,MAAM,WAA0E,GAAA;AAC9E,IAAM,MAAA;AAAA,MACJ,IAAM,EAAA,CAAA,CAAA;AAAA,MACN,OAAS,EAAA;AAAA,KACX;AAAA;AACF,EAEA,MAAM,UAAsE,GAAA;AAC1E,IAAM,MAAA;AAAA,MACJ,IAAM,EAAA,CAAA,CAAA;AAAA,MACN,OAAS,EAAA;AAAA,KACX;AAAA;AAEJ;AAEY,IAAA,aAAA,qBAAAA,cAAL,KAAA;AACL,EAAAA,eAAA,QAAS,CAAA,GAAA,QAAA;AACT,EAAAA,eAAA,SAAU,CAAA,GAAA,SAAA;AAFA,EAAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;;;;"}