-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathwrapper.go
35 lines (29 loc) · 1 KB
/
wrapper.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package gostratum
import (
"encoding/json"
)
func WrapPeersHandler(callback func([]Peer, error), decoder *Decoder) func(*json.RawMessage){
return func(result* json.RawMessage){
peers, err := decoder.DecodePeers(result)
callback(peers, err)
}
}
func WrapBlockHeadersHandler(callback func([]BlockHeader, error), decoder *Decoder) func(*json.RawMessage){
return func(result *json.RawMessage){
blocks, err := decoder.DecodeBlockHeaders(result)
callback(blocks, err)
}
}
func WrapAddressHandler(callback func(string, string, error), decoder *Decoder) func(*json.RawMessage){
return func(result *json.RawMessage){
var decoded [2]string
err := decoder.DecodeData(result, &decoded)
callback(decoded[0], decoded[1], err)
}
}
func WrapNumBlocksHandler(callback func(int, error), decoder *Decoder) func(*json.RawMessage){
return func(result *json.RawMessage){
num, err := decoder.DecodeInt(result)
callback(num, err)
}
}