UNPKG

@fastnear/wallet-adapter-widget

Version:

User interfaces for select NEAR Protocol web3 wallets

96 lines 3.6 kB
/* ⋈ 🏃🏻💨 FastNEAR Wallet Adapter Widget - CJS (@fastnear/wallet-adapter-widget v0.9.7) */ /* https://www.npmjs.com/package/@fastnear/wallet-adapter-widget/v/0.9.7 */ "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var here_exports = {}; __export(here_exports, { createHereAdapter: () => createHereAdapter }); module.exports = __toCommonJS(here_exports); var import_core = require("@here-wallet/core"); var import_actionToWalletSelector = require("../utils/actionToWalletSelector.js"); class WalletAdapterError extends Error { constructor(message, cause) { super(message); this.cause = cause; this.name = "WalletAdapterError"; if (cause) { this.stack += ` Caused by: ${cause instanceof Error ? cause.stack : String(cause)}`; } } static { __name(this, "WalletAdapterError"); } } function createHereAdapter() { return { async signIn({ networkId, contractId, publicKey }) { try { const here = await import_core.HereWallet.connect({ networkId }); const accountId = await here.signIn({ contractId }); const key = await here.authStorage.getKey(networkId, accountId); return { state: { accountId, privateKey: key.toString(), networkId } }; } catch (error) { throw new WalletAdapterError("Failed to sign in", error); } }, async sendTransactions({ state, transactions }) { if (!state?.accountId) { throw new WalletAdapterError("Not signed in"); } const wallet = await import_core.HereWallet.connect({ networkId: state?.networkId }); try { const response = await wallet.signAndSendTransactions({ transactions: transactions.map( ({ signerId, receiverId, actions }) => { if (signerId && signerId !== state.accountId) { throw new WalletAdapterError("Invalid signer"); } return { signerId: state.accountId, receiverId, actions: actions.map(import_actionToWalletSelector.mapActionForWalletSelector) }; } ) }); return { outcomes: response }; } catch (error) { if (error instanceof Error && (error.message === "User cancelled the action" || error.message === "User closed the window before completing the action")) { return { rejected: true }; } throw new WalletAdapterError("Transaction signing failed", error); } } }; } __name(createHereAdapter, "createHereAdapter"); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { createHereAdapter }); //# sourceMappingURL=here.cjs.map