Skip to content

Commit 86ee000

Browse files
author
Braydon Fuller
committed
test: address txs trim results
1 parent 38e061e commit 86ee000

File tree

2 files changed

+143
-21
lines changed

2 files changed

+143
-21
lines changed

lib/transactions.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,11 @@ TxController.prototype.transformInput = function(options, input, index) {
111111

112112
if (!options.noScriptSig) {
113113
transformed.scriptSig = {
114-
asm: options.noAsm ? undefined : input.scriptAsm,
115114
hex: input.script
116115
};
116+
if (!options.noAsm) {
117+
transformed.scriptSig.asm = input.scriptAsm;
118+
}
117119
}
118120

119121
transformed.addr = input.address;
@@ -132,13 +134,14 @@ TxController.prototype.transformOutput = function(options, output, index) {
132134
value: (output.satoshis / 1e8).toFixed(8),
133135
n: index,
134136
scriptPubKey: {
135-
hex: output.script,
136-
asm: options.noAsm ? undefined : output.scriptAsm
137-
//reqSigs: null, // TODO
137+
hex: output.script
138138
}
139-
//spentTs: undefined // TODO
140139
};
141140

141+
if (!options.noAsm) {
142+
transformed.scriptPubKey.asm = output.scriptAsm;
143+
}
144+
142145
if (!options.noSpent) {
143146
transformed.spentTxId = output.spentTxId || null;
144147
transformed.spentIndex = _.isUndefined(output.spentIndex) ? null : output.spentIndex;

test/addresses.js

Lines changed: 135 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ var tx = {
108108
outputIndex: 1,
109109
sequence: 4294967295,
110110
script: '473044022054233934268b30be779fad874ef42e8db928ba27a1b612d5f111b3ee95eb271c022024272bbaf2dcc4050bd3b9dfa3c93884f6ba6ad7d257598b8245abb65b5ab1e40141040682fdb281a8533e21e13dfd1fcfa424912a85b6cdc4136b5842c85de05ac1f0e4a013f20702adeb53329de13b2ef388e5ed6244676f4f1ee4ee685ab607964d',
111-
scriptAsm: '71 0x3044022054233934268b30be779fad874ef42e8db928ba27a1b612d5f111b3ee95eb271c022024272bbaf2dcc4050bd3b9dfa3c93884f6ba6ad7d257598b8245abb65b5ab1e401 65 0x040682fdb281a8533e21e13dfd1fcfa424912a85b6cdc4136b5842c85de05ac1f0e4a013f20702adeb53329de13b2ef388e5ed6244676f4f1ee4ee685ab607964d',
111+
scriptAsm: '3044022054233934268b30be779fad874ef42e8db928ba27a1b612d5f111b3ee95eb271c022024272bbaf2dcc4050bd3b9dfa3c93884f6ba6ad7d257598b8245abb65b5ab1e401 040682fdb281a8533e21e13dfd1fcfa424912a85b6cdc4136b5842c85de05ac1f0e4a013f20702adeb53329de13b2ef388e5ed6244676f4f1ee4ee685ab607964d',
112112
satoshis: 53540000,
113113
},
114114
{
@@ -117,25 +117,28 @@ var tx = {
117117
outputIndex: 2,
118118
sequence: 4294967295,
119119
script: '473044022044938ac3f8fcb8da29011df6397ed28cc7e894cdc35d596d4f3623bd8c7e465f022014829c6e0bd7ee97a1bcfef6b85c5fd232653f289394fc6ce6ebb41c73403f1b014104d9ccf88efc6e5be3151fae5e848efd94c91d75e7bf621f9f724a8caff51415338525d3239fae6b93826edf759dd562f77693e55dfa852ffd96a92d683db590f2',
120-
scriptAsm: '71 0x3044022044938ac3f8fcb8da29011df6397ed28cc7e894cdc35d596d4f3623bd8c7e465f022014829c6e0bd7ee97a1bcfef6b85c5fd232653f289394fc6ce6ebb41c73403f1b01 65 0x04d9ccf88efc6e5be3151fae5e848efd94c91d75e7bf621f9f724a8caff51415338525d3239fae6b93826edf759dd562f77693e55dfa852ffd96a92d683db590f2',
120+
scriptAsm: '3044022044938ac3f8fcb8da29011df6397ed28cc7e894cdc35d596d4f3623bd8c7e465f022014829c6e0bd7ee97a1bcfef6b85c5fd232653f289394fc6ce6ebb41c73403f1b01 04d9ccf88efc6e5be3151fae5e848efd94c91d75e7bf621f9f724a8caff51415338525d3239fae6b93826edf759dd562f77693e55dfa852ffd96a92d683db590f2',
121121
satoshis: 299829,
122122
}
123123
],
124124
outputs: [
125125
{
126126
satoshis: 220000,
127127
script: '76a914b9bbd76588d9e4e09f0369a9aa0b2749a11c4e8d88ac',
128+
scriptAsm: 'OP_DUP OP_HASH160 b9bbd76588d9e4e09f0369a9aa0b2749a11c4e8d OP_EQUALVERIFY OP_CHECKSIG',
128129
address: 'mxT2KzTUQvsaYYothDtjcdvyAdaHA9ofMp'
129130
},
130131
{
131132
satoshis: 53320000,
132133
address: 'mzkD4nmQ8ixqxySdBgsXTpgvAMK5iRZpNK',
133-
script: '76a914d2ec20bb8e5f25a52f730384b803d95683250e0b88ac'
134+
script: '76a914d2ec20bb8e5f25a52f730384b803d95683250e0b88ac',
135+
scriptAsm: 'OP_DUP OP_HASH160 d2ec20bb8e5f25a52f730384b803d95683250e0b OP_EQUALVERIFY OP_CHECKSIG'
134136
},
135137
{
136138
address: 'moZY18rGNmh4YCPeugtGW46AkkWMQttBUD',
137139
satoshis: 289829,
138-
script: '76a914583df9fa56ad961051e00ca93e68dfaf1eab9ec588ac'
140+
script: '76a914583df9fa56ad961051e00ca93e68dfaf1eab9ec588ac',
141+
scriptAsm: 'OP_DUP OP_HASH160 583df9fa56ad961051e00ca93e68dfaf1eab9ec5 OP_EQUALVERIFY OP_CHECKSIG'
139142
}
140143
],
141144
locktime: 0
@@ -523,41 +526,157 @@ describe('Addresses', function() {
523526
var todos = {
524527
'items': [
525528
{
526-
'vin': [
529+
'vout': [
527530
{
528-
'scriptSig': {
529-
'asm': '3044022054233934268b30be779fad874ef42e8db928ba27a1b612d5f111b3ee95eb271c022024272bbaf2dcc4050bd3b9dfa3c93884f6ba6ad7d257598b8245abb65b5ab1e401 040682fdb281a8533e21e13dfd1fcfa424912a85b6cdc4136b5842c85de05ac1f0e4a013f20702adeb53329de13b2ef388e5ed6244676f4f1ee4ee685ab607964d'
531+
'scriptPubKey': {
532+
'reqSigs': 1,
530533
}
531534
},
532535
{
533-
'scriptSig': {
534-
'asm': '3044022044938ac3f8fcb8da29011df6397ed28cc7e894cdc35d596d4f3623bd8c7e465f022014829c6e0bd7ee97a1bcfef6b85c5fd232653f289394fc6ce6ebb41c73403f1b01 04d9ccf88efc6e5be3151fae5e848efd94c91d75e7bf621f9f724a8caff51415338525d3239fae6b93826edf759dd562f77693e55dfa852ffd96a92d683db590f2'
536+
'scriptPubKey': {
537+
'reqSigs': 1,
538+
}
539+
},
540+
{
541+
'scriptPubKey': {
542+
'reqSigs': 1,
535543
}
536544
}
537545
],
546+
'firstSeenTs': 1441108193
547+
}
548+
]
549+
};
550+
551+
var node = {
552+
getAddressHistory: sinon.stub().callsArgWith(2, null, txinfos2),
553+
services: {
554+
bitcoind: {
555+
height: 534232
556+
}
557+
},
558+
network: 'testnet'
559+
};
560+
561+
var addresses = new AddressController(node);
562+
563+
var req = {
564+
addrs: 'mzkD4nmQ8ixqxySdBgsXTpgvAMK5iRZpNK,moZY18rGNmh4YCPeugtGW46AkkWMQttBUD',
565+
query: {},
566+
body: {}
567+
};
568+
569+
var res = {
570+
jsonp: function(data) {
571+
var merged = _.merge(data, todos);
572+
should(merged).eql(insight);
573+
done();
574+
}
575+
};
576+
577+
addresses.multitxs(req, res);
578+
});
579+
it('should trimmed correct data', function(done) {
580+
var insight = {
581+
'totalItems': 1,
582+
'from': 0,
583+
'to': 1,
584+
'items': [
585+
{
586+
'txid': '63b68becb0e514b32317f4b29a5cf0627d4087e54ac17f686fcb1d9a27680f73',
587+
'version': 1,
588+
'locktime': 0,
589+
'vin': [
590+
{
591+
'txid': 'ea97726ffc529808094ae5568342267931a058375a20147535a0d095837079f3',
592+
'vout': 1,
593+
'sequence': 4294967295,
594+
'n': 0,
595+
'addr': 'moFfnRwt77pApKnnU6m5uocFaa43aAYpt5',
596+
'valueSat': 53540000,
597+
'value': 0.5354,
598+
'doubleSpentTxID': null
599+
},
600+
{
601+
'txid': '980a9cc2dbc2d3464eb9900ae6d579a03045408563320f62d99316c3d4ff58b7',
602+
'vout': 2,
603+
'sequence': 4294967295,
604+
'n': 1,
605+
'addr': 'n1XJBAyU4hNR4xRtY3UxnmAteoJX83p5qv',
606+
'valueSat': 299829,
607+
'value': 0.00299829,
608+
'doubleSpentTxID': null
609+
}
610+
],
538611
'vout': [
539612
{
613+
'value': '0.00220000',
614+
'n': 0,
540615
'scriptPubKey': {
541-
'asm': 'OP_DUP OP_HASH160 b9bbd76588d9e4e09f0369a9aa0b2749a11c4e8d OP_EQUALVERIFY OP_CHECKSIG',
616+
'hex': '76a914b9bbd76588d9e4e09f0369a9aa0b2749a11c4e8d88ac',
542617
'reqSigs': 1,
543618
'type': 'pubkeyhash',
544-
'addresses': []
619+
'addresses': [
620+
'mxT2KzTUQvsaYYothDtjcdvyAdaHA9ofMp'
621+
]
545622
}
546623
},
547624
{
625+
'value': '0.53320000',
626+
'n': 1,
548627
'scriptPubKey': {
549-
'asm': 'OP_DUP OP_HASH160 d2ec20bb8e5f25a52f730384b803d95683250e0b OP_EQUALVERIFY OP_CHECKSIG',
628+
'hex': '76a914d2ec20bb8e5f25a52f730384b803d95683250e0b88ac',
550629
'reqSigs': 1,
551630
'type': 'pubkeyhash',
552-
'addresses': []
631+
'addresses': [
632+
'mzkD4nmQ8ixqxySdBgsXTpgvAMK5iRZpNK'
633+
],
553634
}
554635
},
555636
{
637+
'value': '0.00289829',
638+
'n': 2,
556639
'scriptPubKey': {
557-
'asm': 'OP_DUP OP_HASH160 583df9fa56ad961051e00ca93e68dfaf1eab9ec5 OP_EQUALVERIFY OP_CHECKSIG',
640+
'hex': '76a914583df9fa56ad961051e00ca93e68dfaf1eab9ec588ac',
558641
'reqSigs': 1,
559642
'type': 'pubkeyhash',
560-
'addresses': []
643+
'addresses': [
644+
'moZY18rGNmh4YCPeugtGW46AkkWMQttBUD'
645+
]
646+
}
647+
}
648+
],
649+
'blockhash': '0000000000000041ddc94ecf4f86a456a83b2e320c36c6f0c13ff92c7e75f013',
650+
'blockheight': 534181,
651+
'confirmations': 52,
652+
'time': 1441116143,
653+
'blocktime': 1441116143,
654+
'valueOut': 0.53829829,
655+
'size': 470,
656+
'valueIn': 0.53839829,
657+
'fees': 0.0001,
658+
'firstSeenTs': 1441108193
659+
}
660+
]
661+
};
662+
663+
var todos = {
664+
'items': [
665+
{
666+
'vout': [
667+
{
668+
'scriptPubKey': {
669+
'reqSigs': 1,
670+
}
671+
},
672+
{
673+
'scriptPubKey': {
674+
'reqSigs': 1,
675+
}
676+
},
677+
{
678+
'scriptPubKey': {
679+
'reqSigs': 1,
561680
}
562681
}
563682
],
@@ -580,7 +699,7 @@ describe('Addresses', function() {
580699

581700
var req = {
582701
addrs: 'mzkD4nmQ8ixqxySdBgsXTpgvAMK5iRZpNK,moZY18rGNmh4YCPeugtGW46AkkWMQttBUD',
583-
query: {},
702+
query: {noSpent: '1', noScriptSig: '1', noAsm: '1'},
584703
body: {}
585704
};
586705

0 commit comments

Comments
 (0)