lighstorm 0.0.5 → 0.0.6
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/Gemfile.lock +3 -3
- data/README.md +4 -4
- data/adapters/invoice.rb +1 -1
- data/controllers/invoice/actions/create.rb +10 -9
- data/controllers/invoice.rb +1 -1
- data/docs/README.md +23 -3
- data/docs/_coverpage.md +1 -1
- data/docs/index.html +1 -1
- data/static/spec.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bea078c4355c1f245ed7800a6d235763e325d3c4cf71e42f14589513eb69a429
|
4
|
+
data.tar.gz: 026c1c57b2dc8a6d06cebc2155f32189b7d998574d1e802b8e64f90ae63938ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d69e4361ef42951fa5d316a476ce7f2ac63b9ee307198646a2b263601ec0e79d75792b99985767f61a38942401a4e3d24d8ff5b938b7e4fddcb8d427b566d2b4
|
7
|
+
data.tar.gz: 85de98976d458ba9279291f37ae4cda03c8aa3965a53751932360a546b406004915d5035666bf6b45f624e1eaa8c0e2d2b8b135632cdee3b8c622b83e94b6631
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
lighstorm (0.0.
|
4
|
+
lighstorm (0.0.6)
|
5
5
|
dotenv (~> 2.8, >= 2.8.1)
|
6
6
|
lnd-client (~> 0.0.5)
|
7
7
|
zache (~> 0.12.0)
|
@@ -50,14 +50,14 @@ GEM
|
|
50
50
|
diff-lcs (>= 1.2.0, < 2.0)
|
51
51
|
rspec-support (~> 3.12.0)
|
52
52
|
rspec-support (3.12.0)
|
53
|
-
rubocop (1.
|
53
|
+
rubocop (1.46.0)
|
54
54
|
json (~> 2.3)
|
55
55
|
parallel (~> 1.10)
|
56
56
|
parser (>= 3.2.0.0)
|
57
57
|
rainbow (>= 2.2.2, < 4.0)
|
58
58
|
regexp_parser (>= 1.8, < 3.0)
|
59
59
|
rexml (>= 3.2.5, < 4.0)
|
60
|
-
rubocop-ast (>= 1.
|
60
|
+
rubocop-ast (>= 1.26.0, < 2.0)
|
61
61
|
ruby-progressbar (~> 1.7)
|
62
62
|
unicode-display_width (>= 2.4.0, < 3.0)
|
63
63
|
rubocop-ast (1.26.0)
|
data/README.md
CHANGED
@@ -33,7 +33,7 @@ Although it tries to stay close to [Lightning's terminologies](https://docs.ligh
|
|
33
33
|
Add to your `Gemfile`:
|
34
34
|
|
35
35
|
```ruby
|
36
|
-
gem 'lighstorm', '~> 0.0.
|
36
|
+
gem 'lighstorm', '~> 0.0.6'
|
37
37
|
```
|
38
38
|
|
39
39
|
```ruby
|
@@ -45,7 +45,7 @@ Lighstorm.config!(
|
|
45
45
|
macaroon_path: '/lnd/data/chain/bitcoin/mainnet/admin.macaroon',
|
46
46
|
)
|
47
47
|
|
48
|
-
puts Lighstorm.version # => 0.0.
|
48
|
+
puts Lighstorm.version # => 0.0.6
|
49
49
|
|
50
50
|
Lighstorm::Satoshis.new(
|
51
51
|
milisatoshis: 75_621_650
|
@@ -67,7 +67,7 @@ gem 'lighstorm', path: '/home/user/lighstorm'
|
|
67
67
|
# demo.rb
|
68
68
|
require 'lighstorm'
|
69
69
|
|
70
|
-
puts Lighstorm.version # => 0.0.
|
70
|
+
puts Lighstorm.version # => 0.0.6
|
71
71
|
```
|
72
72
|
|
73
73
|
```sh
|
@@ -100,5 +100,5 @@ gem build lighstorm.gemspec
|
|
100
100
|
|
101
101
|
gem signin
|
102
102
|
|
103
|
-
gem push lighstorm-0.0.
|
103
|
+
gem push lighstorm-0.0.6.gem
|
104
104
|
```
|
data/adapters/invoice.rb
CHANGED
@@ -29,7 +29,7 @@ module Lighstorm
|
|
29
29
|
{
|
30
30
|
_key: _key(grpc),
|
31
31
|
created_at: Time.at(grpc[:creation_date]),
|
32
|
-
settle_at: Time.at(grpc[:settle_date]),
|
32
|
+
settle_at: grpc[:settle_date].nil? || !grpc[:settle_date].positive? ? nil : Time.at(grpc[:settle_date]),
|
33
33
|
state: grpc[:state].to_s.downcase
|
34
34
|
}
|
35
35
|
end
|
@@ -2,14 +2,13 @@
|
|
2
2
|
|
3
3
|
require_relative '../../../ports/grpc'
|
4
4
|
require_relative '../../../models/errors'
|
5
|
+
require_relative '../../invoice'
|
5
6
|
|
6
7
|
module Lighstorm
|
7
8
|
module Controllers
|
8
9
|
module Invoice
|
9
10
|
module Create
|
10
|
-
def self.perform(description: nil, milisatoshis: nil, preview: false, fake:
|
11
|
-
raise Errors::ToDoError, self
|
12
|
-
|
11
|
+
def self.perform(description: nil, milisatoshis: nil, preview: false, fake: nil)
|
13
12
|
grpc_request = {
|
14
13
|
service: :lightning,
|
15
14
|
method: :add_invoice,
|
@@ -22,13 +21,15 @@ module Lighstorm
|
|
22
21
|
return grpc_request if preview
|
23
22
|
|
24
23
|
# expiry: Default is 86400 (24 hours).
|
25
|
-
response =
|
26
|
-
|
27
|
-
|
24
|
+
response = if fake.nil?
|
25
|
+
LND.instance.middleware("lightning.#{grpc_request[:method]}") do
|
26
|
+
LND.instance.client.lightning.send(grpc_request[:method], grpc_request[:params])
|
27
|
+
end.to_h
|
28
|
+
else
|
29
|
+
fake
|
30
|
+
end
|
28
31
|
|
29
|
-
|
30
|
-
# find_by_secret_hash(invoice.r_hash.unpack1('H*'))
|
31
|
-
# response
|
32
|
+
Invoice.find_by_secret_hash(response[:r_hash].unpack1('H*'))
|
32
33
|
end
|
33
34
|
end
|
34
35
|
end
|
data/controllers/invoice.rb
CHANGED
@@ -23,7 +23,7 @@ module Lighstorm
|
|
23
23
|
FindBySecretHash.model(FindBySecretHash.data(secret_hash))
|
24
24
|
end
|
25
25
|
|
26
|
-
def self.create(description: nil, milisatoshis: nil, preview: false, fake:
|
26
|
+
def self.create(description: nil, milisatoshis: nil, preview: false, fake: nil)
|
27
27
|
Create.perform(
|
28
28
|
description: description,
|
29
29
|
milisatoshis: milisatoshis,
|
data/docs/README.md
CHANGED
@@ -23,7 +23,7 @@ Lighstorm::Channel.mine.first.myself.node.alias
|
|
23
23
|
Add to your `Gemfile`:
|
24
24
|
|
25
25
|
```ruby
|
26
|
-
gem 'lighstorm', '~> 0.0.
|
26
|
+
gem 'lighstorm', '~> 0.0.6'
|
27
27
|
```
|
28
28
|
|
29
29
|
Run `bundle install`.
|
@@ -56,7 +56,7 @@ Lighstorm.config!(
|
|
56
56
|
```ruby
|
57
57
|
require 'lighstorm'
|
58
58
|
|
59
|
-
puts Lighstorm.version # => 0.0.
|
59
|
+
puts Lighstorm.version # => 0.0.6
|
60
60
|
|
61
61
|
Lighstorm::Satoshis.new(
|
62
62
|
milisatoshis: 75_621_650
|
@@ -396,6 +396,8 @@ channel.myself.policy.htlc.blocks.delta.minimum
|
|
396
396
|
```ruby
|
397
397
|
channel = Lighstorm::Channel.mine.first
|
398
398
|
|
399
|
+
# 'preview' let you check the expected operation
|
400
|
+
# before actually performing it for debug purposes
|
399
401
|
channel.myself.policy.fee.update(
|
400
402
|
{ rate: { parts_per_million: 25 } }, preview: true
|
401
403
|
)
|
@@ -415,6 +417,8 @@ channel.myself.policy.fee.update(
|
|
415
417
|
|
416
418
|
## Invoice
|
417
419
|
|
420
|
+
[Understanding Lightning Invoices](https://docs.lightning.engineering/the-lightning-network/payment-lifecycle/understanding-lightning-invoices)
|
421
|
+
|
418
422
|
```ruby
|
419
423
|
Lighstorm::Invoice
|
420
424
|
Lighstorm::Invoice.all
|
@@ -452,6 +456,22 @@ invoice.request.secret.hash
|
|
452
456
|
invoice.request.address
|
453
457
|
```
|
454
458
|
|
459
|
+
### Operations
|
460
|
+
|
461
|
+
[Understanding Lightning Invoices](https://docs.lightning.engineering/the-lightning-network/payment-lifecycle/understanding-lightning-invoices)
|
462
|
+
|
463
|
+
```ruby
|
464
|
+
# 'preview' let you check the expected operation
|
465
|
+
# before actually performing it for debug purposes
|
466
|
+
invoice = Lighstorm::Invoice.create(
|
467
|
+
milisatoshis: 1000, description: 'Coffee', preview: true
|
468
|
+
)
|
469
|
+
|
470
|
+
invoice = Lighstorm::Invoice.create(
|
471
|
+
milisatoshis: 1000, description: 'Piña Colada'
|
472
|
+
)
|
473
|
+
```
|
474
|
+
|
455
475
|
## Payment
|
456
476
|
|
457
477
|
[](https://raw.githubusercontent.com/icebaker/assets/main/lighstorm/graph-payment.png)
|
@@ -723,7 +743,7 @@ satoshis.parts_per_million(reference_in_milisatoshis)
|
|
723
743
|
_________________
|
724
744
|
|
725
745
|
<center>
|
726
|
-
lighstorm 0.0.
|
746
|
+
lighstorm 0.0.6
|
727
747
|
|
|
728
748
|
<a href="https://github.com/icebaker/lighstorm" rel="noopener noreferrer" target="_blank">GitHub</a>
|
729
749
|
|
|
data/docs/_coverpage.md
CHANGED
data/docs/index.html
CHANGED
data/static/spec.rb
CHANGED
@@ -4,7 +4,7 @@ module Lighstorm
|
|
4
4
|
module Static
|
5
5
|
SPEC = {
|
6
6
|
name: 'lighstorm',
|
7
|
-
version: '0.0.
|
7
|
+
version: '0.0.6',
|
8
8
|
author: 'icebaker',
|
9
9
|
summary: 'API for interacting with a Lightning Node.',
|
10
10
|
description: 'Lighstorm is an opinionated abstraction layer on top of the lnd-client for interacting with a Lightning Node.',
|