stellar-base 0.12.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 76a58244d9d43b4caf7bec1f3790b9e016591ae8
4
- data.tar.gz: 84cea328213662741b73508b9c39e08344a72132
3
+ metadata.gz: b2c8c890214d963a628202f239db08ba7bab26a5
4
+ data.tar.gz: b13f3cd18aaf12049b639eea8b0d5387f18d87d0
5
5
  SHA512:
6
- metadata.gz: f33e95865b77abb9917d09e21d8a5942aaa4863dd7b1e6a9bdab30b2de0ffe04710d29984278a7100b6f80edd630d521395ebcb84453819dc782341f5b408f49
7
- data.tar.gz: 32d5196f9448ec39cb9745a53d2c65bd98c1d599c036f5ab742c797215de1b5d748b1c69516011a06e0f44210cb0de86a76b42645cb02de8de7fea08fbaa5d73
6
+ metadata.gz: 89caa5c6ea3b10c767a149a00f5dc87bad11f102b459d7c713107cc3ace55d1c3a638354c56f8127f943f9388b8a8984102eaf91e83913c5d3edccc6cedbab2b
7
+ data.tar.gz: ecc7b38a19820743379fd2da53fcdc1fb38fdd4d6202aba4a25ffbc9b6577e2234084f2a9cddf731db1eb7ef876b7d48a576613dc4140f4ccbb4909588c63a39
data/.gitignore CHANGED
@@ -11,5 +11,6 @@
11
11
  *.so
12
12
  *.o
13
13
  *.a
14
+ /.vscode
14
15
  mkmf.log
15
16
  .DS_Store
@@ -6,7 +6,15 @@ file. This project adheres to [Semantic Versioning](http://semver.org/).
6
6
  As this project is pre 1.0, breaking changes may happen for minor version
7
7
  bumps. A breaking change will get clearly notified in this log.
8
8
 
9
- ## [unreleased](https://github.com/stellar/ruby-stellar-base/compare/v0.12.0...master)
9
+ ## [unreleased](https://github.com/stellar/ruby-stellar-base/compare/v0.13.0...master)
10
+
11
+ ## [0.13.0](https://github.com/stellar/ruby-stellar-base/compare/v0.12.0...v0.13.0)
12
+
13
+ ### Changed
14
+ - Update XDR definitions for stellar-core 0.9.1 support
15
+
16
+ ### Added
17
+ - Added `#signer_key` helper to `KeyPair`
10
18
 
11
19
  ## [0.12.0](https://github.com/stellar/ruby-stellar-base/compare/v0.11.0...v0.12.0)
12
20
 
@@ -41,10 +41,13 @@ module Stellar
41
41
  autoload :LedgerEntryType
42
42
  autoload :Signer
43
43
  autoload :AccountFlags
44
+ MASK_ACCOUNT_FLAGS = 0x7
44
45
  autoload :AccountEntry
45
46
  autoload :TrustLineFlags
47
+ MASK_TRUSTLINE_FLAGS = 1
46
48
  autoload :TrustLineEntry
47
49
  autoload :OfferEntryFlags
50
+ MASK_OFFERENTRY_FLAGS = 1
48
51
  autoload :OfferEntry
49
52
  autoload :DataEntry
50
53
  autoload :LedgerEntry
@@ -8,16 +8,16 @@ require 'xdr'
8
8
  # enum CryptoKeyType
9
9
  # {
10
10
  # KEY_TYPE_ED25519 = 0,
11
- # KEY_TYPE_HASH_TX = 1,
11
+ # KEY_TYPE_PRE_AUTH_TX = 1,
12
12
  # KEY_TYPE_HASH_X = 2
13
13
  # };
14
14
  #
15
15
  # ===========================================================================
16
16
  module Stellar
17
17
  class CryptoKeyType < XDR::Enum
18
- member :key_type_ed25519, 0
19
- member :key_type_hash_tx, 1
20
- member :key_type_hash_x, 2
18
+ member :key_type_ed25519, 0
19
+ member :key_type_pre_auth_tx, 1
20
+ member :key_type_hash_x, 2
21
21
 
22
22
  seal
23
23
  end
@@ -13,6 +13,8 @@ require 'xdr'
13
13
  # uint32 newBaseFee; // update baseFee
14
14
  # case LEDGER_UPGRADE_MAX_TX_SET_SIZE:
15
15
  # uint32 newMaxTxSetSize; // update maxTxSetSize
16
+ # case LEDGER_UPGRADE_BASE_RESERVE:
17
+ # uint32 newBaseReserve; // update baseReserve
16
18
  # };
17
19
  #
18
20
  # ===========================================================================
@@ -23,9 +25,11 @@ module Stellar
23
25
  switch :ledger_upgrade_version, :new_ledger_version
24
26
  switch :ledger_upgrade_base_fee, :new_base_fee
25
27
  switch :ledger_upgrade_max_tx_set_size, :new_max_tx_set_size
28
+ switch :ledger_upgrade_base_reserve, :new_base_reserve
26
29
 
27
30
  attribute :new_ledger_version, Uint32
28
31
  attribute :new_base_fee, Uint32
29
32
  attribute :new_max_tx_set_size, Uint32
33
+ attribute :new_base_reserve, Uint32
30
34
  end
31
35
  end
@@ -9,7 +9,8 @@ require 'xdr'
9
9
  # {
10
10
  # LEDGER_UPGRADE_VERSION = 1,
11
11
  # LEDGER_UPGRADE_BASE_FEE = 2,
12
- # LEDGER_UPGRADE_MAX_TX_SET_SIZE = 3
12
+ # LEDGER_UPGRADE_MAX_TX_SET_SIZE = 3,
13
+ # LEDGER_UPGRADE_BASE_RESERVE = 4
13
14
  # };
14
15
  #
15
16
  # ===========================================================================
@@ -18,6 +19,7 @@ module Stellar
18
19
  member :ledger_upgrade_version, 1
19
20
  member :ledger_upgrade_base_fee, 2
20
21
  member :ledger_upgrade_max_tx_set_size, 3
22
+ member :ledger_upgrade_base_reserve, 4
21
23
 
22
24
  seal
23
25
  end
@@ -9,10 +9,12 @@ require 'xdr'
9
9
  # {
10
10
  # case SIGNER_KEY_TYPE_ED25519:
11
11
  # uint256 ed25519;
12
- # case SIGNER_KEY_TYPE_HASH_TX:
13
- # Hash hashTx;
12
+ # case SIGNER_KEY_TYPE_PRE_AUTH_TX:
13
+ # /* Hash of Transaction structure */
14
+ # uint256 preAuthTx;
14
15
  # case SIGNER_KEY_TYPE_HASH_X:
15
- # Hash hashX;
16
+ # /* Hash of random 256 bit preimage X */
17
+ # uint256 hashX;
16
18
  # };
17
19
  #
18
20
  # ===========================================================================
@@ -20,12 +22,12 @@ module Stellar
20
22
  class SignerKey < XDR::Union
21
23
  switch_on SignerKeyType, :type
22
24
 
23
- switch :signer_key_type_ed25519, :ed25519
24
- switch :signer_key_type_hash_tx, :hash_tx
25
- switch :signer_key_type_hash_x, :hash_x
25
+ switch :signer_key_type_ed25519, :ed25519
26
+ switch :signer_key_type_pre_auth_tx, :pre_auth_tx
27
+ switch :signer_key_type_hash_x, :hash_x
26
28
 
27
- attribute :ed25519, Uint256
28
- attribute :hash_tx, Hash
29
- attribute :hash_x, Hash
29
+ attribute :ed25519, Uint256
30
+ attribute :pre_auth_tx, Uint256
31
+ attribute :hash_x, Uint256
30
32
  end
31
33
  end
@@ -8,16 +8,16 @@ require 'xdr'
8
8
  # enum SignerKeyType
9
9
  # {
10
10
  # SIGNER_KEY_TYPE_ED25519 = KEY_TYPE_ED25519,
11
- # SIGNER_KEY_TYPE_HASH_TX = KEY_TYPE_HASH_TX,
11
+ # SIGNER_KEY_TYPE_PRE_AUTH_TX = KEY_TYPE_PRE_AUTH_TX,
12
12
  # SIGNER_KEY_TYPE_HASH_X = KEY_TYPE_HASH_X
13
13
  # };
14
14
  #
15
15
  # ===========================================================================
16
16
  module Stellar
17
17
  class SignerKeyType < XDR::Enum
18
- member :signer_key_type_ed25519, 0
19
- member :signer_key_type_hash_tx, 1
20
- member :signer_key_type_hash_x, 2
18
+ member :signer_key_type_ed25519, 0
19
+ member :signer_key_type_pre_auth_tx, 1
20
+ member :signer_key_type_hash_x, 2
21
21
 
22
22
  seal
23
23
  end
@@ -1,5 +1,5 @@
1
1
  module Stellar
2
2
  module Base
3
- VERSION = "0.12.0"
3
+ VERSION = "0.13.0"
4
4
  end
5
5
  end
@@ -49,6 +49,10 @@ module Stellar
49
49
  Stellar::PublicKey.new :public_key_type_ed25519, raw_public_key
50
50
  end
51
51
 
52
+ def signer_key
53
+ Stellar::SignerKey.new :signer_key_type_ed25519, raw_public_key
54
+ end
55
+
52
56
  def raw_public_key
53
57
  @public_key.to_bytes
54
58
  end
@@ -135,6 +135,17 @@ describe Stellar::KeyPair do
135
135
  end
136
136
  end
137
137
 
138
+ describe "#signer_key" do
139
+ let(:key_pair){ Stellar::KeyPair.random }
140
+ subject{ key_pair.signer_key }
141
+
142
+ it { should be_a(Stellar::SignerKey) }
143
+
144
+ it "contains the public key" do
145
+ expect(subject.ed25519!).to eql(key_pair.raw_public_key)
146
+ end
147
+ end
148
+
138
149
  describe "#raw_seed" do
139
150
  let(:key_pair){ Stellar::KeyPair.random }
140
151
  subject{ key_pair.raw_seed }
@@ -168,6 +179,8 @@ describe Stellar::KeyPair do
168
179
  it{ should be_strkey(:seed)}
169
180
  end
170
181
 
182
+
183
+
171
184
  describe "#sign" do
172
185
  let(:message) { "hello" }
173
186
  subject{ key_pair.sign(message) }
@@ -26,7 +26,7 @@ namespace :xdr do
26
26
 
27
27
  HAYASHI_XDR.each do |src|
28
28
  local_path = "xdr/" + File.basename(src)
29
- encoded = client.contents("stellar/stellar-core", path: src, ref:"1c2a3fb7a29eedb0c9513132834dd38fee243a63").content
29
+ encoded = client.contents("stellar/stellar-core", path: src, ref: "prod").content
30
30
  decoded = Base64.decode64 encoded
31
31
 
32
32
  IO.write(local_path, decoded)
@@ -88,6 +88,9 @@ enum AccountFlags
88
88
  AUTH_IMMUTABLE_FLAG = 0x4
89
89
  };
90
90
 
91
+ // mask for all valid flags
92
+ const MASK_ACCOUNT_FLAGS = 0x7;
93
+
91
94
  /* AccountEntry
92
95
 
93
96
  Main entry representing a user in Stellar. All transactions are
@@ -136,6 +139,10 @@ enum TrustLineFlags
136
139
  AUTHORIZED_FLAG = 1
137
140
  };
138
141
 
142
+
143
+ // mask for all trustline flags
144
+ const MASK_TRUSTLINE_FLAGS = 1;
145
+
139
146
  struct TrustLineEntry
140
147
  {
141
148
  AccountID accountID; // account this trustline belongs to
@@ -161,6 +168,9 @@ enum OfferEntryFlags
161
168
  PASSIVE_FLAG = 1
162
169
  };
163
170
 
171
+ // Mask for OfferEntry flags
172
+ const MASK_OFFERENTRY_FLAGS = 1;
173
+
164
174
  /* OfferEntry
165
175
  An offer is the building block of the offer book, they are automatically
166
176
  claimed by payments when the price set by the owner is met.
@@ -2,6 +2,7 @@
2
2
  // under the Apache License, Version 2.0. See the COPYING file at the root
3
3
  // of this distribution or at http://www.apache.org/licenses/LICENSE-2.0
4
4
 
5
+ %#include "xdr/Stellar-SCP.h"
5
6
  %#include "xdr/Stellar-transaction.h"
6
7
 
7
8
  namespace stellar
@@ -82,7 +83,8 @@ enum LedgerUpgradeType
82
83
  {
83
84
  LEDGER_UPGRADE_VERSION = 1,
84
85
  LEDGER_UPGRADE_BASE_FEE = 2,
85
- LEDGER_UPGRADE_MAX_TX_SET_SIZE = 3
86
+ LEDGER_UPGRADE_MAX_TX_SET_SIZE = 3,
87
+ LEDGER_UPGRADE_BASE_RESERVE = 4
86
88
  };
87
89
 
88
90
  union LedgerUpgrade switch (LedgerUpgradeType type)
@@ -93,6 +95,8 @@ case LEDGER_UPGRADE_BASE_FEE:
93
95
  uint32 newBaseFee; // update baseFee
94
96
  case LEDGER_UPGRADE_MAX_TX_SET_SIZE:
95
97
  uint32 newMaxTxSetSize; // update maxTxSetSize
98
+ case LEDGER_UPGRADE_BASE_RESERVE:
99
+ uint32 newBaseReserve; // update baseReserve
96
100
  };
97
101
 
98
102
  /* Entries used to define the bucket list */
