mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-03-17 13:22:56 +01:00
small edits
This commit is contained in:
parent
a42c603847
commit
442fe39867
@ -44,8 +44,8 @@ func (d *DelegationToken) Conditions() (conditions string) {
|
||||
// This error is returned by d.Parse(ev) if the event ev does not have a delegation token.
|
||||
var NoDelegationTag error = fmt.Errorf("No Delegation Tag")
|
||||
|
||||
// This error is returned by Import(t,delegatee_pk) if the token delegatee does not match delegatee_pk.
|
||||
var WrongDelegatee error = fmt.Errorf("Wrong Delegatee")
|
||||
// This error is returned by Import(t,delegatee_pk) if the token signature verification fails.
|
||||
var VerificationFailed error = fmt.Errorf("VerificationFailed")
|
||||
|
||||
// CheckDelegation reads the event and reports whether or not it is correctly delegated.
|
||||
// If there is a delegation tag, the delegation token signature will be checked according to NIP-26.
|
||||
@ -61,8 +61,8 @@ func CheckDelegation(ev *nostr.Event) (ok bool, err error) {
|
||||
}
|
||||
|
||||
// Import verifies that t is NIP-26 delegation token for the given delegatee.
|
||||
// The returned DelegationToken object can be used in DelegatedSign
|
||||
// If the delegatee implicit in the token does not match delegatee_pk, WrongDelegatee error will be returned.
|
||||
// The returned DelegationToken object can be used in DelegatedSign.
|
||||
// If the token signature verification fails, the error VerificationFailed will be returned.
|
||||
func Import(t nostr.Tag, delegatee_pk string) (d *DelegationToken, e error) {
|
||||
d = new(DelegationToken)
|
||||
if len(t) == 4 && t[0] == "delegation" {
|
||||
@ -93,7 +93,7 @@ func Import(t nostr.Tag, delegatee_pk string) (d *DelegationToken, e error) {
|
||||
return nil, fmt.Errorf("Error: %s", err.Error())
|
||||
}
|
||||
if !sig.Verify(h[:], pubkey) {
|
||||
return nil, WrongDelegatee
|
||||
return nil, VerificationFailed
|
||||
}
|
||||
return d, nil
|
||||
}
|
||||
@ -204,6 +204,7 @@ func CreateToken(delegator_sk string, delegatee_pk string, kinds []int, since *t
|
||||
sk, tor_pk := btcec.PrivKeyFromBytes(s)
|
||||
copy(d.delegator[:], schnorr.SerializePubKey(tor_pk))
|
||||
|
||||
d.kinds = kinds
|
||||
d.since = since
|
||||
d.until = until
|
||||
|
||||
|
@ -8,14 +8,15 @@ import (
|
||||
|
||||
func TestDelegateSign(t *testing.T) {
|
||||
since := time.Unix(1600000000, 0)
|
||||
until := time.Unix(1600000100, 0)
|
||||
delegator_secret_key, delegatee_secret_key := "3f0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459da", "e9142f724955c5854de36324dab0434f97b15ec6b33464d56ebe491e3f559d1b"
|
||||
delegatee_pubkey, _ := nostr.GetPublicKey(delegatee_secret_key)
|
||||
d1, err := CreateToken(delegator_secret_key, delegatee_pubkey, []int{1, 2, 3}, &since, nil)
|
||||
d1, err := CreateToken(delegator_secret_key, delegatee_pubkey, []int{1, 2, 3}, &since, &until)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
ev := &nostr.Event{}
|
||||
ev.CreatedAt = time.Now()
|
||||
ev.CreatedAt = time.Unix(1600000050, 0)
|
||||
ev.Content = "hello world"
|
||||
ev.Kind = 1
|
||||
if err != nil {
|
||||
@ -33,11 +34,12 @@ func TestDelegateSign(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
tag := []string{"delegation", "9ea72be3fcfe38103195a41b67b6f96c14ed92d2091d6d9eb8166a5c27b0c35d", "created_at>1600000000", "c9c71d249455237c0fb620f5d1d271c1b937c1c10ee96ba1932737b0ffc3cfd49ebd918393bf4154ee867f919e56854d7b55adb19357e484d47c1f07ad29e9a9"}
|
||||
tag := []string{"delegation", "9ea72be3fcfe38103195a41b67b6f96c14ed92d2091d6d9eb8166a5c27b0c35d", "kind=1&kind=2&kind=3&created_at>1600000000", "8432b8c86f789c2783ef3becb0fabf4def6031c6a615fa7a622f31329d80ed1b2a79ab753c0462f1440503c94e1829158a3a854a1d418ad256ae2cf8aa19fa9a"}
|
||||
d3, err := Import(tag, delegatee_pubkey)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
ev.Tags = nil
|
||||
if err = DelegatedSign(ev, d3, delegatee_secret_key); err != nil {
|
||||
t.Error(err)
|
||||
|
Loading…
x
Reference in New Issue
Block a user