stellar-base 0.24.0 → 0.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +79 -56
- data/README.md +7 -7
- data/generated/stellar-base-generated.rb +15 -0
- data/generated/stellar/account_flags.rb +9 -4
- data/generated/stellar/account_merge_result.rb +1 -1
- data/generated/stellar/allow_trust_op.rb +3 -18
- data/generated/stellar/asset_code.rb +30 -0
- data/generated/stellar/begin_sponsoring_future_reserves_result.rb +2 -1
- data/generated/stellar/claimable_balance_entry.rb +2 -0
- data/generated/stellar/claimable_balance_entry/ext.rb +4 -0
- data/generated/stellar/claimable_balance_entry_extension_v1.rb +30 -0
- data/generated/stellar/claimable_balance_entry_extension_v1/ext.rb +24 -0
- data/generated/stellar/claimable_balance_flags.rb +22 -0
- data/generated/stellar/clawback_claimable_balance_op.rb +18 -0
- data/generated/stellar/clawback_claimable_balance_result.rb +26 -0
- data/generated/stellar/clawback_claimable_balance_result_code.rb +29 -0
- data/generated/stellar/clawback_op.rb +22 -0
- data/generated/stellar/clawback_result.rb +25 -0
- data/generated/stellar/clawback_result_code.rb +31 -0
- data/generated/stellar/create_passive_sell_offer_op.rb +1 -1
- data/generated/stellar/end_sponsoring_future_reserves_result.rb +2 -1
- data/generated/stellar/operation.rb +6 -0
- data/generated/stellar/operation/body.rb +12 -0
- data/generated/stellar/operation_id.rb +1 -1
- data/generated/stellar/operation_id/id.rb +2 -2
- data/generated/stellar/operation_result.rb +6 -0
- data/generated/stellar/operation_result/tr.rb +12 -0
- data/generated/stellar/operation_type.rb +7 -1
- data/generated/stellar/payment_result_code.rb +1 -1
- data/generated/stellar/revoke_sponsorship_op.rb +1 -2
- data/generated/stellar/set_options_result_code.rb +14 -11
- data/generated/stellar/set_trust_line_flags_op.rb +25 -0
- data/generated/stellar/set_trust_line_flags_result.rb +25 -0
- data/generated/stellar/set_trust_line_flags_result_code.rb +31 -0
- data/generated/stellar/transaction_result_code.rb +1 -1
- data/generated/stellar/trust_line_flags.rb +5 -1
- data/lib/stellar-base.rb +6 -2
- data/lib/stellar/account.rb +59 -0
- data/lib/stellar/asset.rb +10 -0
- data/lib/stellar/compat.rb +6 -7
- data/lib/stellar/concerns/transaction.rb +5 -4
- data/lib/stellar/dsl.rb +32 -5
- data/lib/stellar/ext/xdr.rb +8 -7
- data/lib/stellar/key_pair.rb +22 -23
- data/lib/stellar/ledger_key.rb +4 -2
- data/lib/stellar/muxed_account.rb +16 -0
- data/lib/stellar/operation.rb +89 -19
- data/lib/stellar/transaction.rb +1 -1
- data/lib/stellar/transaction_builder.rb +20 -7
- data/lib/stellar/transaction_envelope.rb +6 -16
- data/lib/stellar/transaction_v0.rb +2 -10
- data/lib/stellar/trust_line_flags.rb +53 -0
- data/lib/stellar/util/strkey.rb +15 -7
- data/lib/stellar/version.rb +3 -0
- metadata +34 -16
- data/generated/stellar/allow_trust_op/asset.rb +0 -33
- data/lib/stellar/base/version.rb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 747484cfbd2ecc3339c7f02db339afd3259cbfc438c752b88384437d92b7dd8e
|
4
|
+
data.tar.gz: 85490bd0247c71f517fdc1c66cabe961d4ce8c4b574d42b2f3cddeeb54b2e395
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6a0f7794d178e34799db7dad0c64ed37830896b30c7a53b204c055fb71289a535b5044d5340663ccfec96c33317f1754eed6a9ee7eba7aaa37da7431cfd26f2
|
7
|
+
data.tar.gz: 623a2e0bee087f04c3b512c63ccaefdc9d85f9cecc8bde008cdaed01d017577fbbb07910b621809913557d7fff5bb559928b3b341295c544d90a1fda4d584e16
|
data/CHANGELOG.md
CHANGED
@@ -1,87 +1,110 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this
|
4
|
-
file.
|
4
|
+
file. The format is based on [Keep a Changelog](https://keepachangelog.com/)
|
5
|
+
and this project adheres to [Semantic Versioning](https://semver.org/).
|
5
6
|
|
6
7
|
As this project is pre 1.0, breaking changes may happen for minor version
|
7
8
|
bumps. A breaking change will get clearly notified in this log.
|
8
9
|
|
9
|
-
## [
|
10
|
+
## [0.28.0](https://www.github.com/astroband/ruby-stellar-sdk/compare/v0.27.0...v0.28.0) (2021-07-17)
|
11
|
+
|
12
|
+
### Features
|
13
|
+
|
14
|
+
* support muxed accounts in tx builder ([#162](https://www.github.com/astroband/ruby-stellar-sdk/issues/162)) ([37cd954](https://www.github.com/astroband/ruby-stellar-sdk/commit/37cd954f92c7999a74ca779e795dde74a3d71aad))
|
15
|
+
|
16
|
+
## [0.27.0](https://github.com/astroband/ruby-stellar-sdk/compare/v0.26.0...v0.27.0) (2021-05-08)
|
17
|
+
|
18
|
+
### Features
|
19
|
+
|
20
|
+
* **protocol:** support Stellar protocol 17 ([#137](https://www.github.com/astroband/ruby-stellar-sdk/issues/137)) ([5fea84d](https://www.github.com/astroband/ruby-stellar-sdk/commit/5fea84d8c3b10b7afc00a10415e8fea01c25eec7))
|
21
|
+
|
22
|
+
## [0.26.0](https://github.com/astroband/ruby-stellar-sdk/compare/v0.25.0...v0.26.0) - 2021-02-05
|
23
|
+
- No changes
|
24
|
+
|
25
|
+
## [0.25.0](https://github.com/astroband/ruby-stellar-sdk/compare/v0.24.0...v0.25.0) - 2020-10-30
|
26
|
+
### Added
|
27
|
+
- `MuxedAccount` implements `#to_keypair` conversion protocol
|
28
|
+
- `MuxedAccount` correctly responds to `#address` with strkey encoded public key
|
29
|
+
### Fixed
|
30
|
+
- `Transaction::V0#source_account` now properly returns `MuxedAccount` instead of raw bytes
|
31
|
+
|
32
|
+
## [0.24.0](https://github.com/astroband/ruby-stellar-sdk/compare/v0.23.1...v0.24.0) - 2020-10-20
|
10
33
|
### Added
|
11
34
|
- Add conversion methods for KeyPair and Asset
|
12
35
|
- Stellar Protocol 14 support
|
13
36
|
- Regenerate XDR wrappers from definitions in stellar-core 14.1.1
|
14
37
|
- Add [CAP-23 Two-Part Payments](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0023.md) support
|
15
38
|
- Add ClaimPredicate DSL methods which help with creation of claim predicates.
|
16
|
-
```
|
17
|
-
# use class-level helpers to create simple predicates
|
39
|
+
```ruby
|
40
|
+
# use class-level helpers to create simple predicates
|
18
41
|
unconditional = Stellar::ClaimPredicate.unconditional
|
19
42
|
before_rel_time = Stellar::ClaimPredicate.before_relative_time(1.hour)
|
20
43
|
before_abs_time = Stellar::ClaimPredicate.before_absolute_time(Date.tomorrow.beginning_of_day)
|
21
|
-
|
44
|
+
|
22
45
|
# negate predicates using `~` unary operator
|
23
46
|
~predicate # same as predicate.not
|
24
|
-
|
47
|
+
|
25
48
|
# build complex predicates using `&` and `|` infix operators
|
26
49
|
predicate & other_predicate # same as `predicate.and(other_predicate)`
|
27
50
|
predicate | other_predicate # same as `predicate.or(other_predicate)`
|
28
|
-
|
29
|
-
# quickly define complex predicates using `.compose` class method with the block
|
51
|
+
|
52
|
+
# quickly define complex predicates using `.compose` class method with the block
|
30
53
|
unconditional = Stellar::ClaimPredicate.compose { }
|
31
|
-
complex = Stellar::ClaimPredicate.compose do
|
32
|
-
before_relative_time(1.week) & ~before_relative_time(10.seconds) |
|
54
|
+
complex = Stellar::ClaimPredicate.compose do
|
55
|
+
before_relative_time(1.week) & ~before_relative_time(10.seconds) |
|
33
56
|
end
|
34
|
-
|
35
|
-
# here's what building this predicate would look like without DSL
|
57
|
+
|
58
|
+
# here's what building this predicate would look like without DSL
|
36
59
|
complex = Stellar::ClaimPredicate.new(
|
37
|
-
Stellar::ClaimPredicateType::AND,
|
60
|
+
Stellar::ClaimPredicateType::AND,
|
38
61
|
Stellar::ClaimPredicate.new(
|
39
62
|
Stellar::ClaimPredicateType::BEFORE_RELATIVE_TIME, 7 * 24 * 60 * 60
|
40
|
-
),
|
63
|
+
),
|
41
64
|
Stellar::ClaimPredicate.new(
|
42
65
|
Stellar::ClaimPredicateType::NOT, Stellar::ClaimPredicate.new(
|
43
66
|
Stellar::ClaimPredicateType::BEFORE_RELATIVE_TIME, 10
|
44
67
|
)
|
45
68
|
)
|
46
69
|
)
|
47
|
-
|
70
|
+
|
48
71
|
```
|
49
72
|
- Extend Operation with `create_claimable_balance` and `claim_claimable_balance` helpers
|
50
73
|
- Add Claimant and ClaimPredicate DSL methods to reduce the noise.
|
51
|
-
```
|
74
|
+
```ruby
|
52
75
|
include Stellar::DSL
|
53
|
-
|
76
|
+
|
54
77
|
sender = KeyPair('S....')
|
55
78
|
recipient = 'G....'
|
56
|
-
|
79
|
+
|
57
80
|
op = Operation.create_claimable_balance(
|
58
81
|
asset: Stellar::Asset.native,
|
59
82
|
amount: 100,
|
60
83
|
claimants: [
|
61
84
|
Claimant(recipient) { after(10.seconds) & before(1.week) },
|
62
|
-
Claimant(sender), # allow unconditional claim-back
|
85
|
+
Claimant(sender), # allow unconditional claim-back
|
63
86
|
]
|
64
87
|
)
|
65
88
|
])
|
66
89
|
```
|
67
90
|
- Add simple predicate evaluation feature so that developers can sanity-check their predicates
|
68
|
-
```
|
91
|
+
```ruby
|
69
92
|
include Stellar::DSL
|
70
|
-
|
93
|
+
|
71
94
|
predicate = ClaimPredicate { before_relative_time(1.week) & ~before_relative_time(10.seconds) }
|
72
|
-
|
95
|
+
|
73
96
|
# predicate.evaluate(balance_creation_time, claim_evaluation_time)
|
74
97
|
predicate.evaluate("2020-10-20 09:00:00", "2020-10-20 09:00:05") # => false
|
75
98
|
predicate.evaluate("2020-10-20 09:00:00", "2020-10-20 09:01:00") # => true
|
76
99
|
predicate.evaluate("2020-10-20 09:00:00", "2020-10-27 08:50:00") # => true
|
77
|
-
|
100
|
+
|
78
101
|
# you can also pass an instance of ActiveSupport::Duration as a second parameter, in this case
|
79
|
-
# it works as a relative offset from `balance_creation_time`
|
102
|
+
# it works as a relative offset from `balance_creation_time`
|
80
103
|
predicate.evaluate("2020-10-20 09:00:00", 1.week + 1.second) # => false
|
81
|
-
|
104
|
+
|
82
105
|
# it is effectively the same as
|
83
|
-
predicate.evaluate("2020-10-20 09:00:00", "2020-10-27 09:00:01") # => false
|
84
|
-
```
|
106
|
+
predicate.evaluate("2020-10-20 09:00:00", "2020-10-27 09:00:01") # => false
|
107
|
+
```
|
85
108
|
- Add [CAP-33 Sponsored Reserves](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0033.md) support
|
86
109
|
- Extend the operation class with helpers that allow sponsoring reserves and also revoke sponsorships.
|
87
110
|
- `Operation.begin_sponsoring_future_reserves`
|
@@ -92,35 +115,35 @@ bumps. A breaking change will get clearly notified in this log.
|
|
92
115
|
- `Operation.revoke_sponsorship(account_id:, data_name:)`
|
93
116
|
- `Operation.revoke_sponsorship(account_id:, balance_id:)`
|
94
117
|
- `Operation.revoke_sponsorship(account_id:, signer:)`
|
95
|
-
|
96
118
|
|
97
|
-
|
119
|
+
|
120
|
+
## [0.23.1](https://github.com/astroband/ruby-stellar-sdk/compare/v0.23.0...v0.23.1) - 2020-06-18
|
98
121
|
### Added
|
99
122
|
- Transaction builder now builds V1 transactions
|
100
123
|
- FeeBumpTransaction can wrap V0 transaction
|
101
|
-
|
102
|
-
## [0.23.0](https://github.com/
|
124
|
+
|
125
|
+
## [0.23.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.22.0...v0.23.0) - 2020-06-11
|
103
126
|
### Added
|
104
127
|
- Stellar Protocol 13 support
|
105
128
|
- Fee-Bump transactions ([CAP-0015](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0015.md))
|
106
129
|
- Multiplexed accounts ([CAP-0027](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0027.md))
|
107
130
|
- Fine-Grained control on trustline authorization ([CAP-0018](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0018.md))
|
108
|
-
|
109
|
-
## [0.22.0](https://github.com/
|
131
|
+
|
132
|
+
## [0.22.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.21.0...base-v0.22.0) - 2020-03-26
|
110
133
|
### Added
|
111
|
-
- Add TransactionBuilder ([#54](https://github.com/
|
134
|
+
- Add TransactionBuilder ([#54](https://github.com/astroband/ruby-stellar-base/issues/54))
|
112
135
|
|
113
136
|
### Changed
|
114
|
-
- Regenerate XDR files ([#57](https://github.com/
|
115
|
-
- Allow asset objects to be passed instead of list of parameters ([#59](https://github.com/
|
137
|
+
- Regenerate XDR files ([#57](https://github.com/astroband/ruby-stellar-base/issues/57))
|
138
|
+
- Allow asset objects to be passed instead of list of parameters ([#59](https://github.com/astroband/ruby-stellar-base/issues/59))
|
116
139
|
|
117
|
-
## [0.21.0](https://github.com/
|
140
|
+
## [0.21.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.20.0...base-v0.21.0) - 2019-10-04
|
118
141
|
### Changed
|
119
|
-
- [Stellar Protocol 12 compatibility](https://github.com/
|
142
|
+
- [Stellar Protocol 12 compatibility](https://github.com/astroband/ruby-stellar-base/pull/51).
|
120
143
|
- XDR changes for path payment
|
121
144
|
- constant renames, which may cause breaking changes if referred to directly
|
122
145
|
|
123
|
-
## [0.20.0](https://github.com/
|
146
|
+
## [0.20.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.19.0...base-v0.20.0) - 2019-05-22
|
124
147
|
### Added
|
125
148
|
- Stellar Protocol 11 compatibility (#48)
|
126
149
|
- XDR changes for [CAP-0006 Buy Offers](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0006.md)
|
@@ -131,11 +154,11 @@ bumps. A breaking change will get clearly notified in this log.
|
|
131
154
|
- Deprecate `manage_offer` and `create_passive_offer` factory methods in `Stellar::Transaction` and `Stellar::Operation`
|
132
155
|
- Add an option to pass the exact stellar-core revision into `xdr:update` Rake task
|
133
156
|
|
134
|
-
## [0.19.0](https://github.com/
|
157
|
+
## [0.19.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.18.0...base-v0.19.0)
|
135
158
|
### Changed
|
136
159
|
- Loosen ActiveSupport to >= 5.0.0
|
137
160
|
|
138
|
-
## [0.18.0](https://github.com/
|
161
|
+
## [0.18.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.17.0...base-v0.18.0)
|
139
162
|
### Added
|
140
163
|
- Update XDR definitions for stellar-core v10.0.0 (introduces Liabilities and other changes to support asset-backed offers as per [CAP-0003 Specification](https://github.com/stellar/stellar-protocol/blob/master/core/cap-0003.md#specification))
|
141
164
|
- Add factories for ledger, transaction, operation.
|
@@ -143,11 +166,11 @@ bumps. A breaking change will get clearly notified in this log.
|
|
143
166
|
### Changed
|
144
167
|
- Use rbnacl instead of rbnacl-libsodium (the latter has been [deprecated](https://github.com/crypto-rb/rbnacl-libsodium/issues/29))
|
145
168
|
|
146
|
-
## [0.17.0](https://github.com/
|
169
|
+
## [0.17.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.16.0...base-v0.17.0)
|
147
170
|
### Fixed
|
148
171
|
- Rename `Stellar::SignerKey#onetime_signer` helper to `Stellar::SignerKey#hash_x`, add preimage validations
|
149
172
|
|
150
|
-
## [0.16.0](https://github.com/
|
173
|
+
## [0.16.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.15.0...base-v0.16.0)
|
151
174
|
### Added
|
152
175
|
- Create co-signers conveniently using helpers `ed25519(keypair)`, `preauthorized_transaction(tx)` and `onetime_signer(preimage)` from `Stellar::SignerKey` module
|
153
176
|
- Merge two transactions with `Stellar::TransactionEnvelope#merge`
|
@@ -155,14 +178,14 @@ bumps. A breaking change will get clearly notified in this log.
|
|
155
178
|
### Fixed
|
156
179
|
- Source account overriding in Stellar::Transaction#to_operations
|
157
180
|
|
158
|
-
## [0.15.0](https://github.com/
|
181
|
+
## [0.15.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.14.0...base-v0.15.0)
|
159
182
|
### Added
|
160
183
|
- `Stellar::Operation.change_trust` can accept `Stellar::Asset` instance for `line`
|
161
184
|
|
162
185
|
### Fixed
|
163
186
|
- Protect `Stellar::Operation.change_trust` against malicious arguments, in the event that developers pass this argument directly from user input
|
164
187
|
|
165
|
-
## [0.14.0](https://github.com/
|
188
|
+
## [0.14.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.13.0...base-v0.14.0)
|
166
189
|
|
167
190
|
### Added
|
168
191
|
- We now support the bump sequence operation with `Operation.bump_sequence`.
|
@@ -172,7 +195,7 @@ bumps. A breaking change will get clearly notified in this log.
|
|
172
195
|
- `Operation.change_trust` learned how to use a default for the `:limit` parameter
|
173
196
|
- `StrKey` learned about new version bytes `pre_auth_tx` and `hash_x`
|
174
197
|
|
175
|
-
## [0.13.0](https://github.com/
|
198
|
+
## [0.13.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.12.0...base-v0.13.0)
|
176
199
|
|
177
200
|
### Changed
|
178
201
|
- Update XDR definitions for stellar-core 0.9.1 support
|
@@ -180,7 +203,7 @@ bumps. A breaking change will get clearly notified in this log.
|
|
180
203
|
### Added
|
181
204
|
- Added `#signer_key` helper to `KeyPair`
|
182
205
|
|
183
|
-
## [0.12.0](https://github.com/
|
206
|
+
## [0.12.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.11.0...base-v0.12.0)
|
184
207
|
|
185
208
|
### Changed
|
186
209
|
- Avoid modifying $LOAD_PATH to fix load order issues
|
@@ -190,7 +213,7 @@ bumps. A breaking change will get clearly notified in this log.
|
|
190
213
|
|
191
214
|
- BREAKING CHANGE: Removed support for JRuby.
|
192
215
|
|
193
|
-
## [0.11.0](https://github.com/
|
216
|
+
## [0.11.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.10.0...base-v0.11.0)
|
194
217
|
|
195
218
|
### Added
|
196
219
|
- Added support for `manage_data` operations
|
@@ -198,48 +221,48 @@ bumps. A breaking change will get clearly notified in this log.
|
|
198
221
|
### Changed
|
199
222
|
- `Stellar::Transaction#to_envelope` can now be used without arguments, returning a `Stellar::TransactionEnvelope` with zero signatures.
|
200
223
|
|
201
|
-
## [0.10.0](https://github.com/
|
224
|
+
## [0.10.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.9.0...base-v0.10.0)
|
202
225
|
|
203
226
|
- Added memo helpers to `Stellar::Transaction.for_account`, allowing any operation builder (such as `Stellar::Transaction.payment) to provide a custom memo using the `:memo` attribute.
|
204
227
|
|
205
|
-
## [0.9.0](https://github.com/
|
228
|
+
## [0.9.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.8.0...base-v0.9.0)
|
206
229
|
|
207
230
|
### Changed
|
208
231
|
- XDR Definitions have been updated to stellar-core commit eed89649c2060b8e9dacffe2cec4e8b258b32416
|
209
232
|
|
210
|
-
## [0.8.0](https://github.com/
|
233
|
+
## [0.8.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.7.0...base-v0.8.0)
|
211
234
|
|
212
235
|
### Changed
|
213
236
|
- BREAKING CHANGE: The default network for this library is now the stellar test network.
|
214
237
|
To enable this library for the production network use `Stellar.default_network = Stellar::Networks::PUBLIC`
|
215
238
|
at the head of your script or in your configuration function.
|
216
239
|
|
217
|
-
## [0.7.0](https://github.com/
|
240
|
+
## [0.7.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.6.1...base-v0.7.0)
|
218
241
|
|
219
242
|
### Changed
|
220
243
|
|
221
244
|
- Bump xdr dependency to 1.0.0
|
222
245
|
|
223
|
-
## [0.6.1](https://github.com/
|
246
|
+
## [0.6.1](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.6.0...base-v0.6.1)
|
224
247
|
|
225
248
|
### Changed
|
226
249
|
|
227
250
|
- Update default fee for transactions to new minimum of 100 stroops
|
228
251
|
|
229
252
|
|
230
|
-
## [0.6.0](https://github.com/
|
253
|
+
## [0.6.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.5.0...base-v0.6.0)
|
231
254
|
|
232
255
|
### Changed
|
233
256
|
|
234
257
|
- Update to latest xdr (stellar-core commit ad22bccafbbc14a358f05a989f7b95714dc9d4c6)
|
235
258
|
|
236
|
-
## [0.5.0](https://github.com/
|
259
|
+
## [0.5.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.4.0...base-v0.5.0)
|
237
260
|
|
238
261
|
### Changed
|
239
262
|
|
240
263
|
- Update to latest xdr
|
241
264
|
|
242
|
-
## [0.4.0](https://github.com/
|
265
|
+
## [0.4.0](https://github.com/astroband/ruby-stellar-sdk/compare/base-v0.3.0...base-v0.4.0)
|
243
266
|
|
244
267
|
### Changed
|
245
268
|
- BREAKING CHANGE: "Amounts", that is, input parameters that represent a
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
# Stellar
|
2
|
-
|
3
|
-
[![
|
4
|
-
[![
|
1
|
+
# Stellar SDK for Ruby: XDR and Low Level Abstractions
|
2
|
+
[![stellar-base](https://badge.fury.io/rb/stellar-base.svg)](https://badge.fury.io/rb/stellar-base)
|
3
|
+
[![Test](https://github.com/astroband/ruby-stellar-sdk/workflows/Test/badge.svg)](https://github.com/astroband/ruby-stellar-sdk/actions?query=branch%3Amaster)
|
4
|
+
[![Maintainability](https://api.codeclimate.com/v1/badges/dadfcd9396aba493cb93/maintainability)](https://codeclimate.com/github/astroband/ruby-stellar-sdk/maintainability)
|
5
5
|
|
6
6
|
The stellar-base library is the lowest-level stellar helper library. It consists of classes
|
7
7
|
to read, write, hash, and sign the xdr structures that are used in stellard.
|
@@ -22,7 +22,7 @@ Also requires libsodium. Installable via `brew install libsodium` on OS X.
|
|
22
22
|
|
23
23
|
## Supported Ruby Versions
|
24
24
|
|
25
|
-
Please see [
|
25
|
+
Please see [CI Workflow](https://github.com/astroband/ruby-stellar-sdk/actions/workflows/ci.yml) for what versions of ruby are currently tested by our continuous integration system. Any ruby in that list is officially supported.
|
26
26
|
|
27
27
|
### JRuby
|
28
28
|
|
@@ -32,7 +32,7 @@ It seems as though jruby is particularly slow when it comes to BigDecimal math;
|
|
32
32
|
|
33
33
|
[Examples are here](examples)
|
34
34
|
|
35
|
-
In addition to the code generated from the XDR definition files (see [ruby-xdr](https://github.com/
|
35
|
+
In addition to the code generated from the XDR definition files (see [ruby-xdr](https://github.com/astroband/ruby-xdr) for example usage), this library also provides some stellar specific features. Let's look at some of them.
|
36
36
|
|
37
37
|
We wrap rbnacl with `Stellar::KeyPair`, providing some stellar specific functionality as seen below:
|
38
38
|
|
@@ -84,4 +84,4 @@ The current integration of user-written code with auto-generated classes is to p
|
|
84
84
|
|
85
85
|
## Contributing
|
86
86
|
|
87
|
-
Please [see CONTRIBUTING.md for details](CONTRIBUTING.md).
|
87
|
+
Please [see CONTRIBUTING.md for details](../CONTRIBUTING.md).
|
@@ -38,6 +38,7 @@ module Stellar
|
|
38
38
|
AssetCode4 = XDR::Opaque[4]
|
39
39
|
AssetCode12 = XDR::Opaque[12]
|
40
40
|
autoload :AssetType
|
41
|
+
autoload :AssetCode
|
41
42
|
autoload :Asset
|
42
43
|
autoload :Price
|
43
44
|
autoload :Liabilities
|
@@ -46,6 +47,7 @@ module Stellar
|
|
46
47
|
autoload :Signer
|
47
48
|
autoload :AccountFlags
|
48
49
|
MASK_ACCOUNT_FLAGS = 0x7
|
50
|
+
MASK_ACCOUNT_FLAGS_V17 = 0xF
|
49
51
|
MAX_SIGNERS = 20
|
50
52
|
SponsorshipDescriptor = XDR::Option[AccountID]
|
51
53
|
autoload :AccountEntryExtensionV2
|
@@ -54,6 +56,7 @@ module Stellar
|
|
54
56
|
autoload :TrustLineFlags
|
55
57
|
MASK_TRUSTLINE_FLAGS = 1
|
56
58
|
MASK_TRUSTLINE_FLAGS_V13 = 3
|
59
|
+
MASK_TRUSTLINE_FLAGS_V17 = 7
|
57
60
|
autoload :TrustLineEntry
|
58
61
|
autoload :OfferEntryFlags
|
59
62
|
MASK_OFFERENTRY_FLAGS = 1
|
@@ -65,6 +68,9 @@ module Stellar
|
|
65
68
|
autoload :Claimant
|
66
69
|
autoload :ClaimableBalanceIDType
|
67
70
|
autoload :ClaimableBalanceID
|
71
|
+
autoload :ClaimableBalanceFlags
|
72
|
+
MASK_CLAIMABLE_BALANCE_FLAGS = 0x1
|
73
|
+
autoload :ClaimableBalanceEntryExtensionV1
|
68
74
|
autoload :ClaimableBalanceEntry
|
69
75
|
autoload :LedgerEntryExtensionV1
|
70
76
|
autoload :LedgerEntry
|
@@ -94,6 +100,9 @@ module Stellar
|
|
94
100
|
autoload :BeginSponsoringFutureReservesOp
|
95
101
|
autoload :RevokeSponsorshipType
|
96
102
|
autoload :RevokeSponsorshipOp
|
103
|
+
autoload :ClawbackOp
|
104
|
+
autoload :ClawbackClaimableBalanceOp
|
105
|
+
autoload :SetTrustLineFlagsOp
|
97
106
|
autoload :Operation
|
98
107
|
autoload :OperationID
|
99
108
|
autoload :MemoType
|
@@ -149,6 +158,12 @@ module Stellar
|
|
149
158
|
autoload :EndSponsoringFutureReservesResult
|
150
159
|
autoload :RevokeSponsorshipResultCode
|
151
160
|
autoload :RevokeSponsorshipResult
|
161
|
+
autoload :ClawbackResultCode
|
162
|
+
autoload :ClawbackResult
|
163
|
+
autoload :ClawbackClaimableBalanceResultCode
|
164
|
+
autoload :ClawbackClaimableBalanceResult
|
165
|
+
autoload :SetTrustLineFlagsResultCode
|
166
|
+
autoload :SetTrustLineFlagsResult
|
152
167
|
autoload :OperationResultCode
|
153
168
|
autoload :OperationResult
|
154
169
|
autoload :TransactionResultCode
|
@@ -16,15 +16,20 @@ require 'xdr'
|
|
16
16
|
# // otherwise, authorization cannot be revoked
|
17
17
|
# AUTH_REVOCABLE_FLAG = 0x2,
|
18
18
|
# // Once set, causes all AUTH_* flags to be read-only
|
19
|
-
# AUTH_IMMUTABLE_FLAG = 0x4
|
19
|
+
# AUTH_IMMUTABLE_FLAG = 0x4,
|
20
|
+
# // Trustlines are created with clawback enabled set to "true",
|
21
|
+
# // and claimable balances created from those trustlines are created
|
22
|
+
# // with clawback enabled set to "true"
|
23
|
+
# AUTH_CLAWBACK_ENABLED_FLAG = 0x8
|
20
24
|
# };
|
21
25
|
#
|
22
26
|
# ===========================================================================
|
23
27
|
module Stellar
|
24
28
|
class AccountFlags < XDR::Enum
|
25
|
-
member :auth_required_flag,
|
26
|
-
member :auth_revocable_flag,
|
27
|
-
member :auth_immutable_flag,
|
29
|
+
member :auth_required_flag, 1
|
30
|
+
member :auth_revocable_flag, 2
|
31
|
+
member :auth_immutable_flag, 4
|
32
|
+
member :auth_clawback_enabled_flag, 8
|
28
33
|
|
29
34
|
seal
|
30
35
|
end
|
@@ -8,7 +8,7 @@ require 'xdr'
|
|
8
8
|
# union AccountMergeResult switch (AccountMergeResultCode code)
|
9
9
|
# {
|
10
10
|
# case ACCOUNT_MERGE_SUCCESS:
|
11
|
-
# int64 sourceAccountBalance; // how much got
|
11
|
+
# int64 sourceAccountBalance; // how much got transferred from source account
|
12
12
|
# default:
|
13
13
|
# void;
|
14
14
|
# };
|