nip60: dropping a token.
This commit is contained in:
34
nip60/drop.go
Normal file
34
nip60/drop.go
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
package nip60
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
"fiatjaf.com/nostr"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DropToken silently abandons a token
|
||||||
|
func (w *Wallet) DropToken(
|
||||||
|
ctx context.Context,
|
||||||
|
tokenID string,
|
||||||
|
) {
|
||||||
|
updatedTokens := make([]Token, 0, len(w.Tokens))
|
||||||
|
|
||||||
|
for _, token := range w.Tokens {
|
||||||
|
if token.ID() == tokenID {
|
||||||
|
deleteEvent := nostr.Event{
|
||||||
|
CreatedAt: nostr.Now(),
|
||||||
|
Kind: 5,
|
||||||
|
Tags: nostr.Tags{{"e", token.event.ID.Hex()}, {"k", "7375"}},
|
||||||
|
}
|
||||||
|
w.kr.SignEvent(ctx, &deleteEvent)
|
||||||
|
|
||||||
|
w.Lock()
|
||||||
|
w.PublishUpdate(deleteEvent, &token, nil, nil, false)
|
||||||
|
w.Unlock()
|
||||||
|
} else {
|
||||||
|
updatedTokens = append(updatedTokens, token)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
w.Tokens = updatedTokens
|
||||||
|
}
|
||||||
@@ -119,9 +119,9 @@ func (w *Wallet) saveChangeAndDeleteUsedTokens(
|
|||||||
IsNutzap: false,
|
IsNutzap: false,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
continue
|
} else {
|
||||||
|
updatedTokens = append(updatedTokens, token)
|
||||||
}
|
}
|
||||||
updatedTokens = append(updatedTokens, token)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(changeToken.Proofs) > 0 {
|
if len(changeToken.Proofs) > 0 {
|
||||||
|
|||||||
Reference in New Issue
Block a user