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.
This commit is contained in:
13
spec/nostr/errors/invalid_signature_format_error_spec.rb
Normal file
13
spec/nostr/errors/invalid_signature_format_error_spec.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
RSpec.describe Nostr::InvalidSignatureFormatError do
|
||||
describe '#initialize' do
|
||||
let(:error) { described_class.new }
|
||||
|
||||
it 'builds a useful error message' do
|
||||
expect(error.message).to eq('Only lowercase hexadecimal characters are allowed in signatures.')
|
||||
end
|
||||
end
|
||||
end
|
||||
13
spec/nostr/errors/invalid_signature_length_error_spec.rb
Normal file
13
spec/nostr/errors/invalid_signature_length_error_spec.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
RSpec.describe Nostr::InvalidSignatureLengthError do
|
||||
describe '#initialize' do
|
||||
let(:error) { described_class.new }
|
||||
|
||||
it 'builds a useful error message' do
|
||||
expect(error.message).to eq('Invalid signature length. It should have 128 characters.')
|
||||
end
|
||||
end
|
||||
end
|
||||
13
spec/nostr/errors/invalid_signature_type_error_spec.rb
Normal file
13
spec/nostr/errors/invalid_signature_type_error_spec.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
RSpec.describe Nostr::InvalidSignatureTypeError do
|
||||
describe '#initialize' do
|
||||
let(:error) { described_class.new }
|
||||
|
||||
it 'builds a useful error message' do
|
||||
expect(error.message).to eq('Invalid signature type')
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user