lightning-invoice 0.1.3 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d9ee675efd28bb1aaa0419de6305b000fc0f9ac24f6e5b53af91c95f541f0e9
4
- data.tar.gz: b714ce6c8d41d34854aacd30f2954a13aeb83871a335336899f49029545df850
3
+ metadata.gz: c5fb7e66b69c9bfb71f10cc6527f34a2ef00ca59960256cea84e6fe7359ba5ef
4
+ data.tar.gz: 592564e048824ac484286f191126c5d10c1c8d1f2bd75eb203882463d6c0c2ca
5
5
  SHA512:
6
- metadata.gz: 36a04d62fb52bc2efd3069054f026d32b55b6fe453bd7c3d20f5ed4e563b6a57872a7825ffce081b0beab1bae36cfc721f6bfb6b07c0f050fdcd303b68bb0844
7
- data.tar.gz: 84b1a06fc319b39433948ce8b2d1c960034006cfd3a055f8203511c68815524c44abca69a73f37fc928759c9439fac8aadfbbb36ef1cffde68203bbec7388075
6
+ metadata.gz: 4533da37df5d1148c5ee9fc223be627bf116bb51f152194fec37dab1a57ace59e689f600151f30b3984bab4a753e8a3f1992cb1a1241341cc9c735d7421866b7
7
+ data.tar.gz: dfcfbe3d8059b6779362d7fb73d138e69066b6544d75583c915348ef3bac41e94e081dd258a3ec1a15f7d14084d18f2d44f82b077ea87dfbad592a948065c2cb
data/CODE_OF_CONDUCT.md CHANGED
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
55
55
  ## Enforcement
56
56
 
57
57
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at h_yamaguchi@haw.co.jp. All
58
+ reported by contacting the project team at gen.yamaguchi0@gmail.com. All
59
59
  complaints will be reviewed and investigated and will result in a response that
60
60
  is deemed necessary and appropriate to the circumstances. The project team is
61
61
  obligated to maintain confidentiality with regard to the reporter of an incident.
@@ -19,10 +19,53 @@ module Lightning
19
19
  end
20
20
 
21
21
  def to_bech32
22
+ human = to_human_string
23
+ data = to_data_array
24
+ data += Invoice.buffer_to_word(signature.htb)
25
+ Bech32.encode(human, data)
26
+ end
27
+
28
+ def fallback_address_type(fallback_address)
29
+ address_types = {
30
+ 'lnbc' => [0, 5],
31
+ 'lntb' => [111, 196]
32
+ }
33
+
34
+ hrp, data = Bech32.decode(fallback_address)
35
+ if hrp
36
+ 0
37
+ else
38
+ decoded = [Bitcoin::Base58.decode(fallback_address)].pack("H*").unpack("C*")
39
+ if decoded[0] == address_types[prefix][0]
40
+ 17
41
+ elsif decoded[0] == address_types[prefix][1]
42
+ 18
43
+ end
44
+ end
45
+ end
46
+
47
+ def sign(key, recovery: '00')
48
+ human = to_human_string
49
+ data = to_data_array
50
+ sig_data = human.bth + Invoice.word_to_buffer(data).bth
51
+ sig_as_der = key.sign(Bitcoin.sha256(sig_data.htb))
52
+ sig = ECDSA::Format::SignatureDerString.decode(sig_as_der)
53
+ self.signature = sig.r.to_s(16).rjust(64, '0') + sig.s.to_s(16).rjust(64, '0')
54
+ self.signature += recovery
55
+ self
56
+ end
57
+
58
+ private
59
+
60
+ def to_human_string
22
61
  human = +''
23
62
  human << prefix
24
63
  human << amount.to_s if amount && amount > 0
25
64
  human << multiplier if multiplier
65
+ human
66
+ end
67
+
68
+ def to_data_array
26
69
  data = []
27
70
  data += Invoice.int_to_array(timestamp)
28
71
  if payment_hash && !payment_hash.empty?
@@ -84,27 +127,7 @@ module Lightning
84
127
  end
85
128
  data += Invoice.buffer_to_word(tmp.pack("C*"))
86
129
  end
87
- data += Invoice.buffer_to_word(signature.htb)
88
- Bech32.encode(human, data)
89
- end
90
-
91
- def fallback_address_type(fallback_address)
92
- address_types = {
93
- 'lnbc' => [0, 5],
94
- 'lntb' => [111, 196]
95
- }
96
-
97
- hrp, data = Bech32.decode(fallback_address)
98
- if hrp
99
- 0
100
- else
101
- decoded = [Bitcoin::Base58.decode(fallback_address)].pack("H*").unpack("C*")
102
- if decoded[0] == address_types[prefix][0]
103
- 17
104
- elsif decoded[0] == address_types[prefix][1]
105
- 18
106
- end
107
- end
130
+ data
108
131
  end
109
132
  end
110
133
 
@@ -1,5 +1,5 @@
1
1
  module Lightning
2
2
  module Invoice
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lightning-invoice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hajime Yamaguchi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-31 00:00:00.000000000 Z
11
+ date: 2018-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler