copay/test/mocks/FakeWallet.js

117 lines
2.4 KiB
JavaScript

var is_browser = typeof process == 'undefined' || typeof process.versions === 'undefined';
if (is_browser) {
var copay = require('copay'); //browser
} else {
var copay = require('../copay'); //node
}
var Wallet = copay.Wallet;
var FakePrivateKey = function () {
};
FakePrivateKey.prototype.toObj = function() {
return extendedPublicKeyString = 'privHex';
};
var FakeWallet = function() {
this.id = 'testID';
this.balance = 10000;
this.safeBalance = 1000;
this.totalCopayers = 2;
this.requiredCopayers = 2;
this.isLocked = false;
this.balanceByAddr = {
'1CjPR7Z5ZSyWk6WtXvSFgkptmpoi4UM9BC': 1000
};
this.name = 'myTESTwullet';
this.addressBook = {
'2NFR2kzH9NUdp8vsXTB4wWQtTtzhpKxsyoJ': {
label: 'John',
copayerId: '026a55261b7c898fff760ebe14fd22a71892295f3b49e0ca66727bc0a0d7f94d03',
createdTs: 1403102115,
}
};
this.publicKeyRing = {
isComplete: function() {
return true;
}
};
this.blockchain = {
getSubscriptions: function(){ return []; },
subscribe: function(){}
};
this.privateKey = new FakePrivateKey();
};
FakeWallet.prototype.createTx = function(toAddress, amountSatStr, comment, opts, cb) {
var callback = cb || opts;
callback({});
}
FakeWallet.prototype.sendTx = function(ntxid, cb) {
cb(8);
}
FakeWallet.prototype.set = function(balance, safeBalance, balanceByAddr) {
this.balance = balance;
this.safeBalance = safeBalance;
this.balanceByAddr = balanceByAddr;
};
FakeWallet.prototype.getAddressesInfo = function() {
var ret = [];
for (var ii in this.balanceByAddr) {
ret.push({
address: ii,
addressStr: ii,
isChange: false,
});
}
return ret;
};
FakeWallet.prototype.isShared = function() {
return this.totalCopayers > 1;
}
FakeWallet.prototype.isReady = function() {
return true;
};
FakeWallet.prototype.fetchPaymentTx = function(opts, cb) {
cb(null, {
pr: {
pd: {
expires: 12
}
}
});
};
FakeWallet.prototype.createPaymentTx = Wallet.prototype.createPaymentTx;
FakeWallet.prototype.getBalance = function(cb) {
return cb(null, this.balance, this.balanceByAddr, this.safeBalance);
};
FakeWallet.prototype.removeTxWithSpentInputs = function (cb) {
};
FakeWallet.prototype.setEnc = function(enc) {
this.enc = enc;
};
FakeWallet.prototype.toEncryptedObj = function() {
return this.enc;
};
FakeWallet.prototype.close = function() {
};
// TODO a try catch was here
module.exports = FakeWallet;