stellar-base 0.8.0 → 0.9.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: 4cef3f6d9972583a5ceb97a6611cca77c2d01ed1
4
- data.tar.gz: 4c3ebf486791dbeb335d66a4d6714ca37eedf66a
3
+ metadata.gz: 56dbbad8a7ba7b91b79df49f5002eb6d49c05420
4
+ data.tar.gz: 40d09c079eefa934a2b89074768e511fcd56e112
5
5
  SHA512:
6
- metadata.gz: b988d06e8f45b43d9b6454f4762d2e47f0c6669b03d8d4a3d222077620ede8bc022d0682f7f9ab2140e284ff8bdec5ad3822d28c488697895181e37594ef7513
7
- data.tar.gz: 99378da3a90dd973acd51fc692289e2176266b1ad2d1c0b2f1a62b9183c8dc1c8864246b8f46146d1fd49bfdf7a8ad121a217a791c5bdc71723873b6db7e33f4
6
+ metadata.gz: c9e3c18fa70289ea4361605170987f2aee62ae9cb2ea1824f12f9b97237343427e51436523e5a8a56ea1c57153d14d188c45e36b49e2ea715ff5911bf86bfe45
7
+ data.tar.gz: bb265bfba87aa980c82ba40df3b11282ee8d86ae403b17f4762e573a0def806bcdfae37556ddf717ba81e3d97fe8b4aab3fe9ca2608ba2da7ff75f31f103caa6
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- # Changelog
1
+ # Changelog
2
2
 
3
3
  All notable changes to this project will be documented in this
4
4
  file. This project adheres to [Semantic Versioning](http://semver.org/).
@@ -6,11 +6,18 @@ 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.7.0...master)
9
+ ## [unreleased](https://github.com/stellar/ruby-stellar-base/compare/v0.9.0...master)
10
+
11
+ ## [0.9.0](https://github.com/stellar/ruby-stellar-base/compare/v0.8.0...v0.9.0)
12
+
13
+ ### Changed
14
+ - XDR Definitions have been updated to stellar-core commit eed89649c2060b8e9dacffe2cec4e8b258b32416
15
+
16
+ ## [0.8.0](https://github.com/stellar/ruby-stellar-base/compare/v0.7.0...v0.8.0)
10
17
 
11
18
  ### Changed
12
19
  - BREAKING CHANGE: The default network for this library is now the stellar test network.
13
- To enable this library for the production network use `Stellar.default_network = Stellar::Networks::PUBLIC`
20
+ To enable this library for the production network use `Stellar.default_network = Stellar::Networks::PUBLIC`
14
21
  at the head of your script or in your configuration function.
15
22
 
16
23
  ## [0.7.0](https://github.com/stellar/ruby-stellar-base/compare/v0.6.1...v0.7.0)
@@ -109,6 +109,9 @@ module Stellar
109
109
  autoload :TransactionHistoryEntry
110
110
  autoload :TransactionHistoryResultEntry
111
111
  autoload :LedgerHeaderHistoryEntry
112
+ autoload :LedgerSCPMessages
113
+ autoload :SCPHistoryEntryV0
114
+ autoload :SCPHistoryEntry
112
115
  autoload :LedgerEntryChangeType
113
116
  autoload :LedgerEntryChange
114
117
  LedgerEntryChanges = XDR::VarArray[LedgerEntryChange]
@@ -5,18 +5,28 @@ require 'xdr'
5
5
 
6
6
  # === xdr source ============================================================
7
7
  #
8
- # struct AuthenticatedMessage
8
+ # union AuthenticatedMessage switch (uint32 v)
9
+ # {
10
+ # case 0:
11
+ # struct
9
12
  # {
10
13
  # uint64 sequence;
11
14
  # StellarMessage message;
12
15
  # HmacSha256Mac mac;
16
+ # } v0;
13
17
  # };
14
18
  #
15
19
  # ===========================================================================
16
20
  module Stellar
