stellar-base 0.21.0 → 0.22.0
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 +4 -4
- data/CHANGELOG.md +10 -2
- data/Gemfile +0 -6
- data/README.md +1 -1
- data/generated/stellar-base-generated.rb +15 -0
- data/generated/stellar/ledger_close_meta.rb +23 -0
- data/generated/stellar/ledger_close_meta_v0.rb +35 -0
- data/generated/stellar/message_type.rb +6 -1
- data/generated/stellar/peer_stats.rb +48 -0
- data/generated/stellar/signed_survey_request_message.rb +20 -0
- data/generated/stellar/signed_survey_response_message.rb +20 -0
- data/generated/stellar/stellar_message.rb +22 -12
- data/generated/stellar/survey_message_command_type.rb +20 -0
- data/generated/stellar/survey_request_message.rb +26 -0
- data/generated/stellar/survey_response_body.rb +23 -0
- data/generated/stellar/survey_response_message.rb +26 -0
- data/generated/stellar/topology_response_body.rb +25 -0
- data/generated/stellar/transaction_meta.rb +4 -0
- data/generated/stellar/transaction_meta_v2.rb +24 -0
- data/generated/stellar/transaction_result_meta.rb +22 -0
- data/generated/stellar/upgrade_entry_meta.rb +20 -0
- data/lib/stellar-base.rb +1 -0
- data/lib/stellar/base/version.rb +1 -1
- data/lib/stellar/operation.rb +55 -26
- data/lib/stellar/transaction.rb +11 -0
- data/lib/stellar/transaction_builder.rb +106 -0
- data/ruby-stellar-base.gemspec +1 -1
- data/spec/lib/stellar/operation_spec.rb +7 -9
- data/spec/lib/stellar/transaction_builder_spec.rb +263 -0
- data/xdr/Stellar-ledger.x +54 -0
- data/xdr/Stellar-overlay.x +84 -1
- metadata +20 -5
data/xdr/Stellar-ledger.x
CHANGED
@@ -306,6 +306,15 @@ struct TransactionMetaV1
|
|
306
306
|
OperationMeta operations<>; // meta for each operation
|
307
307
|
};
|
308
308
|
|
309
|
+
struct TransactionMetaV2
|
310
|
+
{
|
311
|
+
LedgerEntryChanges txChangesBefore; // tx level changes before operations
|
312
|
+
// are applied if any
|
313
|
+
OperationMeta operations<>; // meta for each operation
|
314
|
+
LedgerEntryChanges txChangesAfter; // tx level changes after operations are
|
315
|
+
// applied if any
|
316
|
+
};
|
317
|
+
|
309
318
|
// this is the meta produced when applying transactions
|
310
319
|
// it does not include pre-apply updates such as fees
|
311
320
|
union TransactionMeta switch (int v)
|
@@ -314,5 +323,50 @@ case 0:
|
|
314
323
|
OperationMeta operations<>;
|
315
324
|
case 1:
|
316
325
|
TransactionMetaV1 v1;
|
326
|
+
case 2:
|
327
|
+
TransactionMetaV2 v2;
|
328
|
+
};
|
329
|
+
|
330
|
+
// This struct groups together changes on a per transaction basis
|
331
|
+
// note however that fees and transaction application are done in separate
|
332
|
+
// phases
|
333
|
+
struct TransactionResultMeta
|
334
|
+
{
|
335
|
+
TransactionResultPair result;
|
336
|
+
LedgerEntryChanges feeProcessing;
|
337
|
+
TransactionMeta txApplyProcessing;
|
338
|
+
};
|
339
|
+
|
340
|
+
// this represents a single upgrade that was performed as part of a ledger
|
341
|
+
// upgrade
|
342
|
+
struct UpgradeEntryMeta
|
343
|
+
{
|
344
|
+
LedgerUpgrade upgrade;
|
345
|
+
LedgerEntryChanges changes;
|
346
|
+
};
|
347
|
+
|
348
|
+
struct LedgerCloseMetaV0
|
349
|
+
{
|
350
|
+
LedgerHeaderHistoryEntry ledgerHeader;
|
351
|
+
// NB: txSet is sorted in "Hash order"
|
352
|
+
TransactionSet txSet;
|
353
|
+
|
354
|
+
// NB: transactions are sorted in apply order here
|
355
|
+
// fees for all transactions are processed first
|
356
|
+
// followed by applying transactions
|
357
|
+
TransactionResultMeta txProcessing<>;
|
358
|
+
|
359
|
+
// upgrades are applied last
|
360
|
+
UpgradeEntryMeta upgradesProcessing<>;
|
361
|
+
|
362
|
+
// other misc information attached to the ledger close
|
363
|
+
SCPHistoryEntry scpInfo<>;
|
317
364
|
};
|
365
|
+
|
366
|
+
union LedgerCloseMeta switch (int v)
|
367
|
+
{
|
368
|
+
case 0:
|
369
|
+
LedgerCloseMetaV0 v0;
|
370
|
+
};
|
371
|
+
|
318
372
|
}
|
data/xdr/Stellar-overlay.x
CHANGED
@@ -90,7 +90,10 @@ enum MessageType
|
|
90
90
|
GET_SCP_STATE = 12,
|
91
91
|
|
92
92
|
// new messages
|
93
|
-
HELLO = 13
|
93
|
+
HELLO = 13,
|
94
|
+
|
95
|
+
SURVEY_REQUEST = 14,
|
96
|
+
SURVEY_RESPONSE = 15
|
94
97
|
};
|
95
98
|
|
96
99
|
struct DontHave
|
@@ -99,6 +102,80 @@ struct DontHave
|
|
99
102
|
uint256 reqHash;
|
100
103
|
};
|
101
104
|
|
105
|
+
enum SurveyMessageCommandType
|
106
|
+
{
|
107
|
+
SURVEY_TOPOLOGY = 0
|
108
|
+
};
|
109
|
+
|
110
|
+
struct SurveyRequestMessage
|
111
|
+
{
|
112
|
+
NodeID surveyorPeerID;
|
113
|
+
NodeID surveyedPeerID;
|
114
|
+
uint32 ledgerNum;
|
115
|
+
Curve25519Public encryptionKey;
|
116
|
+
SurveyMessageCommandType commandType;
|
117
|
+
};
|
118
|
+
|
119
|
+
struct SignedSurveyRequestMessage
|
120
|
+
{
|
121
|
+
Signature requestSignature;
|
122
|
+
SurveyRequestMessage request;
|
123
|
+
};
|
124
|
+
|
125
|
+
typedef opaque EncryptedBody<64000>;
|
126
|
+
struct SurveyResponseMessage
|
127
|
+
{
|
128
|
+
NodeID surveyorPeerID;
|
129
|
+
NodeID surveyedPeerID;
|
130
|
+
uint32 ledgerNum;
|
131
|
+
SurveyMessageCommandType commandType;
|
132
|
+
EncryptedBody encryptedBody;
|
133
|
+
};
|
134
|
+
|
135
|
+
struct SignedSurveyResponseMessage
|
136
|
+
{
|
137
|
+
Signature responseSignature;
|
138
|
+
SurveyResponseMessage response;
|
139
|
+
};
|
140
|
+
|
141
|
+
struct PeerStats
|
142
|
+
{
|
143
|
+
NodeID id;
|
144
|
+
string versionStr<100>;
|
145
|
+
uint64 messagesRead;
|
146
|
+
uint64 messagesWritten;
|
147
|
+
uint64 bytesRead;
|
148
|
+
uint64 bytesWritten;
|
149
|
+
uint64 secondsConnected;
|
150
|
+
|
151
|
+
uint64 uniqueFloodBytesRecv;
|
152
|
+
uint64 duplicateFloodBytesRecv;
|
153
|
+
uint64 uniqueFetchBytesRecv;
|
154
|
+
uint64 duplicateFetchBytesRecv;
|
155
|
+
|
156
|
+
uint64 uniqueFloodMessageRecv;
|
157
|
+
uint64 duplicateFloodMessageRecv;
|
158
|
+
uint64 uniqueFetchMessageRecv;
|
159
|
+
uint64 duplicateFetchMessageRecv;
|
160
|
+
};
|
161
|
+
|
162
|
+
typedef PeerStats PeerStatList<25>;
|
163
|
+
|
164
|
+
struct TopologyResponseBody
|
165
|
+
{
|
166
|
+
PeerStatList inboundPeers;
|
167
|
+
PeerStatList outboundPeers;
|
168
|
+
|
169
|
+
uint32 totalInboundPeerCount;
|
170
|
+
uint32 totalOutboundPeerCount;
|
171
|
+
};
|
172
|
+
|
173
|
+
union SurveyResponseBody switch (SurveyMessageCommandType type)
|
174
|
+
{
|
175
|
+
case SURVEY_TOPOLOGY:
|
176
|
+
TopologyResponseBody topologyResponseBody;
|
177
|
+
};
|
178
|
+
|
102
179
|
union StellarMessage switch (MessageType type)
|
103
180
|
{
|
104
181
|
case ERROR_MSG:
|
@@ -122,6 +199,12 @@ case TX_SET:
|
|
122
199
|
case TRANSACTION:
|
123
200
|
TransactionEnvelope transaction;
|
124
201
|
|
202
|
+
case SURVEY_REQUEST:
|
203
|
+
SignedSurveyRequestMessage signedSurveyRequestMessage;
|
204
|
+
|
205
|
+
case SURVEY_RESPONSE:
|
206
|
+
SignedSurveyResponseMessage signedSurveyResponseMessage;
|
207
|
+
|
125
208
|
// SCP
|
126
209
|
case GET_SCP_QUORUMSET:
|
127
210
|
uint256 qSetHash;
|
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.
|
4
|
+
version: 0.22.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:
|
11
|
+
date: 2020-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xdr
|
@@ -282,6 +282,8 @@ files:
|
|
282
282
|
- generated/stellar/inflation_result.rb
|
283
283
|
- generated/stellar/inflation_result_code.rb
|
284
284
|
- generated/stellar/ip_addr_type.rb
|
285
|
+
- generated/stellar/ledger_close_meta.rb
|
286
|
+
- generated/stellar/ledger_close_meta_v0.rb
|
285
287
|
- generated/stellar/ledger_close_value_signature.rb
|
286
288
|
- generated/stellar/ledger_entry.rb
|
287
289
|
- generated/stellar/ledger_entry/data.rb
|
@@ -340,6 +342,7 @@ files:
|
|
340
342
|
- generated/stellar/payment_result_code.rb
|
341
343
|
- generated/stellar/peer_address.rb
|
342
344
|
- generated/stellar/peer_address/ip.rb
|
345
|
+
- generated/stellar/peer_stats.rb
|
343
346
|
- generated/stellar/price.rb
|
344
347
|
- generated/stellar/public_key.rb
|
345
348
|
- generated/stellar/public_key_type.rb
|
@@ -358,6 +361,8 @@ files:
|
|
358
361
|
- generated/stellar/set_options_op.rb
|
359
362
|
- generated/stellar/set_options_result.rb
|
360
363
|
- generated/stellar/set_options_result_code.rb
|
364
|
+
- generated/stellar/signed_survey_request_message.rb
|
365
|
+
- generated/stellar/signed_survey_response_message.rb
|
361
366
|
- generated/stellar/signer.rb
|
362
367
|
- generated/stellar/signer_key.rb
|
363
368
|
- generated/stellar/signer_key_type.rb
|
@@ -366,8 +371,13 @@ files:
|
|
366
371
|
- generated/stellar/stellar_value.rb
|
367
372
|
- generated/stellar/stellar_value/ext.rb
|
368
373
|
- generated/stellar/stellar_value_type.rb
|
374
|
+
- generated/stellar/survey_message_command_type.rb
|
375
|
+
- generated/stellar/survey_request_message.rb
|
376
|
+
- generated/stellar/survey_response_body.rb
|
377
|
+
- generated/stellar/survey_response_message.rb
|
369
378
|
- generated/stellar/threshold_indexes.rb
|
370
379
|
- generated/stellar/time_bounds.rb
|
380
|
+
- generated/stellar/topology_response_body.rb
|
371
381
|
- generated/stellar/transaction.rb
|
372
382
|
- generated/stellar/transaction/ext.rb
|
373
383
|
- generated/stellar/transaction_envelope.rb
|
@@ -377,10 +387,12 @@ files:
|
|
377
387
|
- generated/stellar/transaction_history_result_entry/ext.rb
|
378
388
|
- generated/stellar/transaction_meta.rb
|
379
389
|
- generated/stellar/transaction_meta_v1.rb
|
390
|
+
- generated/stellar/transaction_meta_v2.rb
|
380
391
|
- generated/stellar/transaction_result.rb
|
381
392
|
- generated/stellar/transaction_result/ext.rb
|
382
393
|
- generated/stellar/transaction_result/result.rb
|
383
394
|
- generated/stellar/transaction_result_code.rb
|
395
|
+
- generated/stellar/transaction_result_meta.rb
|
384
396
|
- generated/stellar/transaction_result_pair.rb
|
385
397
|
- generated/stellar/transaction_result_set.rb
|
386
398
|
- generated/stellar/transaction_set.rb
|
@@ -391,6 +403,7 @@ files:
|
|
391
403
|
- generated/stellar/trust_line_entry/ext/v1.rb
|
392
404
|
- generated/stellar/trust_line_entry/ext/v1/ext.rb
|
393
405
|
- generated/stellar/trust_line_flags.rb
|
406
|
+
- generated/stellar/upgrade_entry_meta.rb
|
394
407
|
- lib/stellar-base.rb
|
395
408
|
- lib/stellar/account_flags.rb
|
396
409
|
- lib/stellar/asset.rb
|
@@ -407,6 +420,7 @@ files:
|
|
407
420
|
- lib/stellar/signer_key.rb
|
408
421
|
- lib/stellar/thresholds.rb
|
409
422
|
- lib/stellar/transaction.rb
|
423
|
+
- lib/stellar/transaction_builder.rb
|
410
424
|
- lib/stellar/transaction_envelope.rb
|
411
425
|
- lib/stellar/util/continued_fraction.rb
|
412
426
|
- lib/stellar/util/strkey.rb
|
@@ -421,6 +435,7 @@ files:
|
|
421
435
|
- spec/lib/stellar/price_spec.rb
|
422
436
|
- spec/lib/stellar/signer_key_spec.rb
|
423
437
|
- spec/lib/stellar/thresholds_spec.rb
|
438
|
+
- spec/lib/stellar/transaction_builder_spec.rb
|
424
439
|
- spec/lib/stellar/transaction_envelope_spec.rb
|
425
440
|
- spec/lib/stellar/transaction_spec.rb
|
426
441
|
- spec/lib/stellar/util/strkey_spec.rb
|
@@ -437,7 +452,7 @@ files:
|
|
437
452
|
- xdr/Stellar-overlay.x
|
438
453
|
- xdr/Stellar-transaction.x
|
439
454
|
- xdr/Stellar-types.x
|
440
|
-
homepage: https://github.com/
|
455
|
+
homepage: https://github.com/stellar/ruby-stellar-base
|
441
456
|
licenses:
|
442
457
|
- Apache 2.0
|
443
458
|
metadata: {}
|
@@ -457,8 +472,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
457
472
|
- !ruby/object:Gem::Version
|
458
473
|
version: '0'
|
459
474
|
requirements: []
|
460
|
-
|
461
|
-
rubygems_version: 2.7.9
|
475
|
+
rubygems_version: 3.0.3
|
462
476
|
signing_key:
|
463
477
|
specification_version: 4
|
464
478
|
summary: 'Stellar client library: XDR'
|
@@ -473,6 +487,7 @@ test_files:
|
|
473
487
|
- spec/lib/stellar/price_spec.rb
|
474
488
|
- spec/lib/stellar/signer_key_spec.rb
|
475
489
|
- spec/lib/stellar/thresholds_spec.rb
|
490
|
+
- spec/lib/stellar/transaction_builder_spec.rb
|
476
491
|
- spec/lib/stellar/transaction_envelope_spec.rb
|
477
492
|
- spec/lib/stellar/transaction_spec.rb
|
478
493
|
- spec/lib/stellar/util/strkey_spec.rb
|