18 lines
362 B
Ruby
18 lines
362 B
Ruby
module NostrManager
|
|
class VerifySignature < NostrManagerService
|
|
def initialize(event:)
|
|
@event = Nostr::Event.new(**event)
|
|
end
|
|
|
|
def call
|
|
Schnorr.check_sig!(
|
|
[@event.id].pack('H*'),
|
|
[@event.pubkey].pack('H*'),
|
|
[@event.sig].pack('H*')
|
|
)
|
|
rescue Schnorr::InvalidSignatureError
|
|
false
|
|
end
|
|
end
|
|
end
|