17
- class AuthenticatedMessage < XDR::Struct
18
- attribute :sequence, Uint64
19
- attribute :message, StellarMessage
20
- attribute :mac, HmacSha256Mac
21
+ class AuthenticatedMessage < XDR::Union
22
+ include XDR::Namespace
23
+
24
+ autoload :V0
25
+
26
+ switch_on Uint32, :v
27
+
28
+ switch 0, :v0
29
+
30
+ attribute :v0, V0
21
31
  end
22
32
  end
@@ -0,0 +1,24 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # struct
9
+ # {
10
+ # uint64 sequence;
11
+ # StellarMessage message;
12
+ # HmacSha256Mac mac;
13
+ # }
14
+ #
15
+ # ===========================================================================
16
+ module Stellar
17
+ class AuthenticatedMessage
18
+ class V0 < XDR::Struct
19
+ attribute :sequence, Uint64
20
+ attribute :message, StellarMessage
21
+ attribute :mac, HmacSha256Mac
22
+ end
23
+ end
24
+ end
@@ -7,7 +7,7 @@ require 'xdr'
7
7
  #
8
8
  # struct ClaimOfferAtom
9
9
  # {
10
- # // emited to identify the offer
10
+ # // emitted to identify the offer
11
11
  # AccountID sellerID; // Account that owns the offer
12
12
  # uint64 offerID;
13
13
  #
@@ -9,6 +9,7 @@ require 'xdr'
9
9
  # {
10
10
  # uint32 ledgerVersion;
11
11
  # uint32 overlayVersion;
12
+ # uint32 overlayMinVersion;
12
13
  # Hash networkID;
13
14
  # string versionStr<100>;
14
15
  # int listeningPort;
@@ -20,13 +21,14 @@ require 'xdr'
20
21
  # ===========================================================================
21
22
  module Stellar
22
23
  class Hello < XDR::Struct
23
- attribute :ledger_version, Uint32
24
- attribute :overlay_version, Uint32
25
- attribute :network_id, Hash
26
- attribute :version_str, XDR::String[100]
27
- attribute :listening_port, XDR::Int
28
- attribute :peer_id, NodeID
29
- attribute :cert, AuthCert
30
- attribute :nonce, Uint256
24
+ attribute :ledger_version, Uint32
25
+ attribute :overlay_version, Uint32
26
+ attribute :overlay_min_version, Uint32
27
+ attribute :network_id, Hash
28
+ attribute :version_str, XDR::String[100]
29
+ attribute :listening_port, XDR::Int
30
+ attribute :peer_id, NodeID
31
+ attribute :cert, AuthCert
32
+ attribute :nonce, Uint256
31
33
  end
32
34
  end
@@ -13,6 +13,8 @@ require 'xdr'
13
13
  # LedgerEntry updated;
14
14
  # case LEDGER_ENTRY_REMOVED:
15
15
  # LedgerKey removed;
16
+ # case LEDGER_ENTRY_STATE:
17
+ # LedgerEntry state;
16
18
  # };
17
19
  #
18
20
  # ===========================================================================
@@ -23,9 +25,11 @@ module Stellar
23
25
  switch :ledger_entry_created, :created
24
26
  switch :ledger_entry_updated, :updated
25
27
  switch :ledger_entry_removed, :removed
28
+ switch :ledger_entry_state, :state
26
29
 
27
30
  attribute :created, LedgerEntry
28
31
  attribute :updated, LedgerEntry
29
32
  attribute :removed, LedgerKey
33
+ attribute :state, LedgerEntry
30
34
  end
31
35
  end
@@ -9,7 +9,8 @@ require 'xdr'
9
9
  # {
10
10
  # LEDGER_ENTRY_CREATED = 0, // entry was added to the ledger
11
11
  # LEDGER_ENTRY_UPDATED = 1, // entry was modified in the ledger
