// NotifyBlockDisconnected creates and marshals a JSON message to notify // of a new block disconnected from the main chain. The notification is sent // to each connected wallet. func (s *rpcServer) NotifyBlockDisconnected(block *btcutil.Block) { hash, err := block.Sha() if err != nil { rpcsLog.Error("Bad block; connected block notification dropped.") return } // TODO: remove int32 type conversion. ntfn := btcws.NewBlockDisconnectedNtfn(hash.String(), int32(block.Height())) mntfn, _ := json.Marshal(ntfn) s.ws.walletNotificationMaster <- mntfn }
// NotifyBlockDisconnected creates and marshals a JSON message to notify // of a new block disconnected from the main chain. The notification is sent // to each connected wallet. func (s *rpcServer) NotifyBlockDisconnected(block *btcutil.Block) { hash, err := block.Sha() if err != nil { rpcsLog.Error("Bad block; connected block notification dropped") return } // TODO: remove int32 type conversion. ntfn := btcws.NewBlockDisconnectedNtfn(hash.String(), int32(block.Height())) for ntfnChan, rc := range s.ws.connections { if rc.blockUpdates { ntfnChan <- ntfn } } }
// MarshalJSON creates the JSON encoding of the chain notification to pass // to any connected wallet clients. This should never error. func (n blockDisconnected) MarshalJSON() ([]byte, error) { nn := btcws.NewBlockDisconnectedNtfn(n.hash.String(), n.height) return nn.MarshalJSON() }
name: "blockconnected", f: func() btcjson.Cmd { return btcws.NewBlockConnectedNtfn( "000000004811dda1c320ad5d0ea184a20a53acd92292c5f1cb926c3ee82abf70", 153469) }, result: &btcws.BlockConnectedNtfn{ Hash: "000000004811dda1c320ad5d0ea184a20a53acd92292c5f1cb926c3ee82abf70", Height: 153469, }, }, { name: "blockdisconnected", f: func() btcjson.Cmd { return btcws.NewBlockDisconnectedNtfn( "000000004811dda1c320ad5d0ea184a20a53acd92292c5f1cb926c3ee82abf70", 153469) }, result: &btcws.BlockDisconnectedNtfn{ Hash: "000000004811dda1c320ad5d0ea184a20a53acd92292c5f1cb926c3ee82abf70", Height: 153469, }, }, { name: "btcdconnected", f: func() btcjson.Cmd { return btcws.NewBtcdConnectedNtfn(true) }, result: &btcws.BtcdConnectedNtfn{ Connected: true, },