PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@near-js/accounts/lib/commonjs
Просмотр файла: connection.cjs
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Connection = void 0;
const signers_1 = require("@near-js/signers");
const providers_1 = require("@near-js/providers");
/**
* @param config Contains connection info details
* @returns {Provider}
*/
function getProvider(config) {
switch (config.type) {
case undefined:
return config;
case 'JsonRpcProvider': return new providers_1.JsonRpcProvider({ ...config.args });
case 'FailoverRpcProvider': {
const providers = (config?.args || []).map((arg) => new providers_1.JsonRpcProvider(arg));
return new providers_1.FailoverRpcProvider(providers);
}
default: throw new Error(`Unknown provider type ${config.type}`);
}
}
/**
* @param config Contains connection info details
* @returns {Signer}
*/
function getSigner(config) {
switch (config.type) {
case undefined:
return config;
case 'InMemorySigner': {
return new signers_1.InMemorySigner(config.keyStore);
}
default: throw new Error(`Unknown signer type ${config.type}`);
}
}
/**
* Connects an account to a given network via a given provider
*/
class Connection {
networkId;
provider;
signer;
jsvmAccountId;
constructor(networkId, provider, signer, jsvmAccountId) {
this.networkId = networkId;
this.provider = provider;
this.signer = signer;
this.jsvmAccountId = jsvmAccountId;
}
getConnection() {
return this;
}
/**
* @param config Contains connection info details
*/
static fromConfig(config) {
const provider = getProvider(config.provider);
const signer = getSigner(config.signer);
return new Connection(config.networkId, provider, signer, config.jsvmAccountId);
}
}
exports.Connection = Connection;
Выполнить команду
Для локальной разработки. Не используйте в интернете!