lighstorm 0.0.12 → 0.0.14

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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.env.example +18 -3
  3. data/Gemfile.lock +4 -4
  4. data/README.md +11 -5
  5. data/adapters/connections/channel_node.rb +1 -0
  6. data/adapters/edges/payment/purpose.rb +3 -3
  7. data/adapters/edges/payment.rb +1 -3
  8. data/adapters/invoice.rb +0 -2
  9. data/adapters/transaction.rb +23 -0
  10. data/adapters/wallet.rb +42 -0
  11. data/components/cache.rb +1 -1
  12. data/components/lnd.rb +67 -29
  13. data/controllers/action.rb +5 -0
  14. data/controllers/activity/all.rb +194 -0
  15. data/controllers/activity.rb +26 -0
  16. data/controllers/channel/actions/apply_gossip.rb +3 -4
  17. data/controllers/channel/actions/update_fee.rb +11 -7
  18. data/controllers/channel/all.rb +11 -7
  19. data/controllers/channel/find_by_id.rb +11 -11
  20. data/controllers/channel/mine.rb +10 -10
  21. data/controllers/channel.rb +25 -11
  22. data/controllers/concerns/impersonatable.rb +33 -0
  23. data/controllers/connection.rb +33 -0
  24. data/controllers/forward/all.rb +16 -12
  25. data/controllers/forward/group_by_channel.rb +2 -2
  26. data/controllers/forward.rb +19 -13
  27. data/controllers/invoice/actions/create.rb +21 -13
  28. data/controllers/invoice/actions/pay.rb +13 -12
  29. data/controllers/invoice/actions/pay_through_route.rb +2 -2
  30. data/controllers/invoice/all.rb +7 -7
  31. data/controllers/invoice/decode.rb +6 -6
  32. data/controllers/invoice/find_by_code.rb +7 -7
  33. data/controllers/invoice/find_by_secret_hash.rb +10 -6
  34. data/controllers/invoice.rb +46 -39
  35. data/controllers/node/actions/apply_gossip.rb +1 -1
  36. data/controllers/node/actions/pay.rb +13 -12
  37. data/controllers/node/all.rb +11 -7
  38. data/controllers/node/find_by_public_key.rb +11 -7
  39. data/controllers/node/myself.rb +6 -6
  40. data/controllers/node.rb +17 -11
  41. data/controllers/payment/actions/pay.rb +23 -19
  42. data/controllers/payment/all.rb +7 -4
  43. data/controllers/payment.rb +20 -14
  44. data/controllers/secret/valid_proof.rb +5 -5
  45. data/controllers/transaction/all.rb +29 -73
  46. data/controllers/transaction.rb +14 -6
  47. data/controllers/wallet/balance.rb +34 -0
  48. data/controllers/wallet.rb +19 -0
  49. data/docs/README.md +204 -31
  50. data/docs/_coverpage.md +1 -1
  51. data/docs/index.html +1 -1
  52. data/lighstorm.gemspec +1 -1
  53. data/models/activity.rb +52 -0
  54. data/models/connections/channel_node/fee.rb +5 -2
  55. data/models/connections/channel_node/policy.rb +3 -2
  56. data/models/connections/channel_node.rb +14 -4
  57. data/models/connections/forward_channel.rb +3 -2
  58. data/models/edges/channel/hop.rb +1 -1
  59. data/models/edges/channel.rb +5 -7
  60. data/models/edges/forward.rb +4 -3
  61. data/models/edges/groups/channel_forwards.rb +3 -2
  62. data/models/edges/payment.rb +4 -3
  63. data/models/errors.rb +16 -24
  64. data/models/invoice.rb +10 -4
  65. data/models/nodes/node.rb +10 -4
  66. data/models/secret.rb +10 -4
  67. data/models/transaction.rb +10 -15
  68. data/models/wallet.rb +40 -0
  69. data/ports/dsl/lighstorm.rb +8 -4
  70. data/ports/grpc.rb +30 -2
  71. data/static/cache.rb +3 -0
  72. data/static/spec.rb +1 -1
  73. metadata +14 -5
  74. data/deleted.sh +0 -1
@@ -13,9 +13,11 @@ module Lighstorm
13
13
 
14
14
  attr_reader :state
15
15
 
16
- def initialize(data, is_mine, transaction)
16
+ def initialize(data, components, is_mine, transaction)
17
17
  @data = data
18
+ @components = components
18
19
  @state = data[:state]
20
+ @initiator = data[:initiator]
19
21
  @is_mine = is_mine
20
22
  @transaction = transaction
21
23
  end
@@ -24,12 +26,16 @@ module Lighstorm
24
26
  state == 'active'
25
27
  end
26
28
 
29
+ def initiator?
30
+ @initiator
31
+ end
32
+
27
33
  def node
28
- @node ||= Node.new(@data[:node])
34
+ @node ||= Node.new(@data[:node], @components)
29
35
  end
30
36
 
31
37
  def policy
32
- @policy ||= Policy.new(@data[:policy], @transaction)
38
+ @policy ||= Policy.new(@data[:policy], @components, @transaction)
33
39
  end
34
40
 
35
41
  def accounting
@@ -39,7 +45,11 @@ module Lighstorm
39
45
  end
40
46
 
41
47
  def to_h
42
- restult = { state: state, node: node.to_h }
48
+ restult = {
49
+ state: state,
50
+ initiator: @initiator,
51
+ node: node.to_h
52
+ }
43
53
 
44
54
  restult[:accounting] = accounting.to_h if @is_mine
45
55
  restult[:policy] = policy.to_h if @data[:policy]
@@ -5,8 +5,9 @@ require_relative '../edges/channel'
5
5
  module Lighstorm
6
6
  module Models
7
7
  class ForwardChannel
8
- def initialize(data)
8
+ def initialize(data, components)
9
9
  @data = data
10
+ @components = components
10
11
  end
11
12
 
12
13
  def amount
@@ -14,7 +15,7 @@ module Lighstorm
14
15
  end
15
16
 
16
17
  def channel
17
- @channel ||= Channel.new(@data[:channel])
18
+ @channel ||= Channel.new(@data[:channel], @components)
18
19
  end
19
20
 
20
21
  def to_h
@@ -8,7 +8,7 @@ module Lighstorm
8
8
  def initialize(data, payment)
9
9
  @hop_data = data
10
10
  @payment = payment
11
- super(data[:channel])
11
+ super(data[:channel], nil)
12
12
  end
13
13
 
14
14
  def target
@@ -5,9 +5,6 @@ require 'time'
5
5
  require_relative '../../ports/grpc'
6
6
  require_relative '../../adapters/edges/channel'
7
7
 
8
- require_relative '../../components/lnd'
9
- require_relative '../../components/cache'
10
-
11
8
  require_relative '../nodes/node'
12
9
  require_relative './channel/accounting'
13
10
 
@@ -22,8 +19,9 @@ module Lighstorm
22
19
  class Channel
23
20
  attr_reader :data, :_key, :id
24
21
 
25
- def initialize(data)
22
+ def initialize(data, components)
26
23
  @data = data
24
+ @components = components
27
25
 
28
26
  @_key = data[:_key]
29
27
  @id = data[:id]
@@ -78,7 +76,7 @@ module Lighstorm
78
76
  def partners
79
77
  @partners ||= if @data[:partners]
80
78
  @data[:partners].map do |data|
81
- ChannelNode.new(data, known? ? mine? : nil, transaction)
79
+ ChannelNode.new(data, @components, known? ? mine? : nil, transaction)
82
80
  end
83
81
  else
84
82
  []
@@ -170,9 +168,9 @@ module Lighstorm
170
168
  raise ArgumentError, 'missing gossip: or dump:' if gossip.nil? && dump.nil?
