Merge pull request #959 from halseth/notifier-order
Add spend notification to client map before recording it with backend
This commit is contained in:
commit
51ae820a0c
@ -488,10 +488,6 @@ type spendCancel struct {
|
|||||||
func (b *BitcoindNotifier) RegisterSpendNtfn(outpoint *wire.OutPoint,
|
func (b *BitcoindNotifier) RegisterSpendNtfn(outpoint *wire.OutPoint,
|
||||||
_ uint32) (*chainntnfs.SpendEvent, error) {
|
_ uint32) (*chainntnfs.SpendEvent, error) {
|
||||||
|
|
||||||
if err := b.chainConn.NotifySpent([]*wire.OutPoint{outpoint}); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
ntfn := &spendNotification{
|
ntfn := &spendNotification{
|
||||||
targetOutpoint: outpoint,
|
targetOutpoint: outpoint,
|
||||||
spendChan: make(chan *chainntnfs.SpendDetail, 1),
|
spendChan: make(chan *chainntnfs.SpendDetail, 1),
|
||||||
@ -504,6 +500,10 @@ func (b *BitcoindNotifier) RegisterSpendNtfn(outpoint *wire.OutPoint,
|
|||||||
case b.notificationRegistry <- ntfn:
|
case b.notificationRegistry <- ntfn:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := b.chainConn.NotifySpent([]*wire.OutPoint{outpoint}); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
// The following conditional checks to ensure that when a spend notification
|
// The following conditional checks to ensure that when a spend notification
|
||||||
// is registered, the output hasn't already been spent. If the output
|
// is registered, the output hasn't already been spent. If the output
|
||||||
// is no longer in the UTXO set, the chain will be rescanned from the point
|
// is no longer in the UTXO set, the chain will be rescanned from the point
|
||||||
|
@ -508,10 +508,6 @@ type spendCancel struct {
|
|||||||
func (b *BtcdNotifier) RegisterSpendNtfn(outpoint *wire.OutPoint,
|
func (b *BtcdNotifier) RegisterSpendNtfn(outpoint *wire.OutPoint,
|
||||||
_ uint32) (*chainntnfs.SpendEvent, error) {
|
_ uint32) (*chainntnfs.SpendEvent, error) {
|
||||||
|
|
||||||
if err := b.chainConn.NotifySpent([]*wire.OutPoint{outpoint}); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
ntfn := &spendNotification{
|
ntfn := &spendNotification{
|
||||||
targetOutpoint: outpoint,
|
targetOutpoint: outpoint,
|
||||||
spendChan: make(chan *chainntnfs.SpendDetail, 1),
|
spendChan: make(chan *chainntnfs.SpendDetail, 1),
|
||||||
@ -524,6 +520,10 @@ func (b *BtcdNotifier) RegisterSpendNtfn(outpoint *wire.OutPoint,
|
|||||||
case b.notificationRegistry <- ntfn:
|
case b.notificationRegistry <- ntfn:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := b.chainConn.NotifySpent([]*wire.OutPoint{outpoint}); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
// The following conditional checks to ensure that when a spend notification
|
// The following conditional checks to ensure that when a spend notification
|
||||||
// is registered, the output hasn't already been spent. If the output
|
// is registered, the output hasn't already been spent. If the output
|
||||||
// is no longer in the UTXO set, the chain will be rescanned from the point
|
// is no longer in the UTXO set, the chain will be rescanned from the point
|
||||||
|
Loading…
Reference in New Issue
Block a user