@@ -12,15 +12,26 @@ export interface LesProtocolOptions extends ProtocolOptions {
12
12
flow ?: FlowControl
13
13
}
14
14
15
- /* Messages with responses that are added as methods in camelCase to BoundProtocol. */
15
+ type GetBlockHeadersOpts = {
16
+ /* Request id (default: next internal id) */
17
+ reqId ?: BN
18
+ /* The block's number or hash */
19
+ block : BN | Buffer
20
+ /* Max number of blocks to return */
21
+ max : number
22
+ /* Number of blocks to skip apart (default: 0) */
23
+ skip ?: number
24
+ /* Fetch blocks in reverse (default: false) */
25
+ reverse ?: boolean
26
+ }
27
+ /*
28
+ * Messages with responses that are added as
29
+ * methods in camelCase to BoundProtocol.
30
+ */
16
31
export interface LesProtocolMethods {
17
- getBlockHeaders : ( opts : {
18
- reqId ?: BN
19
- block : BN | Buffer
20
- max : number
21
- skip ?: number
22
- reverse ?: number
23
- } ) => Promise < { reqId : BN ; bv : BN ; headers : BlockHeader [ ] } >
32
+ getBlockHeaders : (
33
+ opts : GetBlockHeadersOpts
34
+ ) => Promise < { reqId : BN ; bv : BN ; headers : BlockHeader [ ] } >
24
35
}
25
36
26
37
const id = new BN ( 0 )
@@ -48,16 +59,16 @@ const messages: Message[] = [
48
59
name : 'GetBlockHeaders' ,
49
60
code : 0x02 ,
50
61
response : 0x03 ,
51
- encode : ( { reqId, block, max, skip = 0 , reverse = 0 } : any ) => [
62
+ encode : ( { reqId, block, max, skip = 0 , reverse = false } : GetBlockHeadersOpts ) => [
52
63
( reqId === undefined ? id . iaddn ( 1 ) : new BN ( reqId ) ) . toArrayLike ( Buffer ) ,
53
- [ BN . isBN ( block ) ? block . toArrayLike ( Buffer ) : block , max , skip , reverse ] ,
64
+ [ BN . isBN ( block ) ? block . toArrayLike ( Buffer ) : block , max , skip , ! reverse ? 0 : 1 ] ,
54
65
] ,
55
66
decode : ( [ reqId , [ block , max , skip , reverse ] ] : any ) => ( {
56
67
reqId : new BN ( reqId ) ,
57
68
block : block . length === 32 ? block : new BN ( block ) ,
58
69
max : bufferToInt ( max ) ,
59
70
skip : bufferToInt ( skip ) ,
60
- reverse : bufferToInt ( reverse ) ,
71
+ reverse : bufferToInt ( reverse ) === 0 ? false : true ,
61
72
} ) ,
62
73
} ,
63
74
{
0 commit comments