Commit Graph
100 Commits
Author SHA1 Message Date
Wilson Silva 1ff9611051 Remove an unnecessary header in the changelog 2024-03-18 20:15:05 +00:00
Wilson Silva 1d12363af1 Document a common issue 2024-03-15 19:42:37 +00:00
Wilson Silva 9ae68542f1 Bump the gem version to v0.6.0 2024-03-15 19:13:34 +00:00
Wilson Silva 6a5068a552 Update the changelog for v0.6.0 2024-03-15 19:13:34 +00:00
Wilson Silva 470a72d4de Document how to verify the signature of messages and events 2024-03-15 19:13:34 +00:00
Wilson Silva 86cd6c6baa Remove blank lines 2024-03-15 19:13:34 +00:00
Wilson Silva 9d6d91e436 Update Bun to v1.0.30 2024-03-15 19:13:34 +00:00
Wilson Silva 838a2db834 Allow key pairs to be destructured 2024-03-15 19:13:34 +00:00
Wilson Silva 7c571d3b12 Simplify the nullable RBS types 2024-03-15 19:13:34 +00:00
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
Wilson Silva f8893f9b0e Update bip-schnorr, dotenv, overcommit, rbs, rspec, rubocop, and rubocop-rspec 2024-03-15 19:13:33 +00:00
Wilson Silva 3788ba4ce5 Add a build badge 2024-03-15 19:13:33 +00:00
Wilson Silva 0f83b8071a Update Ruby to v3.3 2024-03-15 19:13:33 +00:00
Wilson Silva c8d633dbea Fix the @raise documentation of Nostr::Key#initialize 2024-03-15 19:13:33 +00:00
Wilson Silva df51354d3e Fix the signature tests in user_spec 2024-03-13 12:53:27 +00:00
Wilson Silva 3765b60a68 Fix the documentation of generate_key_pair 2024-03-13 12:47:16 +00:00
Wilson Silva 17cd2bf0f4 Adopt Architecture Decision Records 2024-03-13 12:46:48 +00:00
Wilson Silva c064a8d5f0 Fix a few YARD example rendering issues 2023-11-20 21:43:01 +07:00
Wilson Silva 8bc6b84f6f Bump the gem version to v0.5.0 2023-11-20 21:05:36 +07:00
Wilson Silva 61a88981e6 Add full NIP-19 compatibility
note, nprofile, nevent, naddr, npub, nsec and nrelay
2023-11-20 21:03:24 +07:00
Wilson Silva bba18d1bc0 Fix the generation of private keys
https://github.com/dtonon/nostr-ruby/commit/00c2660584b391d5ef5fda14495178f11934aea5
2023-11-20 12:39:58 +07:00
Wilson Silva b45370e65f Remove a broken documentation link 2023-11-20 10:42:32 +07:00
Wilson Silva 53069a3d0c Update bip-schnorr, puma, rake, rubocop and rubocop-rspec 2023-11-20 10:32:27 +07:00
Wilson Silva 3520cf8219 Implement NIP-19 bech32-encoded private and public keys
https://github.com/nostr-protocol/nips/blob/master/19.md
2023-11-20 09:59:27 +07:00
Wilson Silva 3fffcd1a4e Use keyword arguments for User#create_event
This allows for code completion and fixes another RBS issue
2023-11-18 18:06:53 +07:00
Wilson Silva 2c44ae4ee8 Fix the RBS types of Nostr::Filter e, p and to_f 2023-11-18 17:22:20 +07:00
Wilson Silva 4b630c678b Ensure that Nostr::Crypto#descrypt_text always returns a string
Fixes another Steep/RBS violation
2023-11-18 16:38:03 +07:00
Wilson Silva 3077aa67a7 Fix the RBS type of Nostr::Crypto::BN_BASE 2023-11-18 16:28:31 +07:00
Wilson Silva 2584967654 Update rbs to v3.3 and steep to v1.6 2023-11-18 15:42:09 +07:00
Wilson Silva b54147cfce Remove unnecessary blank space 2023-11-14 16:58:14 +07:00
Wilson Silva 0f9c0d3a3d Add relay message type enums 2023-11-14 16:57:33 +07:00
Wilson Silva 904fe46a9d Name the implemented NIPs 2023-11-14 16:53:38 +07:00
Wilson Silva 80c272f149 Fix the formatting of encrypted direct message 2023-11-14 16:28:16 +07:00
Wilson Silva be4c3e0e32 Update the documentation of the subscription id
Match the changes introduced in  https://github.com/nostr-protocol/nips/pull/299
2023-11-14 16:12:33 +07:00
Wilson Silva 30eafa1203 Remove id/pubkey prefix documentation
Removed from the protocol in https://github.com/nostr-protocol/nips/pull/703
2023-11-14 16:12:32 +07:00
Wilson Silva 4f13b22e51 Update Ruby to version 3.2.2 2023-11-14 07:54:56 +07:00
Wilson Silva 6d9758a37a Fix the subscription documentation 2023-11-14 07:45:39 +07:00
Wilson Silva 4d8803d769 Update bec32 2023-11-13 21:32:11 +07:00
Wilson Silva e9deab2fc2 Link the changelog with the homepage 2023-11-13 18:09:51 +07:00
Wilson Silva 35c7e6a76e Ignore my local copy of the nostr nips folder 2023-11-13 18:09:03 +07:00
Wilson Silva 8e1e3092c3 Update the changelog format version 2023-11-13 18:01:17 +07:00
Wilson Silva eaa97e0018 Update the changelog 2023-11-13 17:58:04 +07:00
Wilson Silva 1fb7e454ae Update the gem's homepage 2023-11-13 17:55:36 +07:00
Wilson Silva 82aacb70e7 Use my own domain instead of Vercel's 2023-11-13 17:55:25 +07:00
Wilson Silva d49fac49b6 Add high-level documentation
https://nostr-ruby.com
2023-11-13 17:48:17 +07:00
Wilson Silva b206f6504e Update vitepress and install mermaid diagram plugin 2023-11-13 17:43:42 +07:00
Wilson Silva 6d81d07f8a Use bun 2023-11-13 17:43:41 +07:00
Wilson Silva 3fbc523b18 Document how to develop the documentation 2023-11-13 17:43:41 +07:00
Wilson Silva c27de6d506 Update Puma to version 6.3
Fixes the error "Puma 5 is not compatible with Rack 3, please upgrade to Puma 6 or higher."
2023-09-16 16:13:42 +07:00
Wilson Silva 1865858230 Add the VitePress documentation scaffold 2023-09-16 15:32:53 +07:00
Wilson Silva e2b650fb84 Fix the documentation on how to publish an event
I wish there were unit tests for documentation
2023-02-26 12:40:09 +07:00
Wilson Silva a4e836d6f5 Add a changelog anchor for version 0.4.0 2023-02-25 17:50:33 +07:00
Wilson Silva 378970b6ab Bump the gem version to v0.4.0 2023-02-25 17:43:51 +07:00
Wilson Silva 0b66dc3625 Update the Implemented NIPs list 2023-02-25 17:43:10 +07:00
Wilson Silva 8e26191655 Update the changelog 2023-02-25 17:38:01 +07:00
Wilson Silva 857bf0ce8e Implement NIP-04: Encrypted Direct Messages 2023-02-25 17:38:00 +07:00
Wilson Silva 0df4dbb979 Add convenience methods to append event and pubkey references 2023-02-25 17:38:00 +07:00
Wilson Silva 4c9c35520d Add a missing spec for EventKind::CONTACT_LIST 2023-02-25 17:37:59 +07:00
Wilson Silva 2fc56a2b1a Fix the RBS signature of User#create_event 2023-02-25 17:37:58 +07:00
Wilson Silva 79567fcf22 Extract event signing into its own class 2023-02-25 17:37:58 +07:00
Wilson Silva 97037e6e30 Merge EventFragment into Event
Treating Event as a Value Object in the strictest sense requires additional abstractions and internal complexity that the gem could do without, at least for now.
2023-02-25 17:37:57 +07:00
Wilson Silva 0e8b38bf6e Fix pubkey generation adding leading 0s when < 64 bytes 2023-02-25 17:37:57 +07:00
Wilson SilvaandGitHub 4828272bd5 Merge pull request #6 from narch/main
fix method name in README
2023-02-21 17:51:01 +07:00
Wilson Silva a5ef0bb880 Update the changelog 2023-02-15 19:42:23 +07:00
Wilson Silva 30d71395cf Add a table of contents 2023-02-15 18:47:19 +07:00
Wilson Silva abc3be3f85 Bump the gem version to v0.3.0 2023-02-15 18:33:25 +07:00
Wilson Silva e56058a0e1 Update the changelog 2023-02-15 18:33:24 +07:00
Wilson Silva 19f07efdeb Add client support for NIP-02 (manage contact lists) 2023-02-15 18:33:24 +07:00
Wilson Silva e6e4f576e3 Format the code example regarding relay connections 2023-02-15 18:33:23 +07:00
Wilson Silva 1a884ea7b7 Fix a typo and the documentation for the received socket messages 2023-02-15 18:33:22 +07:00
Wilson Silva 8f6a7547f5 Add initial RBS support with Steep and TypeProf 2023-01-22 17:42:59 +07:00
Wilson Silva 59e058d511 Update the rake task list 2023-01-21 20:43:48 +07:00
Wilson Silva e0f7a4cc50 Bump the gem version to v0.2.0 2023-01-12 17:21:18 +07:00
Wilson Silva 0017b4e591 Update the changelog 2023-01-12 17:21:18 +07:00
Wilson Silva 5b1786ddec Add NIP-01 compliant client code 2023-01-12 17:21:17 +07:00
Wilson Silva e344ebda82 Remove the unused Error class 2023-01-10 15:51:37 +07:00
Wilson Silva 32ee858365 Add and configure dotenv 2023-01-08 15:33:49 +07:00
Wilson Silva 3340866c1f Remove the documentation badge
Inch-CI is down
2023-01-06 12:43:42 +07:00
Wilson Silva 766523bf4d Setup CodeClimate's quality reporting 2023-01-06 12:41:31 +07:00
Wilson Silva a24e2368cb Add a test for the gem's version 2023-01-06 12:15:04 +07:00
Wilson Silva 8f0ebc739b Report code coverage to the console and to HTML files 2023-01-06 12:14:44 +07:00
Wilson Silva cfa1eecb23 Fix the local code coverage reporting 2023-01-06 12:13:26 +07:00
Wilson Silva cc62c9f226 Rename the master branch references to main 2023-01-06 11:42:02 +07:00
Wilson Silva 9a14515efe Remove Hakiri badge because the service was killed a year ago 2023-01-06 11:34:47 +07:00
Wilson Silva ecdf104363 Update the changelog 2023-01-06 11:23:49 +07:00
Wilson Silva ab3e815041 Add the version, security and documentation badges 2023-01-06 11:22:47 +07:00
Wilson Silva f0be5e80a4 Document the gem 2023-01-06 11:19:39 +07:00
Wilson Silva 8a1b02fe54 Document the codebase maintainability Rake tasks 2023-01-06 11:18:03 +07:00
Wilson Silva 0af2766543 Add a Rake task to assure the quality of the codebase 2023-01-06 11:16:27 +07:00
Wilson Silva 37f982b23d Fix yard:junk violations 2023-01-06 11:15:40 +07:00
Wilson Silva 08236c4194 Add yard, yardstick and yard-junk to document the gem 2023-01-06 11:15:17 +07:00
Wilson Silva 89a23a69e2 Setup code coverage with simplecov 2023-01-06 11:10:20 +07:00
Wilson Silva 80b07ccf4c Replace IRB with Pry 2023-01-06 11:10:20 +07:00
Wilson Silva dd61fae427 Add Guard with bundler, rspec and rubocop plugins 2023-01-06 11:10:19 +07:00
Wilson Silva ff121d1522 Add bundler-audit to keep the gem secure 2023-01-06 11:10:18 +07:00
Wilson Silva 836e54f9d8 Add Overcommit to prevent committing substandard code 2023-01-06 11:10:18 +07:00
Wilson Silva edc2269ff7 Add rubocop-rake 2023-01-06 11:10:17 +07:00
Wilson Silva 3c228703a9 Fix RuboCop violations 2023-01-06 11:10:17 +07:00
Wilson Silva 9d0bbab478 Document the main module 2023-01-06 11:10:16 +07:00
Wilson Silva b8d663ca00 Add and configure rubocop and rubocop-rspec 2023-01-06 10:51:06 +07:00