commit
ff7b6d6ad8
5 changed files with 10 additions and 47 deletions
|
|
@ -1,26 +0,0 @@
|
||||||
'use strict';
|
|
||||||
|
|
||||||
|
|
||||||
var bitcore = require('bitcore');
|
|
||||||
var Transaction = bitcore.Transaction;
|
|
||||||
|
|
||||||
function BuilderMockV0 (data) {
|
|
||||||
this.vanilla = data;
|
|
||||||
this.tx = new Transaction();
|
|
||||||
this.tx.parse(new Buffer(data.tx, 'hex'));
|
|
||||||
};
|
|
||||||
|
|
||||||
BuilderMockV0.prototype.build = function() {
|
|
||||||
return this.tx;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
BuilderMockV0.prototype.getSelectedUnspent = function() {
|
|
||||||
return [];
|
|
||||||
};
|
|
||||||
|
|
||||||
BuilderMockV0.prototype.toObj = function() {
|
|
||||||
return this.vanilla;
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = BuilderMockV0;
|
|
||||||
|
|
@ -4,7 +4,6 @@ var bitcore = require('bitcore');
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
var util = bitcore.util;
|
var util = bitcore.util;
|
||||||
var Transaction = bitcore.Transaction;
|
var Transaction = bitcore.Transaction;
|
||||||
var BuilderMockV0 = require('./BuilderMockV0');;
|
|
||||||
var TransactionBuilder = bitcore.TransactionBuilder;
|
var TransactionBuilder = bitcore.TransactionBuilder;
|
||||||
var Script = bitcore.Script;
|
var Script = bitcore.Script;
|
||||||
var Key = bitcore.Key;
|
var Key = bitcore.Key;
|
||||||
|
|
@ -134,12 +133,7 @@ TxProposal.fromObj = function(o, forceOpts) {
|
||||||
}
|
}
|
||||||
o.builder = TransactionBuilder.fromObj(o.builderObj);
|
o.builder = TransactionBuilder.fromObj(o.builderObj);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
throw new Error("Invalid or Incompatible Backup Detected.");
|
||||||
// backwards (V0) compatatibility fix.
|
|
||||||
if (!o.version) {
|
|
||||||
o.builder = new BuilderMockV0(o.builderObj);
|
|
||||||
o.readonly = 1;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
return new TxProposal(o);
|
return new TxProposal(o);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,9 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var BuilderMockV0 = require('./BuilderMockV0');;
|
|
||||||
var bitcore = require('bitcore');
|
var bitcore = require('bitcore');
|
||||||
var util = bitcore.util;
|
var util = bitcore.util;
|
||||||
var Transaction = bitcore.Transaction;
|
var Transaction = bitcore.Transaction;
|
||||||
var BuilderMockV0 = require('./BuilderMockV0');;
|
var TxProposal = require('./TxProposal');
|
||||||
var TxProposal = require('./TxProposal');;
|
|
||||||
var Script = bitcore.Script;
|
var Script = bitcore.Script;
|
||||||
var Key = bitcore.Key;
|
var Key = bitcore.Key;
|
||||||
var buffertools = bitcore.buffertools;
|
var buffertools = bitcore.buffertools;
|
||||||
|
|
|
||||||
|
|
@ -133,7 +133,7 @@ describe('TxProposal', function() {
|
||||||
builderObj: b.toObj(),
|
builderObj: b.toObj(),
|
||||||
inputChainPaths: ['m/1'],
|
inputChainPaths: ['m/1'],
|
||||||
});
|
});
|
||||||
}).should.throw('Invalid');
|
}).should.throw('Invalid or Incompatible Backup Detected');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -432,16 +432,13 @@ describe('WalletFactory model', function() {
|
||||||
wf.network.start.getCall(0).args[0].privkey.length.should.equal(64); //privkey is hex of private key buffer
|
wf.network.start.getCall(0).args[0].privkey.length.should.equal(64); //privkey is hex of private key buffer
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe('dont break backwards compatibility of wallets', function() {
|
describe('break backwards compatibility with older versions', function() {
|
||||||
it('should be able to import unencrypted legacy wallet TxProposal: v0', function() {
|
it('should\'nt be able to import unencrypted legacy wallet TxProposal: v0', function() {
|
||||||
var wf = new WalletFactory(config, '0.0.5');
|
|
||||||
var w = wf.fromObj(JSON.parse(legacyO));
|
|
||||||
|
|
||||||
should.exist(w);
|
(function() {
|
||||||
w.id.should.equal('55d4bd062d32f90a');
|
var wf = new WalletFactory(config, '0.0.5');
|
||||||
should.exist(w.publicKeyRing.getCopayerId);
|
var w = wf.fromObj(JSON.parse(legacyO));
|
||||||
should.exist(w.txProposals.toObj());
|
}).should.throw('Invalid or Incompatible Backup Detected');
|
||||||
should.exist(w.privateKey.toObj());
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should be able to import simple 1-of-1 encrypted legacy testnet wallet', function(done) {
|
it('should be able to import simple 1-of-1 encrypted legacy testnet wallet', function(done) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue