forked from coracle/zooid
Fix sign and store to take events by reference
This commit is contained in:
@@ -76,12 +76,12 @@ The below config file might be saved as `./config/my-relay.example.com` in order
|
||||
```toml
|
||||
host = "my-relay.example.com"
|
||||
schema = "my_relay"
|
||||
secret = "ce30b1831a4551f4cb7a984033c34ab96d8cf56ff50df9d0c27d9fa5422f2278"
|
||||
secret = "<hex private key>"
|
||||
|
||||
[info]
|
||||
name = "My relay"
|
||||
icon = "https://example.com/icon.png"
|
||||
pubkey = "d9254d9898fd4728f7e2b32b87520221a50f6b8b97d935d7da2de8923988aa6d"
|
||||
pubkey = "<hex public key>"
|
||||
description = "A community relay for my friends"
|
||||
|
||||
[policy]
|
||||
|
||||
+4
-4
@@ -350,17 +350,17 @@ func (events *EventStore) StoreEvent(event nostr.Event) error {
|
||||
return events.ReplaceEvent(event)
|
||||
}
|
||||
|
||||
func (events *EventStore) SignAndStoreEvent(event nostr.Event, broadcast bool) error {
|
||||
if err := events.Config.Sign(&event); err != nil {
|
||||
func (events *EventStore) SignAndStoreEvent(event *nostr.Event, broadcast bool) error {
|
||||
if err := events.Config.Sign(event); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := events.StoreEvent(event); err != nil {
|
||||
if err := events.StoreEvent(*event); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if broadcast {
|
||||
events.Relay.BroadcastEvent(event)
|
||||
events.Relay.BroadcastEvent(*event)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
+3
-3
@@ -44,7 +44,7 @@ func (g *GroupStore) AddMember(h string, pubkey nostr.PubKey) error {
|
||||
},
|
||||
}
|
||||
|
||||
return g.Events.SignAndStoreEvent(event, true)
|
||||
return g.Events.SignAndStoreEvent(&event, true)
|
||||
}
|
||||
|
||||
func (g *GroupStore) RemoveMember(h string, pubkey nostr.PubKey) error {
|
||||
@@ -57,7 +57,7 @@ func (g *GroupStore) RemoveMember(h string, pubkey nostr.PubKey) error {
|
||||
},
|
||||
}
|
||||
|
||||
return g.Events.SignAndStoreEvent(event, true)
|
||||
return g.Events.SignAndStoreEvent(&event, true)
|
||||
}
|
||||
|
||||
func (g *GroupStore) SetMetadataFromEvent(event nostr.Event) error {
|
||||
@@ -77,7 +77,7 @@ func (g *GroupStore) SetMetadataFromEvent(event nostr.Event) error {
|
||||
Tags: tags,
|
||||
}
|
||||
|
||||
return g.Events.SignAndStoreEvent(metadataEvent, true)
|
||||
return g.Events.SignAndStoreEvent(&metadataEvent, true)
|
||||
}
|
||||
|
||||
func (g *GroupStore) DeleteGroup(h string) {
|
||||
|
||||
+5
-1
@@ -219,7 +219,7 @@ func (instance *Instance) GenerateInviteEvent(pubkey nostr.PubKey) nostr.Event {
|
||||
},
|
||||
}
|
||||
|
||||
if err := instance.Events.SignAndStoreEvent(event, false); err != nil {
|
||||
if err := instance.Events.SignAndStoreEvent(&event, false); err != nil {
|
||||
log.Printf("Failed to sign invite event: %v", err)
|
||||
}
|
||||
|
||||
@@ -282,6 +282,10 @@ func (instance *Instance) QueryStored(ctx context.Context, filter nostr.Filter)
|
||||
}
|
||||
|
||||
for event := range instance.Events.QueryEvents(filter, 1000) {
|
||||
if event.Kind == RELAY_INVITE {
|
||||
continue
|
||||
}
|
||||
|
||||
if instance.IsInternalEvent(event) {
|
||||
continue
|
||||
}
|
||||
|
||||
+8
-8
@@ -48,7 +48,7 @@ func (m *ManagementStore) BanEvent(id nostr.ID, reason string) error {
|
||||
event := m.Events.GetOrCreateApplicationSpecificData(BANNED_EVENTS)
|
||||
event.Tags = append(event.Tags, nostr.Tag{"event", id.Hex(), reason})
|
||||
|
||||
return m.Events.SignAndStoreEvent(event, false)
|
||||
return m.Events.SignAndStoreEvent(&event, false)
|
||||
}
|
||||
|
||||
func (m *ManagementStore) AllowEvent(id nostr.ID, reason string) error {
|
||||
@@ -57,7 +57,7 @@ func (m *ManagementStore) AllowEvent(id nostr.ID, reason string) error {
|
||||
return t[1] == id.Hex()
|
||||
})
|
||||
|
||||
return m.Events.SignAndStoreEvent(event, false)
|
||||
return m.Events.SignAndStoreEvent(&event, false)
|
||||
}
|
||||
|
||||
func (m *ManagementStore) EventIsBanned(id nostr.ID) bool {
|
||||
@@ -89,7 +89,7 @@ func (m *ManagementStore) AddBannedPubkey(pubkey nostr.PubKey, reason string) er
|
||||
if event.Tags.FindWithValue("banned", pubkey.Hex()) == nil {
|
||||
event.Tags = append(event.Tags, nostr.Tag{"banned", pubkey.Hex(), reason})
|
||||
|
||||
if err := m.Events.SignAndStoreEvent(event, false); err != nil {
|
||||
if err := m.Events.SignAndStoreEvent(&event, false); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -105,7 +105,7 @@ func (m *ManagementStore) RemoveBannedPubkey(pubkey nostr.PubKey) error {
|
||||
return len(t) >= 2 && t[1] != pubkey.Hex()
|
||||
})
|
||||
|
||||
if err := m.Events.SignAndStoreEvent(event, false); err != nil {
|
||||
if err := m.Events.SignAndStoreEvent(&event, false); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -152,13 +152,13 @@ func (m *ManagementStore) AddMember(pubkey nostr.PubKey) error {
|
||||
},
|
||||
}
|
||||
|
||||
if err := m.Events.SignAndStoreEvent(addMemberEvent, true); err != nil {
|
||||
if err := m.Events.SignAndStoreEvent(&addMemberEvent, true); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
membersEvent.Tags = append(membersEvent.Tags, nostr.Tag{"member", pubkey.Hex()})
|
||||
|
||||
if err := m.Events.SignAndStoreEvent(membersEvent, true); err != nil {
|
||||
if err := m.Events.SignAndStoreEvent(&membersEvent, true); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -179,7 +179,7 @@ func (m *ManagementStore) RemoveMember(pubkey nostr.PubKey) error {
|
||||
},
|
||||
}
|
||||
|
||||
if err := m.Events.SignAndStoreEvent(removeMemberEvent, true); err != nil {
|
||||
if err := m.Events.SignAndStoreEvent(&removeMemberEvent, true); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ func (m *ManagementStore) RemoveMember(pubkey nostr.PubKey) error {
|
||||
return len(t) >= 2 && t[1] != pubkey.Hex()
|
||||
})
|
||||
|
||||
if err := m.Events.SignAndStoreEvent(membersEvent, true); err != nil {
|
||||
if err := m.Events.SignAndStoreEvent(&membersEvent, true); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user