@@ -17,7 +17,7 @@ typedef hyper int64;
17
17
  enum CryptoKeyType
18
18
  {
19
19
  KEY_TYPE_ED25519 = 0,
20
- KEY_TYPE_HASH_TX = 1,
20
+ KEY_TYPE_PRE_AUTH_TX = 1,
21
21
  KEY_TYPE_HASH_X = 2
22
22
  };
23
23
 
@@ -29,7 +29,7 @@ enum PublicKeyType
29
29
  enum SignerKeyType
30
30
  {
31
31
  SIGNER_KEY_TYPE_ED25519 = KEY_TYPE_ED25519,
32
- SIGNER_KEY_TYPE_HASH_TX = KEY_TYPE_HASH_TX,
32
+ SIGNER_KEY_TYPE_PRE_AUTH_TX = KEY_TYPE_PRE_AUTH_TX,
33
33
  SIGNER_KEY_TYPE_HASH_X = KEY_TYPE_HASH_X
34
34
  };
35
35
 
@@ -43,10 +43,12 @@ union SignerKey switch (SignerKeyType type)
43
43
  {
44
44
  case SIGNER_KEY_TYPE_ED25519:
45
45
  uint256 ed25519;
46
- case SIGNER_KEY_TYPE_HASH_TX:
47
- Hash hashTx;
46
+ case SIGNER_KEY_TYPE_PRE_AUTH_TX:
47
+ /* Hash of Transaction structure */
48
+ uint256 preAuthTx;
48
49
  case SIGNER_KEY_TYPE_HASH_X:
49
- Hash hashX;
50
+ /* Hash of random 256 bit preimage X */
51
+ uint256 hashX;
50
52
  };
51
53
 
52
54
  // variable size as the size depends on the signature scheme used
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.12.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Fleckenstein
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-23 00:00:00.000000000 Z
11
+ date: 2018-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xdr
@@ -229,7 +229,6 @@ extra_rdoc_files: []
229
229
  files:
230
230
  - ".gitignore"
231
231
  - ".travis.yml"
232
- - ".vscode/temp.sql"
233
232
  - ".yardopts"
234
233
  - CHANGELOG.md
235
234
  - CONTRIBUTING.md
File without changes