171
169
 
172
170
  if !gossip.nil?
173
- new(Adapter::Channel.subscribe_channel_graph(gossip))
171
+ new(Adapter::Channel.subscribe_channel_graph(gossip), nil)
174
172
  elsif !dump.nil?
175
- new(dump)
173
+ new(dump, nil)
176
174
  end
177
175
  end
178
176
 
@@ -12,8 +12,9 @@ module Lighstorm
12
12
  class Forward
13
13
  attr_reader :_key, :at
14
14
 
15
- def initialize(data)
15
+ def initialize(data, components)
16
16
  @data = data
17
+ @components = components
17
18
 
18
19
  @_key = data[:_key]
19
20
  @at = data[:at]
@@ -24,11 +25,11 @@ module Lighstorm
24
25
  end
25
26
 
26
27
  def in
27
- @in ||= ForwardChannel.new(@data[:in])
28
+ @in ||= ForwardChannel.new(@data[:in], @components)
28
29
  end
29
30
 
30
31
  def out
31
- @out ||= ForwardChannel.new(@data[:out])
32
+ @out ||= ForwardChannel.new(@data[:out], @components)
32
33
  end
33
34
 
34
35
  def to_h
@@ -8,8 +8,9 @@ module Lighstorm
8
8
  class ChannelForwardsGroup
9
9
  attr_reader :_key, :last_at
10
10
 
11
- def initialize(data)
11
+ def initialize(data, components)
12
12
  @data = data
13
+ @components = components
13
14
 
14
15
  @_key = data[:_key]
15
16
  @last_at = data[:last_at]
@@ -20,7 +21,7 @@ module Lighstorm
20
21
  end
21
22
 
22
23
  def channel
23
- @channel ||= Channel.new(@data[:channel])
24
+ @channel ||= Channel.new(@data[:channel], @components)
24
25
  end
25
26
 
26
27
  def to_h
@@ -14,8 +14,9 @@ module Lighstorm
14
14
  class Payment
15
15
  attr_reader :_key, :at, :state, :secret, :purpose, :through, :message
16
16
 
17
- def initialize(data)
17
+ def initialize(data, components)
18
18
  @data = data
19
+ @components = components
19
20
 
20
21
  @_key = data[:_key]
21
22
  @at = data[:at]
@@ -30,7 +31,7 @@ module Lighstorm
30
31
  end
31
32
 
32
33
  def invoice
33
- @invoice ||= !spontaneous? && @data[:invoice] ? Invoice.new(@data[:invoice]) : nil
34
+ @invoice ||= !spontaneous? && @data[:invoice] ? Invoice.new(@data[:invoice], @components) : nil
34
35
  end
35
36
 
36
37
  def amount
@@ -42,7 +43,7 @@ module Lighstorm
42
43
  end
43
44
 
44
45
  def secret
45
- @secret ||= @data[:secret] ? Secret.new(@data[:secret]) : nil
46
+ @secret ||= @data[:secret] ? Secret.new(@data[:secret], @components) : nil
46
47
  end
47
48
 
48
49
  def hops
data/models/errors.rb CHANGED
@@ -3,23 +3,18 @@
3
3
  module Lighstorm
4
4
  module Errors
5
5
  class LighstormError < StandardError
6
- attr_reader :grpc
7
-
8
- def initialize(message = nil, grpc: nil)
6
+ def initialize(message = nil)
9
7
  super(message)
10
- @grpc = grpc
11
8
  end
12
9
 
13
10
  def to_h
14
- output = { class: self.class, message: message }
15
- output[:grpc] = grpc.message unless grpc.nil?
16
-
17
- output
11
+ { class: self.class, message: message }
18
12
  end
19
13
  end
20
14
 
21
15
  class ToDoError < LighstormError; end
22
16
 
17
+ class MissingComponentsError < LighstormError; end
23
18
  class ArgumentError < LighstormError; end