12
- # LEDGER_ENTRY_REMOVED = 2 // entry was removed from the ledger
12
+ # LEDGER_ENTRY_REMOVED = 2, // entry was removed from the ledger
13
+ # LEDGER_ENTRY_STATE = 3 // value of the entry
13
14
  # };
14
15
  #
15
16
  # ===========================================================================
@@ -18,6 +19,7 @@ module Stellar
18
19
  member :ledger_entry_created, 0
19
20
  member :ledger_entry_updated, 1
20
21
  member :ledger_entry_removed, 2
22
+ member :ledger_entry_state, 3
21
23
 
22
24
  seal
23
25
  end
@@ -0,0 +1,20 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # struct LedgerSCPMessages
9
+ # {
10
+ # uint32 ledgerSeq;
11
+ # SCPEnvelope messages<>;
12
+ # };
13
+ #
14
+ # ===========================================================================
15
+ module Stellar
16
+ class LedgerSCPMessages < XDR::Struct
17
+ attribute :ledger_seq, Uint32
18
+ attribute :messages, XDR::VarArray[SCPEnvelope]
19
+ end
20
+ end
@@ -8,7 +8,6 @@ require 'xdr'
8
8
  # enum MessageType
9
9
  # {
10
10
  # ERROR_MSG = 0,
11
- # HELLO = 1,
12
11
  # AUTH = 2,
13
12
  # DONT_HAVE = 3,
14
13
  #
@@ -23,14 +22,17 @@ require 'xdr'
23
22
  # // SCP
24
23
  # GET_SCP_QUORUMSET = 9,
25
24
  # SCP_QUORUMSET = 10,
26
- # SCP_MESSAGE = 11
25
+ # SCP_MESSAGE = 11,
26
+ # GET_SCP_STATE = 12,
27
+ #
28
+ # // new messages
29
+ # HELLO = 13
27
30
  # };
28
31
  #
29
32
  # ===========================================================================
30
33
  module Stellar
31
34
  class MessageType < XDR::Enum
32
35
  member :error_msg, 0
33
- member :hello, 1
34
36
  member :auth, 2
35
37
  member :dont_have, 3
36
38
  member :get_peers, 4
@@ -41,6 +43,8 @@ module Stellar
41
43
  member :get_scp_quorumset, 9
42
44
  member :scp_quorumset, 10
43
45
  member :scp_message, 11
46
+ member :get_scp_state, 12
47
+ member :hello, 13
44
48
 
45
49
  seal
46
50
  end
@@ -13,7 +13,8 @@ require 'xdr'
13
13
  # opaque ipv4[4];
14
14
  # case IPv6:
15
15
  # opaque ipv6[16];
16
- # } ip;
16
+ # }
17
+ # ip;
17
18
  # uint32 port;
18
19
  # uint32 numFailures;
19
20
  # };
@@ -0,0 +1,23 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # union SCPHistoryEntry switch (int v)
9
+ # {
10
+ # case 0:
11
+ # SCPHistoryEntryV0 v0;
12
+ # };
13
+ #
14
+ # ===========================================================================
15
+ module Stellar
16
+ class SCPHistoryEntry < XDR::Union
17
+ switch_on XDR::Int, :v
18
+
19
+ switch 0, :v0
20
+
21
+ attribute :v0, SCPHistoryEntryV0
22
+ end
23
+ end
@@ -0,0 +1,20 @@
1
+ # This code was automatically generated using xdrgen
2
+ # DO NOT EDIT or your changes may be overwritten
3
+
4
+ require 'xdr'
5
+
6
+ # === xdr source ============================================================
7
+ #
8
+ # struct SCPHistoryEntryV0
9
+ # {
10
+ # SCPQuorumSet quorumSets<>; // additional quorum sets used by ledgerMessages
11
+ # LedgerSCPMessages ledgerMessages;
12
+ # };
13
+ #
14
+ # ===========================================================================
15
+ module Stellar
16
+ class SCPHistoryEntryV0 < XDR::Struct
17
+ attribute :quorum_sets, XDR::VarArray[SCPQuorumSet]
18
+ attribute :ledger_messages, LedgerSCPMessages
19
+ end
20
+ end
@@ -19,24 +19,23 @@ require 'xdr'
19
19
  # SCPBallot ballot; // b
