UNPKG

@creit.tech/stellar-wallets-kit

Version:
1 lines 4.17 kB
{"version":3,"file":"lobstr.module.mjs","sources":["../../src/modules/lobstr.module.ts"],"sourcesContent":["import { isConnected, getPublicKey, signTransaction } from '@lobstrco/signer-extension-api';\nimport { ModuleInterface, ModuleType } from '../types';\nimport { parseError } from '../utils';\n\nexport const LOBSTR_ID = 'lobstr';\n\nexport class LobstrModule implements ModuleInterface {\n moduleType: ModuleType = ModuleType.HOT_WALLET;\n\n productId: string = LOBSTR_ID;\n productName: string = 'LOBSTR';\n productUrl: string = 'https://lobstr.co';\n productIcon: string = 'https://stellar.creit.tech/wallet-icons/lobstr.png';\n\n async isAvailable(): Promise<boolean> {\n return isConnected();\n }\n\n async getAddress(): Promise<{ address: string }> {\n const runChecks = async () => {\n if (!(await isConnected())) {\n throw new Error(`Lobstr is not connected`);\n }\n };\n\n return runChecks()\n .then(() => getPublicKey())\n .then(address => ({ address }))\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 const runChecks = async () => {\n if (!(await isConnected())) {\n throw new Error(`Lobstr is not connected`);\n }\n\n if (opts?.address) {\n console.warn(`Lobstr doesn't allow specifying what public key should sign the transaction, we skip the value`);\n }\n\n if (opts?.networkPassphrase) {\n console.warn(`Lobstr doesn't allow specifying the network that should be used, we skip the value`);\n }\n };\n\n return runChecks()\n .then(() => signTransaction(xdr))\n .then(signedTxXdr => ({ signedTxXdr }))\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: 'Lobstr does not support the \"signAuthEntry\" function',\n };\n }\n\n async signMessage(): Promise<{ signedMessage: string; signerAddress?: string }> {\n throw {\n code: -3,\n message: 'Lobstr does not support the \"signMessage\" function',\n };\n }\n\n async getNetwork(): Promise<{ network: string; networkPassphrase: string }> {\n throw {\n code: -3,\n message: 'Lobstr does not support the \"getNetwork\" function',\n };\n }\n}\n"],"names":[],"mappings":";;;;AAIO,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,mBAAA;AACrB,IAAsB,IAAA,CAAA,WAAA,GAAA,oDAAA;AAAA;AAAA,EAEtB,MAAM,WAAgC,GAAA;AACpC,IAAA,OAAO,WAAY,EAAA;AAAA;AACrB,EAEA,MAAM,UAA2C,GAAA;AAC/C,IAAA,MAAM,YAAY,YAAY;AAC5B,MAAI,IAAA,CAAE,MAAM,WAAA,EAAgB,EAAA;AAC1B,QAAM,MAAA,IAAI,MAAM,CAAyB,uBAAA,CAAA,CAAA;AAAA;AAC3C,KACF;AAEA,IAAA,OAAO,SAAU,EAAA,CACd,IAAK,CAAA,MAAM,cAAc,CAAA,CACzB,IAAK,CAAA,CAAA,OAAA,MAAY,EAAE,OAAA,EAAU,CAAA,CAAA,CAC7B,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,MAAM,YAAY,YAAY;AAC5B,MAAI,IAAA,CAAE,MAAM,WAAA,EAAgB,EAAA;AAC1B,QAAM,MAAA,IAAI,MAAM,CAAyB,uBAAA,CAAA,CAAA;AAAA;AAG3C,MAAA,IAAI,MAAM,OAAS,EAAA;AACjB,QAAA,OAAA,CAAQ,KAAK,CAAgG,8FAAA,CAAA,CAAA;AAAA;AAG/G,MAAA,IAAI,MAAM,iBAAmB,EAAA;AAC3B,QAAA,OAAA,CAAQ,KAAK,CAAoF,kFAAA,CAAA,CAAA;AAAA;AACnG,KACF;AAEA,IAAA,OAAO,SAAU,EAAA,CACd,IAAK,CAAA,MAAM,gBAAgB,GAAG,CAAC,CAC/B,CAAA,IAAA,CAAK,kBAAgB,EAAE,WAAA,EAAc,CAAA,CAAA,CACrC,MAAM,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,EAEA,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;;;;"}