UNPKG

@funded-labs/plug-controller

Version:

Internet Computer Plug wallet's controller

46 lines (45 loc) 2.01 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createNNSActor = exports.createAgent = exports.createIdentity = void 0; /* eslint-disable no-underscore-dangle */ /* eslint-disable @typescript-eslint/camelcase */ /* eslint-disable camelcase */ const agent_1 = require("@dfinity/agent"); const cross_fetch_1 = __importDefault(require("cross-fetch")); const identity_1 = __importDefault(require("../identity/secpk256k1/identity")); const wrappedFetch_1 = require("./wrappedFetch"); const constants_1 = require("./constants"); const errors_1 = require("../../errors"); const createIdentity = (secretKey) => identity_1.default.fromSecretKey(secretKey); exports.createIdentity = createIdentity; const createAgent = ({ secretKey, defaultIdentity, fetch = cross_fetch_1.default, host, wrapped = true, }) => { if (!defaultIdentity && !secretKey) throw new Error(errors_1.ERRORS.EMPTY_IDENTITY_ERROR); const identity = defaultIdentity || (secretKey ? (0, exports.createIdentity)(secretKey) : new agent_1.AnonymousIdentity()); const agent = new agent_1.HttpAgent({ host: (wrapped ? constants_1.PLUG_PROXY_HOST : host) || constants_1.PLUG_PROXY_HOST, fetch: wrapped ? (0, wrappedFetch_1.wrappedFetch)(fetch) : fetch, identity, fetchOptions: { reactNative: { __nativeResponseType: 'base64', }, }, callOptions: { reactNative: { textStreaming: true, }, }, }); if (host && !constants_1.IC_MAINNET_URLS.includes(host)) { agent.fetchRootKey(); } return agent; }; exports.createAgent = createAgent; var nns_uid_1 = require("./nns_uid"); Object.defineProperty(exports, "createNNSActor", { enumerable: true, get: function () { return nns_uid_1.createNNSActor; } });