20
20
  # SCPBallot* prepared; // p
21
21
  # SCPBallot* preparedPrime; // p'
22
- # uint32 nC; // n_c
23
- # uint32 nP; // n_P
22
+ # uint32 nC; // c.n
23
+ # uint32 nH; // h.n
24
24
  # } prepare;
25
25
  # case SCP_ST_CONFIRM:
26
26
  # struct
27
27
  # {
28
+ # SCPBallot ballot; // b
29
+ # uint32 nPrepared; // p.n
30
+ # uint32 nCommit; // c.n
31
+ # uint32 nH; // h.n
28
32
  # Hash quorumSetHash; // D
29
- # uint32 nPrepared; // n_p
30
- # SCPBallot commit; // c
31
- # uint32 nP; // n_P
32
33
  # } confirm;
33
34
  # case SCP_ST_EXTERNALIZE:
34
35
  # struct
35
36
  # {
36
- # SCPBallot commit; // c
37
- # uint32 nP; // n_P
38
- # // not from the paper, but useful to build tooling to
39
- # // traverse the graph based off only the latest statement
37
+ # SCPBallot commit; // c
38
+ # uint32 nH; // h.n
40
39
  # Hash commitQuorumSetHash; // D used before EXTERNALIZE
41
40
  # } externalize;
42
41
  # case SCP_ST_NOMINATE:
@@ -14,24 +14,23 @@ require 'xdr'
14
14
  # SCPBallot ballot; // b
15
15
  # SCPBallot* prepared; // p
16
16
  # SCPBallot* preparedPrime; // p'
17
- # uint32 nC; // n_c
18
- # uint32 nP; // n_P
17
+ # uint32 nC; // c.n
18
+ # uint32 nH; // h.n
19
19
  # } prepare;
20
20
  # case SCP_ST_CONFIRM:
21
21
  # struct
22
22
  # {
23
+ # SCPBallot ballot; // b
24
+ # uint32 nPrepared; // p.n
25
+ # uint32 nCommit; // c.n
26
+ # uint32 nH; // h.n
23
27
  # Hash quorumSetHash; // D
24
- # uint32 nPrepared; // n_p
25
- # SCPBallot commit; // c
26
- # uint32 nP; // n_P
27
28
  # } confirm;
28
29
  # case SCP_ST_EXTERNALIZE:
29
30
  # struct
30
31
  # {
31
- # SCPBallot commit; // c
32
- # uint32 nP; // n_P
33
- # // not from the paper, but useful to build tooling to
34
- # // traverse the graph based off only the latest statement
32
+ # SCPBallot commit; // c
33
+ # uint32 nH; // h.n
35
34
  # Hash commitQuorumSetHash; // D used before EXTERNALIZE
36
35
  # } externalize;
37
36
  # case SCP_ST_NOMINATE:
@@ -7,10 +7,11 @@ require 'xdr'
7
7
  #
8
8
  # struct
9
9
  # {
10
+ # SCPBallot ballot; // b
11
+ # uint32 nPrepared; // p.n
12
+ # uint32 nCommit; // c.n
13
+ # uint32 nH; // h.n
10
14
  # Hash quorumSetHash; // D
11
- # uint32 nPrepared; // n_p
12
- # SCPBallot commit; // c
13
- # uint32 nP; // n_P
14
15
  # }
15
16
  #
16
17
  # ===========================================================================
@@ -18,10 +19,11 @@ module Stellar
18
19
  class SCPStatement
19
20
  class Pledges
20
21
  class Confirm < XDR::Struct
21
- attribute :quorum_set_hash, Hash
22
+ attribute :ballot, SCPBallot
22
23
  attribute :n_prepared, Uint32
