mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-06-28 01:32:28 +02:00
nip60: EnsureWallet() publishes an update if a wallet wasn't found.
This commit is contained in:
parent
14c4101a03
commit
2b9c50a220
@ -278,7 +278,7 @@ func loadStash(
|
|||||||
return wl
|
return wl
|
||||||
}
|
}
|
||||||
|
|
||||||
func (wl *WalletStash) EnsureWallet(id string) *Wallet {
|
func (wl *WalletStash) EnsureWallet(ctx context.Context, id string) *Wallet {
|
||||||
wl.Lock()
|
wl.Lock()
|
||||||
defer wl.Unlock()
|
defer wl.Unlock()
|
||||||
if w, ok := wl.wallets[id]; ok {
|
if w, ok := wl.wallets[id]; ok {
|
||||||
@ -287,7 +287,7 @@ func (wl *WalletStash) EnsureWallet(id string) *Wallet {
|
|||||||
|
|
||||||
sk, err := btcec.NewPrivateKey()
|
sk, err := btcec.NewPrivateKey()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
w := &Wallet{
|
w := &Wallet{
|
||||||
@ -297,6 +297,14 @@ func (wl *WalletStash) EnsureWallet(id string) *Wallet {
|
|||||||
wl: wl,
|
wl: wl,
|
||||||
}
|
}
|
||||||
wl.wallets[id] = w
|
wl.wallets[id] = w
|
||||||
|
|
||||||
|
event := nostr.Event{}
|
||||||
|
if err := w.toEvent(ctx, wl.kr, &event); err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
wl.PublishUpdate(event, nil, nil, nil, false)
|
||||||
|
|
||||||
return w
|
return w
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,10 +71,10 @@ func TestWalletTransfer(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ensure wallets exist and have tokens
|
// ensure wallets exist and have tokens
|
||||||
w1 := stash1.EnsureWallet("test")
|
w1 := stash1.EnsureWallet(ctx, "test")
|
||||||
require.Greater(t, w1.Balance(), uint64(0), "wallet 1 has no balance")
|
require.Greater(t, w1.Balance(), uint64(0), "wallet 1 has no balance")
|
||||||
|
|
||||||
w2 := stash2.EnsureWallet("test")
|
w2 := stash2.EnsureWallet(ctx, "test")
|
||||||
initialBalance1 := w1.Balance()
|
initialBalance1 := w1.Balance()
|
||||||
initialBalance2 := w2.Balance()
|
initialBalance2 := w2.Balance()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user