rubanjs
Version:
Fractal JavaScript API
140 lines (134 loc) • 4.9 kB
JavaScript
'use strict';
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var _classCallCheck = _interopDefault(require('@babel/runtime/helpers/classCallCheck'));
var _createClass = _interopDefault(require('@babel/runtime/helpers/createClass'));
var _possibleConstructorReturn = _interopDefault(require('@babel/runtime/helpers/possibleConstructorReturn'));
var _get = _interopDefault(require('@babel/runtime/helpers/get'));
var _getPrototypeOf = _interopDefault(require('@babel/runtime/helpers/getPrototypeOf'));
var _set = _interopDefault(require('@babel/runtime/helpers/set'));
var _inherits = _interopDefault(require('@babel/runtime/helpers/inherits'));
var rubanCore = require('ruban-core');
var rubanProviders = require('ruban-providers');
var Utils = require('ruban-utils');
var rubanFra = require('ruban-fra');
var rubanNet = require('ruban-net');
var rubanAdmin = require('ruban-admin');
var version = "0.0.1";
var Ruban =
function (_AbstractModule) {
_inherits(Ruban, _AbstractModule);
function Ruban(provider, net) {
var _this;
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
_classCallCheck(this, Ruban);
_this = _possibleConstructorReturn(this, _getPrototypeOf(Ruban).call(this, provider, options, null, net));
_this.fra = new rubanFra.Fra(_this.currentProvider, net, options);
_this.utils = Utils;
_this.version = version;
return _this;
}
_createClass(Ruban, [{
key: "setProvider",
value: function setProvider(provider, net) {
return _get(_getPrototypeOf(Ruban.prototype), "setProvider", this).call(this, provider, net) && this.fra.setProvider(provider, net);
}
}, {
key: "wallet",
get: function get() {
return this.fra.wallet;
}
}, {
key: "defaultGasPrice",
set: function set(value) {
_set(_getPrototypeOf(Ruban.prototype), "defaultGasPrice", value, this, true);
this.fra.defaultGasPrice = value;
}
,
get: function get() {
return _get(_getPrototypeOf(Ruban.prototype), "defaultGasPrice", this);
}
}, {
key: "defaultGas",
set: function set(value) {
_set(_getPrototypeOf(Ruban.prototype), "defaultGas", value, this, true);
this.fra.defaultGas = value;
}
,
get: function get() {
return _get(_getPrototypeOf(Ruban.prototype), "defaultGas", this);
}
}, {
key: "transactionBlockTimeout",
set: function set(value) {
_set(_getPrototypeOf(Ruban.prototype), "transactionBlockTimeout", value, this, true);
this.fra.transactionBlockTimeout = value;
}
,
get: function get() {
return _get(_getPrototypeOf(Ruban.prototype), "transactionBlockTimeout", this);
}
}, {
key: "transactionConfirmationBlocks",
set: function set(value) {
_set(_getPrototypeOf(Ruban.prototype), "transactionConfirmationBlocks", value, this, true);
this.fra.transactionConfirmationBlocks = value;
}
,
get: function get() {
return _get(_getPrototypeOf(Ruban.prototype), "transactionConfirmationBlocks", this);
}
}, {
key: "transactionPollingTimeout",
set: function set(value) {
_set(_getPrototypeOf(Ruban.prototype), "transactionPollingTimeout", value, this, true);
this.fra.transactionPollingTimeout = value;
}
,
get: function get() {
return _get(_getPrototypeOf(Ruban.prototype), "transactionPollingTimeout", this);
}
}, {
key: "defaultAccount",
set: function set(value) {
_set(_getPrototypeOf(Ruban.prototype), "defaultAccount", value, this, true);
this.fra.defaultAccount = value;
}
,
get: function get() {
return _get(_getPrototypeOf(Ruban.prototype), "defaultAccount", this);
}
}, {
key: "defaultBlock",
set: function set(value) {
_set(_getPrototypeOf(Ruban.prototype), "defaultBlock", value, this, true);
this.fra.defaultBlock = value;
}
,
get: function get() {
return _get(_getPrototypeOf(Ruban.prototype), "defaultBlock", this);
}
}], [{
key: "givenProvider",
get: function get() {
return rubanProviders.ProviderDetector.detect();
}
}, {
key: "modules",
get: function get() {
var providerResolver = new rubanProviders.ProviderResolver();
return {
Fra: function Fra(provider, options, net) {
return new rubanFra.Fra(providerResolver.resolve(provider, net), options);
},
Net: function Net(provider, options, net) {
return new rubanNet.Network(providerResolver.resolve(provider, net), options);
},
Admin: function Admin(provider, options, net) {
return new rubanAdmin.Admin(providerResolver.resolve(provider, net), options);
}
};
}
}]);
return Ruban;
}(rubanCore.AbstractModule);
module.exports = Ruban;