23
- attribute :commit, SCPBallot
24
- attribute :n_p, Uint32
24
+ attribute :n_commit, Uint32
25
+ attribute :n_h, Uint32
26
+ attribute :quorum_set_hash, Hash
25
27
  end
26
28
  end
27
29
  end
@@ -7,10 +7,8 @@ require 'xdr'
7
7
  #
8
8
  # struct
9
9
  # {
10
- # SCPBallot commit; // c
11
- # uint32 nP; // n_P
12
- # // not from the paper, but useful to build tooling to
13
- # // traverse the graph based off only the latest statement
10
+ # SCPBallot commit; // c
11
+ # uint32 nH; // h.n
14
12
  # Hash commitQuorumSetHash; // D used before EXTERNALIZE
15
13
  # }
16
14
  #
@@ -20,7 +18,7 @@ module Stellar
20
18
  class Pledges
21
19
  class Externalize < XDR::Struct
22
20
  attribute :commit, SCPBallot
23
- attribute :n_p, Uint32
21
+ attribute :n_h, Uint32
24
22
  attribute :commit_quorum_set_hash, Hash
25
23
  end
26
24
  end
@@ -11,8 +11,8 @@ require 'xdr'
11
11
  # SCPBallot ballot; // b
12
12
  # SCPBallot* prepared; // p
13
13
  # SCPBallot* preparedPrime; // p'
14
- # uint32 nC; // n_c
15
- # uint32 nP; // n_P
14
+ # uint32 nC; // c.n
15
+ # uint32 nH; // h.n
16
16
  # }
17
17
  #
18
18
  # ===========================================================================
@@ -25,7 +25,7 @@ module Stellar
25
25
  attribute :prepared, XDR::Option[SCPBallot]
26
26
  attribute :prepared_prime, XDR::Option[SCPBallot]
27
27
  attribute :n_c, Uint32
28
- attribute :n_p, Uint32
28
+ attribute :n_h, Uint32
29
29
  end
30
30
  end
31
31
  end
@@ -35,6 +35,8 @@ require 'xdr'
35
35
  # SCPQuorumSet qSet;
36
36
  # case SCP_MESSAGE:
37
37
  # SCPEnvelope envelope;
38
+ # case GET_SCP_STATE:
39
+ # uint32 getSCPLedgerSeq; // ledger seq requested ; if 0, requests the latest
38
40
  # };
39
41
  #
40
42
  # ===========================================================================
@@ -54,17 +56,19 @@ module Stellar
54
56
  switch :get_scp_quorumset, :q_set_hash
55
57
  switch :scp_quorumset, :q_set
56
58
  switch :scp_message, :envelope
59
+ switch :get_scp_state, :get_scp_ledger_seq
57
60
 
58
- attribute :error, Error
59
- attribute :hello, Hello
60
- attribute :auth, Auth
61
- attribute :dont_have, DontHave
62
- attribute :peers, XDR::VarArray[PeerAddress]
63
- attribute :tx_set_hash, Uint256
64
- attribute :tx_set, TransactionSet
65
- attribute :transaction, TransactionEnvelope
66
- attribute :q_set_hash, Uint256
67
- attribute :q_set, SCPQuorumSet
68
- attribute :envelope, SCPEnvelope
61
+ attribute :error, Error
62
+ attribute :hello, Hello
63
+ attribute :auth, Auth
64
+ attribute :dont_have, DontHave
65
+ attribute :peers, XDR::VarArray[PeerAddress]
66
+ attribute :tx_set_hash, Uint256
67
+ attribute :tx_set, TransactionSet
68
+ attribute :transaction, TransactionEnvelope
69
+ attribute :q_set_hash, Uint256
70
+ attribute :q_set, SCPQuorumSet
71
+ attribute :envelope, SCPEnvelope
72
+ attribute :get_scp_ledger_seq, Uint32
69
73
  end
70
74
  end
@@ -1,5 +1,5 @@
1
1
  module Stellar
2
2
  module Base
