@owstack/wallet-service
Version:
A service for multisignature HD wallets
76 lines (66 loc) • 1.61 kB
JavaScript
;
var cLib = require('../cLib');
var owsCommon = require('@owstack/ows-common');
var Context = owsCommon.util.Context;
var BaseWalletService = require('../../base-service').WalletService;
var BaseServer = BaseWalletService.Server;
var Common = require('./common');
var Model = require('./model');
var Address = cLib.Address;
var BlockchainExplorer = require('./blockchainexplorer');
var Copayer = Model.Copayer;
var Defaults = Common.Defaults;
var Networks = cLib.Networks;
var Session = Model.Session;
var Storage = require('./storage');
var Transaction = cLib.Transaction;
var TxProposal = Model.TxProposal;
var Unit = cLib.Unit;
var Utils = Common.Utils;
var Wallet = Model.Wallet;
var instance;
var context = new Context({
Address: Address,
BlockchainExplorer: BlockchainExplorer,
Copayer: Copayer,
Defaults: Defaults,
Networks: Networks,
Session: Session,
Storage: Storage,
Transaction: Transaction,
TxProposal: TxProposal,
Unit: Unit,
Utils: Utils,
Wallet: Wallet
});
class CServer extends BaseServer {
constructor(opts, config, cb) {
super(context, opts, config, cb);
}
};
/**
*
*/
CServer.getInstance = function(opts, config, cb) {
if (instance && opts.force == false) {
cb(instance);
} else {
new CServer(opts, config, function(server) {
instance = server;
cb(server);
});
}
};
/**
*
*/
CServer.getInstanceWithAuth = function(opts, config, auth, cb) {
try {
CServer.getInstance(opts, config, function(server) {
server.initInstanceWithAuth(auth, cb);
});
} catch (ex) {
return cb(ex);
}
};
module.exports = CServer;