Make the service objects independent, so we don't have inheritance.
This commit is contained in:
parent
8c66d67a52
commit
b9cb9d8c5a
3 changed files with 13 additions and 18 deletions
|
@ -28,12 +28,14 @@ type BlockchainBlockService struct {
|
||||||
|
|
||||||
// BlockchainAddressService methods handle "blockchain.address.*" RPCs
|
// BlockchainAddressService methods handle "blockchain.address.*" RPCs
|
||||||
type BlockchainAddressService struct {
|
type BlockchainAddressService struct {
|
||||||
BlockchainBlockService
|
DB *db.ReadOnlyDBColumnFamily
|
||||||
|
Chain *chaincfg.Params
|
||||||
}
|
}
|
||||||
|
|
||||||
// BlockchainScripthashService methods handle "blockchain.scripthash.*" RPCs
|
// BlockchainScripthashService methods handle "blockchain.scripthash.*" RPCs
|
||||||
type BlockchainScripthashService struct {
|
type BlockchainScripthashService struct {
|
||||||
BlockchainBlockService
|
DB *db.ReadOnlyDBColumnFamily
|
||||||
|
Chain *chaincfg.Params
|
||||||
}
|
}
|
||||||
|
|
||||||
const CHUNK_SIZE = 96
|
const CHUNK_SIZE = 96
|
||||||
|
|
|
@ -161,10 +161,8 @@ func TestGetBalance(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s := &BlockchainAddressService{
|
s := &BlockchainAddressService{
|
||||||
BlockchainBlockService{
|
DB: db,
|
||||||
DB: db,
|
Chain: &chaincfg.RegressionNetParams,
|
||||||
Chain: &chaincfg.RegressionNetParams,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, addr := range regTestAddrs {
|
for _, addr := range regTestAddrs {
|
||||||
|
@ -192,10 +190,8 @@ func TestGetHistory(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s := &BlockchainAddressService{
|
s := &BlockchainAddressService{
|
||||||
BlockchainBlockService{
|
DB: db,
|
||||||
DB: db,
|
Chain: &chaincfg.RegressionNetParams,
|
||||||
Chain: &chaincfg.RegressionNetParams,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, addr := range regTestAddrs {
|
for _, addr := range regTestAddrs {
|
||||||
|
@ -223,10 +219,8 @@ func TestListUnspent(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
s := &BlockchainAddressService{
|
s := &BlockchainAddressService{
|
||||||
BlockchainBlockService{
|
DB: db,
|
||||||
DB: db,
|
Chain: &chaincfg.RegressionNetParams,
|
||||||
Chain: &chaincfg.RegressionNetParams,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, addr := range regTestAddrs {
|
for _, addr := range regTestAddrs {
|
||||||
|
|
|
@ -63,16 +63,15 @@ func (s *Server) StartJsonRPC() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Register other "blockchain.{block,address,scripthash}.*" handlers.
|
// Register other "blockchain.{block,address,scripthash}.*" handlers.
|
||||||
blockchainSvc := &BlockchainBlockService{s.DB, s.Chain}
|
err = s1.RegisterTCPService(&BlockchainBlockService{s.DB, s.Chain}, "blockchain_block")
|
||||||
err = s1.RegisterTCPService(blockchainSvc, "blockchain_block")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("RegisterService: %v\n", err)
|
log.Errorf("RegisterService: %v\n", err)
|
||||||
}
|
}
|
||||||
err = s1.RegisterTCPService(&BlockchainAddressService{*blockchainSvc}, "blockchain_address")
|
err = s1.RegisterTCPService(&BlockchainAddressService{s.DB, s.Chain}, "blockchain_address")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("RegisterService: %v\n", err)
|
log.Errorf("RegisterService: %v\n", err)
|
||||||
}
|
}
|
||||||
err = s1.RegisterTCPService(&BlockchainScripthashService{*blockchainSvc}, "blockchain_scripthash")
|
err = s1.RegisterTCPService(&BlockchainScripthashService{s.DB, s.Chain}, "blockchain_scripthash")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("RegisterService: %v\n", err)
|
log.Errorf("RegisterService: %v\n", err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue