mirror of https://github.com/BTCPrivate/copay.git
ref providers
This commit is contained in:
parent
d12a9a5495
commit
d40881cb4e
|
@ -64,9 +64,9 @@ import { BwcProvider } from '../providers/bwc/bwc';
|
|||
import { BwcErrorProvider } from '../providers/bwc-error/bwc-error';
|
||||
import { ConfigProvider } from '../providers/config/config';
|
||||
import { DerivationPathHelperProvider } from '../providers/derivationPathHelper/derivationPathHelper';
|
||||
import { FilterProvider } from '../providers/filter/filter';
|
||||
import { Filter } from '../providers/filter/filter';
|
||||
import { LanguageProvider } from '../providers/language/language';
|
||||
import { OnGoingProcessProvider } from '../providers/on-going-process/on-going-process';
|
||||
import { OnGoingProcess } from '../providers/on-going-process/on-going-process';
|
||||
import { PersistenceProvider, persistenceProviderFactory } from '../providers/persistence/persistence';
|
||||
import { PlatformProvider } from '../providers/platform/platform';
|
||||
import { PopupProvider } from '../providers/popup/popup';
|
||||
|
@ -119,9 +119,9 @@ let providers: any = [
|
|||
ConfigProvider,
|
||||
Clipboard,
|
||||
DerivationPathHelperProvider,
|
||||
FilterProvider,
|
||||
Filter,
|
||||
LanguageProvider,
|
||||
OnGoingProcessProvider,
|
||||
OnGoingProcess,
|
||||
PlatformProvider,
|
||||
ProfileProvider,
|
||||
PopupProvider,
|
||||
|
|
|
@ -4,12 +4,12 @@ import 'rxjs/add/operator/map';
|
|||
import * as _ from "lodash";
|
||||
|
||||
@Injectable()
|
||||
export class FilterProvider {
|
||||
export class Filter {
|
||||
|
||||
public formats: any;
|
||||
|
||||
constructor(public http: Http) {
|
||||
console.log('Hello FilterProvider Provider');
|
||||
console.log('Hello Filter Provider');
|
||||
this.formats = {
|
||||
CURRENCY_SYM: "$",
|
||||
DECIMAL_SEP: ".",
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
import { Injectable } from '@angular/core';
|
||||
|
||||
@Injectable()
|
||||
export class OnGoingProcessProvider {
|
||||
export class OnGoingProcess {
|
||||
|
||||
constructor() {
|
||||
console.log('Hello OnGoingProcessProvider Provider');
|
||||
console.log('Hello OnGoingProcess Provider');
|
||||
}
|
||||
|
||||
public set (processName: string, isOn: boolean, customHandler?: any) {
|
||||
console.log('TODO: OnGoingProcessProvider set()...');
|
||||
public set(processName: string, isOn: boolean, customHandler?: any) {
|
||||
console.log('TODO: OnGoingProcess set()...');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import 'rxjs/add/operator/map';
|
|||
import { BwcProvider } from '../bwc/bwc';
|
||||
import { RateProvider } from '../rate/rate';
|
||||
import { ConfigProvider } from '../config/config';
|
||||
import { FilterProvider } from '../filter/filter';
|
||||
import { Filter } from '../filter/filter';
|
||||
import * as _ from "lodash";
|
||||
|
||||
@Injectable()
|
||||
|
@ -18,7 +18,7 @@ export class TxFormatProvider {
|
|||
private bwc: BwcProvider,
|
||||
private rate: RateProvider,
|
||||
private config: ConfigProvider,
|
||||
private filter: FilterProvider
|
||||
private filter: Filter
|
||||
) {
|
||||
console.log('Hello TxFormatProvider Provider');
|
||||
console.log("configProvider", this.config.get());
|
||||
|
@ -42,7 +42,7 @@ export class TxFormatProvider {
|
|||
}
|
||||
|
||||
toFiat(coin: string, satoshis: number, code: string): Promise<any> {
|
||||
return new Promise ((resolve, reject) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (isNaN(satoshis)) resolve();
|
||||
var v1;
|
||||
v1 = this.rate.toFiat(satoshis, code, coin);
|
||||
|
@ -52,7 +52,7 @@ export class TxFormatProvider {
|
|||
}
|
||||
|
||||
formatToUSD(coin: string, satoshis: number) {
|
||||
return new Promise ((resolve, reject) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
var v1;
|
||||
if (isNaN(satoshis)) resolve();
|
||||
v1 = this.rate.toFiat(satoshis, 'USD', coin);
|
||||
|
@ -62,7 +62,7 @@ export class TxFormatProvider {
|
|||
};
|
||||
|
||||
formatAlternativeStr(coin: string, satoshis: number) {
|
||||
return new Promise ((resolve, reject) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (isNaN(satoshis)) resolve();
|
||||
let settings = this.config.get()['wallet']['settings']; // TODO
|
||||
|
||||
|
@ -88,7 +88,7 @@ export class TxFormatProvider {
|
|||
tx.recipientCount = outputsNr;
|
||||
tx.hasMultiplesOutputs = true;
|
||||
}
|
||||
tx.amount = _.reduce(tx.outputs, function(total: any, o: any) {
|
||||
tx.amount = _.reduce(tx.outputs, function (total: any, o: any) {
|
||||
o.amountStr = this.formatAmountStr(coin, o.amount);
|
||||
o.alternativeAmountStr = this.formatAlternativeStr(coin, o.amount);
|
||||
return total + o.amount;
|
||||
|
@ -131,7 +131,7 @@ export class TxFormatProvider {
|
|||
txps.push(txp);
|
||||
*/
|
||||
|
||||
_.each(txps, function(tx) {
|
||||
_.each(txps, function (tx) {
|
||||
|
||||
// no future transactions...
|
||||
if (tx.createdOn > now)
|
||||
|
|
|
@ -1,16 +1,15 @@
|
|||
import { Injectable } from '@angular/core';
|
||||
import { Logger } from '@nsalaun/ng-logger';
|
||||
|
||||
import { PlatformProvider } from '../platform/platform';
|
||||
import { ConfigProvider } from '../config/config';
|
||||
import { BwcProvider } from '../bwc/bwc';
|
||||
import { TxFormatProvider } from '../tx-format/tx-format';
|
||||
import { PersistenceProvider } from '../persistence/persistence';
|
||||
import { BwcErrorProvider } from '../bwc-error/bwc-error';
|
||||
import { RateProvider } from '../rate/rate';
|
||||
import { FilterProvider } from '../filter/filter';
|
||||
import { Filter } from '../filter/filter';
|
||||
import { PopupProvider } from '../popup/popup';
|
||||
import { OnGoingProcessProvider } from '../on-going-process/on-going-process';
|
||||
import { OnGoingProcess } from '../on-going-process/on-going-process';
|
||||
import { TouchIdProvider } from '../touchid/touchid';
|
||||
|
||||
import * as lodash from 'lodash';
|
||||
|
@ -36,21 +35,20 @@ export class WalletProvider {
|
|||
private SOFT_CONFIRMATION_LIMIT: number = 12;
|
||||
private SAFE_CONFIRMATIONS: number = 6;
|
||||
|
||||
private errors: any = this.bwc.getErrors();
|
||||
private errors: any = this.bwcProvider.getErrors();
|
||||
|
||||
constructor(
|
||||
private logger: Logger,
|
||||
private platform: PlatformProvider,
|
||||
private bwc: BwcProvider,
|
||||
private txFormat: TxFormatProvider,
|
||||
private config: ConfigProvider,
|
||||
private persistence: PersistenceProvider,
|
||||
private bwcError: BwcErrorProvider,
|
||||
private rate: RateProvider,
|
||||
private filter: FilterProvider,
|
||||
private popup: PopupProvider,
|
||||
private ongoingProcess: OnGoingProcessProvider,
|
||||
private touchid: TouchIdProvider
|
||||
private bwcProvider: BwcProvider,
|
||||
private txFormatProvider: TxFormatProvider,
|
||||
private configProvider: ConfigProvider,
|
||||
private persistenceProvider: PersistenceProvider,
|
||||
private bwcErrorProvider: BwcErrorProvider,
|
||||
private rateProvider: RateProvider,
|
||||
private filter: Filter,
|
||||
private popupProvider: PopupProvider,
|
||||
private ongoingProcess: OnGoingProcess,
|
||||
private touchidProvider: TouchIdProvider
|
||||
) {
|
||||
console.log('Hello WalletService Provider');
|
||||
}
|
||||
|
@ -100,7 +98,7 @@ export class WalletProvider {
|
|||
|
||||
lodash.each(txps, (tx: any) => {
|
||||
|
||||
tx = this.txFormat.processTx(wallet.coin, tx);
|
||||
tx = this.txFormatProvider.processTx(wallet.coin, tx);
|
||||
|
||||
// no future transactions...
|
||||
if (tx.createdOn > now)
|
||||
|
@ -155,7 +153,7 @@ export class WalletProvider {
|
|||
let cacheBalance = (wallet: any, balance: any): void => {
|
||||
if (!balance) return;
|
||||
|
||||
let configGet: any = this.config.get();
|
||||
let configGet: any = this.configProvider.get();
|
||||
let config: any = configGet.wallet;
|
||||
|
||||
let cache = wallet.cachedStatus;
|
||||
|
@ -186,11 +184,11 @@ export class WalletProvider {
|
|||
cache.satToUnit = 1 / cache.unitToSatoshi;
|
||||
|
||||
//STR
|
||||
cache.totalBalanceStr = this.txFormat.formatAmountStr(wallet.coin, cache.totalBalanceSat);
|
||||
cache.lockedBalanceStr = this.txFormat.formatAmountStr(wallet.coin, cache.lockedBalanceSat);
|
||||
cache.availableBalanceStr = this.txFormat.formatAmountStr(wallet.coin, cache.availableBalanceSat);
|
||||
cache.spendableBalanceStr = this.txFormat.formatAmountStr(wallet.coin, cache.spendableAmount);
|
||||
cache.pendingBalanceStr = this.txFormat.formatAmountStr(wallet.coin, cache.pendingAmount);
|
||||
cache.totalBalanceStr = this.txFormatProvider.formatAmountStr(wallet.coin, cache.totalBalanceSat);
|
||||
cache.lockedBalanceStr = this.txFormatProvider.formatAmountStr(wallet.coin, cache.lockedBalanceSat);
|
||||
cache.availableBalanceStr = this.txFormatProvider.formatAmountStr(wallet.coin, cache.availableBalanceSat);
|
||||
cache.spendableBalanceStr = this.txFormatProvider.formatAmountStr(wallet.coin, cache.spendableAmount);
|
||||
cache.pendingBalanceStr = this.txFormatProvider.formatAmountStr(wallet.coin, cache.pendingAmount);
|
||||
|
||||
cache.alternativeName = config.settings.alternativeName;
|
||||
cache.alternativeIsoCode = config.settings.alternativeIsoCode;
|
||||
|
@ -210,13 +208,13 @@ export class WalletProvider {
|
|||
reject(err);
|
||||
});
|
||||
|
||||
this.rate.whenAvailable().then(() => {
|
||||
this.rateProvider.whenAvailable().then(() => {
|
||||
|
||||
let totalBalanceAlternative = this.rate.toFiat(cache.totalBalanceSat, cache.alternativeIsoCode, wallet.coin);
|
||||
let pendingBalanceAlternative = this.rate.toFiat(cache.pendingAmount, cache.alternativeIsoCode, wallet.coin);
|
||||
let lockedBalanceAlternative = this.rate.toFiat(cache.lockedBalanceSat, cache.alternativeIsoCode, wallet.coin);
|
||||
let spendableBalanceAlternative = this.rate.toFiat(cache.spendableAmount, cache.alternativeIsoCode, wallet.coin);
|
||||
let alternativeConversionRate = this.rate.toFiat(100000000, cache.alternativeIsoCode, wallet.coin);
|
||||
let totalBalanceAlternative = this.rateProvider.toFiat(cache.totalBalanceSat, cache.alternativeIsoCode, wallet.coin);
|
||||
let pendingBalanceAlternative = this.rateProvider.toFiat(cache.pendingAmount, cache.alternativeIsoCode, wallet.coin);
|
||||
let lockedBalanceAlternative = this.rateProvider.toFiat(cache.lockedBalanceSat, cache.alternativeIsoCode, wallet.coin);
|
||||
let spendableBalanceAlternative = this.rateProvider.toFiat(cache.spendableAmount, cache.alternativeIsoCode, wallet.coin);
|
||||
let alternativeConversionRate = this.rateProvider.toFiat(100000000, cache.alternativeIsoCode, wallet.coin);
|
||||
|
||||
cache.totalBalanceAlternative = this.filter.formatFiatAmount(totalBalanceAlternative);
|
||||
cache.pendingBalanceAlternative = this.filter.formatFiatAmount(pendingBalanceAlternative);
|
||||
|
@ -294,7 +292,7 @@ export class WalletProvider {
|
|||
// Check address
|
||||
private isAddressUsed(wallet: any, byAddress: Array<any>): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.persistence.getLastAddress(wallet.id).then((addr) => {
|
||||
this.persistenceProvider.getLastAddress(wallet.id).then((addr) => {
|
||||
let used = lodash.find(byAddress, {
|
||||
address: addr
|
||||
});
|
||||
|
@ -307,14 +305,14 @@ export class WalletProvider {
|
|||
|
||||
private getAddress(wallet: any, forceNew: boolean): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.persistence.getLastAddress(wallet.id).then((addr) => {
|
||||
this.persistenceProvider.getLastAddress(wallet.id).then((addr) => {
|
||||
if (!forceNew && addr) resolve(addr);
|
||||
|
||||
if (!wallet.isComplete())
|
||||
reject('WALLET_NOT_COMPLETE');
|
||||
|
||||
this.createAddress(wallet).then((_addr) => {
|
||||
this.persistence.storeLastAddress(wallet.id, _addr).then(() => {
|
||||
this.persistenceProvider.storeLastAddress(wallet.id, _addr).then(() => {
|
||||
resolve(_addr);
|
||||
}).catch((err) => {
|
||||
reject(err);
|
||||
|
@ -351,7 +349,7 @@ export class WalletProvider {
|
|||
resolve(addr[0].address);
|
||||
});
|
||||
};
|
||||
this.bwcError.cb(err, prefix).then((msg) => {
|
||||
this.bwcErrorProvider.cb(err, prefix).then((msg) => {
|
||||
reject(msg);
|
||||
});
|
||||
};
|
||||
|
@ -363,7 +361,7 @@ export class WalletProvider {
|
|||
private getSavedTxs(walletId: string): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
this.persistence.getTxHistory(walletId).then((txs: any) => {
|
||||
this.persistenceProvider.getTxHistory(walletId).then((txs: any) => {
|
||||
let localTxs = [];
|
||||
|
||||
if (!txs) {
|
||||
|
@ -433,8 +431,8 @@ export class WalletProvider {
|
|||
|
||||
this.logger.debug('Fixing Tx Cache Unit to: ' + wallet.coin)
|
||||
lodash.each(txs, (tx: any) => {
|
||||
tx.amountStr = this.txFormat.formatAmountStr(wallet.coin, tx.amount);
|
||||
tx.feeStr = this.txFormat.formatAmountStr(wallet.coin, tx.fees);
|
||||
tx.amountStr = this.txFormatProvider.formatAmountStr(wallet.coin, tx.amount);
|
||||
tx.feeStr = this.txFormatProvider.formatAmountStr(wallet.coin, tx.fees);
|
||||
});
|
||||
};
|
||||
};
|
||||
|
@ -483,7 +481,7 @@ export class WalletProvider {
|
|||
requestLimit = LIMIT;
|
||||
getNewTxs(newTxs, skip);
|
||||
}).catch((err) => {
|
||||
this.logger.warn(this.bwcError.msg(err, 'Server Error')); //TODO
|
||||
this.logger.warn(this.bwcErrorProvider.msg(err, 'Server Error')); //TODO
|
||||
if (err instanceof this.errors.CONNECTION_ERROR || (err.message && err.message.match(/5../))) {
|
||||
this.logger.info('Retrying history download in 5 secs...');
|
||||
reject(setTimeout(() => {
|
||||
|
@ -559,7 +557,7 @@ export class WalletProvider {
|
|||
wallet.completeHistory = newHistory;
|
||||
}
|
||||
|
||||
return this.persistence.setTxHistory(historyToSave, walletId).then(() => {
|
||||
return this.persistenceProvider.setTxHistory(historyToSave, walletId).then(() => {
|
||||
this.logger.debug('Tx History saved.');
|
||||
resolve();
|
||||
}).catch((err) => {
|
||||
|
@ -578,7 +576,7 @@ export class WalletProvider {
|
|||
}
|
||||
|
||||
private processNewTxs(wallet: any, txs: any): Array<any> {
|
||||
let configGet: any = this.config.get();
|
||||
let configGet: any = this.configProvider.get();
|
||||
let config: any = configGet.wallet.settings;
|
||||
let now = Math.floor(Date.now() / 1000);
|
||||
let txHistoryUnique = {};
|
||||
|
@ -586,7 +584,7 @@ export class WalletProvider {
|
|||
wallet.hasUnsafeConfirmed = false;
|
||||
|
||||
lodash.each(txs, (tx: any) => {
|
||||
tx = this.txFormat.processTx(wallet.coin, tx);
|
||||
tx = this.txFormatProvider.processTx(wallet.coin, tx);
|
||||
|
||||
// no future transactions...
|
||||
if (tx.time > now)
|
||||
|
@ -868,7 +866,7 @@ export class WalletProvider {
|
|||
wallet.savePreferences(prefs, (err: any) => {
|
||||
|
||||
if (err) {
|
||||
this.popup.ionicAlert(this.bwcError.msg(err, 'Could not save preferences on the server')); //TODO Gettextcatalog
|
||||
this.popupProvider.ionicAlert(this.bwcErrorProvider.msg(err, 'Could not save preferences on the server')); //TODO Gettextcatalog
|
||||
reject(err);
|
||||
}
|
||||
|
||||
|
@ -878,7 +876,7 @@ export class WalletProvider {
|
|||
};
|
||||
|
||||
// Update this JIC.
|
||||
let config: any = this.config.get();
|
||||
let config: any = this.configProvider.get();
|
||||
let walletSettings = config.wallet.settings;
|
||||
|
||||
//prefs.email (may come from arguments)
|
||||
|
@ -933,7 +931,7 @@ export class WalletProvider {
|
|||
public expireAddress(wallet: any): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.logger.debug('Cleaning Address ' + wallet.id);
|
||||
this.persistence.clearLastAddress(wallet.id).then(() => {
|
||||
this.persistenceProvider.clearLastAddress(wallet.id).then(() => {
|
||||
resolve();
|
||||
}).catch((err: any) => {
|
||||
reject(err);
|
||||
|
@ -1001,7 +999,7 @@ export class WalletProvider {
|
|||
// An alert dialog
|
||||
private askPassword(name: string, title: string): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.popup.ionicPrompt(title, name, null, null).then((res: any) => {
|
||||
this.popupProvider.ionicPrompt(title, name, null, null).then((res: any) => {
|
||||
resolve(res);
|
||||
}).catch((err: any) => {
|
||||
reject(err);
|
||||
|
@ -1079,14 +1077,14 @@ export class WalletProvider {
|
|||
//$rootScope.$emit('Local/TxAction', wallet.id);
|
||||
resolve();
|
||||
}).catch((err) => {
|
||||
reject(this.bwcError.msg(err));
|
||||
reject(this.bwcErrorProvider.msg(err));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public prepare(wallet: any): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.touchid.checkWallet(wallet).then(() => {
|
||||
this.touchidProvider.checkWallet(wallet).then(() => {
|
||||
this.handleEncryptedWallet(wallet).then((password: string) => {
|
||||
resolve(password);
|
||||
}).catch((err) => {
|
||||
|
@ -1112,7 +1110,7 @@ export class WalletProvider {
|
|||
//$rootScope.$emit('Local/TxAction', wallet.id);
|
||||
resolve(broadcastedTxp);
|
||||
}).catch((err) => {
|
||||
reject(this.bwcError.msg(err));
|
||||
reject(this.bwcErrorProvider.msg(err));
|
||||
});
|
||||
} else {
|
||||
//$rootScope.$emit('Local/TxAction', wallet.id);
|
||||
|
@ -1138,7 +1136,7 @@ export class WalletProvider {
|
|||
reject(err);
|
||||
});
|
||||
}).catch((err) => {
|
||||
reject(this.bwcError.msg(err));
|
||||
reject(this.bwcErrorProvider.msg(err));
|
||||
});
|
||||
} else {
|
||||
this.prepare(wallet).then((password: string) => {
|
||||
|
@ -1152,10 +1150,10 @@ export class WalletProvider {
|
|||
});
|
||||
}).catch((err) => {
|
||||
this.ongoingProcess.set('sendingTx', false, customStatusHandler);
|
||||
reject(this.bwcError.msg(err));
|
||||
reject(this.bwcErrorProvider.msg(err));
|
||||
});
|
||||
}).catch((err) => {
|
||||
reject(this.bwcError.msg(err));
|
||||
reject(this.bwcErrorProvider.msg(err));
|
||||
});
|
||||
};
|
||||
});
|
||||
|
@ -1208,13 +1206,13 @@ export class WalletProvider {
|
|||
};
|
||||
opts.touchIdFor[wallet.id] = enabled;
|
||||
|
||||
this.touchid.checkWallet(wallet).then(() => {
|
||||
this.config.set(opts);
|
||||
this.touchidProvider.checkWallet(wallet).then(() => {
|
||||
this.configProvider.set(opts);
|
||||
resolve();
|
||||
}).catch((err) => {
|
||||
opts.touchIdFor[wallet.id] = !enabled;
|
||||
this.logger.debug('Error with fingerprint:' + err);
|
||||
this.config.set(opts);
|
||||
this.configProvider.set(opts);
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
|
@ -1253,7 +1251,7 @@ export class WalletProvider {
|
|||
|
||||
public copyCopayers(wallet: any, newWallet: any): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
let walletPrivKey = this.bwc.getBitcore().PrivateKey.fromString(wallet.credentials.walletPrivKey);
|
||||
let walletPrivKey = this.bwcProvider.getBitcore().PrivateKey.fromString(wallet.credentials.walletPrivKey);
|
||||
let copayer = 1;
|
||||
let i = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue