stellar-base 0.0.10 → 0.0.11

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
  SHA1:
3
- metadata.gz: bf4158b0f95f7338c96416a0398e13dbf91ae047
4
- data.tar.gz: 6df5ab1153e3b0ed2f23d30c061d5065bccc2663
3
+ metadata.gz: 4975e0b08060f21ba3def7e74fb8f410d6bd932e
4
+ data.tar.gz: 77f77dfed12eecded1b94d2348a01797c34b414f
5
5
  SHA512:
6
- metadata.gz: be53f549d08cba214888be4658913ec604881a3bc7ebe5afbe154ef060797389b31385f5ad37c796e2ee92c9e6215ee9aa7d14878f35af7e51cc443ec6cc681e
7
- data.tar.gz: dd3d97061fc6ade77de67c6a47af1c9d7f23e81b45575fc3dafa473f6aab05bba0a326969488219aabeada7f5e326f927889c7c78afbd69ca06c7de4e770fba2
6
+ metadata.gz: 212fcee22b67c4ac68bc625d13bd6537dad5db82d504df6c7d75b145b85f2efcc7b2ba780f95d4d9e9858cb682966926c422a9ae4487e3d42075baf3fa49f3e8
7
+ data.tar.gz: 6ccc731105f397cd3d4550423a45a9f11227ff11466ff4f00f835d76ed2bb3554811ffbd94f15b860dfebf7b0edc1c658cac4b47e5011b8a8e22f0a4fc282b72
data/.travis.yml CHANGED
@@ -6,7 +6,7 @@ rvm:
6
6
  - 1.9.3
7
7
  - jruby-1.7.9
8
8
  - jruby-head
9
- script: LD_LIBRARY_PATH=lib bundle exec rake travis
9
+ script: bundle exec rake travis
10
10
  notifications:
11
11
  slack:
12
12
  secure: V/6a8KFe067uukrbCJA2R1HPO4xy0YSQ1pwmHVRi5StX+yl+lYsWWJdjdBdT0j3iJBYyPRqU4bQYck+OloxtELnrHCX+OkodxcxW8W/ACc914iIf0FyY9pnusK7ck2awmt4Iuf94YPgi0XTm1aCcm+f0yU7wiIVFpftoXSk1EDY=
data/Rakefile CHANGED
@@ -1,6 +1,4 @@
1
1
  require "bundler/gem_tasks"
2
2
  Bundler.setup
3
3
 
4
- require "rbnacl/rake_tasks"
5
-
6
4
  Dir["tasks/**/*.rake"].each{|f| load f}
@@ -1,5 +1,5 @@
1
1
  module Stellar
2
2
  module Base
3
- VERSION = "0.0.10"
3
+ VERSION = "0.0.11"
4
4
  end
5
5
  end
@@ -0,0 +1,34 @@
1
+ module Stellar
2
+ #
3
+ # Generic format conversion module
4
+ #
5
+ module Convert
6
+ require 'base64'
7
+
8
+ def to_hex(string)
9
+ string.unpack("H*").first
10
+ end
11
+
12
+ def from_hex(hex_string)
13
+ [hex_string].pack("H*")
14
+ end
15
+
16
+ def to_base64(string)
17
+ Base64.strict_encode64(string)
18
+ end
19
+
20
+ def from_base64(base64_string)
21
+ Base64.strict_decode64(base64_string)
22
+ end
23
+
24
+ def base58
25
+ Stellar::Util::Base58.stellar
26
+ end
27
+
28
+ def pk_to_address(pk)
29
+ base58.check_encode(:account_id, pk)
30
+ end
31
+
32
+ extend self
33
+ end
34
+ end
data/lib/stellar-base.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'xdr'
2
- require 'rbnacl'
2
+ require 'rbnacl/libsodium'
3
3
  require 'digest/sha2'
4
4
  require 'active_support/core_ext/object/blank'
5
5
  require 'active_support/core_ext/enumerable'
@@ -26,3 +26,4 @@ require_relative './stellar/transaction'
26
26
  require_relative './stellar/transaction_envelope'
27
27
  require_relative './stellar/util/base58'
