UNPKG

rubanjs

Version:

Fractal JavaScript API

92 lines (88 loc) 2.59 kB
import { AbstractModule } from 'ruban-core'; import { ProviderDetector, ProviderResolver } from 'ruban-providers'; import * as Utils from 'ruban-utils'; import { Fra } from 'ruban-fra'; import { Network } from 'ruban-net'; import { Admin } from 'ruban-admin'; var version = "0.0.1"; class Ruban extends AbstractModule { constructor(provider, net, options = {}) { super(provider, options, null, net); this.fra = new Fra(this.currentProvider, net, options); this.utils = Utils; this.version = version; } get wallet() { return this.fra.wallet; } set defaultGasPrice(value) { super.defaultGasPrice = value; this.fra.defaultGasPrice = value; } get defaultGasPrice() { return super.defaultGasPrice; } set defaultGas(value) { super.defaultGas = value; this.fra.defaultGas = value; } get defaultGas() { return super.defaultGas; } set transactionBlockTimeout(value) { super.transactionBlockTimeout = value; this.fra.transactionBlockTimeout = value; } get transactionBlockTimeout() { return super.transactionBlockTimeout; } set transactionConfirmationBlocks(value) { super.transactionConfirmationBlocks = value; this.fra.transactionConfirmationBlocks = value; } get transactionConfirmationBlocks() { return super.transactionConfirmationBlocks; } set transactionPollingTimeout(value) { super.transactionPollingTimeout = value; this.fra.transactionPollingTimeout = value; } get transactionPollingTimeout() { return super.transactionPollingTimeout; } set defaultAccount(value) { super.defaultAccount = value; this.fra.defaultAccount = value; } get defaultAccount() { return super.defaultAccount; } set defaultBlock(value) { super.defaultBlock = value; this.fra.defaultBlock = value; } get defaultBlock() { return super.defaultBlock; } setProvider(provider, net) { return super.setProvider(provider, net) && this.fra.setProvider(provider, net); } static get givenProvider() { return ProviderDetector.detect(); } static get modules() { const providerResolver = new ProviderResolver(); return { Fra: (provider, options, net) => { return new Fra(providerResolver.resolve(provider, net), options); }, Net: (provider, options, net) => { return new Network(providerResolver.resolve(provider, net), options); }, Admin: (provider, options, net) => { return new Admin(providerResolver.resolve(provider, net), options); } }; } } export default Ruban;