Transaction: Support pay-to-public-key previous outputs with #fromObject
This commit is contained in:
parent
6e225ef70e
commit
c0eec199ed
|
@ -366,6 +366,8 @@ Transaction.prototype.fromObject = function fromObject(arg) {
|
||||||
txin = new Input.MultiSigScriptHash(
|
txin = new Input.MultiSigScriptHash(
|
||||||
input, input.publicKeys, input.threshold, input.signatures
|
input, input.publicKeys, input.threshold, input.signatures
|
||||||
);
|
);
|
||||||
|
} else if (script.isPublicKeyOut()) {
|
||||||
|
txin = new Input.PublicKey(input);
|
||||||
} else {
|
} else {
|
||||||
throw new errors.Transaction.Input.UnsupportedScript(input.output.script);
|
throw new errors.Transaction.Input.UnsupportedScript(input.output.script);
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,6 +108,40 @@ describe('Transaction', function() {
|
||||||
txData.should.equal(tx2Data);
|
txData.should.equal(tx2Data);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('fromObject with pay-to-public-key previous outputs', function() {
|
||||||
|
var tx = bitcore.Transaction({
|
||||||
|
hash: '132856bf03d6415562a556437d22ac63c37a4595fd986c796eb8e02dc031aa25',
|
||||||
|
version: 1,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
prevTxId: 'e30ac3db24ef28500f023775d8eb06ad8a26241690080260308208a4020012a4',
|
||||||
|
outputIndex: 0,
|
||||||
|
sequenceNumber: 4294967294,
|
||||||
|
script: '473044022024dbcf41ccd4f3fe325bebb7a87d0bf359eefa03826482008e0fe7795586ad440220676f5f211ebbc311cfa631f14a8223a343cbadc6fa97d6d17f8d2531308b533201',
|
||||||
|
scriptString: '71 0x3044022024dbcf41ccd4f3fe325bebb7a87d0bf359eefa03826482008e0fe7795586ad440220676f5f211ebbc311cfa631f14a8223a343cbadc6fa97d6d17f8d2531308b533201',
|
||||||
|
output: {
|
||||||
|
satoshis: 5000000000,
|
||||||
|
script: '2103b1c65d65f1ff3fe145a4ede692460ae0606671d04e8449e99dd11c66ab55a7feac'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
outputs: [
|
||||||
|
{
|
||||||
|
satoshis: 3999999040,
|
||||||
|
script: '76a914fa1e0abfb8d26e494375f47e04b4883c44dd44d988ac'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
satoshis: 1000000000,
|
||||||
|
script: '76a9140b2f0a0c31bfe0406b0ccc1381fdbe311946dadc88ac'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
nLockTime: 139
|
||||||
|
});
|
||||||
|
tx.inputs[0].should.be.instanceof(bitcore.Transaction.Input.PublicKey);
|
||||||
|
tx.inputs[0].output.satoshis.should.equal(5000000000);
|
||||||
|
tx.inputs[0].output.script.toHex().should.equal('2103b1c65d65f1ff3fe145a4ede692460ae0606671d04e8449e99dd11c66ab55a7feac');
|
||||||
|
});
|
||||||
|
|
||||||
it('constructor returns a shallow copy of another transaction', function() {
|
it('constructor returns a shallow copy of another transaction', function() {
|
||||||
var transaction = new Transaction(tx_1_hex);
|
var transaction = new Transaction(tx_1_hex);
|
||||||
var copy = new Transaction(transaction);
|
var copy = new Transaction(transaction);
|
||||||
|
|
Loading…
Reference in New Issue