nostr-gem/sig/nostr/event.rbs
Wilson Silva 01010c763f
Allow the verification of signatures and events
Added the methods:
- Event#verify_signature
- Crypto#check_sig!
- Crypto#valid_sig?
- Crypto#sign_message

Fixed a primitive obsession by introducing a Signature class to ensure that signatures are valid Nostr signatures.
2024-03-15 19:13:33 +00:00

41 lines
1016 B
Plaintext

module Nostr
class Event
attr_reader pubkey: PublicKey
attr_reader created_at: Integer
attr_reader kind: Integer
attr_reader tags: Array[Array[String]]
attr_reader content: String
attr_accessor id: String?|nil
attr_accessor sig: Signature?
def initialize: (
pubkey: PublicKey,
kind: Integer,
content: String,
?created_at: Integer,
?tags: Array[Array[String]],
?id: String|nil,
?sig: Signature?
) -> void
def serialize: -> [Integer, String, Integer, Integer, Array[Array[String]], String]
def to_h: -> {
id: String?|nil,
pubkey: String,
created_at: Integer,
kind: Integer,
tags: Array[Array[String]],
content: String,
sig: String?|nil
}
def ==: (Event other) -> bool
def sign:(PrivateKey) -> Event
def verify_signature: -> bool
def add_event_reference: (String) -> Array[Array[String]]
def add_pubkey_reference: (PublicKey) -> Array[Array[String]]
end
end