rubanjs
Version:
Fractal JavaScript API
92 lines (88 loc) • 2.59 kB
JavaScript
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;