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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e92473e6d17b5f3637ed0a4b6bed2656dd3870b303eb919b5c11985d0386d7ef
4
- data.tar.gz: 9ec5520569097129607ee3ccda35254648e34a1f82d21bd686cba9c0f05c47ce
3
+ metadata.gz: ce8e0305c4ab80483d15d3067af9e6f14098b9374b5bf52952e90ba4c21e5fe5
4
+ data.tar.gz: 3de5750cc4144b1d68dd2241bf8d0153cc34c99a91015a3cefc16c8b3c468e32
5
5
  SHA512:
6
- metadata.gz: 35cd500e75068c388f95b0ebf5de8610ad0d4c4baaa6ebfa1b598ca3c475e38c6c4659a217d7e76a3e8a28dea61f9c99120509c94f5587222f3d0c5c4ea0d5a8
7
- data.tar.gz: d8f6af610bbc485159e126b1e2cd235a4a99b035f1e8e378fc37551d437aa26e01b8e38f7c6e0381b993a16627e147206f3421022d4edf2297a35cedbd08696c
6
+ metadata.gz: 5116ed2893173b83379f9f040d55aca1182d9253b0c6beacd99c4b89cb45d7fb20cd85db01c68815ca5bfad6446a0ef2e74a9dc04f9d4e77f443c184a7bac587
7
+ data.tar.gz: 544d308336b5616e72c3f3058dabb79efb94b05eba2b8f90825cd421c23afba475c79bcf3d282d42e00bdffb2f06df68590a295e35787d2f80e998b5f043c664
data/.rubocop.yml CHANGED
@@ -1,6 +1,5 @@
1
1
  AllCops:
2
2
  Exclude:
3
- - 'bin/**/*'
4
3
  - 'assets/**/*'
5
4
  DisplayCopNames: true
6
5
  TargetRubyVersion: 2.3
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 install
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 install
27
- rake
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: SET PATH=C:\Ruby23-x64\bin;%PATH%
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 '--attempts',
44
- 'How many times should we try before failing', default: 1
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 "#{ex.message}"
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
@@ -26,5 +26,5 @@
26
26
  # License:: MIT
27
27
  class Sibit
28
28
  # Current version of the library.
29
- VERSION = '0.12.3'
29
+ VERSION = '0.12.4'
30
30
  end
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.3
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-05-29 00:00:00.000000000 Z
11
+ date: 2019-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backtrace