44 * Module dependencies.
55 */
66var common = require ( './common' ) ;
7+ var multi = common . multi ;
78var async = require ( 'async' ) ;
89var bdb = require ( '../../lib/BlockDb' ) . default ( ) ;
910var tdb = require ( '../../lib/TransactionDb' ) . default ( ) ;
1011
1112/**
1213 * Find block by hash ...
1314 */
14- exports . block = function ( req , res , next , hash ) {
15+ exports . block = multi ( function ( hash , cb ) {
1516 bdb . fromHashWithInfo ( hash , function ( err , block ) {
1617 if ( err || ! block )
1718 return common . handleErrors ( err , res , next ) ;
1819 else {
1920 tdb . getPoolInfo ( block . info . tx [ 0 ] , function ( info ) {
2021 block . info . poolInfo = info ;
21- req . block = block . info ;
22- return next ( ) ;
22+ cb ( null , block . info ) ;
2323 } ) ;
2424 }
2525 } ) ;
26- } ;
26+ } , 'block' ) ;
27+
28+
29+ /**
30+ * Find block header by hash ...
31+ */
32+ exports . blockHeader = multi ( function ( hash , cb ) {
33+ bdb . fromHashWithInfo ( hash , function ( err , block ) {
34+ if ( err || ! block )
35+ return common . handleErrors ( err , res , next ) ;
36+ else {
37+ delete block . info . tx ;
38+ cb ( null , block . info ) ;
39+ }
40+ } ) ;
41+ } , 'block' ) ;
42+
2743
2844
2945/**
@@ -35,19 +51,50 @@ exports.show = function(req, res) {
3551 }
3652} ;
3753
54+ /**
55+ * Show block hash
56+ */
57+ exports . showBlockHash = function ( req , res ) {
58+ if ( req . blockHash ) {
59+ res . jsonp ( req . blockHash ) ;
60+ }
61+ } ;
62+
3863/**
3964 * Show block by Height
4065 */
41- exports . blockindex = function ( req , res , next , height ) {
66+ exports . blockIndex = multi ( function ( height , cb ) {
4267 bdb . blockIndex ( height , function ( err , hashStr ) {
4368 if ( err ) {
4469 console . log ( err ) ;
45- res . status ( 400 ) . send ( 'Bad Request' ) ; // TODO
70+ cb ( 'Bad Request' ) ; // TODO
4671 } else {
47- res . jsonp ( hashStr ) ;
72+ cb ( null , hashStr ) ;
4873 }
4974 } ) ;
50- } ;
75+ } , 'blockHash' ) ;
76+
77+
78+ /**
79+ * Show block header by Height
80+ */
81+ exports . blockHeaderByIndex = multi ( function ( height , cb ) {
82+ bdb . blockIndex ( height , function ( err , hashStr ) {
83+ if ( err ) {
84+ console . log ( err ) ;
85+ cb ( 'Bad Request' ) ;
86+ } else {
87+ bdb . fromHashWithInfo ( hashStr . blockHash , function ( err , block ) {
88+ if ( err || ! block )
89+ cb ( err ) ;
90+ else {
91+ delete block . info . tx ;
92+ cb ( null , block . info ) ;
93+ }
94+ } ) ;
95+ }
96+ } ) ;
97+ } , 'block' ) ;
5198
5299var getBlock = function ( blockhash , cb ) {
53100 bdb . fromHashWithInfo ( blockhash , function ( err , block ) {
0 commit comments