@parity/light.js
Version:
A high-level reactive JS library optimized for light clients
56 lines (55 loc) • 1.86 kB
JavaScript
// Copyright 2015-2019 Parity Technologies (UK) Ltd.
// This file is part of Parity.
//
// SPDX-License-Identifier: MIT
Object.defineProperty(exports, "__esModule", { value: true });
var createRpc_1 = require("./utils/createRpc");
var frequency_1 = require("../frequency");
var operators_1 = require("../utils/operators");
/**
* Get accounts info. Calls `parity_accountsInfo`. Works only with a Parity
* node.
*
* @return - An Observable containing all info that can be
* accessed by user concerning accounts.
*/
function accountsInfo$(options) {
return createRpc_1.default({
frequency: [frequency_1.default.onAccountsInfoChanged$],
name: 'accountsInfo$'
})()(options);
}
exports.accountsInfo$ = accountsInfo$;
/**
* Get the name of the current chain. Calls `parity_chain`. Works only with
* a Parity node.
*
* @return - An Observable containing the name of the
* current chain.
*/
function chainName$(options) {
return createRpc_1.default({
calls: ['parity_chain'],
frequency: [frequency_1.default.onStartup$],
name: 'chainName$',
pipes: function (api) { return [operators_1.switchMapPromise(function () { return api.parity.chain(); })]; }
})(options)();
}
exports.chainName$ = chainName$;
/**
* Get the version info of Parity Ethereum. Calls `parity_versionInfo`.
*
* @return - An Observable containing the version object: {major, minor, patch}
*/
function versionInfo$(options) {
return createRpc_1.default({
calls: ['parity_versionInfo'],
frequency: [frequency_1.default.onStartup$],
name: 'versionInfo$',
pipes: function (api) { return [
operators_1.switchMapPromise(function () { return api.parity.versionInfo(); }, { emitErrors: true })
]; }
})(options)();
}
exports.versionInfo$ = versionInfo$;
;