24
19
  class TooManyArgumentsError < LighstormError; end
25
20
  class IncoherentGossipError < LighstormError; end
@@ -31,45 +26,42 @@ module Lighstorm
31
26
  class NotYourChannelError < LighstormError; end
32
27
  class NotYourNodeError < LighstormError; end
33
28
  class OperationNotAllowedError < LighstormError; end
34
- class UnexpectedNumberOfHTLCsError < LighstormError; end
35
29
  class UnknownChannelError < LighstormError; end
36
- class NoInvoiceFoundError < LighstormError; end
37
30
 
38
31
  class InvoiceMayHaveMultiplePaymentsError < LighstormError; end
39
32
 
40
- class PaymentError < LighstormError
41
- attr_reader :response, :result, :grpc
33
+ class RequestError < LighstormError
34
+ attr_reader :request, :response, :result, :grpc
42
35
 
43
- def initialize(message, response: nil, result: nil, grpc: nil)
36
+ def initialize(message, request: nil, response: nil, result: nil, grpc: nil)
44
37
  super(message)
38
+ @request = request
45
39
  @response = response
46
40
  @result = result
47
41
  @grpc = grpc
48
42
  end
49
43
 
50
44
  def to_h
51
- output = { message: message }
45
+ output = { class: self.class, message: message }
52
46
 
47
+ output[:request] = request unless request.nil?
53
48
  output[:response] = response unless response.nil?
54
49
  output[:result] = result.to_h unless result.nil?
55
- output[:grpc] = grpc.message unless grpc.nil?
50
+ output[:grpc] = { class: grpc.class, message: grpc.message } unless grpc.nil?
56
51
 
57
52
  output
58
53
  end
59
54
  end
60
55
 
56
+ class UpdateChannelPolicyError < RequestError; end
57
+
58
+ class NoInvoiceFoundError < RequestError; end
59
+
60
+ class PaymentError < RequestError; end
61
+
61
62
  class NoRouteFoundError < PaymentError; end
62
63
  class AlreadyPaidError < PaymentError; end
63
64
  class AmountForNonZeroError < PaymentError; end
64
65
  class MissingMillisatoshisError < PaymentError; end
65
-
66
- class UpdateChannelPolicyError < LighstormError
67
- attr_reader :response
68
-
69
- def initialize(message, response)
70
- super(message)
71
- @response = response
72
- end
73
- end
74
66
  end
75
67
  end
data/models/invoice.rb CHANGED
@@ -12,8 +12,9 @@ module Lighstorm
12
12
  class Invoice
13
13
  attr_reader :_key, :created_at, :expires_at, :settled_at, :state, :payable, :code
14
14
 
15
- def initialize(data)
15
+ def initialize(data, components)
16
16
  @data = data
17
+ @components = components
17
18
 
18
19
  @_key = data[:_key]
19
20
  @created_at = data[:created_at]
@@ -35,7 +36,7 @@ module Lighstorm
35
36
  end
36
37
 
37
38
  def payments
38
- @payments ||= @data[:payments]&.map { |data| Payment.new(data) }
39
+ @payments ||= @data[:payments]&.map { |data| Payment.new(data, @components) }
39
40
  end
40
41
 
41
42
  def amount
@@ -47,7 +48,7 @@ module Lighstorm
47
48
  end
48
49
 
49
50
  def secret
50
- @secret ||= Secret.new(@data[:secret])
51
+ @secret ||= Secret.new(@data[:secret], @components)
51
52
  end
52
53
 
53
54
  def description
@@ -89,10 +90,15 @@ module Lighstorm
89
90
  times_out_in: { seconds: 5 },
90
91
  preview: false
91
92
  )
93
+ raise MissingComponentsError if @components.nil?
94
+
92
95
  if route
93
- Controllers::Invoice::PayThroughRoute.perform(self, route: route, preview: preview)
96
+ Controllers::Invoice::PayThroughRoute.perform(
97
+ @components, self, route: route, preview: preview
98
+ )
94
99
  else
