UNPKG

@opendatalabs/vana-sdk

Version:

A TypeScript library for interacting with Vana Network smart contracts.

93 lines 4.12 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; 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 personal_server_lite_owner_binding_exports = {}; __export(personal_server_lite_owner_binding_exports, { PERSONAL_SERVER_LITE_OWNER_BINDING_PREFIX: () => PERSONAL_SERVER_LITE_OWNER_BINDING_PREFIX, PERSONAL_SERVER_LITE_OWNER_BINDING_PURPOSE: () => PERSONAL_SERVER_LITE_OWNER_BINDING_PURPOSE, PERSONAL_SERVER_LITE_OWNER_BINDING_VERSION: () => PERSONAL_SERVER_LITE_OWNER_BINDING_VERSION, buildPersonalServerLiteOwnerBindingMessage: () => buildPersonalServerLiteOwnerBindingMessage, buildPersonalServerLiteOwnerBindingSignature: () => buildPersonalServerLiteOwnerBindingSignature, createViemPersonalServerLiteOwnerBindingSigner: () => createViemPersonalServerLiteOwnerBindingSigner, signPersonalServerLiteOwnerBinding: () => signPersonalServerLiteOwnerBinding }); module.exports = __toCommonJS(personal_server_lite_owner_binding_exports); var import_viem = require("viem"); const PERSONAL_SERVER_LITE_OWNER_BINDING_VERSION = "vana.account.v1"; const PERSONAL_SERVER_LITE_OWNER_BINDING_PURPOSE = "ps-lite-owner"; const PERSONAL_SERVER_LITE_OWNER_BINDING_PREFIX = `${PERSONAL_SERVER_LITE_OWNER_BINDING_VERSION}:${PERSONAL_SERVER_LITE_OWNER_BINDING_PURPOSE}:`; function assertAddress(value, name) { if (!(0, import_viem.isAddress)(value)) { throw new Error(`${name} must be a valid EVM address`); } } function getAccountAddress(account) { if (!account) { return void 0; } return typeof account === "string" ? account : account.address; } function isPersonalServerLiteOwnerBindingSigner(source) { return "address" in source && typeof source.signMessage === "function"; } function buildPersonalServerLiteOwnerBindingMessage(ownerAddress) { assertAddress(ownerAddress, "ownerAddress"); return `${PERSONAL_SERVER_LITE_OWNER_BINDING_PREFIX}${ownerAddress.toLowerCase()}`; } function createViemPersonalServerLiteOwnerBindingSigner(source, options = {}) { if (isPersonalServerLiteOwnerBindingSigner(source)) { return source; } const accountAddress = getAccountAddress(options.account) ?? getAccountAddress(source.account); if (accountAddress) { return { address: accountAddress, signMessage: ({ message }) => source.signMessage({ account: options.account ?? source.account ?? accountAddress, message }) }; } throw new Error( "Viem wallet client requires an account option or account property" ); } async function buildPersonalServerLiteOwnerBindingSignature(input) { const message = buildPersonalServerLiteOwnerBindingMessage( input.signer.address ); const signature = await input.signer.signMessage({ message }); return { signature, signerAddress: input.signer.address, message, purpose: PERSONAL_SERVER_LITE_OWNER_BINDING_PURPOSE }; } const signPersonalServerLiteOwnerBinding = buildPersonalServerLiteOwnerBindingSignature; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { PERSONAL_SERVER_LITE_OWNER_BINDING_PREFIX, PERSONAL_SERVER_LITE_OWNER_BINDING_PURPOSE, PERSONAL_SERVER_LITE_OWNER_BINDING_VERSION, buildPersonalServerLiteOwnerBindingMessage, buildPersonalServerLiteOwnerBindingSignature, createViemPersonalServerLiteOwnerBindingSigner, signPersonalServerLiteOwnerBinding }); //# sourceMappingURL=personal-server-lite-owner-binding.cjs.map