3
- VERSION = "0.8.0"
3
+ VERSION = "0.9.0"
4
4
  end
5
5
  end
data/xdr/Stellar-SCP.x CHANGED
@@ -44,24 +44,23 @@ struct SCPStatement
44
44
  SCPBallot ballot; // b
45
45
  SCPBallot* prepared; // p
46
46
  SCPBallot* preparedPrime; // p'
47
- uint32 nC; // n_c
48
- uint32 nP; // n_P
47
+ uint32 nC; // c.n
48
+ uint32 nH; // h.n
49
49
  } prepare;
50
50
  case SCP_ST_CONFIRM:
51
51
  struct
52
52
  {
53
+ SCPBallot ballot; // b
54
+ uint32 nPrepared; // p.n
55
+ uint32 nCommit; // c.n
56
+ uint32 nH; // h.n
53
57
  Hash quorumSetHash; // D
54
- uint32 nPrepared; // n_p
55
- SCPBallot commit; // c
56
- uint32 nP; // n_P
57
58
  } confirm;
58
59
  case SCP_ST_EXTERNALIZE:
59
60
  struct
60
61
  {
61
- SCPBallot commit; // c
62
- uint32 nP; // n_P
63
- // not from the paper, but useful to build tooling to
64
- // traverse the graph based off only the latest statement
62
+ SCPBallot commit; // c
63
+ uint32 nH; // h.n
65
64
  Hash commitQuorumSetHash; // D used before EXTERNALIZE
66
65
  } externalize;
67
66
  case SCP_ST_NOMINATE:
data/xdr/Stellar-ledger.x CHANGED
@@ -200,13 +200,40 @@ struct LedgerHeaderHistoryEntry
200
200
  ext;
201
201
  };
202
202
 
203
+ // historical SCP messages
204
+
205
+ struct LedgerSCPMessages
206
+ {
207
+ uint32 ledgerSeq;
208
+ SCPEnvelope messages<>;
209
+ };
210
+
211
+ // note: ledgerMessages may refer to any quorumSets encountered
212
+ // in the file so far, not just the one from this entry
213
+ struct SCPHistoryEntryV0
214
+ {
215
+ SCPQuorumSet quorumSets<>; // additional quorum sets used by ledgerMessages
216
+ LedgerSCPMessages ledgerMessages;
217
+ };
218
+
219
+ // SCP history file is an array of these
220
+ union SCPHistoryEntry switch (int v)
221
+ {
222
+ case 0:
223
+ SCPHistoryEntryV0 v0;
224
+ };
225
+
203
226
  // represents the meta in the transaction table history
204
227
 
228
+ // STATE is emitted every time a ledger entry is modified/deleted
229
+ // and the entry was not already modified in the current ledger
230
+
205
231
  enum LedgerEntryChangeType
206
232
  {
207
233
  LEDGER_ENTRY_CREATED = 0, // entry was added to the ledger
208
234
  LEDGER_ENTRY_UPDATED = 1, // entry was modified in the ledger
209
- LEDGER_ENTRY_REMOVED = 2 // entry was removed from the ledger
235
+ LEDGER_ENTRY_REMOVED = 2, // entry was removed from the ledger
236
+ LEDGER_ENTRY_STATE = 3 // value of the entry
210
237
  };
211
238
 
212
239
  union LedgerEntryChange switch (LedgerEntryChangeType type)
@@ -217,6 +244,8 @@ case LEDGER_ENTRY_UPDATED:
217
244
  LedgerEntry updated;
218
245
  case LEDGER_ENTRY_REMOVED:
219
246
  LedgerKey removed;
247
+ case LEDGER_ENTRY_STATE:
248
+ LedgerEntry state;
220
249
  };
221
250
 
222
251
  typedef LedgerEntryChange LedgerEntryChanges<>;
