UNPKG

@hot-labs/near-connect

Version:

![ezgif-26d74832f88c3c](https://github.com/user-attachments/assets/c4422057-38bb-4cd9-8bd0-568e29f46280)

86 lines 3.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParentFrameWallet = void 0; const actions_1 = require("./actions"); const uuid_1 = require("./helpers/uuid"); class ParentFrameWallet { connector; manifest; constructor(connector, manifest) { this.connector = connector; this.manifest = manifest; } callParentFrame(method, params) { const id = (0, uuid_1.uuid4)(); window.parent.postMessage({ type: "near-wallet-injected-request", id, method, params }, "*"); return new Promise((resolve, reject) => { const handler = (event) => { if (event.data.type === "near-wallet-injected-response" && event.data.id === id) { window.removeEventListener("message", handler); if (event.data.success) resolve(event.data.result); else reject(event.data.error); } }; window.addEventListener("message", handler); }); } async signIn(data) { const result = await this.callParentFrame("near:signIn", { network: data?.network ?? this.connector.network, addFunctionCallKey: data?.addFunctionCallKey, }); if (Array.isArray(result)) return result; return [result]; } async signInAndSignMessage(data) { const result = await this.callParentFrame("near:signInAndSignMessage", { network: data?.network ?? this.connector.network, addFunctionCallKey: data?.addFunctionCallKey, messageParams: data.messageParams, }); if (Array.isArray(result)) return result; return [result]; } async signOut(data) { const args = { ...data, network: data?.network ?? this.connector.network }; await this.callParentFrame("near:signOut", args); } async getAccounts(data) { const args = { ...data, network: data?.network ?? this.connector.network }; return this.callParentFrame("near:getAccounts", args); } async signAndSendTransaction(params) { const connectorActions = (0, actions_1.nearActionsToConnectorActions)(params.actions); const args = { ...params, actions: connectorActions, network: params.network ?? this.connector.network }; return this.callParentFrame("near:signAndSendTransaction", args); } async signAndSendTransactions(params) { const args = { ...params, network: params.network ?? this.connector.network }; args.transactions = args.transactions.map((transaction) => ({ actions: (0, actions_1.nearActionsToConnectorActions)(transaction.actions), receiverId: transaction.receiverId, })); return this.callParentFrame("near:signAndSendTransactions", args); } async signMessage(params) { const args = { ...params, network: params.network ?? this.connector.network }; return this.callParentFrame("near:signMessage", args); } async signDelegateActions(params) { const args = { ...params, delegateActions: params.delegateActions.map((delegateAction) => ({ ...delegateAction, actions: (0, actions_1.nearActionsToConnectorActions)(delegateAction.actions), })), network: params.network || this.connector.network, }; return this.callParentFrame("near:signDelegateActions", args); } } exports.ParentFrameWallet = ParentFrameWallet; //# sourceMappingURL=ParentFrameWallet.js.map