95
100
  Controllers::Invoice::Pay.perform(
101
+ @components,
96
102
  code: code,
97
103
  amount: amount,
98
104
  fee: fee,
data/models/nodes/node.rb CHANGED
@@ -16,8 +16,9 @@ module Lighstorm
16
16
 
17
17
  attr_reader :data, :_key, :alias, :public_key, :color
18
18
 
19
- def initialize(data)
19
+ def initialize(data, components)
20
20
  @data = data
21
+ @components = components
21
22
 
22
23
  @_key = @data[:_key]
23
24
  @alias = @data[:alias]
@@ -36,7 +37,9 @@ module Lighstorm
36
37
  def channels
37
38
  raise Errors::NotYourNodeError unless myself?
38
39
 
39
- Controllers::Channel.mine
40
+ raise MissingComponentsError if @components.nil?
41
+
42
+ Controllers::Channel.mine(@components)
40
43
  end
41
44
 
42
45
  def to_h
@@ -87,9 +90,9 @@ module Lighstorm
87
90
  raise ArgumentError, 'missing gossip: or dump:' if gossip.nil? && dump.nil?
88
91
 
89
92
  if !gossip.nil?
90
- new(Adapter::Node.subscribe_channel_graph(gossip))
93
+ new(Adapter::Node.subscribe_channel_graph(gossip), nil)
91
94
  elsif !dump.nil?
92
- new(dump)
95
+ new(dump, nil)
93
96
  end
94
97
  end
95
98
 
@@ -121,7 +124,10 @@ module Lighstorm
121
124
  times_out_in: { seconds: 5 }, through: 'amp',
122
125
  preview: false
123
126
  )
