PHP WebShell
Текущая директория: /opt/BitGoJS/node_modules/near-api-js/lib
Просмотр файла: near.js
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Near = void 0;
/**
* This module contains the main class developers will use to interact with NEAR.
* The {@link Near} class is used to interact with {@link Account | Accounts} through the {@link JsonRpcProvider.JsonRpcProvider | JsonRpcProvider}.
* It is configured via the {@link NearConfig}.
*
* @example {@link https://docs.near.org/docs/develop/front-end/naj-quick-reference#account}
*
* @module near
*/
const bn_js_1 = __importDefault(require("bn.js"));
const account_1 = require("./account");
const connection_1 = require("./connection");
const contract_1 = require("./contract");
const account_creator_1 = require("./account_creator");
/**
* This is the main class developers should use to interact with NEAR.
* @example
* ```js
* const near = new Near(config);
* ```
*/
class Near {
constructor(config) {
this.config = config;
this.connection = connection_1.Connection.fromConfig({
networkId: config.networkId,
provider: { type: 'JsonRpcProvider', args: { url: config.nodeUrl, headers: config.headers } },
signer: config.signer || { type: 'InMemorySigner', keyStore: config.keyStore || config.deps.keyStore }
});
if (config.masterAccount) {
// TODO: figure out better way of specifiying initial balance.
// Hardcoded number below must be enough to pay the gas cost to dev-deploy with near-shell for multiple times
const initialBalance = config.initialBalance ? new bn_js_1.default(config.initialBalance) : new bn_js_1.default('500000000000000000000000000');
this.accountCreator = new account_creator_1.LocalAccountCreator(new account_1.Account(this.connection, config.masterAccount), initialBalance);
}
else if (config.helperUrl) {
this.accountCreator = new account_creator_1.UrlAccountCreator(this.connection, config.helperUrl);
}
else {
this.accountCreator = null;
}
}
/**
* @param accountId near accountId used to interact with the network.
*/
async account(accountId) {
const account = new account_1.Account(this.connection, accountId);
return account;
}
/**
* Create an account using the {@link AccountCreator}. Either:
* * using a masterAccount with {@link LocalAccountCreator}
* * using the helperUrl with {@link UrlAccountCreator}
* @see {@link NearConfig.masterAccount} and {@link NearConfig.helperUrl}-
*
* @param accountId
* @param publicKey
*/
async createAccount(accountId, publicKey) {
if (!this.accountCreator) {
throw new Error('Must specify account creator, either via masterAccount or helperUrl configuration settings.');
}
await this.accountCreator.createAccount(accountId, publicKey);
return new account_1.Account(this.connection, accountId);
}
/**
* @deprecated Use {@link Contract} instead.
* @param contractId
* @param options
*/
async loadContract(contractId, options) {
const account = new account_1.Account(this.connection, options.sender);
return new contract_1.Contract(account, contractId, options);
}
/**
* @deprecated Use {@link Account.sendMoney} instead.
* @param amount
* @param originator
* @param receiver
*/
async sendTokens(amount, originator, receiver) {
console.warn('near.sendTokens is deprecated. Use `yourAccount.sendMoney` instead.');
const account = new account_1.Account(this.connection, originator);
const result = await account.sendMoney(receiver, amount);
return result.transaction_outcome.id;
}
}
exports.Near = Near;
Выполнить команду
Для локальной разработки. Не используйте в интернете!