@@ -33,6 +33,7 @@ struct Hello
33
33
  {
34
34
  uint32 ledgerVersion;
35
35
  uint32 overlayVersion;
36
+ uint32 overlayMinVersion;
36
37
  Hash networkID;
37
38
  string versionStr<100>;
38
39
  int listeningPort;
@@ -62,7 +63,8 @@ struct PeerAddress
62
63
  opaque ipv4[4];
63
64
  case IPv6:
64
65
  opaque ipv6[16];
65
- } ip;
66
+ }
67
+ ip;
66
68
  uint32 port;
67
69
  uint32 numFailures;
68
70
  };
@@ -70,7 +72,6 @@ struct PeerAddress
70
72
  enum MessageType
71
73
  {
72
74
  ERROR_MSG = 0,
73
- HELLO = 1,
74
75
  AUTH = 2,
75
76
  DONT_HAVE = 3,
76
77
 
@@ -85,7 +86,11 @@ enum MessageType
85
86
  // SCP
86
87
  GET_SCP_QUORUMSET = 9,
87
88
  SCP_QUORUMSET = 10,
88
- SCP_MESSAGE = 11
89
+ SCP_MESSAGE = 11,
90
+ GET_SCP_STATE = 12,
91
+
92
+ // new messages
93
+ HELLO = 13
89
94
  };
90
95
 
91
96
  struct DontHave
@@ -124,13 +129,18 @@ case SCP_QUORUMSET:
124
129
  SCPQuorumSet qSet;
125
130
  case SCP_MESSAGE:
126
131
  SCPEnvelope envelope;
132
+ case GET_SCP_STATE:
133
+ uint32 getSCPLedgerSeq; // ledger seq requested ; if 0, requests the latest
127
134
  };
128
135
 
129
- struct AuthenticatedMessage
136
+ union AuthenticatedMessage switch (uint32 v)
137
+ {
138
+ case 0:
139
+ struct
130
140
  {
131
141
  uint64 sequence;
132
142
  StellarMessage message;
133
143
  HmacSha256Mac mac;
144
+ } v0;
134
145
  };
135
-
136
146
  }
@@ -315,7 +315,7 @@ struct TransactionEnvelope
315
315
  /* This result is used when offers are taken during an operation */
316
316
  struct ClaimOfferAtom
317
317
  {
318
- // emited to identify the offer
318
+ // emitted to identify the offer
319
319
  AccountID sellerID; // Account that owns the offer
320
320
  uint64 offerID;
321
321
 
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.8.0
4
+ version: 0.9.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: 2015-11-20 00:00:00.000000000 Z
11
+ date: 2015-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xdr
@@ -260,6 +260,7 @@ files:
260
260
  - generated/stellar/auth.rb
261
261
  - generated/stellar/auth_cert.rb
262
262
  - generated/stellar/authenticated_message.rb
263
+ - generated/stellar/authenticated_message/v0.rb
263
264
  - generated/stellar/bucket_entry.rb
264
265
  - generated/stellar/bucket_entry_type.rb
265
266
  - generated/stellar/change_trust_op.rb
@@ -299,6 +300,7 @@ files:
299
300
  - generated/stellar/ledger_key/account.rb
300
301
  - generated/stellar/ledger_key/offer.rb
301
302
  - generated/stellar/ledger_key/trust_line.rb
303
+ - generated/stellar/ledger_scp_messages.rb
302
304
  - generated/stellar/ledger_upgrade.rb
303
305
  - generated/stellar/ledger_upgrade_type.rb
304
306
  - generated/stellar/manage_offer_effect.rb
@@ -333,6 +335,8 @@ files:
333
335
  - generated/stellar/public_key.rb
334
336
  - generated/stellar/scp_ballot.rb
335
337
  - generated/stellar/scp_envelope.rb
338
+ - generated/stellar/scp_history_entry.rb
339
+ - generated/stellar/scp_history_entry_v0.rb
336
340
  - generated/stellar/scp_nomination.rb
337
341
  - generated/stellar/scp_quorum_set.rb
338
342
  - generated/stellar/scp_statement.rb