127
+ raise MissingComponentsError if @components.nil?
128
+
124
129
  Controllers::Node::Pay.perform(
130
+ @components,
125
131
  public_key: public_key,
126
132
  amount: amount,
127
133
  fee: fee,
data/models/secret.rb CHANGED
@@ -15,14 +15,15 @@ module Lighstorm
15
15
  data
16
16
  end
17
17
 
18
- def self.create(&vcr)
18
+ def self.create(components = nil, &vcr)
19
19
  data = vcr.nil? ? generate : vcr.call(-> { generate })
20
20
 
21
- Secret.new(data)
21
+ Secret.new(data, components)
22
22
  end
23
23
 
24
- def initialize(data)
24
+ def initialize(data, components)
25
25
  @data = data
26
+ @components = components
26
27
 
27
28
  @preimage = data[:preimage]
28
29
  @hash = data[:hash]
@@ -33,9 +34,14 @@ module Lighstorm
33
34
  end
34
35
 
35
36
  def valid_proof?(candidate_preimage, &vcr)
37
+ raise MissingComponentsError if @components.nil?
38
+
36
39
  return true if candidate_preimage == preimage
37
40
 
38
- Controllers::Secret::ValidProof.data(@hash, candidate_preimage, &vcr)
41
+ Controllers::Secret::ValidProof.data(
42
+ @components,
43
+ @hash, candidate_preimage, &vcr
44
+ )
39
45
  end
40
46
 
41
47
  def to_h
@@ -1,43 +1,38 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'invoice'
3
+ require_relative './satoshis'
4
4
 
5
5
  module Lighstorm
6
6
  module Models
7
7
  class Transaction
8
- attr_reader :direction, :at, :message, :how, :_key
8
+ attr_reader :_key, :at, :hash, :label
9
9
 
10
10
  def initialize(data)
11
11
  @data = data
12
12
 
13
13
  @_key = @data[:_key]
14
14
  @at = @data[:at]
15
- @direction = @data[:direction]
16
- @how = @data[:how]
17
- @message = @data[:message]
15
+ @hash = @data[:hash]
16
+ @label = @data[:label]
18
17
  end
19
18
 
20
19
  def amount
21
20
  @amount ||= Satoshis.new(millisatoshis: @data[:amount][:millisatoshis])
22
21
  end
23
22
 
24
- def invoice
25
- @invoice ||= @data[:data][:invoice].nil? ? nil : Invoice.new(@data[:data][:invoice])
23
+ def fee
24
+ @fee ||= Satoshis.new(millisatoshis: @data[:fee][:millisatoshis])
26
25
  end
27
26
 
28
27
  def to_h
29
- output = {
28
+ {
30
29
  _key: _key,
31
30
  at: at,
32
- direction: direction,
31
+ hash: hash,
33
32
  amount: amount.to_h,
34
- how: how,
35
- message: message
33
+ fee: fee.to_h,
34
+ label: label
36
35
  }
37
-
38
- output[:invoice] = invoice.to_h unless invoice.nil?
39
-
40
- output
41
36
  end
42
37
  end
43
38
  end
data/models/wallet.rb ADDED
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative './satoshis'
4
+
5
+ module Lighstorm
6
+ module Models
7
+ class Wallet
8
+ attr_reader :_key, :at
9
+
10
+ def initialize(data)
11
+ @data = data
12
+
13
+ @_key = @data[:_key]
14
+ @at = @data[:at]
15
+ end
16
+
17
+ def lightning
18
+ @lightning ||= Satoshis.new(millisatoshis: @data[:lightning][:millisatoshis])
19
+ end
20
+
21
+ def bitcoin
22
+ @bitcoin ||= Satoshis.new(millisatoshis: @data[:bitcoin][:millisatoshis])
23
+ end
24
+
25
+ def total
26
+ @total ||= Satoshis.new(millisatoshis: @data[:total][:millisatoshis])
27
+ end
28
+
29
+ def to_h
30
+ {
31
+ _key: _key,
32
+ at: at,
33
+ lightning: lightning.to_h,
34
+ bitcoin: bitcoin.to_h,
35
+ total: total.to_h
36
+ }
37
+ end
38
+ end
39
+ end
40
+ end
@@ -11,7 +11,9 @@ require_relative '../../controllers/channel'
11
11
  require_relative '../../controllers/payment'
12
12
  require_relative '../../controllers/forward'
13
13
  require_relative '../../controllers/invoice'
14
- require_relative '../../controllers/transaction'
14
+ require_relative '../../controllers/activity'
15
+ require_relative '../../controllers/connection'
16
+ require_relative '../../controllers/wallet'
15
17
 
16
18
  module Lighstorm
17
19
  Node = Controllers::Node
@@ -19,12 +21,14 @@ module Lighstorm
19
21
  Payment = Controllers::Payment
20
22
  Forward = Controllers::Forward
21
23
  Invoice = Controllers::Invoice
22
- Transaction = Controllers::Transaction
24
+ Activity = Controllers::Activity
25
+ Connection = Controllers::Connection
26
+ Wallet = Controllers::Wallet
23
27
 
24
28
  Satoshis = Models::Satoshis
25
29
 
26
- def self.config!(config)
27
- LND.instance.config = config
30
+ def self.connect!(...)
31
+ Controllers::Connection.connect!(...)
28
32
  end
29
33
 
30
34
  def self.inject_middleware!(middleware_lambda)
data/ports/grpc.rb CHANGED
@@ -7,14 +7,42 @@ require_relative 'grpc/session'
7
7
  module Lighstorm
8
8
  module Ports
9
9
  class GRPC
10
- def initialize(service, service_key, &handler)
10
+ class Impersonatable
11
+ def initialize(id)
12
+ @id = id
13
+ end
14
+
15
+ def session
16
+ GRPCSession.new(self)
17
+ end
18
+
19
+ def method_missing(method_name, *_args, &block)
20
+ service_key = method_name.to_sym
21
+
22
+ unless LND.instance.as(@id).respond_to?(service_key)
23
+ raise ArgumentError,
24
+ "Method `#{method_name}` doesn't exist."
25
+ end
26
+
27
+ GRPC.new(LND.instance.as(@id).send(service_key), service_key, @id, &block)
28
+ end
29
+
30
+ def respond_to_missing?(method_name, include_private = false)
31
+ service_key = method_name.to_sym
32
+
33
+ LND.instance.as(@id).respond_to?(service_key) || super
34
+ end
35
+ end
36
+
37
+ def initialize(service, service_key, as = nil, &handler)
11
38
  @service = service
12
39
  @service_key = service_key
13
40
  @handler = handler
41
+ @as = as
14
42
  end
15
43
 
16
44
  def call!(call_key, *args, &block)
17
- key = "#{@service_key}.#{call_key}"
45
+ key = "[#{@as}]:#{@service_key}.#{call_key}"
18
46
 
19
47
  if block.nil?
20
48
  response = Cache.for(key, params: args&.first) do
data/static/cache.rb CHANGED
@@ -3,6 +3,9 @@
3
3
  module Lighstorm
4
4
  module Static
5
5
  CACHE = {
6
+ lightning_channel_balance: false,
7
+ lightning_wallet_balance: false,
8
+ lightning_get_transactions: false,
6
9
  lightning_update_channel_policy: false,
7
10
  lightning_add_invoice: false,
8
11
  router_send_payment_v2: false,
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.12',
7
+ version: '0.0.14',
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.',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lighstorm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - icebaker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-13 00:00:00.000000000 Z
11
+ date: 2023-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.0.5
39
+ version: 0.0.7
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 0.0.5
46
+ version: 0.0.7
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: zache
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -85,15 +85,21 @@ files:
85
85
  - adapters/edges/payment/purpose.rb
86
86
  - adapters/invoice.rb
87
87
  - adapters/nodes/node.rb
88
+ - adapters/transaction.rb
89
+ - adapters/wallet.rb
88
90
  - components/cache.rb
89
91
  - components/lnd.rb
90
92
  - controllers/action.rb
93
+ - controllers/activity.rb
94
+ - controllers/activity/all.rb
91
95
  - controllers/channel.rb
92
96
  - controllers/channel/actions/apply_gossip.rb
93
97
  - controllers/channel/actions/update_fee.rb
94
98
  - controllers/channel/all.rb
95
99
  - controllers/channel/find_by_id.rb
96
100
  - controllers/channel/mine.rb
101
+ - controllers/concerns/impersonatable.rb
102
+ - controllers/connection.rb
97
103
  - controllers/forward.rb
98
104
  - controllers/forward/all.rb
99
105
  - controllers/forward/group_by_channel.rb
@@ -117,7 +123,8 @@ files:
117
123
  - controllers/secret/valid_proof.rb
118
124
  - controllers/transaction.rb
119
125
  - controllers/transaction/all.rb
120
- - deleted.sh
126
+ - controllers/wallet.rb
127
+ - controllers/wallet/balance.rb
121
128
  - docs/.nojekyll
122
129
  - docs/README.md
123
130
  - docs/_coverpage.md
@@ -130,6 +137,7 @@ files:
130
137
  - docs/vendor/prismjs/prism-tomorrow.min.css
131
138
  - helpers/time_expression.rb
132
139
  - lighstorm.gemspec
140
+ - models/activity.rb
133
141
  - models/concerns/protectable.rb
134
142
  - models/connections/channel_node.rb
135
143
  - models/connections/channel_node/accounting.rb
@@ -155,6 +163,7 @@ files:
155
163
  - models/satoshis.rb
156
164
  - models/secret.rb
157
165
  - models/transaction.rb
166
+ - models/wallet.rb
158
167
  - ports/dsl/lighstorm.rb
159
168
  - ports/dsl/lighstorm/errors.rb
160
169
  - ports/grpc.rb
data/deleted.sh DELETED
@@ -1 +0,0 @@
1
- deleted.sh