@funded-labs/plug-controller
Version:
Internet Computer Plug wallet's controller
46 lines (45 loc) • 2.01 kB
JavaScript
;
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; } });