@fastnear/wallet-adapter-widget
Version:
User interfaces for select NEAR Protocol web3 wallets
1 lines • 3.71 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/adapters/here.ts"],"sourcesContent":["import { HereWallet } from \"@here-wallet/core\";\nimport { mapActionForWalletSelector } from \"../utils/actionToWalletSelector.js\";\n\nclass WalletAdapterError extends Error {\n constructor(message: string, public cause?: unknown) {\n super(message);\n this.name = \"WalletAdapterError\";\n if (cause) {\n this.stack += `\\nCaused by: ${cause instanceof Error ? cause.stack : String(cause)}`;\n }\n }\n}\n\nexport function createHereAdapter(): any {\n return {\n async signIn({ networkId, contractId, publicKey }) {\n try {\n const here = await HereWallet.connect({ networkId });\n const accountId = await here.signIn({ contractId });\n const key = await here.authStorage.getKey(networkId, accountId);\n\n return {\n state: {\n accountId,\n privateKey: key.toString(),\n networkId,\n },\n };\n } catch (error) {\n throw new WalletAdapterError(\"Failed to sign in\", error);\n }\n },\n\n async sendTransactions({ state, transactions }) {\n if (!state?.accountId) {\n throw new WalletAdapterError(\"Not signed in\");\n }\n\n const wallet = await HereWallet.connect({ networkId: state?.networkId });\n\n try {\n const response = await wallet.signAndSendTransactions({\n transactions: transactions.map(\n ({ signerId, receiverId, actions }) => {\n if (signerId && signerId !== state.accountId) {\n throw new WalletAdapterError(\"Invalid signer\");\n }\n return {\n signerId: state.accountId,\n receiverId,\n actions: actions.map(mapActionForWalletSelector),\n };\n }\n ),\n });\n\n return { outcomes: response };\n } catch (error) {\n if (\n error instanceof Error &&\n (error.message === \"User cancelled the action\" ||\n error.message === \"User closed the window before completing the action\")\n ) {\n return { rejected: true };\n }\n throw new WalletAdapterError(\"Transaction signing failed\", error);\n }\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA2B;AAC3B,oCAA2C;AAE3C,MAAM,2BAA2B,MAAM;AAAA,EACrC,YAAY,SAAwB,OAAiB;AACnD,UAAM,OAAO;AADqB;AAElC,SAAK,OAAO;AACZ,QAAI,OAAO;AACT,WAAK,SAAS;AAAA,aAAgB,iBAAiB,QAAQ,MAAM,QAAQ,OAAO,KAAK,CAAC;AAAA,IACpF;AAAA,EACF;AAAA,EAVF,OAGuC;AAAA;AAAA;AAQvC;AAEO,SAAS,oBAAyB;AACvC,SAAO;AAAA,IACL,MAAM,OAAO,EAAE,WAAW,YAAY,UAAU,GAAG;AACjD,UAAI;AACF,cAAM,OAAO,MAAM,uBAAW,QAAQ,EAAE,UAAU,CAAC;AACnD,cAAM,YAAY,MAAM,KAAK,OAAO,EAAE,WAAW,CAAC;AAClD,cAAM,MAAM,MAAM,KAAK,YAAY,OAAO,WAAW,SAAS;AAE9D,eAAO;AAAA,UACL,OAAO;AAAA,YACL;AAAA,YACA,YAAY,IAAI,SAAS;AAAA,YACzB;AAAA,UACF;AAAA,QACF;AAAA,MACF,SAAS,OAAO;AACd,cAAM,IAAI,mBAAmB,qBAAqB,KAAK;AAAA,MACzD;AAAA,IACF;AAAA,IAEA,MAAM,iBAAiB,EAAE,OAAO,aAAa,GAAG;AAC9C,UAAI,CAAC,OAAO,WAAW;AACrB,cAAM,IAAI,mBAAmB,eAAe;AAAA,MAC9C;AAEA,YAAM,SAAS,MAAM,uBAAW,QAAQ,EAAE,WAAW,OAAO,UAAU,CAAC;AAEvE,UAAI;AACF,cAAM,WAAW,MAAM,OAAO,wBAAwB;AAAA,UACpD,cAAc,aAAa;AAAA,YACzB,CAAC,EAAE,UAAU,YAAY,QAAQ,MAAM;AACrC,kBAAI,YAAY,aAAa,MAAM,WAAW;AAC5C,sBAAM,IAAI,mBAAmB,gBAAgB;AAAA,cAC/C;AACA,qBAAO;AAAA,gBACL,UAAU,MAAM;AAAA,gBAChB;AAAA,gBACA,SAAS,QAAQ,IAAI,wDAA0B;AAAA,cACjD;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAED,eAAO,EAAE,UAAU,SAAS;AAAA,MAC9B,SAAS,OAAO;AACd,YACE,iBAAiB,UAChB,MAAM,YAAY,+BACjB,MAAM,YAAY,wDACpB;AACA,iBAAO,EAAE,UAAU,KAAK;AAAA,QAC1B;AACA,cAAM,IAAI,mBAAmB,8BAA8B,KAAK;AAAA,MAClE;AAAA,IACF;AAAA,EACF;AACF;AAxDgB;","names":[]}