28
28
  require_relative './stellar/util/continued_fraction'
29
+ require_relative './stellar/convert'
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_dependency "xdr", "~> 0.0.2"
21
21
  spec.add_dependency "rbnacl"
22
+ spec.add_dependency "rbnacl-libsodium", "~> 1.0.3"
22
23
  spec.add_dependency "activesupport", "~> 4"
23
24
 
24
25
  spec.add_development_dependency "bundler", "~> 1.7"
@@ -0,0 +1,52 @@
1
+ require 'spec_helper'
2
+
3
+ describe Stellar::Convert, "hex encoding" do
4
+ subject{ Stellar::Convert }
5
+ let(:raw) { "\x01\x02\x03\x04" }
6
+ let(:hex) { "01020304" }
7
+ let(:base64){ "AQIDBA==" }
8
+
9
+ describe "hex encoding" do
10
+ it "decodes" do
11
+ expect(subject.from_hex(hex)).to eq(raw)
12
+ end
13
+
14
+ it "encodes" do
15
+ expect(subject.to_hex(raw)).to eq(hex)
16
+ end
17
+
18
+ it "round trips" do
19
+ raw1 = subject.from_hex(hex)
20
+ hex1 = subject.to_hex(raw1)
21
+ expect(hex1).to eq(hex)
22
+
23
+
24
+ hex2 = subject.to_hex(raw)
25
+ raw2 = subject.from_hex(hex2)
26
+ expect(raw2).to eq(raw)
27
+ end
28
+ end
29
+
30
+ describe "base64 encoding" do
31
+ it "decodes" do
32
+ expect(subject.from_base64(base64)).to eq(raw)
33
+ end
34
+
35
+ it "encodes" do
36
+ expect(subject.to_base64(raw)).to eq(base64)
37
+ end
38
+
39
+ it "round trips" do
40
+ raw1 = subject.from_base64(base64)
41
+ base641 = subject.to_base64(raw1)
42
+ expect(base641).to eq(base64)
43
+
44
+
45
+ base642 = subject.to_base64(raw)
46
+ raw2 = subject.from_base64(base642)
47
+ expect(raw2).to eq(raw)
48
+ end
49
+ end
50
+
51
+
52
+ end
data/tasks/travis.rake CHANGED
@@ -1,9 +1 @@
1
- file "lib/libsodium.so" => :build_libsodium do
2
- cp $LIBSODIUM_PATH, "lib/libsodium.so"
3
- end
4
-
5
- task "ci:sodium" => "lib/libsodium.so"
6
-
7
- task :travis => %w(ci:sodium spec)
8
-
9
- CLEAN.add "lib/libsodium.*"
1
+ task :travis => %w(spec)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stellar-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Fleckenstein
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-01 00:00:00.000000000 Z
11
+ date: 2015-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xdr
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rbnacl-libsodium
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.0.3
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.3
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: activesupport
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -296,6 +310,7 @@ files:
296
310
  - lib/stellar/account_flags.rb
297
311
  - lib/stellar/base.rb
298
312
  - lib/stellar/base/version.rb
313
+ - lib/stellar/convert.rb
299
314
  - lib/stellar/currency.rb
300
315
  - lib/stellar/key_pair.rb
301
316
  - lib/stellar/operation.rb
@@ -305,6 +320,7 @@ files:
305
320
  - lib/stellar/util/base58.rb
306
321
  - lib/stellar/util/continued_fraction.rb
307
322
  - ruby-stellar-base.gemspec
323
+ - spec/lib/stellar/convert_spec.rb
308
324
  - spec/lib/stellar/key_pair_spec.rb
309
325
  - spec/lib/stellar/price_spec.rb
310
326
  - spec/lib/stellar/transaction_envelope_spec.rb
@@ -350,6 +366,7 @@ signing_key:
350
366
  specification_version: 4
351
367
  summary: 'Stellar client library: XDR'
352
368
  test_files:
369
+ - spec/lib/stellar/convert_spec.rb
353
370
  - spec/lib/stellar/key_pair_spec.rb
354
371
  - spec/lib/stellar/price_spec.rb
355
372
  - spec/lib/stellar/transaction_envelope_spec.rb