sibit 0.12.3 → 0.12.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 +4 -4
- data/.rubocop.yml +0 -1
- data/.rultor.yml +5 -11
- data/README.md +1 -0
- data/appveyor.yml +2 -1
- data/bin/sibit +8 -3
- data/features/cli.feature +0 -4
- data/lib/sibit/version.rb +1 -1
- data/lib/sibit.rb +5 -2
- data/test/test_sibit.rb +11 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ce8e0305c4ab80483d15d3067af9e6f14098b9374b5bf52952e90ba4c21e5fe5
|
|
4
|
+
data.tar.gz: 3de5750cc4144b1d68dd2241bf8d0153cc34c99a91015a3cefc16c8b3c468e32
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5116ed2893173b83379f9f040d55aca1182d9253b0c6beacd99c4b89cb45d7fb20cd85db01c68815ca5bfad6446a0ef2e74a9dc04f9d4e77f443c184a7bac587
|
|
7
|
+
data.tar.gz: 544d308336b5616e72c3f3058dabb79efb94b05eba2b8f90825cd421c23afba475c79bcf3d282d42e00bdffb2f06df68590a295e35787d2f80e998b5f043c664
|
data/.rubocop.yml
CHANGED
data/.rultor.yml
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
assets:
|
|
2
2
|
rubygems.yml: yegor256/home#assets/rubygems.yml
|
|
3
|
-
s3cfg: yegor256/home#assets/s3cfg
|
|
4
3
|
install: |
|
|
5
4
|
export GEM_HOME=~/.ruby
|
|
6
5
|
export GEM_PATH=$GEM_HOME:$GEM_PATH
|
|
7
6
|
sudo apt-get -y update
|
|
8
|
-
sudo gem install pdd
|
|
7
|
+
sudo gem install pdd -v 0.20.5
|
|
8
|
+
bundle install
|
|
9
9
|
release:
|
|
10
10
|
script: |-
|
|
11
|
-
bundle
|
|
12
|
-
rake
|
|
11
|
+
bundle exec rake
|
|
13
12
|
rm -rf *.gem
|
|
14
13
|
sed -i "s/1\.0\.snapshot/${tag}/g" lib/sibit/version.rb
|
|
15
14
|
git add lib/sibit/version.rb
|
|
@@ -17,15 +16,10 @@ release:
|
|
|
17
16
|
gem build sibit.gemspec
|
|
18
17
|
chmod 0600 ../rubygems.yml
|
|
19
18
|
gem push *.gem --config-file ../rubygems.yml
|
|
20
|
-
commanders:
|
|
21
|
-
- yegor256
|
|
22
|
-
architect:
|
|
23
|
-
- yegor256
|
|
24
19
|
merge:
|
|
25
20
|
script: |-
|
|
26
|
-
bundle
|
|
27
|
-
|
|
28
|
-
pdd
|
|
21
|
+
bundle exec rake
|
|
22
|
+
pdd -f /dev/null
|
|
29
23
|
deploy:
|
|
30
24
|
script: |-
|
|
31
25
|
echo "There is nothing to deploy"
|
data/README.md
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
[](http://badge.fury.io/rb/sibit)
|
|
12
12
|
[](https://codeclimate.com/github/yegor256/sibit/maintainability)
|
|
13
13
|
|
|
14
|
+
[](https://github.com/yegor256/takes/sibit/master/LICENSE.txt)
|
|
14
15
|
[](https://codecov.io/github/yegor256/sibit?branch=master)
|
|
15
16
|
[](https://hitsofcode.com/view/github/yegor256/sibit)
|
|
16
17
|
|
data/appveyor.yml
CHANGED
|
@@ -8,7 +8,8 @@ branches:
|
|
|
8
8
|
- gh-pages
|
|
9
9
|
os: Windows Server 2012
|
|
10
10
|
install:
|
|
11
|
-
- cmd:
|
|
11
|
+
- cmd: set SSL_CERT_FILE=C:/ruby24-x64/ssl/cert.pem
|
|
12
|
+
- cmd: SET PATH=C:\Ruby24-x64\bin;%PATH%
|
|
12
13
|
- cmd: ruby --version
|
|
13
14
|
- cmd: git --version
|
|
14
15
|
build_script:
|
data/bin/sibit
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
2
4
|
# Copyright (c) 2019 Yegor Bugayenko
|
|
3
5
|
#
|
|
4
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
@@ -40,8 +42,11 @@ Commands are:
|
|
|
40
42
|
pay: Send a new Bitcoin transaction
|
|
41
43
|
Options are:"
|
|
42
44
|
o.string '--proxy', 'HTTPS proxy for all requests, e.g. "localhost:3128"'
|
|
43
|
-
o.integer
|
|
44
|
-
'
|
|
45
|
+
o.integer(
|
|
46
|
+
'--attempts',
|
|
47
|
+
'How many times should we try before failing',
|
|
48
|
+
default: 1
|
|
49
|
+
)
|
|
45
50
|
o.bool '--dry', 'Don\'t send a real payment, run in a read-only mode'
|
|
46
51
|
o.bool '--help', 'Read this: https://github.com/yegor256/sibit' do
|
|
47
52
|
puts o
|
|
@@ -50,7 +55,7 @@ Options are:"
|
|
|
50
55
|
o.bool '--verbose', 'Print all possible debug messages'
|
|
51
56
|
end
|
|
52
57
|
rescue Slop::Error => ex
|
|
53
|
-
raise
|
|
58
|
+
raise ex.message
|
|
54
59
|
end
|
|
55
60
|
raise 'Try --help' if opts.arguments.empty?
|
|
56
61
|
sibit = Sibit.new(
|
data/features/cli.feature
CHANGED
|
@@ -29,7 +29,3 @@ Feature: Command Line Processing
|
|
|
29
29
|
Scenario: Bitcoin fees can be printed
|
|
30
30
|
When I run bin/sibit with "fees --verbose"
|
|
31
31
|
Then Exit code is zero
|
|
32
|
-
|
|
33
|
-
Scenario: Bitcoin transaction can be sent
|
|
34
|
-
When I run bin/sibit with "--verbose --dry pay 100000 S 1JvCsJtLmCxEk7ddZFnVkGXpr9uhxZPmJi:fd2333686f49d8647e1ce8d5ef39c304520b08f3c756b67068b30a3db217dcb2 1JvCsJtLmCxEk7ddZFnVkGXpr9uhxZPmJi 1JvCsJtLmCxEk7ddZFnVkGXpr9uhxZPmJi"
|
|
35
|
-
Then Exit code is zero
|
data/lib/sibit/version.rb
CHANGED
data/lib/sibit.rb
CHANGED
|
@@ -111,7 +111,9 @@ class Sibit
|
|
|
111
111
|
|
|
112
112
|
# Generates new Bitcon private key and returns in Hash160 format.
|
|
113
113
|
def generate
|
|
114
|
-
Bitcoin::Key.generate.priv
|
|
114
|
+
key = Bitcoin::Key.generate.priv
|
|
115
|
+
info("Bitcoin private key generated: #{key[0..8]}...")
|
|
116
|
+
key
|
|
115
117
|
end
|
|
116
118
|
|
|
117
119
|
# Creates Bitcon address using the private key in Hash160 format.
|
|
@@ -198,7 +200,7 @@ class Sibit
|
|
|
198
200
|
tx = builder.tx(
|
|
199
201
|
input_value: unspent,
|
|
200
202
|
leave_fee: true,
|
|
201
|
-
extra_fee: f.abs - Bitcoin.network[:min_tx_fee],
|
|
203
|
+
extra_fee: [f.abs - Bitcoin.network[:min_tx_fee], 0].max,
|
|
202
204
|
change_address: change
|
|
203
205
|
)
|
|
204
206
|
left = unspent - tx.outputs.map(&:value).inject(&:+)
|
|
@@ -208,6 +210,7 @@ class Sibit
|
|
|
208
210
|
#{tx.out.count} output#{tx.out.count > 1 ? 's' : ''}:
|
|
209
211
|
#{tx.outputs.map { |o| "out: #{o.script.bth} / #{num(o.value, p)}" }.join("\n ")}
|
|
210
212
|
Min tx fee: #{num(Bitcoin.network[:min_tx_fee], p)}
|
|
213
|
+
Fee requested: #{num(f, p)} as \"#{fee}\"
|
|
211
214
|
Fee left: #{num(left, p)}
|
|
212
215
|
Tx size: #{size} bytes
|
|
213
216
|
Unspent: #{num(unspent, p)}
|
data/test/test_sibit.rb
CHANGED
|
@@ -59,6 +59,17 @@ class TestSibit < Minitest::Test
|
|
|
59
59
|
assert(/^[0-9a-f]{64}$/.match?(pkey))
|
|
60
60
|
end
|
|
61
61
|
|
|
62
|
+
def test_generate_key_and_prints
|
|
63
|
+
require 'stringio'
|
|
64
|
+
require 'logger'
|
|
65
|
+
strio = StringIO.new
|
|
66
|
+
sibit = Sibit.new(log: Logger.new(strio))
|
|
67
|
+
key = sibit.generate
|
|
68
|
+
assert(strio.string.include?('private key generated'))
|
|
69
|
+
assert(strio.string.include?(key[0..4]))
|
|
70
|
+
assert(!strio.string.include?(key))
|
|
71
|
+
end
|
|
72
|
+
|
|
62
73
|
def test_create_address
|
|
63
74
|
sibit = Sibit.new
|
|
64
75
|
pkey = sibit.generate
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sibit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.12.
|
|
4
|
+
version: 0.12.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yegor Bugayenko
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-07-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: backtrace
|