@@ -8,7 +8,11 @@ import (
88 ma "github.com/multiformats/go-multiaddr"
99 "github.com/textileio/filecoin/deals"
1010 dealsPb "github.com/textileio/filecoin/deals/pb"
11+ "github.com/textileio/filecoin/fchost"
1112 "github.com/textileio/filecoin/index/ask"
13+ "github.com/textileio/filecoin/index/miner"
14+ "github.com/textileio/filecoin/index/slashing"
15+ "github.com/textileio/filecoin/iplocation/ip2location"
1216 "github.com/textileio/filecoin/lotus"
1317 "github.com/textileio/filecoin/tests"
1418 "github.com/textileio/filecoin/util"
@@ -27,6 +31,8 @@ type Server struct {
2731 dm * deals.Module
2832 ai * ask.AskIndex
2933 wm * wallet.Module
34+ si * slashing.SlashingIndex
35+ mi * miner.MinerIndex
3036
3137 rpc * grpc.Server
3238 dealsService * deals.Service
@@ -52,8 +58,19 @@ func NewServer(conf Config) (*Server, error) {
5258 ds := tests .NewTxMapDatastore ()
5359
5460 ai := ask .New (ds , c )
55- dm := deals .New (c , ds )
61+ dm := deals .New (ds , c )
5662 wm := wallet .New (c )
63+ fchost , err := fchost .New ()
64+ if err != nil {
65+ return nil , err
66+ }
67+ if err := fchost .Bootstrap (); err != nil {
68+ return nil , err
69+ }
70+ // ToDo: Flags or embed
71+ ip2l := ip2location .New ([]string {"ip2location-ip4.bin" })
72+ mi := miner .New (ds , c , fchost , ip2l )
73+ si := slashing .New (ds , c )
5774 dealsService := deals .NewService (dm , ai )
5875 walletService := wallet .NewService (wm )
5976
@@ -64,6 +81,8 @@ func NewServer(conf Config) (*Server, error) {
6481 dm : dm ,
6582 ai : ai ,
6683 wm : wm ,
84+ mi : mi ,
85+ si : si ,
6786 dealsService : dealsService ,
6887 walletService : walletService ,
6988 closeLotus : cls ,
@@ -90,7 +109,15 @@ func NewServer(conf Config) (*Server, error) {
90109func (s * Server ) Close () {
91110 s .rpc .GracefulStop ()
92111 s .closeLotus ()
93- s .ai .Close ()
112+ if err := s .ai .Close (); err != nil {
113+ log .Errorf ("error when closing ask index: %s" , err )
114+ }
115+ if err := s .mi .Close (); err != nil {
116+ log .Errorf ("error when closing miner index: %s" , err )
117+ }
118+ if err := s .si .Close (); err != nil {
119+ log .Errorf ("error when closing slashing index: %s" , err )
120+ }
94121 if err := s .ds .Close (); err != nil {
95122 log .Errorf ("error when closing datastore: %s" , err )
96123 }
0 commit comments