stellar-base 0.19.0 → 0.20.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/.travis.yml +9 -6
- data/CHANGELOG.md +17 -2
- data/examples/allow_trust.rb +51 -0
- data/generated/stellar-base-generated.rb +14 -4
- data/generated/stellar/allow_trust_op.rb +2 -2
- data/generated/stellar/allow_trust_op/asset.rb +4 -4
- data/generated/stellar/asset.rb +2 -2
- data/generated/stellar/asset/alpha_num12.rb +2 -2
- data/generated/stellar/asset/alpha_num4.rb +2 -2
- data/generated/stellar/bucket_entry.rb +6 -0
- data/generated/stellar/bucket_entry_type.rb +8 -2
- data/generated/stellar/bucket_metadata.rb +32 -0
- data/generated/stellar/bucket_metadata/ext.rb +24 -0
- data/generated/stellar/change_trust_result_code.rb +1 -1
- data/generated/stellar/claim_offer_atom.rb +2 -2
- data/generated/stellar/{create_passive_offer_op.rb → create_passive_sell_offer_op.rb} +2 -2
- data/generated/stellar/envelope_type.rb +6 -4
- data/generated/stellar/ledger_close_value_signature.rb +20 -0
- data/generated/stellar/ledger_key.rb +1 -1
- data/generated/stellar/ledger_key/offer.rb +2 -2
- data/generated/stellar/manage_buy_offer_op.rb +29 -0
- data/generated/stellar/{manage_offer_result.rb → manage_buy_offer_result.rb} +5 -5
- data/generated/stellar/manage_buy_offer_result_code.rb +50 -0
- data/generated/stellar/{manage_offer_op.rb → manage_sell_offer_op.rb} +4 -4
- data/generated/stellar/manage_sell_offer_result.rb +26 -0
- data/generated/stellar/manage_sell_offer_result_code.rb +50 -0
- data/generated/stellar/offer_entry.rb +2 -2
- data/generated/stellar/operation.rb +6 -4
- data/generated/stellar/operation/body.rb +30 -26
- data/generated/stellar/operation_result.rb +6 -4
- data/generated/stellar/operation_result/tr.rb +32 -28
- data/generated/stellar/operation_result_code.rb +9 -5
- data/generated/stellar/operation_type.rb +17 -15
- data/generated/stellar/signer.rb +1 -1
- data/generated/stellar/stellar_value.rb +7 -5
- data/generated/stellar/stellar_value/ext.rb +8 -4
- data/generated/stellar/stellar_value_type.rb +22 -0
- data/generated/stellar/time_bounds.rb +4 -4
- data/generated/stellar/transaction.rb +2 -2
- data/generated/stellar/transaction_meta_v1.rb +1 -1
- data/lib/stellar-base.rb +2 -0
- data/lib/stellar/base/compat.rb +22 -0
- data/lib/stellar/base/version.rb +1 -1
- data/lib/stellar/operation.rb +27 -7
- data/lib/stellar/transaction.rb +12 -6
- data/spec/lib/stellar/price_spec.rb +3 -3
- data/tasks/xdr.rake +34 -39
- data/xdr/Stellar-ledger-entries.x +13 -6
- data/xdr/Stellar-ledger.x +45 -10
- data/xdr/Stellar-transaction.x +103 -46
- metadata +16 -7
- data/generated/stellar/manage_offer_result_code.rb +0 -50
@@ -12,8 +12,15 @@ typedef opaque Thresholds[4];
|
|
12
12
|
typedef string string32<32>;
|
13
13
|
typedef string string64<64>;
|
14
14
|
typedef int64 SequenceNumber;
|
15
|
+
typedef uint64 TimePoint;
|
15
16
|
typedef opaque DataValue<64>;
|
16
17
|
|
18
|
+
// 1-4 alphanumeric characters right-padded with 0 bytes
|
19
|
+
typedef opaque AssetCode4[4];
|
20
|
+
|
21
|
+
// 5-12 alphanumeric characters right-padded with 0 bytes
|
22
|
+
typedef opaque AssetCode12[12];
|
23
|
+
|
17
24
|
enum AssetType
|
18
25
|
{
|
19
26
|
ASSET_TYPE_NATIVE = 0,
|
@@ -29,14 +36,14 @@ case ASSET_TYPE_NATIVE: // Not credit
|
|
29
36
|
case ASSET_TYPE_CREDIT_ALPHANUM4:
|
30
37
|
struct
|
31
38
|
{
|
32
|
-
|
39
|
+
AssetCode4 assetCode;
|
33
40
|
AccountID issuer;
|
34
41
|
} alphaNum4;
|
35
42
|
|
36
43
|
case ASSET_TYPE_CREDIT_ALPHANUM12:
|
37
44
|
struct
|
38
45
|
{
|
39
|
-
|
46
|
+
AssetCode12 assetCode;
|
40
47
|
AccountID issuer;
|
41
48
|
} alphaNum12;
|
42
49
|
|
@@ -77,7 +84,7 @@ enum LedgerEntryType
|
|
77
84
|
struct Signer
|
78
85
|
{
|
79
86
|
SignerKey key;
|
80
|
-
uint32 weight; // really only need
|
87
|
+
uint32 weight; // really only need 1 byte
|
81
88
|
};
|
82
89
|
|
83
90
|
enum AccountFlags
|
@@ -105,7 +112,6 @@ const MASK_ACCOUNT_FLAGS = 0x7;
|
|
105
112
|
Other ledger entries created require an account.
|
106
113
|
|
107
114
|
*/
|
108
|
-
|
109
115
|
struct AccountEntry
|
110
116
|
{
|
111
117
|
AccountID accountID; // master public key for this account
|
@@ -210,7 +216,7 @@ const MASK_OFFERENTRY_FLAGS = 1;
|
|
210
216
|
struct OfferEntry
|
211
217
|
{
|
212
218
|
AccountID sellerID;
|
213
|
-
|
219
|
+
int64 offerID;
|
214
220
|
Asset selling; // A
|
215
221
|
Asset buying; // B
|
216
222
|
int64 amount; // amount of A
|
@@ -283,6 +289,7 @@ enum EnvelopeType
|
|
283
289
|
{
|
284
290
|
ENVELOPE_TYPE_SCP = 1,
|
285
291
|
ENVELOPE_TYPE_TX = 2,
|
286
|
-
ENVELOPE_TYPE_AUTH = 3
|
292
|
+
ENVELOPE_TYPE_AUTH = 3,
|
293
|
+
ENVELOPE_TYPE_SCPVALUE = 4
|
287
294
|
};
|
288
295
|
}
|
data/xdr/Stellar-ledger.x
CHANGED
@@ -10,12 +10,24 @@ namespace stellar
|
|
10
10
|
|
11
11
|
typedef opaque UpgradeType<128>;
|
12
12
|
|
13
|
+
enum StellarValueType
|
14
|
+
{
|
15
|
+
STELLAR_VALUE_BASIC = 0,
|
16
|
+
STELLAR_VALUE_SIGNED = 1
|
17
|
+
};
|
18
|
+
|
19
|
+
struct LedgerCloseValueSignature
|
20
|
+
{
|
21
|
+
NodeID nodeID; // which node introduced the value
|
22
|
+
Signature signature; // nodeID's signature
|
23
|
+
};
|
24
|
+
|
13
25
|
/* StellarValue is the value used by SCP to reach consensus on a given ledger
|
14
|
-
*/
|
26
|
+
*/
|
15
27
|
struct StellarValue
|
16
28
|
{
|
17
|
-
Hash txSetHash;
|
18
|
-
|
29
|
+
Hash txSetHash; // transaction set to apply to previous ledger
|
30
|
+
TimePoint closeTime; // network close time
|
19
31
|
|
20
32
|
// upgrades to apply to the previous ledger (usually empty)
|
21
33
|
// this is a vector of encoded 'LedgerUpgrade' so that nodes can drop
|
@@ -25,17 +37,19 @@ struct StellarValue
|
|
25
37
|
UpgradeType upgrades<6>;
|
26
38
|
|
27
39
|
// reserved for future use
|
28
|
-
union switch (
|
40
|
+
union switch (StellarValueType v)
|
29
41
|
{
|
30
|
-
case
|
42
|
+
case STELLAR_VALUE_BASIC:
|
31
43
|
void;
|
44
|
+
case STELLAR_VALUE_SIGNED:
|
45
|
+
LedgerCloseValueSignature lcValueSignature;
|
32
46
|
}
|
33
47
|
ext;
|
34
48
|
};
|
35
49
|
|
36
50
|
/* The LedgerHeader is the highest level structure representing the
|
37
51
|
* state of a ledger, cryptographically linked to previous ledgers.
|
38
|
-
*/
|
52
|
+
*/
|
39
53
|
struct LedgerHeader
|
40
54
|
{
|
41
55
|
uint32 ledgerVersion; // the protocol version of the ledger
|
@@ -120,7 +134,7 @@ case OFFER:
|
|
120
134
|
struct
|
121
135
|
{
|
122
136
|
AccountID sellerID;
|
123
|
-
|
137
|
+
int64 offerID;
|
124
138
|
} offer;
|
125
139
|
|
126
140
|
case DATA:
|
@@ -133,17 +147,38 @@ case DATA:
|
|
133
147
|
|
134
148
|
enum BucketEntryType
|
135
149
|
{
|
136
|
-
|
137
|
-
|
150
|
+
METAENTRY =
|
151
|
+
-1, // At-and-after protocol 11: bucket metadata, should come first.
|
152
|
+
LIVEENTRY = 0, // Before protocol 11: created-or-updated;
|
153
|
+
// At-and-after protocol 11: only updated.
|
154
|
+
DEADENTRY = 1,
|
155
|
+
INITENTRY = 2 // At-and-after protocol 11: only created.
|
156
|
+
};
|
157
|
+
|
158
|
+
struct BucketMetadata
|
159
|
+
{
|
160
|
+
// Indicates the protocol version used to create / merge this bucket.
|
161
|
+
uint32 ledgerVersion;
|
162
|
+
|
163
|
+
// reserved for future use
|
164
|
+
union switch (int v)
|
165
|
+
{
|
166
|
+
case 0:
|
167
|
+
void;
|
168
|
+
}
|
169
|
+
ext;
|
138
170
|
};
|
139
171
|
|
140
172
|
union BucketEntry switch (BucketEntryType type)
|
141
173
|
{
|
142
174
|
case LIVEENTRY:
|
175
|
+
case INITENTRY:
|
143
176
|
LedgerEntry liveEntry;
|
144
177
|
|
145
178
|
case DEADENTRY:
|
146
179
|
LedgerKey deadEntry;
|
180
|
+
case METAENTRY:
|
181
|
+
BucketMetadata metaEntry;
|
147
182
|
};
|
148
183
|
|
149
184
|
// Transaction sets are the unit used by SCP to decide on transitions
|
@@ -268,7 +303,7 @@ struct OperationMeta
|
|
268
303
|
struct TransactionMetaV1
|
269
304
|
{
|
270
305
|
LedgerEntryChanges txChanges; // tx level changes if any
|
271
|
-
OperationMeta operations<>;
|
306
|
+
OperationMeta operations<>; // meta for each operation
|
272
307
|
};
|
273
308
|
|
274
309
|
// this is the meta produced when applying transactions
|
data/xdr/Stellar-transaction.x
CHANGED
@@ -18,15 +18,16 @@ enum OperationType
|
|
18
18
|
CREATE_ACCOUNT = 0,
|
19
19
|
PAYMENT = 1,
|
20
20
|
PATH_PAYMENT = 2,
|
21
|
-
|
22
|
-
|
21
|
+
MANAGE_SELL_OFFER = 3,
|
22
|
+
CREATE_PASSIVE_SELL_OFFER = 4,
|
23
23
|
SET_OPTIONS = 5,
|
24
24
|
CHANGE_TRUST = 6,
|
25
25
|
ALLOW_TRUST = 7,
|
26
26
|
ACCOUNT_MERGE = 8,
|
27
27
|
INFLATION = 9,
|
28
28
|
MANAGE_DATA = 10,
|
29
|
-
BUMP_SEQUENCE = 11
|
29
|
+
BUMP_SEQUENCE = 11,
|
30
|
+
MANAGE_BUY_OFFER = 12
|
30
31
|
};
|
31
32
|
|
32
33
|
/* CreateAccount
|
@@ -37,7 +38,6 @@ Threshold: med
|
|
37
38
|
Result: CreateAccountResult
|
38
39
|
|
39
40
|
*/
|
40
|
-
|
41
41
|
struct CreateAccountOp
|
42
42
|
{
|
43
43
|
AccountID destination; // account to create
|
@@ -88,10 +88,10 @@ struct PathPaymentOp
|
|
88
88
|
|
89
89
|
Threshold: med
|
90
90
|
|
91
|
-
Result:
|
91
|
+
Result: ManageSellOfferResult
|
92
92
|
|
93
93
|
*/
|
94
|
-
struct
|
94
|
+
struct ManageSellOfferOp
|
95
95
|
{
|
96
96
|
Asset selling;
|
97
97
|
Asset buying;
|
@@ -99,17 +99,36 @@ struct ManageOfferOp
|
|
99
99
|
Price price; // price of thing being sold in terms of what you are buying
|
100
100
|
|
101
101
|
// 0=create a new offer, otherwise edit an existing offer
|
102
|
-
|
102
|
+
int64 offerID;
|
103
|
+
};
|
104
|
+
|
105
|
+
/* Creates, updates or deletes an offer with amount in terms of buying asset
|
106
|
+
|
107
|
+
Threshold: med
|
108
|
+
|
109
|
+
Result: ManageBuyOfferResult
|
110
|
+
|
111
|
+
*/
|
112
|
+
struct ManageBuyOfferOp
|
113
|
+
{
|
114
|
+
Asset selling;
|
115
|
+
Asset buying;
|
116
|
+
int64 buyAmount; // amount being bought. if set to 0, delete the offer
|
117
|
+
Price price; // price of thing being bought in terms of what you are
|
118
|
+
// selling
|
119
|
+
|
120
|
+
// 0=create a new offer, otherwise edit an existing offer
|
121
|
+
int64 offerID;
|
103
122
|
};
|
104
123
|
|
105
124
|
/* Creates an offer that doesn't take offers of the same price
|
106
125
|
|
107
126
|
Threshold: med
|
108
127
|
|
109
|
-
Result:
|
128
|
+
Result: CreatePassiveSellOfferResult
|
110
129
|
|
111
130
|
*/
|
112
|
-
struct
|
131
|
+
struct CreatePassiveSellOfferOp
|
113
132
|
{
|
114
133
|
Asset selling; // A
|
115
134
|
Asset buying; // B
|
@@ -126,7 +145,6 @@ struct CreatePassiveOfferOp
|
|
126
145
|
|
127
146
|
Result: SetOptionsResult
|
128
147
|
*/
|
129
|
-
|
130
148
|
struct SetOptionsOp
|
131
149
|
{
|
132
150
|
AccountID* inflationDest; // sets the inflation destination
|
@@ -178,10 +196,10 @@ struct AllowTrustOp
|
|
178
196
|
{
|
179
197
|
// ASSET_TYPE_NATIVE is not allowed
|
180
198
|
case ASSET_TYPE_CREDIT_ALPHANUM4:
|
181
|
-
|
199
|
+
AssetCode4 assetCode4;
|
182
200
|
|
183
201
|
case ASSET_TYPE_CREDIT_ALPHANUM12:
|
184
|
-
|
202
|
+
AssetCode12 assetCode12;
|
185
203
|
|
186
204
|
// add other asset types here in the future
|
187
205
|
}
|
@@ -215,7 +233,6 @@ Result: InflationResult
|
|
215
233
|
|
216
234
|
Result: ManageDataResult
|
217
235
|
*/
|
218
|
-
|
219
236
|
struct ManageDataOp
|
220
237
|
{
|
221
238
|
string64 dataName;
|
@@ -230,7 +247,6 @@ struct ManageDataOp
|
|
230
247
|
|
231
248
|
Result: BumpSequenceResult
|
232
249
|
*/
|
233
|
-
|
234
250
|
struct BumpSequenceOp
|
235
251
|
{
|
236
252
|
SequenceNumber bumpTo;
|
@@ -252,10 +268,10 @@ struct Operation
|
|
252
268
|
PaymentOp paymentOp;
|
253
269
|
case PATH_PAYMENT:
|
254
270
|
PathPaymentOp pathPaymentOp;
|
255
|
-
case
|
256
|
-
|
257
|
-
case
|
258
|
-
|
271
|
+
case MANAGE_SELL_OFFER:
|
272
|
+
ManageSellOfferOp manageSellOfferOp;
|
273
|
+
case CREATE_PASSIVE_SELL_OFFER:
|
274
|
+
CreatePassiveSellOfferOp createPassiveSellOfferOp;
|
259
275
|
case SET_OPTIONS:
|
260
276
|
SetOptionsOp setOptionsOp;
|
261
277
|
case CHANGE_TRUST:
|
@@ -270,6 +286,8 @@ struct Operation
|
|
270
286
|
ManageDataOp manageDataOp;
|
271
287
|
case BUMP_SEQUENCE:
|
272
288
|
BumpSequenceOp bumpSequenceOp;
|
289
|
+
case MANAGE_BUY_OFFER:
|
290
|
+
ManageBuyOfferOp manageBuyOfferOp;
|
273
291
|
}
|
274
292
|
body;
|
275
293
|
};
|
@@ -299,10 +317,13 @@ case MEMO_RETURN:
|
|
299
317
|
|
300
318
|
struct TimeBounds
|
301
319
|
{
|
302
|
-
|
303
|
-
|
320
|
+
TimePoint minTime;
|
321
|
+
TimePoint maxTime; // 0 here means no maxTime
|
304
322
|
};
|
305
323
|
|
324
|
+
// maximum number of operations per transaction
|
325
|
+
const MAX_OPS_PER_TX = 100;
|
326
|
+
|
306
327
|
/* a transaction is a container for a set of operations
|
307
328
|
- is executed by an account
|
308
329
|
- fees are collected from the account
|
@@ -310,7 +331,6 @@ struct TimeBounds
|
|
310
331
|
either all operations are applied or none are
|
311
332
|
if any returns a failing code
|
312
333
|
*/
|
313
|
-
|
314
334
|
struct Transaction
|
315
335
|
{
|
316
336
|
// account used to run the transaction
|
@@ -327,7 +347,7 @@ struct Transaction
|
|
327
347
|
|
328
348
|
Memo memo;
|
329
349
|
|
330
|
-
Operation operations<
|
350
|
+
Operation operations<MAX_OPS_PER_TX>;
|
331
351
|
|
332
352
|
// reserved for future use
|
333
353
|
union switch (int v)
|
@@ -366,7 +386,7 @@ struct ClaimOfferAtom
|
|
366
386
|
{
|
367
387
|
// emitted to identify the offer
|
368
388
|
AccountID sellerID; // Account that owns the offer
|
369
|
-
|
389
|
+
int64 offerID;
|
370
390
|
|
371
391
|
// amount and asset taken from the owner
|
372
392
|
Asset assetSold;
|
@@ -470,29 +490,29 @@ default:
|
|
470
490
|
void;
|
471
491
|
};
|
472
492
|
|
473
|
-
/*******
|
493
|
+
/******* ManageSellOffer Result ********/
|
474
494
|
|
475
|
-
enum
|
495
|
+
enum ManageSellOfferResultCode
|
476
496
|
{
|
477
497
|
// codes considered as "success" for the operation
|
478
|
-
|
498
|
+
MANAGE_SELL_OFFER_SUCCESS = 0,
|
479
499
|
|
480
500
|
// codes considered as "failure" for the operation
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
501
|
+
MANAGE_SELL_OFFER_MALFORMED = -1, // generated offer would be invalid
|
502
|
+
MANAGE_SELL_OFFER_SELL_NO_TRUST = -2, // no trust line for what we're selling
|
503
|
+
MANAGE_SELL_OFFER_BUY_NO_TRUST = -3, // no trust line for what we're buying
|
504
|
+
MANAGE_SELL_OFFER_SELL_NOT_AUTHORIZED = -4, // not authorized to sell
|
505
|
+
MANAGE_SELL_OFFER_BUY_NOT_AUTHORIZED = -5, // not authorized to buy
|
506
|
+
MANAGE_SELL_OFFER_LINE_FULL = -6, // can't receive more of what it's buying
|
507
|
+
MANAGE_SELL_OFFER_UNDERFUNDED = -7, // doesn't hold what it's trying to sell
|
508
|
+
MANAGE_SELL_OFFER_CROSS_SELF = -8, // would cross an offer from the same user
|
509
|
+
MANAGE_SELL_OFFER_SELL_NO_ISSUER = -9, // no issuer for what we're selling
|
510
|
+
MANAGE_SELL_OFFER_BUY_NO_ISSUER = -10, // no issuer for what we're buying
|
491
511
|
|
492
512
|
// update errors
|
493
|
-
|
513
|
+
MANAGE_SELL_OFFER_NOT_FOUND = -11, // offerID does not match an existing offer
|
494
514
|
|
495
|
-
|
515
|
+
MANAGE_SELL_OFFER_LOW_RESERVE = -12 // not enough funds to create a new Offer
|
496
516
|
};
|
497
517
|
|
498
518
|
enum ManageOfferEffect
|
@@ -518,9 +538,42 @@ struct ManageOfferSuccessResult
|
|
518
538
|
offer;
|
519
539
|
};
|
520
540
|
|
521
|
-
union
|
541
|
+
union ManageSellOfferResult switch (ManageSellOfferResultCode code)
|
542
|
+
{
|
543
|
+
case MANAGE_SELL_OFFER_SUCCESS:
|
544
|
+
ManageOfferSuccessResult success;
|
545
|
+
default:
|
546
|
+
void;
|
547
|
+
};
|
548
|
+
|
549
|
+
/******* ManageBuyOffer Result ********/
|
550
|
+
|
551
|
+
enum ManageBuyOfferResultCode
|
552
|
+
{
|
553
|
+
// codes considered as "success" for the operation
|
554
|
+
MANAGE_BUY_OFFER_SUCCESS = 0,
|
555
|
+
|
556
|
+
// codes considered as "failure" for the operation
|
557
|
+
MANAGE_BUY_OFFER_MALFORMED = -1, // generated offer would be invalid
|
558
|
+
MANAGE_BUY_OFFER_SELL_NO_TRUST = -2, // no trust line for what we're selling
|
559
|
+
MANAGE_BUY_OFFER_BUY_NO_TRUST = -3, // no trust line for what we're buying
|
560
|
+
MANAGE_BUY_OFFER_SELL_NOT_AUTHORIZED = -4, // not authorized to sell
|
561
|
+
MANAGE_BUY_OFFER_BUY_NOT_AUTHORIZED = -5, // not authorized to buy
|
562
|
+
MANAGE_BUY_OFFER_LINE_FULL = -6, // can't receive more of what it's buying
|
563
|
+
MANAGE_BUY_OFFER_UNDERFUNDED = -7, // doesn't hold what it's trying to sell
|
564
|
+
MANAGE_BUY_OFFER_CROSS_SELF = -8, // would cross an offer from the same user
|
565
|
+
MANAGE_BUY_OFFER_SELL_NO_ISSUER = -9, // no issuer for what we're selling
|
566
|
+
MANAGE_BUY_OFFER_BUY_NO_ISSUER = -10, // no issuer for what we're buying
|
567
|
+
|
568
|
+
// update errors
|
569
|
+
MANAGE_BUY_OFFER_NOT_FOUND = -11, // offerID does not match an existing offer
|
570
|
+
|
571
|
+
MANAGE_BUY_OFFER_LOW_RESERVE = -12 // not enough funds to create a new Offer
|
572
|
+
};
|
573
|
+
|
574
|
+
union ManageBuyOfferResult switch (ManageBuyOfferResultCode code)
|
522
575
|
{
|
523
|
-
case
|
576
|
+
case MANAGE_BUY_OFFER_SUCCESS:
|
524
577
|
ManageOfferSuccessResult success;
|
525
578
|
default:
|
526
579
|
void;
|
@@ -565,7 +618,7 @@ enum ChangeTrustResultCode
|
|
565
618
|
// cannot create with a limit of 0
|
566
619
|
CHANGE_TRUST_LOW_RESERVE =
|
567
620
|
-4, // not enough funds to create a new trust line,
|
568
|
-
CHANGE_TRUST_SELF_NOT_ALLOWED = -5
|
621
|
+
CHANGE_TRUST_SELF_NOT_ALLOWED = -5 // trusting self is not allowed
|
569
622
|
};
|
570
623
|
|
571
624
|
union ChangeTrustResult switch (ChangeTrustResultCode code)
|
@@ -695,7 +748,9 @@ enum OperationResultCode
|
|
695
748
|
|
696
749
|
opBAD_AUTH = -1, // too few valid signatures / wrong network
|
697
750
|
opNO_ACCOUNT = -2, // source account was not found
|
698
|
-
opNOT_SUPPORTED = -3 // operation not supported at this time
|
751
|
+
opNOT_SUPPORTED = -3, // operation not supported at this time
|
752
|
+
opTOO_MANY_SUBENTRIES = -4, // max number of subentries already reached
|
753
|
+
opEXCEEDED_WORK_LIMIT = -5 // operation did too much work
|
699
754
|
};
|
700
755
|
|
701
756
|
union OperationResult switch (OperationResultCode code)
|
@@ -709,10 +764,10 @@ case opINNER:
|
|
709
764
|
PaymentResult paymentResult;
|
710
765
|
case PATH_PAYMENT:
|
711
766
|
PathPaymentResult pathPaymentResult;
|
712
|
-
case
|
713
|
-
|
714
|
-
case
|
715
|
-
|
767
|
+
case MANAGE_SELL_OFFER:
|
768
|
+
ManageSellOfferResult manageSellOfferResult;
|
769
|
+
case CREATE_PASSIVE_SELL_OFFER:
|
770
|
+
ManageSellOfferResult createPassiveSellOfferResult;
|
716
771
|
case SET_OPTIONS:
|
717
772
|
SetOptionsResult setOptionsResult;
|
718
773
|
case CHANGE_TRUST:
|
@@ -727,6 +782,8 @@ case opINNER:
|
|
727
782
|
ManageDataResult manageDataResult;
|
728
783
|
case BUMP_SEQUENCE:
|
729
784
|
BumpSequenceResult bumpSeqResult;
|
785
|
+
case MANAGE_BUY_OFFER:
|
786
|
+
ManageBuyOfferResult manageBuyOfferResult;
|
730
787
|
}
|
731
788
|
tr;
|
732
789
|
default:
|