nostr 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -0
- data/.rubocop_todo.yml +23 -0
- data/CHANGELOG.md +16 -0
- data/README.md +232 -13
- data/Steepfile +14 -0
- data/lib/nostr/client.rb +176 -0
- data/lib/nostr/client_message_type.rb +15 -0
- data/lib/nostr/event.rb +93 -0
- data/lib/nostr/event_fragment.rb +111 -0
- data/lib/nostr/event_kind.rb +35 -0
- data/lib/nostr/filter.rb +172 -0
- data/lib/nostr/key_pair.rb +46 -0
- data/lib/nostr/keygen.rb +78 -0
- data/lib/nostr/relay.rb +43 -0
- data/lib/nostr/subscription.rb +65 -0
- data/lib/nostr/user.rb +92 -0
- data/lib/nostr/version.rb +2 -1
- data/lib/nostr.rb +11 -2
- data/nostr.gemspec +15 -2
- data/sig/nostr/client.rbs +20 -0
- data/sig/nostr/client_message_type.rbs +7 -0
- data/sig/nostr/event.rbs +24 -0
- data/sig/nostr/event_fragment.rbs +12 -0
- data/sig/nostr/event_kind.rbs +8 -0
- data/sig/nostr/filter.rbs +25 -0
- data/sig/nostr/key_pair.rbs +9 -0
- data/sig/nostr/keygen.rbs +13 -0
- data/sig/nostr/relay.rbs +9 -0
- data/sig/nostr/subscription.rbs +9 -0
- data/sig/nostr/user.rbs +24 -0
- data/sig/vendor/ecsda/group/secp256k1.rbs +6 -0
- data/sig/vendor/event_emitter.rbs +9 -0
- data/sig/vendor/event_machine/channel.rbs +18 -0
- data/sig/vendor/event_machine.rbs +69 -0
- data/sig/vendor/schnorr.rbs +4 -0
- metadata +205 -8
data/nostr.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
|
18
18
|
spec.metadata['homepage_uri'] = spec.homepage
|
19
19
|
spec.metadata['source_code_uri'] = 'https://github.com/wilsonsilva/nostr'
|
20
|
-
spec.metadata['changelog_uri'] = 'https://github.com/wilsonsilva/nostr/blob/
|
20
|
+
spec.metadata['changelog_uri'] = 'https://github.com/wilsonsilva/nostr/blob/main/CHANGELOG.md'
|
21
21
|
|
22
22
|
# Specify which files should be added to the gem when it is released.
|
23
23
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
@@ -31,7 +31,15 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
32
32
|
spec.require_paths = ['lib']
|
33
33
|
|
34
|
+
spec.add_dependency 'bech32', '~> 1.3'
|
35
|
+
spec.add_dependency 'bip-schnorr', '~> 0.4'
|
36
|
+
spec.add_dependency 'ecdsa', '~> 1.2'
|
37
|
+
spec.add_dependency 'event_emitter', '~> 0.2'
|
38
|
+
spec.add_dependency 'faye-websocket', '~> 0.11'
|
39
|
+
spec.add_dependency 'json', '~> 2.6'
|
40
|
+
|
34
41
|
spec.add_development_dependency 'bundler-audit', '~> 0.9'
|
42
|
+
spec.add_development_dependency 'dotenv', '~> 2.8'
|
35
43
|
spec.add_development_dependency 'guard', '~> 2.18'
|
36
44
|
spec.add_development_dependency 'guard-bundler', '~> 3.0'
|
37
45
|
spec.add_development_dependency 'guard-bundler-audit', '~> 0.1'
|
@@ -39,13 +47,18 @@ Gem::Specification.new do |spec|
|
|
39
47
|
spec.add_development_dependency 'guard-rubocop', '~> 1.5'
|
40
48
|
spec.add_development_dependency 'overcommit', '~> 0.59'
|
41
49
|
spec.add_development_dependency 'pry', '~> 0.14'
|
50
|
+
spec.add_development_dependency 'puma', '~> 5.6'
|
51
|
+
spec.add_development_dependency 'rack', '~> 3.0'
|
42
52
|
spec.add_development_dependency 'rake', '~> 13.0'
|
53
|
+
spec.add_development_dependency 'rbs', '~> 2.8'
|
43
54
|
spec.add_development_dependency 'rspec', '~> 3.12'
|
44
55
|
spec.add_development_dependency 'rubocop', '~> 1.42'
|
45
56
|
spec.add_development_dependency 'rubocop-rake', '~> 0.6'
|
46
57
|
spec.add_development_dependency 'rubocop-rspec', '2.16'
|
47
|
-
spec.add_development_dependency 'simplecov', '
|
58
|
+
spec.add_development_dependency 'simplecov', '= 0.17'
|
48
59
|
spec.add_development_dependency 'simplecov-console', '~> 0.9'
|
60
|
+
spec.add_development_dependency 'steep', '~> 1.3'
|
61
|
+
spec.add_development_dependency 'typeprof', '~> 0.21'
|
49
62
|
spec.add_development_dependency 'yard', '~> 0.9'
|
50
63
|
spec.add_development_dependency 'yard-junk', '~> 0.0.9'
|
51
64
|
spec.add_development_dependency 'yardstick', '~> 0.9'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Nostr
|
2
|
+
class Client
|
3
|
+
include EventEmitter
|
4
|
+
|
5
|
+
def initialize: -> void
|
6
|
+
def connect: (Relay relay) -> Thread
|
7
|
+
def subscribe: (?subscription_id: String, ?filter: Filter) -> Subscription
|
8
|
+
def unsubscribe: (String subscription_id) -> untyped
|
9
|
+
def publish: (Event event) -> untyped
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
attr_reader subscriptions: Hash[String, Subscription]
|
14
|
+
attr_reader parent_to_child_channel: untyped
|
15
|
+
attr_reader child_to_parent_channel: untyped
|
16
|
+
|
17
|
+
def execute_within_an_em_thread: { -> untyped } -> Thread
|
18
|
+
def initialize_channels: -> untyped
|
19
|
+
end
|
20
|
+
end
|
data/sig/nostr/event.rbs
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
module Nostr
|
2
|
+
class Event < EventFragment
|
3
|
+
attr_reader id: String
|
4
|
+
attr_reader sig: String
|
5
|
+
|
6
|
+
def initialize: (id: String, sig: String,
|
7
|
+
created_at: Integer,
|
8
|
+
kind: Integer,
|
9
|
+
tags: Array[String],
|
10
|
+
content: String,
|
11
|
+
) -> void
|
12
|
+
|
13
|
+
def to_h: -> {
|
14
|
+
id: String,
|
15
|
+
pubkey: String,
|
16
|
+
created_at: Integer,
|
17
|
+
kind: Integer,
|
18
|
+
tags: Array[String],
|
19
|
+
content: String,
|
20
|
+
sig: String
|
21
|
+
}
|
22
|
+
def ==: (Event other) -> bool
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Nostr
|
2
|
+
class EventFragment
|
3
|
+
attr_reader pubkey: String
|
4
|
+
attr_reader created_at: Integer
|
5
|
+
attr_reader kind: Integer
|
6
|
+
attr_reader tags: Array[String]
|
7
|
+
attr_reader content: String
|
8
|
+
|
9
|
+
def initialize: (pubkey: String, kind: Integer, content: String, ?created_at: Integer, ?tags: Array[String]) -> void
|
10
|
+
def serialize: -> [Integer, String, Integer, Integer, Array[String], String]
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Nostr
|
2
|
+
class Filter
|
3
|
+
attr_reader ids: Array[String]
|
4
|
+
attr_reader authors: Array[String]
|
5
|
+
attr_reader kinds: Array[Integer]
|
6
|
+
attr_reader e: String
|
7
|
+
attr_reader p: String
|
8
|
+
attr_reader since: Integer
|
9
|
+
attr_reader until: Integer
|
10
|
+
attr_reader limit: Integer
|
11
|
+
|
12
|
+
def initialize: (**untyped) -> void
|
13
|
+
def to_h: -> {
|
14
|
+
ids: Array[String],
|
15
|
+
authors: Array[String],
|
16
|
+
kinds: Array[Integer],
|
17
|
+
e: String,
|
18
|
+
p: String,
|
19
|
+
since: Integer,
|
20
|
+
until: Integer,
|
21
|
+
limit: Integer
|
22
|
+
}
|
23
|
+
def ==: (Filter other) -> bool
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Classes
|
2
|
+
module Nostr
|
3
|
+
class Keygen
|
4
|
+
def initialize: -> void
|
5
|
+
def generate_key_pair: -> KeyPair
|
6
|
+
def generate_private_key: -> String
|
7
|
+
def extract_public_key: (String private_key) -> String
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
attr_reader group: untyped
|
12
|
+
end
|
13
|
+
end
|
data/sig/nostr/relay.rbs
ADDED
data/sig/nostr/user.rbs
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# Classes
|
2
|
+
module Nostr
|
3
|
+
class User
|
4
|
+
attr_reader keypair: KeyPair
|
5
|
+
|
6
|
+
def initialize: (?keypair: KeyPair | nil, ?keygen: Keygen) -> void
|
7
|
+
def create_event: (
|
8
|
+
{
|
9
|
+
id: String,
|
10
|
+
pubkey: String,
|
11
|
+
created_at: Integer,
|
12
|
+
kind: Integer,
|
13
|
+
tags: Array[String],
|
14
|
+
content: String,
|
15
|
+
created_at: Integer,
|
16
|
+
sig: String
|
17
|
+
}
|
18
|
+
) -> Event
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def sign: (String event_sha256) -> String
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Added only to satisfy the Steep requirements. Not 100% reliable.
|
2
|
+
module EventEmitter
|
3
|
+
def add_listener: (untyped `type`, ?{once: true} params) -> Integer
|
4
|
+
alias on add_listener
|
5
|
+
|
6
|
+
def remove_listener: (untyped id_or_type) -> Array[untyped]?
|
7
|
+
def emit: (untyped `type`, *untyped data) -> Array[untyped]
|
8
|
+
def once: (untyped `type`) -> Integer
|
9
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Added only to satisfy the Steep requirements. Not 100% reliable.
|
2
|
+
module EventMachine
|
3
|
+
class Channel
|
4
|
+
@subs: Hash[untyped, untyped]
|
5
|
+
@uid: Integer
|
6
|
+
|
7
|
+
def initialize: -> void
|
8
|
+
def num_subscribers: -> Integer
|
9
|
+
def subscribe: (*untyped a) ?{ -> untyped } -> Integer
|
10
|
+
def unsubscribe: (untyped name) -> untyped
|
11
|
+
def push: (*untyped items) -> untyped
|
12
|
+
alias << push
|
13
|
+
def pop: (*untyped a) -> untyped
|
14
|
+
|
15
|
+
private
|
16
|
+
def gen_id: -> Integer
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# Added only to satisfy the Steep requirements. Not 100% reliable.
|
2
|
+
module EventMachine
|
3
|
+
ERRNOS: Hash[untyped, untyped]
|
4
|
+
P: untyped
|
5
|
+
self.@next_tick_mutex: Thread::Mutex
|
6
|
+
self.@reactor_running: bool
|
7
|
+
self.@next_tick_queue: Array[^-> untyped]
|
8
|
+
self.@tails: Array[nil]
|
9
|
+
self.@resultqueue: (Array[untyped] | Thread::Queue)?
|
10
|
+
self.@threadqueue: Thread::Queue?
|
11
|
+
self.@threadpool: Array[untyped]?
|
12
|
+
self.@all_threads_spawned: bool
|
13
|
+
self.@reactor_pid: Integer
|
14
|
+
self.@conns: Hash[untyped, untyped]
|
15
|
+
self.@acceptors: Hash[untyped, Array[(Array[untyped] | Integer)?]]
|
16
|
+
self.@timers: Hash[untyped, Integer | ^-> untyped | false]
|
17
|
+
self.@wrapped_exception: Exception?
|
18
|
+
self.@reactor_thread: Thread?
|
19
|
+
self.@threadpool_size: bot
|
20
|
+
self.@error_handler: bot
|
21
|
+
|
22
|
+
def self.run: (?untyped blk, ?nil tail) ?{ -> untyped } -> nil
|
23
|
+
def self.run_block: -> nil
|
24
|
+
def self.reactor_thread?: -> bool
|
25
|
+
def self.schedule: (*untyped a) -> nil
|
26
|
+
def self.fork_reactor: -> Integer?
|
27
|
+
def self.cleanup_machine: -> Array[untyped]
|
28
|
+
def self.add_shutdown_hook: -> Array[nil]
|
29
|
+
def self.add_timer: (*Integer | ^-> untyped args) ?{ -> untyped } -> nil
|
30
|
+
def self.add_periodic_timer: (*untyped args) -> untyped
|
31
|
+
def self.cancel_timer: (untyped timer_or_sig) -> false?
|
32
|
+
def self.stop_event_loop: -> untyped
|
33
|
+
def self.start_server: (untyped server, ?nil port, ?nil handler, *untyped args) -> untyped
|
34
|
+
def self.attach_server: (untyped sock, ?nil handler, *untyped args) -> untyped
|
35
|
+
def self.stop_server: (untyped signature) -> untyped
|
36
|
+
def self.start_unix_domain_server: (untyped filename, *untyped args) -> untyped
|
37
|
+
def self.connect: (untyped server, ?nil port, ?nil handler, *untyped args) -> untyped
|
38
|
+
def self.bind_connect: (nil bind_addr, nil bind_port, untyped server, ?nil port, ?nil handler, *untyped args) -> untyped
|
39
|
+
def self.watch: (untyped io, ?nil handler, *untyped args) -> untyped
|
40
|
+
def self.attach: (untyped io, ?nil handler, *untyped args) -> untyped
|
41
|
+
def self.attach_io: (untyped io, bool watch_mode, ?nil handler, *untyped args) -> untyped
|
42
|
+
def self.reconnect: (untyped server, untyped port, untyped handler) -> untyped
|
43
|
+
def self.connect_unix_domain: (untyped socketname, *untyped args) -> untyped
|
44
|
+
def self.open_datagram_socket: (untyped address, untyped port, ?nil handler, *untyped args) -> untyped
|
45
|
+
def self.set_quantum: (untyped mills) -> untyped
|
46
|
+
def self.set_max_timers: (untyped ct) -> untyped
|
47
|
+
def self.get_max_timers: -> untyped
|
48
|
+
def self.connection_count: -> untyped
|
49
|
+
def self.run_deferred_callbacks: -> Integer
|
50
|
+
def self.defer: (?nil op, ?nil callback, ?nil errback) -> untyped
|
51
|
+
def self.spawn_threadpool: -> true
|
52
|
+
def self.defers_finished?: -> bool
|
53
|
+
def self.next_tick: (?nil pr) { -> nil } -> nil
|
54
|
+
def self.set_effective_user: (untyped username) -> untyped
|
55
|
+
def self.set_descriptor_table_size: (?nil n_descriptors) -> untyped
|
56
|
+
def self.popen: (untyped cmd, ?nil handler, *untyped args) -> untyped
|
57
|
+
def self.reactor_running?: -> bool
|
58
|
+
def self.open_keyboard: (?nil handler, *untyped args) -> untyped
|
59
|
+
def self.watch_file: (untyped filename, ?nil handler, *untyped args) -> untyped
|
60
|
+
def self.watch_process: (untyped pid, ?nil handler, *untyped args) -> untyped
|
61
|
+
def self.error_handler: (?nil cb) -> nil
|
62
|
+
def self.enable_proxy: (untyped from, untyped to, ?Integer bufsize, ?Integer length) -> untyped
|
63
|
+
def self.disable_proxy: (untyped from) -> untyped
|
64
|
+
def self.heartbeat_interval: -> untyped
|
65
|
+
def self.heartbeat_interval=: (untyped time) -> untyped
|
66
|
+
def self.event_callback: (untyped conn_binding, untyped opcode, untyped data) -> Integer?
|
67
|
+
def self._open_file_for_writing: (untyped filename, ?nil handler) -> untyped
|
68
|
+
def self.klass_from_handler: (?untyped klass, ?Integer? handler, *nil args) -> Integer
|
69
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nostr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wilson Silva
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bech32
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bip-schnorr
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.4'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.4'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: ecdsa
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.2'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.2'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: event_emitter
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.2'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.2'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: faye-websocket
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.11'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.11'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: json
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.6'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.6'
|
13
97
|
- !ruby/object:Gem::Dependency
|
14
98
|
name: bundler-audit
|
15
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -24,6 +108,20 @@ dependencies:
|
|
24
108
|
- - "~>"
|
25
109
|
- !ruby/object:Gem::Version
|
26
110
|
version: '0.9'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: dotenv
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '2.8'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '2.8'
|
27
125
|
- !ruby/object:Gem::Dependency
|
28
126
|
name: guard
|
29
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,6 +220,34 @@ dependencies:
|
|
122
220
|
- - "~>"
|
123
221
|
- !ruby/object:Gem::Version
|
124
222
|
version: '0.14'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: puma
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - "~>"
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '5.6'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - "~>"
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '5.6'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: rack
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - "~>"
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '3.0'
|
244
|
+
type: :development
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - "~>"
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '3.0'
|
125
251
|
- !ruby/object:Gem::Dependency
|
126
252
|
name: rake
|
127
253
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +262,20 @@ dependencies:
|
|
136
262
|
- - "~>"
|
137
263
|
- !ruby/object:Gem::Version
|
138
264
|
version: '13.0'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: rbs
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - "~>"
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '2.8'
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - "~>"
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '2.8'
|
139
279
|
- !ruby/object:Gem::Dependency
|
140
280
|
name: rspec
|
141
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -196,16 +336,16 @@ dependencies:
|
|
196
336
|
name: simplecov
|
197
337
|
requirement: !ruby/object:Gem::Requirement
|
198
338
|
requirements:
|
199
|
-
- -
|
339
|
+
- - '='
|
200
340
|
- !ruby/object:Gem::Version
|
201
|
-
version: '0.
|
341
|
+
version: '0.17'
|
202
342
|
type: :development
|
203
343
|
prerelease: false
|
204
344
|
version_requirements: !ruby/object:Gem::Requirement
|
205
345
|
requirements:
|
206
|
-
- -
|
346
|
+
- - '='
|
207
347
|
- !ruby/object:Gem::Version
|
208
|
-
version: '0.
|
348
|
+
version: '0.17'
|
209
349
|
- !ruby/object:Gem::Dependency
|
210
350
|
name: simplecov-console
|
211
351
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,6 +360,34 @@ dependencies:
|
|
220
360
|
- - "~>"
|
221
361
|
- !ruby/object:Gem::Version
|
222
362
|
version: '0.9'
|
363
|
+
- !ruby/object:Gem::Dependency
|
364
|
+
name: steep
|
365
|
+
requirement: !ruby/object:Gem::Requirement
|
366
|
+
requirements:
|
367
|
+
- - "~>"
|
368
|
+
- !ruby/object:Gem::Version
|
369
|
+
version: '1.3'
|
370
|
+
type: :development
|
371
|
+
prerelease: false
|
372
|
+
version_requirements: !ruby/object:Gem::Requirement
|
373
|
+
requirements:
|
374
|
+
- - "~>"
|
375
|
+
- !ruby/object:Gem::Version
|
376
|
+
version: '1.3'
|
377
|
+
- !ruby/object:Gem::Dependency
|
378
|
+
name: typeprof
|
379
|
+
requirement: !ruby/object:Gem::Requirement
|
380
|
+
requirements:
|
381
|
+
- - "~>"
|
382
|
+
- !ruby/object:Gem::Version
|
383
|
+
version: '0.21'
|
384
|
+
type: :development
|
385
|
+
prerelease: false
|
386
|
+
version_requirements: !ruby/object:Gem::Requirement
|
387
|
+
requirements:
|
388
|
+
- - "~>"
|
389
|
+
- !ruby/object:Gem::Version
|
390
|
+
version: '0.21'
|
223
391
|
- !ruby/object:Gem::Dependency
|
224
392
|
name: yard
|
225
393
|
requirement: !ruby/object:Gem::Requirement
|
@@ -273,6 +441,7 @@ files:
|
|
273
441
|
- ".overcommit.yml"
|
274
442
|
- ".rspec"
|
275
443
|
- ".rubocop.yml"
|
444
|
+
- ".rubocop_todo.yml"
|
276
445
|
- ".tool-versions"
|
277
446
|
- ".yardstick.yml"
|
278
447
|
- CHANGELOG.md
|
@@ -282,10 +451,38 @@ files:
|
|
282
451
|
- LICENSE.txt
|
283
452
|
- README.md
|
284
453
|
- Rakefile
|
454
|
+
- Steepfile
|
285
455
|
- lib/nostr.rb
|
456
|
+
- lib/nostr/client.rb
|
457
|
+
- lib/nostr/client_message_type.rb
|
458
|
+
- lib/nostr/event.rb
|
459
|
+
- lib/nostr/event_fragment.rb
|
460
|
+
- lib/nostr/event_kind.rb
|
461
|
+
- lib/nostr/filter.rb
|
462
|
+
- lib/nostr/key_pair.rb
|
463
|
+
- lib/nostr/keygen.rb
|
464
|
+
- lib/nostr/relay.rb
|
465
|
+
- lib/nostr/subscription.rb
|
466
|
+
- lib/nostr/user.rb
|
286
467
|
- lib/nostr/version.rb
|
287
468
|
- nostr.gemspec
|
288
469
|
- sig/nostr.rbs
|
470
|
+
- sig/nostr/client.rbs
|
471
|
+
- sig/nostr/client_message_type.rbs
|
472
|
+
- sig/nostr/event.rbs
|
473
|
+
- sig/nostr/event_fragment.rbs
|
474
|
+
- sig/nostr/event_kind.rbs
|
475
|
+
- sig/nostr/filter.rbs
|
476
|
+
- sig/nostr/key_pair.rbs
|
477
|
+
- sig/nostr/keygen.rbs
|
478
|
+
- sig/nostr/relay.rbs
|
479
|
+
- sig/nostr/subscription.rbs
|
480
|
+
- sig/nostr/user.rbs
|
481
|
+
- sig/vendor/ecsda/group/secp256k1.rbs
|
482
|
+
- sig/vendor/event_emitter.rbs
|
483
|
+
- sig/vendor/event_machine.rbs
|
484
|
+
- sig/vendor/event_machine/channel.rbs
|
485
|
+
- sig/vendor/schnorr.rbs
|
289
486
|
homepage: https://github.com/wilsonsilva/nostr
|
290
487
|
licenses:
|
291
488
|
- MIT
|
@@ -293,7 +490,7 @@ metadata:
|
|
293
490
|
rubygems_mfa_required: 'true'
|
294
491
|
homepage_uri: https://github.com/wilsonsilva/nostr
|
295
492
|
source_code_uri: https://github.com/wilsonsilva/nostr
|
296
|
-
changelog_uri: https://github.com/wilsonsilva/nostr/blob/
|
493
|
+
changelog_uri: https://github.com/wilsonsilva/nostr/blob/main/CHANGELOG.md
|
297
494
|
post_install_message:
|
298
495
|
rdoc_options: []
|
299
496
|
require_paths:
|
@@ -309,7 +506,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
309
506
|
- !ruby/object:Gem::Version
|
310
507
|
version: '0'
|
311
508
|
requirements: []
|
312
|
-
rubygems_version: 3.4.
|
509
|
+
rubygems_version: 3.4.4
|
313
510
|
signing_key:
|
314
511
|
specification_version: 4
|
315
512
|
summary: Client and relay implementation of the Nostr protocol.
|