sibit 0.12.3 → 0.12.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Gem Version](https://badge.fury.io/rb/sibit.svg)](http://badge.fury.io/rb/sibit)
|
12
12
|
[![Maintainability](https://api.codeclimate.com/v1/badges/74c909f06d4afa0d8001/maintainability)](https://codeclimate.com/github/yegor256/sibit/maintainability)
|
13
13
|
|
14
|
+
[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/takes/sibit/master/LICENSE.txt)
|
14
15
|
[![Test Coverage](https://img.shields.io/codecov/c/github/yegor256/sibit.svg)](https://codecov.io/github/yegor256/sibit?branch=master)
|
15
16
|
[![Hits-of-Code](https://hitsofcode.com/github/yegor256/sibit)](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
|