stellar-base 0.31.0 → 0.32.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 +5 -0
- data/generated/stellar/account_entry_extension_v2/ext.rb +4 -0
- data/generated/stellar/account_entry_extension_v2.rb +2 -0
- data/generated/stellar/account_entry_extension_v3.rb +28 -0
- data/generated/stellar/allow_trust_result_code.rb +3 -3
- data/generated/stellar/change_trust_result_code.rb +5 -3
- data/generated/stellar/crypto_key_type.rb +6 -4
- data/generated/stellar/extension_point.rb +22 -0
- data/generated/stellar/inner_transaction_result/result.rb +6 -2
- data/generated/stellar/inner_transaction_result.rb +2 -0
- data/generated/stellar/ledger_bounds.rb +20 -0
- data/generated/stellar/liquidity_pool_constant_product_parameters.rb +1 -1
- data/generated/stellar/liquidity_pool_deposit_op.rb +4 -4
- data/generated/stellar/liquidity_pool_deposit_result.rb +1 -2
- data/generated/stellar/liquidity_pool_entry/body/constant_product.rb +2 -1
- data/generated/stellar/liquidity_pool_entry/body.rb +2 -1
- data/generated/stellar/liquidity_pool_entry.rb +2 -1
- data/generated/stellar/liquidity_pool_withdraw_op.rb +3 -3
- data/generated/stellar/liquidity_pool_withdraw_result.rb +1 -2
- data/generated/stellar/liquidity_pool_withdraw_result_code.rb +8 -8
- data/generated/stellar/message_type.rb +4 -1
- data/generated/stellar/offer_entry_flags.rb +2 -1
- data/generated/stellar/precondition_type.rb +24 -0
- data/generated/stellar/preconditions.rb +30 -0
- data/generated/stellar/preconditions_v2.rb +51 -0
- data/generated/stellar/send_more.rb +18 -0
- data/generated/stellar/signer_key/ed25519_signed_payload.rb +24 -0
- data/generated/stellar/signer_key.rb +20 -6
- data/generated/stellar/signer_key_type.rb +6 -4
- data/generated/stellar/stellar_message.rb +4 -0
- data/generated/stellar/transaction.rb +3 -3
- data/generated/stellar/transaction_result_code.rb +6 -1
- data/generated/stellar-base-generated.rb +8 -0
- data/lib/stellar/transaction.rb +1 -1
- data/lib/stellar/transaction_builder.rb +115 -2
- data/lib/stellar/transaction_v0.rb +5 -1
- data/lib/stellar/util/strkey.rb +15 -1
- data/lib/stellar/version.rb +1 -1
- metadata +14 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37d725fa4d77fd25c02397c7d25f6798b537ebe3f7eb8fe84715fc134b0304fd
|
4
|
+
data.tar.gz: 577ca9cb0b37d98f3b631a85125cd1b5732285827b33eb61990949aed810dc73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 767697d1e7f98af39da13ec28205b169e24de30f4f11a16c784cb56407c254ec5a484109908537aa2c2b301d134ac0c028fcc94a864dc6359dac6c5fb2f58c93
|
7
|
+
data.tar.gz: 520ebf0c69bd20e314e4c8d38ccb77b4711cbacb5de20e87e870c52442e1e4bc02889a9bac3e8180c6c3380a7be08bfffe7e05e46009649072f3301ce69cf58d
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
7
7
|
As this project is pre 1.0, breaking changes may happen for minor version
|
8
8
|
bumps. A breaking change will get clearly notified in this log.
|
9
9
|
|
10
|
+
## [0.32.0](https://github.com/astroband/ruby-stellar-sdk/compare/v0.31.0...v0.32.0) (2022-05-17)
|
11
|
+
|
12
|
+
### Added
|
13
|
+
* **protocol** support Stellar protocol 19 ([#265](https://github.com/astroband/ruby-stellar-sdk/issues/265)) ([fead030](https://github.com/astroband/ruby-stellar-sdk/commit/fead030fdf6159cc184d5337a0f6f14fa61de963))
|
14
|
+
|
10
15
|
## [0.31.0](https://github.com/astroband/ruby-stellar-sdk/compare/v0.30.0...v0.31.0) (2022-02-20)
|
11
16
|
|
12
17
|
### ⚠ BREAKING CHANGES
|
@@ -9,6 +9,8 @@ require 'xdr'
|
|
9
9
|
# {
|
10
10
|
# case 0:
|
11
11
|
# void;
|
12
|
+
# case 3:
|
13
|
+
# AccountEntryExtensionV3 v3;
|
12
14
|
# }
|
13
15
|
#
|
14
16
|
# ===========================================================================
|
@@ -18,7 +20,9 @@ module Stellar
|
|
18
20
|
switch_on XDR::Int, :v
|
19
21
|
|
20
22
|
switch 0
|
23
|
+
switch 3, :v3
|
21
24
|
|
25
|
+
attribute :v3, AccountEntryExtensionV3
|
22
26
|
end
|
23
27
|
end
|
24
28
|
end
|
@@ -0,0 +1,28 @@
|
|
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 AccountEntryExtensionV3
|
9
|
+
# {
|
10
|
+
# // We can use this to add more fields, or because it is first, to
|
11
|
+
# // change AccountEntryExtensionV3 into a union.
|
12
|
+
# ExtensionPoint ext;
|
13
|
+
#
|
14
|
+
# // Ledger number at which `seqNum` took on its present value.
|
15
|
+
# uint32 seqLedger;
|
16
|
+
#
|
17
|
+
# // Time at which `seqNum` took on its present value.
|
18
|
+
# TimePoint seqTime;
|
19
|
+
# };
|
20
|
+
#
|
21
|
+
# ===========================================================================
|
22
|
+
module Stellar
|
23
|
+
class AccountEntryExtensionV3 < XDR::Struct
|
24
|
+
attribute :ext, ExtensionPoint
|
25
|
+
attribute :seq_ledger, Uint32
|
26
|
+
attribute :seq_time, TimePoint
|
27
|
+
end
|
28
|
+
end
|
@@ -14,10 +14,10 @@ require 'xdr'
|
|
14
14
|
# ALLOW_TRUST_NO_TRUST_LINE = -2, // trustor does not have a trustline
|
15
15
|
# // source account does not require trust
|
16
16
|
# ALLOW_TRUST_TRUST_NOT_REQUIRED = -3,
|
17
|
-
# ALLOW_TRUST_CANT_REVOKE = -4,
|
17
|
+
# ALLOW_TRUST_CANT_REVOKE = -4, // source account can't revoke trust,
|
18
18
|
# ALLOW_TRUST_SELF_NOT_ALLOWED = -5, // trusting self is not allowed
|
19
|
-
# ALLOW_TRUST_LOW_RESERVE = -6
|
20
|
-
#
|
19
|
+
# ALLOW_TRUST_LOW_RESERVE = -6 // claimable balances can't be created
|
20
|
+
# // on revoke due to low reserves
|
21
21
|
# };
|
22
22
|
#
|
23
23
|
# ===========================================================================
|
@@ -16,10 +16,12 @@ require 'xdr'
|
|
16
16
|
# // cannot create with a limit of 0
|
17
17
|
# CHANGE_TRUST_LOW_RESERVE =
|
18
18
|
# -4, // not enough funds to create a new trust line,
|
19
|
-
# CHANGE_TRUST_SELF_NOT_ALLOWED = -5,
|
19
|
+
# CHANGE_TRUST_SELF_NOT_ALLOWED = -5, // trusting self is not allowed
|
20
20
|
# CHANGE_TRUST_TRUST_LINE_MISSING = -6, // Asset trustline is missing for pool
|
21
|
-
# CHANGE_TRUST_CANNOT_DELETE =
|
22
|
-
#
|
21
|
+
# CHANGE_TRUST_CANNOT_DELETE =
|
22
|
+
# -7, // Asset trustline is still referenced in a pool
|
23
|
+
# CHANGE_TRUST_NOT_AUTH_MAINTAIN_LIABILITIES =
|
24
|
+
# -8 // Asset trustline is deauthorized
|
23
25
|
# };
|
24
26
|
#
|
25
27
|
# ===========================================================================
|
@@ -10,6 +10,7 @@ require 'xdr'
|
|
10
10
|
# KEY_TYPE_ED25519 = 0,
|
11
11
|
# KEY_TYPE_PRE_AUTH_TX = 1,
|
12
12
|
# KEY_TYPE_HASH_X = 2,
|
13
|
+
# KEY_TYPE_ED25519_SIGNED_PAYLOAD = 3,
|
13
14
|
# // MUXED enum values for supported type are derived from the enum values
|
14
15
|
# // above by ORing them with 0x100
|
15
16
|
# KEY_TYPE_MUXED_ED25519 = 0x100
|
@@ -18,10 +19,11 @@ require 'xdr'
|
|
18
19
|
# ===========================================================================
|
19
20
|
module Stellar
|
20
21
|
class CryptoKeyType < XDR::Enum
|
21
|
-
member :key_type_ed25519,
|
22
|
-
member :key_type_pre_auth_tx,
|
23
|
-
member :key_type_hash_x,
|
24
|
-
member :
|
22
|
+
member :key_type_ed25519, 0
|
23
|
+
member :key_type_pre_auth_tx, 1
|
24
|
+
member :key_type_hash_x, 2
|
25
|
+
member :key_type_ed25519_signed_payload, 3
|
26
|
+
member :key_type_muxed_ed25519, 256
|
25
27
|
|
26
28
|
seal
|
27
29
|
end
|
@@ -0,0 +1,22 @@
|
|
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 ExtensionPoint switch (int v)
|
9
|
+
# {
|
10
|
+
# case 0:
|
11
|
+
# void;
|
12
|
+
# };
|
13
|
+
#
|
14
|
+
# ===========================================================================
|
15
|
+
module Stellar
|
16
|
+
class ExtensionPoint < XDR::Union
|
17
|
+
switch_on XDR::Int, :v
|
18
|
+
|
19
|
+
switch 0
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
@@ -24,6 +24,8 @@ require 'xdr'
|
|
24
24
|
# case txNOT_SUPPORTED:
|
25
25
|
# // txFEE_BUMP_INNER_FAILED is not included
|
26
26
|
# case txBAD_SPONSORSHIP:
|
27
|
+
# case txBAD_MIN_SEQ_AGE_OR_GAP:
|
28
|
+
# case txMALFORMED:
|
27
29
|
# void;
|
28
30
|
# }
|
29
31
|
#
|
@@ -33,8 +35,8 @@ module Stellar
|
|
33
35
|
class Result < XDR::Union
|
34
36
|
switch_on TransactionResultCode, :code
|
35
37
|
|
36
|
-
switch :tx_success,
|
37
|
-
switch :tx_failed,
|
38
|
+
switch :tx_success, :results
|
39
|
+
switch :tx_failed, :results
|
38
40
|
switch :tx_too_early
|
39
41
|
switch :tx_too_late
|
40
42
|
switch :tx_missing_operation
|
@@ -47,6 +49,8 @@ module Stellar
|
|
47
49
|
switch :tx_internal_error
|
48
50
|
switch :tx_not_supported
|
49
51
|
switch :tx_bad_sponsorship
|
52
|
+
switch :tx_bad_min_seq_age_or_gap
|
53
|
+
switch :tx_malformed
|
50
54
|
|
51
55
|
attribute :results, XDR::VarArray[OperationResult]
|
52
56
|
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 LedgerBounds
|
9
|
+
# {
|
10
|
+
# uint32 minLedger;
|
11
|
+
# uint32 maxLedger; // 0 here means no maxLedger
|
12
|
+
# };
|
13
|
+
#
|
14
|
+
# ===========================================================================
|
15
|
+
module Stellar
|
16
|
+
class LedgerBounds < XDR::Struct
|
17
|
+
attribute :min_ledger, Uint32
|
18
|
+
attribute :max_ledger, Uint32
|
19
|
+
end
|
20
|
+
end
|
@@ -9,7 +9,7 @@ require 'xdr'
|
|
9
9
|
# {
|
10
10
|
# Asset assetA; // assetA < assetB
|
11
11
|
# Asset assetB;
|
12
|
-
# int32 fee;
|
12
|
+
# int32 fee; // Fee is in basis points, so the actual rate is (fee/100)%
|
13
13
|
# };
|
14
14
|
#
|
15
15
|
# ===========================================================================
|
@@ -8,10 +8,10 @@ require 'xdr'
|
|
8
8
|
# struct LiquidityPoolDepositOp
|
9
9
|
# {
|
10
10
|
# PoolID liquidityPoolID;
|
11
|
-
# int64 maxAmountA;
|
12
|
-
# int64 maxAmountB;
|
13
|
-
# Price minPrice;
|
14
|
-
# Price maxPrice;
|
11
|
+
# int64 maxAmountA; // maximum amount of first asset to deposit
|
12
|
+
# int64 maxAmountB; // maximum amount of second asset to deposit
|
13
|
+
# Price minPrice; // minimum depositA/depositB
|
14
|
+
# Price maxPrice; // maximum depositA/depositB
|
15
15
|
# };
|
16
16
|
#
|
17
17
|
# ===========================================================================
|
@@ -5,8 +5,7 @@ require 'xdr'
|
|
5
5
|
|
6
6
|
# === xdr source ============================================================
|
7
7
|
#
|
8
|
-
# union LiquidityPoolDepositResult switch (
|
9
|
-
# LiquidityPoolDepositResultCode code)
|
8
|
+
# union LiquidityPoolDepositResult switch (LiquidityPoolDepositResultCode code)
|
10
9
|
# {
|
11
10
|
# case LIQUIDITY_POOL_DEPOSIT_SUCCESS:
|
12
11
|
# void;
|
@@ -12,7 +12,8 @@ require 'xdr'
|
|
12
12
|
# int64 reserveA; // amount of A in the pool
|
13
13
|
# int64 reserveB; // amount of B in the pool
|
14
14
|
# int64 totalPoolShares; // total number of pool shares issued
|
15
|
-
# int64 poolSharesTrustLineCount; // number of trust lines for the
|
15
|
+
# int64 poolSharesTrustLineCount; // number of trust lines for the
|
16
|
+
# // associated pool shares
|
16
17
|
# }
|
17
18
|
#
|
18
19
|
# ===========================================================================
|
@@ -15,7 +15,8 @@ require 'xdr'
|
|
15
15
|
# int64 reserveA; // amount of A in the pool
|
16
16
|
# int64 reserveB; // amount of B in the pool
|
17
17
|
# int64 totalPoolShares; // total number of pool shares issued
|
18
|
-
# int64 poolSharesTrustLineCount; // number of trust lines for the
|
18
|
+
# int64 poolSharesTrustLineCount; // number of trust lines for the
|
19
|
+
# // associated pool shares
|
19
20
|
# } constantProduct;
|
20
21
|
# }
|
21
22
|
#
|
@@ -19,7 +19,8 @@ require 'xdr'
|
|
19
19
|
# int64 reserveA; // amount of A in the pool
|
20
20
|
# int64 reserveB; // amount of B in the pool
|
21
21
|
# int64 totalPoolShares; // total number of pool shares issued
|
22
|
-
# int64 poolSharesTrustLineCount; // number of trust lines for the
|
22
|
+
# int64 poolSharesTrustLineCount; // number of trust lines for the
|
23
|
+
# // associated pool shares
|
23
24
|
# } constantProduct;
|
24
25
|
# }
|
25
26
|
# body;
|
@@ -8,9 +8,9 @@ require 'xdr'
|
|
8
8
|
# struct LiquidityPoolWithdrawOp
|
9
9
|
# {
|
10
10
|
# PoolID liquidityPoolID;
|
11
|
-
# int64 amount;
|
12
|
-
# int64 minAmountA;
|
13
|
-
# int64 minAmountB;
|
11
|
+
# int64 amount; // amount of pool shares to withdraw
|
12
|
+
# int64 minAmountA; // minimum amount of first asset to withdraw
|
13
|
+
# int64 minAmountB; // minimum amount of second asset to withdraw
|
14
14
|
# };
|
15
15
|
#
|
16
16
|
# ===========================================================================
|
@@ -5,8 +5,7 @@ require 'xdr'
|
|
5
5
|
|
6
6
|
# === xdr source ============================================================
|
7
7
|
#
|
8
|
-
# union LiquidityPoolWithdrawResult switch (
|
9
|
-
# LiquidityPoolWithdrawResultCode code)
|
8
|
+
# union LiquidityPoolWithdrawResult switch (LiquidityPoolWithdrawResultCode code)
|
10
9
|
# {
|
11
10
|
# case LIQUIDITY_POOL_WITHDRAW_SUCCESS:
|
12
11
|
# void;
|
@@ -11,14 +11,14 @@ require 'xdr'
|
|
11
11
|
# LIQUIDITY_POOL_WITHDRAW_SUCCESS = 0,
|
12
12
|
#
|
13
13
|
# // codes considered as "failure" for the operation
|
14
|
-
# LIQUIDITY_POOL_WITHDRAW_MALFORMED = -1,
|
15
|
-
# LIQUIDITY_POOL_WITHDRAW_NO_TRUST = -2,
|
16
|
-
#
|
17
|
-
# LIQUIDITY_POOL_WITHDRAW_UNDERFUNDED = -3,
|
18
|
-
#
|
19
|
-
# LIQUIDITY_POOL_WITHDRAW_LINE_FULL = -4,
|
20
|
-
#
|
21
|
-
# LIQUIDITY_POOL_WITHDRAW_UNDER_MINIMUM = -5
|
14
|
+
# LIQUIDITY_POOL_WITHDRAW_MALFORMED = -1, // bad input
|
15
|
+
# LIQUIDITY_POOL_WITHDRAW_NO_TRUST = -2, // no trust line for one of the
|
16
|
+
# // assets
|
17
|
+
# LIQUIDITY_POOL_WITHDRAW_UNDERFUNDED = -3, // not enough balance of the
|
18
|
+
# // pool share
|
19
|
+
# LIQUIDITY_POOL_WITHDRAW_LINE_FULL = -4, // would go above limit for one
|
20
|
+
# // of the assets
|
21
|
+
# LIQUIDITY_POOL_WITHDRAW_UNDER_MINIMUM = -5 // didn't withdraw enough
|
22
22
|
# };
|
23
23
|
#
|
24
24
|
# ===========================================================================
|
@@ -29,7 +29,9 @@ require 'xdr'
|
|
29
29
|
# HELLO = 13,
|
30
30
|
#
|
31
31
|
# SURVEY_REQUEST = 14,
|
32
|
-
# SURVEY_RESPONSE = 15
|
32
|
+
# SURVEY_RESPONSE = 15,
|
33
|
+
#
|
34
|
+
# SEND_MORE = 16
|
33
35
|
# };
|
34
36
|
#
|
35
37
|
# ===========================================================================
|
@@ -50,6 +52,7 @@ module Stellar
|
|
50
52
|
member :hello, 13
|
51
53
|
member :survey_request, 14
|
52
54
|
member :survey_response, 15
|
55
|
+
member :send_more, 16
|
53
56
|
|
54
57
|
seal
|
55
58
|
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
|
+
# enum PreconditionType
|
9
|
+
# {
|
10
|
+
# PRECOND_NONE = 0,
|
11
|
+
# PRECOND_TIME = 1,
|
12
|
+
# PRECOND_V2 = 2
|
13
|
+
# };
|
14
|
+
#
|
15
|
+
# ===========================================================================
|
16
|
+
module Stellar
|
17
|
+
class PreconditionType < XDR::Enum
|
18
|
+
member :precond_none, 0
|
19
|
+
member :precond_time, 1
|
20
|
+
member :precond_v2, 2
|
21
|
+
|
22
|
+
seal
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,30 @@
|
|
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 Preconditions switch (PreconditionType type)
|
9
|
+
# {
|
10
|
+
# case PRECOND_NONE:
|
11
|
+
# void;
|
12
|
+
# case PRECOND_TIME:
|
13
|
+
# TimeBounds timeBounds;
|
14
|
+
# case PRECOND_V2:
|
15
|
+
# PreconditionsV2 v2;
|
16
|
+
# };
|
17
|
+
#
|
18
|
+
# ===========================================================================
|
19
|
+
module Stellar
|
20
|
+
class Preconditions < XDR::Union
|
21
|
+
switch_on PreconditionType, :type
|
22
|
+
|
23
|
+
switch :precond_none
|
24
|
+
switch :precond_time, :time_bounds
|
25
|
+
switch :precond_v2, :v2
|
26
|
+
|
27
|
+
attribute :time_bounds, TimeBounds
|
28
|
+
attribute :v2, PreconditionsV2
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,51 @@
|
|
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 PreconditionsV2
|
9
|
+
# {
|
10
|
+
# TimeBounds* timeBounds;
|
11
|
+
#
|
12
|
+
# // Transaction only valid for ledger numbers n such that
|
13
|
+
# // minLedger <= n < maxLedger (if maxLedger == 0, then
|
14
|
+
# // only minLedger is checked)
|
15
|
+
# LedgerBounds* ledgerBounds;
|
16
|
+
#
|
17
|
+
# // If NULL, only valid when sourceAccount's sequence number
|
18
|
+
# // is seqNum - 1. Otherwise, valid when sourceAccount's
|
19
|
+
# // sequence number n satisfies minSeqNum <= n < tx.seqNum.
|
20
|
+
# // Note that after execution the account's sequence number
|
21
|
+
# // is always raised to tx.seqNum, and a transaction is not
|
22
|
+
# // valid if tx.seqNum is too high to ensure replay protection.
|
23
|
+
# SequenceNumber* minSeqNum;
|
24
|
+
#
|
25
|
+
# // For the transaction to be valid, the current ledger time must
|
26
|
+
# // be at least minSeqAge greater than sourceAccount's seqTime.
|
27
|
+
# Duration minSeqAge;
|
28
|
+
#
|
29
|
+
# // For the transaction to be valid, the current ledger number
|
30
|
+
# // must be at least minSeqLedgerGap greater than sourceAccount's
|
31
|
+
# // seqLedger.
|
32
|
+
# uint32 minSeqLedgerGap;
|
33
|
+
#
|
34
|
+
# // For the transaction to be valid, there must be a signature
|
35
|
+
# // corresponding to every Signer in this array, even if the
|
36
|
+
# // signature is not otherwise required by the sourceAccount or
|
37
|
+
# // operations.
|
38
|
+
# SignerKey extraSigners<2>;
|
39
|
+
# };
|
40
|
+
#
|
41
|
+
# ===========================================================================
|
42
|
+
module Stellar
|
43
|
+
class PreconditionsV2 < XDR::Struct
|
44
|
+
attribute :time_bounds, XDR::Option[TimeBounds]
|
45
|
+
attribute :ledger_bounds, XDR::Option[LedgerBounds]
|
46
|
+
attribute :min_seq_num, XDR::Option[SequenceNumber]
|
47
|
+
attribute :min_seq_age, Duration
|
48
|
+
attribute :min_seq_ledger_gap, Uint32
|
49
|
+
attribute :extra_signers, XDR::VarArray[SignerKey, 2]
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,18 @@
|
|
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 SendMore
|
9
|
+
# {
|
10
|
+
# uint32 numMessages;
|
11
|
+
# };
|
12
|
+
#
|
13
|
+
# ===========================================================================
|
14
|
+
module Stellar
|
15
|
+
class SendMore < XDR::Struct
|
16
|
+
attribute :num_messages, Uint32
|
17
|
+
end
|
18
|
+
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
|
+
# /* Public key that must sign the payload. */
|
11
|
+
# uint256 ed25519;
|
12
|
+
# /* Payload to be raw signed by ed25519. */
|
13
|
+
# opaque payload<64>;
|
14
|
+
# }
|
15
|
+
#
|
16
|
+
# ===========================================================================
|
17
|
+
module Stellar
|
18
|
+
class SignerKey
|
19
|
+
class Ed25519SignedPayload < XDR::Struct
|
20
|
+
attribute :ed25519, Uint256
|
21
|
+
attribute :payload, XDR::VarOpaque[64]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -15,19 +15,33 @@ require 'xdr'
|
|
15
15
|
# case SIGNER_KEY_TYPE_HASH_X:
|
16
16
|
# /* Hash of random 256 bit preimage X */
|
17
17
|
# uint256 hashX;
|
18
|
+
# case SIGNER_KEY_TYPE_ED25519_SIGNED_PAYLOAD:
|
19
|
+
# struct
|
20
|
+
# {
|
21
|
+
# /* Public key that must sign the payload. */
|
22
|
+
# uint256 ed25519;
|
23
|
+
# /* Payload to be raw signed by ed25519. */
|
24
|
+
# opaque payload<64>;
|
25
|
+
# } ed25519SignedPayload;
|
18
26
|
# };
|
19
27
|
#
|
20
28
|
# ===========================================================================
|
21
29
|
module Stellar
|
22
30
|
class SignerKey < XDR::Union
|
31
|
+
include XDR::Namespace
|
32
|
+
|
33
|
+
autoload :Ed25519SignedPayload
|
34
|
+
|
23
35
|
switch_on SignerKeyType, :type
|
24
36
|
|
25
|
-
switch :signer_key_type_ed25519,
|
26
|
-
switch :signer_key_type_pre_auth_tx,
|
27
|
-
switch :signer_key_type_hash_x,
|
37
|
+
switch :signer_key_type_ed25519, :ed25519
|
38
|
+
switch :signer_key_type_pre_auth_tx, :pre_auth_tx
|
39
|
+
switch :signer_key_type_hash_x, :hash_x
|
40
|
+
switch :signer_key_type_ed25519_signed_payload, :ed25519_signed_payload
|
28
41
|
|
29
|
-
attribute :ed25519,
|
30
|
-
attribute :pre_auth_tx,
|
31
|
-
attribute :hash_x,
|
42
|
+
attribute :ed25519, Uint256
|
43
|
+
attribute :pre_auth_tx, Uint256
|
44
|
+
attribute :hash_x, Uint256
|
45
|
+
attribute :ed25519_signed_payload, Ed25519SignedPayload
|
32
46
|
end
|
33
47
|
end
|
@@ -9,15 +9,17 @@ require 'xdr'
|
|
9
9
|
# {
|
10
10
|
# SIGNER_KEY_TYPE_ED25519 = KEY_TYPE_ED25519,
|
11
11
|
# SIGNER_KEY_TYPE_PRE_AUTH_TX = KEY_TYPE_PRE_AUTH_TX,
|
12
|
-
# SIGNER_KEY_TYPE_HASH_X = KEY_TYPE_HASH_X
|
12
|
+
# SIGNER_KEY_TYPE_HASH_X = KEY_TYPE_HASH_X,
|
13
|
+
# SIGNER_KEY_TYPE_ED25519_SIGNED_PAYLOAD = KEY_TYPE_ED25519_SIGNED_PAYLOAD
|
13
14
|
# };
|
14
15
|
#
|
15
16
|
# ===========================================================================
|
16
17
|
module Stellar
|
17
18
|
class SignerKeyType < XDR::Enum
|
18
|
-
member :signer_key_type_ed25519,
|
19
|
-
member :signer_key_type_pre_auth_tx,
|
20
|
-
member :signer_key_type_hash_x,
|
19
|
+
member :signer_key_type_ed25519, 0
|
20
|
+
member :signer_key_type_pre_auth_tx, 1
|
21
|
+
member :signer_key_type_hash_x, 2
|
22
|
+
member :signer_key_type_ed25519_signed_payload, 3
|
21
23
|
|
22
24
|
seal
|
23
25
|
end
|
@@ -43,6 +43,8 @@ require 'xdr'
|
|
43
43
|
# SCPEnvelope envelope;
|
44
44
|
# case GET_SCP_STATE:
|
45
45
|
# uint32 getSCPLedgerSeq; // ledger seq requested ; if 0, requests the latest
|
46
|
+
# case SEND_MORE:
|
47
|
+
# SendMore sendMoreMessage;
|
46
48
|
# };
|
47
49
|
#
|
48
50
|
# ===========================================================================
|
@@ -65,6 +67,7 @@ module Stellar
|
|
65
67
|
switch :scp_quorumset, :q_set
|
66
68
|
switch :scp_message, :envelope
|
67
69
|
switch :get_scp_state, :get_scp_ledger_seq
|
70
|
+
switch :send_more, :send_more_message
|
68
71
|
|
69
72
|
attribute :error, Error
|
70
73
|
attribute :hello, Hello
|
@@ -80,5 +83,6 @@ module Stellar
|
|
80
83
|
attribute :q_set, SCPQuorumSet
|
81
84
|
attribute :envelope, SCPEnvelope
|
82
85
|
attribute :get_scp_ledger_seq, Uint32
|
86
|
+
attribute :send_more_message, SendMore
|
83
87
|
end
|
84
88
|
end
|
@@ -16,8 +16,8 @@ require 'xdr'
|
|
16
16
|
# // sequence number to consume in the account
|
17
17
|
# SequenceNumber seqNum;
|
18
18
|
#
|
19
|
-
# // validity
|
20
|
-
#
|
19
|
+
# // validity conditions
|
20
|
+
# Preconditions cond;
|
21
21
|
#
|
22
22
|
# Memo memo;
|
23
23
|
#
|
@@ -42,7 +42,7 @@ module Stellar
|
|
42
42
|
attribute :source_account, MuxedAccount
|
43
43
|
attribute :fee, Uint32
|
44
44
|
attribute :seq_num, SequenceNumber
|
45
|
-
attribute :
|
45
|
+
attribute :cond, Preconditions
|
46
46
|
attribute :memo, Memo
|
47
47
|
attribute :operations, XDR::VarArray[Operation, MAX_OPS_PER_TX]
|
48
48
|
attribute :ext, Ext
|
@@ -26,7 +26,10 @@ require 'xdr'
|
|
26
26
|
#
|
27
27
|
# txNOT_SUPPORTED = -12, // transaction type not supported
|
28
28
|
# txFEE_BUMP_INNER_FAILED = -13, // fee bump inner transaction failed
|
29
|
-
# txBAD_SPONSORSHIP = -14
|
29
|
+
# txBAD_SPONSORSHIP = -14, // sponsorship not confirmed
|
30
|
+
# txBAD_MIN_SEQ_AGE_OR_GAP =
|
31
|
+
# -15, // minSeqAge or minSeqLedgerGap conditions not met
|
32
|
+
# txMALFORMED = -16 // precondition is invalid
|
30
33
|
# };
|
31
34
|
#
|
32
35
|
# ===========================================================================
|
@@ -48,6 +51,8 @@ module Stellar
|
|
48
51
|
member :tx_not_supported, -12
|
49
52
|
member :tx_fee_bump_inner_failed, -13
|
50
53
|
member :tx_bad_sponsorship, -14
|
54
|
+
member :tx_bad_min_seq_age_or_gap, -15
|
55
|
+
member :tx_malformed, -16
|
51
56
|
|
52
57
|
seal
|
53
58
|
end
|
@@ -12,6 +12,7 @@ module Stellar
|
|
12
12
|
Int32 = XDR::Int
|
13
13
|
Uint64 = XDR::UnsignedHyper
|
14
14
|
Int64 = XDR::Hyper
|
15
|
+
autoload :ExtensionPoint
|
15
16
|
autoload :CryptoKeyType
|
16
17
|
autoload :PublicKeyType
|
17
18
|
autoload :SignerKeyType
|
@@ -34,6 +35,7 @@ module Stellar
|
|
34
35
|
String64 = XDR::String[64]
|
35
36
|
SequenceNumber = Int64
|
36
37
|
TimePoint = Uint64
|
38
|
+
Duration = Uint64
|
37
39
|
DataValue = XDR::VarOpaque[64]
|
38
40
|
PoolID = Hash
|
39
41
|
AssetCode4 = XDR::Opaque[4]
|
@@ -53,6 +55,7 @@ module Stellar
|
|
53
55
|
MASK_ACCOUNT_FLAGS_V17 = 0xF
|
54
56
|
MAX_SIGNERS = 20
|
55
57
|
SponsorshipDescriptor = XDR::Option[AccountID]
|
58
|
+
autoload :AccountEntryExtensionV3
|
56
59
|
autoload :AccountEntryExtensionV2
|
57
60
|
autoload :AccountEntryExtensionV1
|
58
61
|
autoload :AccountEntry
|
@@ -121,6 +124,10 @@ module Stellar
|
|
121
124
|
autoload :MemoType
|
122
125
|
autoload :Memo
|
123
126
|
autoload :TimeBounds
|
127
|
+
autoload :LedgerBounds
|
128
|
+
autoload :PreconditionsV2
|
129
|
+
autoload :PreconditionType
|
130
|
+
autoload :Preconditions
|
124
131
|
MAX_OPS_PER_TX = 100
|
125
132
|
autoload :TransactionV0
|
126
133
|
autoload :TransactionV0Envelope
|
@@ -234,6 +241,7 @@ module Stellar
|
|
234
241
|
|
235
242
|
autoload :ErrorCode
|
236
243
|
autoload :Error
|
244
|
+
autoload :SendMore
|
237
245
|
autoload :AuthCert
|
238
246
|
autoload :Hello
|
239
247
|
autoload :Auth
|
data/lib/stellar/transaction.rb
CHANGED
@@ -2,7 +2,18 @@ module Stellar
|
|
2
2
|
class TransactionBuilder
|
3
3
|
include Stellar::DSL
|
4
4
|
|
5
|
-
attr_reader :source_account, :sequence_number, :base_fee,
|
5
|
+
attr_reader :source_account, :sequence_number, :base_fee,
|
6
|
+
:time_bounds, :memo, :operations, :ledger_bounds
|
7
|
+
|
8
|
+
# If you want to prepare a transaction which will be valid only while the
|
9
|
+
# account sequence number is
|
10
|
+
#
|
11
|
+
# min_account_sequence <= source_account_sequence < tx.seq_num
|
12
|
+
#
|
13
|
+
# you can set min_account_sequence attribute
|
14
|
+
#
|
15
|
+
# Note that after execution the account's sequence number is always raised to `tx.seq_num`
|
16
|
+
attr_accessor :min_account_sequence
|
6
17
|
|
7
18
|
class << self
|
8
19
|
# This enable user to call shortcut methods, like
|
@@ -33,7 +44,12 @@ module Stellar
|
|
33
44
|
sequence_number:,
|
34
45
|
base_fee: 100,
|
35
46
|
time_bounds: nil,
|
47
|
+
ledger_bounds: nil,
|
36
48
|
memo: nil,
|
49
|
+
min_account_sequence: nil,
|
50
|
+
min_account_sequence_age: nil,
|
51
|
+
min_account_sequence_ledger_gap: nil,
|
52
|
+
extra_signers: [],
|
37
53
|
**_ # ignore any additional parameters without errors
|
38
54
|
)
|
39
55
|
raise ArgumentError, "Bad :sequence_number" unless sequence_number.is_a?(Integer) && sequence_number >= 0
|
@@ -44,6 +60,11 @@ module Stellar
|
|
44
60
|
@sequence_number = sequence_number
|
45
61
|
@base_fee = base_fee
|
46
62
|
@time_bounds = time_bounds
|
63
|
+
@ledger_bounds = ledger_bounds
|
64
|
+
@min_account_sequence = min_account_sequence
|
65
|
+
@min_account_sequence_age = min_account_sequence_age
|
66
|
+
@min_account_sequence_ledger_gap = min_account_sequence_ledger_gap
|
67
|
+
@extra_signers = extra_signers.clone
|
47
68
|
|
48
69
|
set_timeout(0) if time_bounds.nil?
|
49
70
|
|
@@ -64,9 +85,9 @@ module Stellar
|
|
64
85
|
source_account: @source_account.muxed_account,
|
65
86
|
fee: @base_fee * @operations.length,
|
66
87
|
seq_num: @sequence_number,
|
67
|
-
time_bounds: @time_bounds,
|
68
88
|
memo: @memo,
|
69
89
|
operations: @operations,
|
90
|
+
cond: build_preconditions,
|
70
91
|
ext: Stellar::Transaction::Ext.new(0)
|
71
92
|
}
|
72
93
|
|
@@ -136,6 +157,70 @@ module Stellar
|
|
136
157
|
self
|
137
158
|
end
|
138
159
|
|
160
|
+
# If you want to prepare a transaction which will only be valid within some
|
161
|
+
# range of ledgers, you can set a `ledger_bounds` precondition.
|
162
|
+
def set_ledger_bounds(min_ledger, max_ledger)
|
163
|
+
if min_ledger < 0
|
164
|
+
raise ArgumentError, "min_ledger cannot be negative"
|
165
|
+
end
|
166
|
+
|
167
|
+
if max_ledger < 0
|
168
|
+
raise ArgumentError, "max_ledger cannot be negative"
|
169
|
+
end
|
170
|
+
|
171
|
+
if max_ledger > 0 && min_ledger > max_ledger
|
172
|
+
raise ArgumentError, "min_ledger cannot be greater than max_ledger"
|
173
|
+
end
|
174
|
+
|
175
|
+
@ledger_bounds = Stellar::LedgerBounds.new(
|
176
|
+
min_ledger: min_ledger,
|
177
|
+
max_ledger: max_ledger
|
178
|
+
)
|
179
|
+
|
180
|
+
self
|
181
|
+
end
|
182
|
+
|
183
|
+
# For the transaction to be valid, the current ledger time must be at least
|
184
|
+
# `min_account_sequence_age` greater than source account's `sequence_time`
|
185
|
+
def min_account_sequence_age=(duration_in_seconds)
|
186
|
+
unless duration_in_seconds.is_a?(Integer)
|
187
|
+
raise ArgumentError, "min_account_sequence_age must be a number"
|
188
|
+
end
|
189
|
+
|
190
|
+
if duration_in_seconds < 0
|
191
|
+
raise ArgumentError, "min_account_sequence_age cannot be negative"
|
192
|
+
end
|
193
|
+
|
194
|
+
@min_account_sequence_age = duration_in_seconds
|
195
|
+
end
|
196
|
+
|
197
|
+
# For the transaction to be valid, the current ledger number must be at least
|
198
|
+
# `minAccountSequenceLedgerGap` greater than sourceAccount's ledger sequence.
|
199
|
+
def min_account_sequence_ledger_gap=(gap)
|
200
|
+
if gap < 0
|
201
|
+
raise ArgumentError, "min_account_sequence_ledger_gap cannot be negative"
|
202
|
+
end
|
203
|
+
|
204
|
+
@min_account_sequence_ledger_gap = gap
|
205
|
+
end
|
206
|
+
|
207
|
+
# For the transaction to be valid, there must be a signature corresponding to
|
208
|
+
# every Signer in this array, even if the signature is not otherwise required
|
209
|
+
# by the sourceAccount or operations
|
210
|
+
def set_extra_signers(extra_signers)
|
211
|
+
unless extra_signers.is_a?(Array)
|
212
|
+
raise ArgumentError, "extra_signers must be an array of strings"
|
213
|
+
end
|
214
|
+
|
215
|
+
if extra_signers.size > 2
|
216
|
+
raise ArgumentError, "extra_signers cannot be longer than 2 elements"
|
217
|
+
end
|
218
|
+
|
219
|
+
@extra_signers = extra_signers.clone
|
220
|
+
|
221
|
+
self
|
222
|
+
end
|
223
|
+
|
139
224
|
def set_memo(memo)
|
140
225
|
@memo = make_memo(memo)
|
141
226
|
self
|
@@ -164,5 +249,33 @@ module Stellar
|
|
164
249
|
raise ArgumentError, "Bad :memo"
|
165
250
|
end
|
166
251
|
end
|
252
|
+
|
253
|
+
private
|
254
|
+
|
255
|
+
def has_v2_preconditions?
|
256
|
+
!(
|
257
|
+
@ledger_bounds.nil? &&
|
258
|
+
@min_account_sequence.nil? &&
|
259
|
+
@min_account_sequence_age.nil? &&
|
260
|
+
@extra_signers.empty? &&
|
261
|
+
@min_account_sequence_ledger_gap.nil?
|
262
|
+
)
|
263
|
+
end
|
264
|
+
|
265
|
+
def build_preconditions
|
266
|
+
return Stellar::Preconditions.new(:precond_time, @time_bounds) unless has_v2_preconditions?
|
267
|
+
|
268
|
+
Stellar::Preconditions.new(
|
269
|
+
:precond_v2,
|
270
|
+
Stellar::PreconditionsV2.new(
|
271
|
+
time_bounds: @time_bounds,
|
272
|
+
ledger_bounds: @ledger_bounds,
|
273
|
+
min_seq_num: @min_account_sequence,
|
274
|
+
min_seq_age: @min_account_sequence_age,
|
275
|
+
min_seq_ledger_gap: @min_account_sequence_ledger_gap,
|
276
|
+
extra_signers: @extra_signers.map { |signer| SignerKey(signer) }
|
277
|
+
)
|
278
|
+
)
|
279
|
+
end
|
167
280
|
end
|
168
281
|
end
|
@@ -3,7 +3,11 @@ module Stellar
|
|
3
3
|
include Stellar::Concerns::Transaction
|
4
4
|
|
5
5
|
def to_v1
|
6
|
-
Transaction.new(
|
6
|
+
Transaction.new(
|
7
|
+
**attributes.except(:source_account_ed25519, :time_bounds),
|
8
|
+
cond: Stellar::Preconditions.new(:precond_time, time_bounds),
|
9
|
+
source_account: source_account
|
10
|
+
)
|
7
11
|
end
|
8
12
|
|
9
13
|
def to_envelope(*key_pairs)
|
data/lib/stellar/util/strkey.rb
CHANGED
@@ -9,7 +9,8 @@ module Stellar
|
|
9
9
|
seed: [18 << 3].pack("C"), # Base32-encodes to 'S...'
|
10
10
|
pre_auth_tx: [19 << 3].pack("C"), # Base32-encodes to 'T...'
|
11
11
|
hash_x: [23 << 3].pack("C"), # Base32-encodes to 'X...'
|
12
|
-
muxed: [12 << 3].pack("C") # Base32-encodes to 'M...'
|
12
|
+
muxed: [12 << 3].pack("C"), # Base32-encodes to 'M...'
|
13
|
+
signed_payload: [15 << 3].pack("C") # Base32-encodes to 'P...'
|
13
14
|
}
|
14
15
|
|
15
16
|
def self.check_encode(version, byte_str)
|
@@ -50,6 +51,19 @@ module Stellar
|
|
50
51
|
end
|
51
52
|
end
|
52
53
|
|
54
|
+
# @param payload [Stellar::SignerKey::Ed25519SignedPayload]
|
55
|
+
# @return [String] "P.."-like address
|
56
|
+
def self.encode_signed_payload(payload)
|
57
|
+
check_encode(:signed_payload, payload.to_xdr)
|
58
|
+
end
|
59
|
+
|
60
|
+
# @param strkey [String] address string to decode
|
61
|
+
# @return [Stellar::SignerKey::Ed25519SignedPayload]
|
62
|
+
def self.decode_signed_payload(strkey)
|
63
|
+
raw = check_decode(:signed_payload, strkey)
|
64
|
+
Stellar::SignerKey::Ed25519SignedPayload.from_xdr(raw, :raw)
|
65
|
+
end
|
66
|
+
|
53
67
|
def self.check_decode(expected_version, str)
|
54
68
|
decoded = begin
|
55
69
|
Base32.decode(str)
|
data/lib/stellar/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stellar-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.32.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Fleckenstein
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2022-
|
13
|
+
date: 2022-05-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -133,6 +133,7 @@ files:
|
|
133
133
|
- generated/stellar/account_entry_extension_v1/ext.rb
|
134
134
|
- generated/stellar/account_entry_extension_v2.rb
|
135
135
|
- generated/stellar/account_entry_extension_v2/ext.rb
|
136
|
+
- generated/stellar/account_entry_extension_v3.rb
|
136
137
|
- generated/stellar/account_flags.rb
|
137
138
|
- generated/stellar/account_merge_result.rb
|
138
139
|
- generated/stellar/account_merge_result_code.rb
|
@@ -207,6 +208,7 @@ files:
|
|
207
208
|
- generated/stellar/envelope_type.rb
|
208
209
|
- generated/stellar/error.rb
|
209
210
|
- generated/stellar/error_code.rb
|
211
|
+
- generated/stellar/extension_point.rb
|
210
212
|
- generated/stellar/fee_bump_transaction.rb
|
211
213
|
- generated/stellar/fee_bump_transaction/ext.rb
|
212
214
|
- generated/stellar/fee_bump_transaction/inner_tx.rb
|
@@ -225,6 +227,7 @@ files:
|
|
225
227
|
- generated/stellar/inner_transaction_result/result.rb
|
226
228
|
- generated/stellar/inner_transaction_result_pair.rb
|
227
229
|
- generated/stellar/ip_addr_type.rb
|
230
|
+
- generated/stellar/ledger_bounds.rb
|
228
231
|
- generated/stellar/ledger_close_meta.rb
|
229
232
|
- generated/stellar/ledger_close_meta_v0.rb
|
230
233
|
- generated/stellar/ledger_close_value_signature.rb
|
@@ -307,6 +310,9 @@ files:
|
|
307
310
|
- generated/stellar/peer_address.rb
|
308
311
|
- generated/stellar/peer_address/ip.rb
|
309
312
|
- generated/stellar/peer_stats.rb
|
313
|
+
- generated/stellar/precondition_type.rb
|
314
|
+
- generated/stellar/preconditions.rb
|
315
|
+
- generated/stellar/preconditions_v2.rb
|
310
316
|
- generated/stellar/price.rb
|
311
317
|
- generated/stellar/public_key.rb
|
312
318
|
- generated/stellar/public_key_type.rb
|
@@ -327,6 +333,7 @@ files:
|
|
327
333
|
- generated/stellar/scp_statement/pledges/externalize.rb
|
328
334
|
- generated/stellar/scp_statement/pledges/prepare.rb
|
329
335
|
- generated/stellar/scp_statement_type.rb
|
336
|
+
- generated/stellar/send_more.rb
|
330
337
|
- generated/stellar/set_options_op.rb
|
331
338
|
- generated/stellar/set_options_result.rb
|
332
339
|
- generated/stellar/set_options_result_code.rb
|
@@ -337,6 +344,7 @@ files:
|
|
337
344
|
- generated/stellar/signed_survey_response_message.rb
|
338
345
|
- generated/stellar/signer.rb
|
339
346
|
- generated/stellar/signer_key.rb
|
347
|
+
- generated/stellar/signer_key/ed25519_signed_payload.rb
|
340
348
|
- generated/stellar/signer_key_type.rb
|
341
349
|
- generated/stellar/simple_payment_result.rb
|
342
350
|
- generated/stellar/stellar_message.rb
|
@@ -421,11 +429,11 @@ licenses:
|
|
421
429
|
- Apache-2.0
|
422
430
|
metadata:
|
423
431
|
bug_tracker_uri: https://github.com/astroband/ruby-stellar-sdk/issues
|
424
|
-
changelog_uri: https://github.com/astroband/ruby-stellar-sdk/blob/v0.
|
425
|
-
documentation_uri: https://rubydoc.info/gems/stellar-base/0.
|
432
|
+
changelog_uri: https://github.com/astroband/ruby-stellar-sdk/blob/v0.32.0/base/CHANGELOG.md
|
433
|
+
documentation_uri: https://rubydoc.info/gems/stellar-base/0.32.0/
|
426
434
|
github_repo: ssh://github.com/astroband/ruby-stellar-sdk
|
427
435
|
homepage_uri: https://github.com/astroband/ruby-stellar-sdk/tree/main/base
|
428
|
-
source_code_uri: https://github.com/astroband/ruby-stellar-sdk/tree/v0.
|
436
|
+
source_code_uri: https://github.com/astroband/ruby-stellar-sdk/tree/v0.32.0/base
|
429
437
|
post_install_message:
|
430
438
|
rdoc_options: []
|
431
439
|
require_paths:
|
@@ -442,7 +450,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
442
450
|
- !ruby/object:Gem::Version
|
443
451
|
version: '0'
|
444
452
|
requirements: []
|
445
|
-
rubygems_version: 3.
|
453
|
+
rubygems_version: 3.1.6
|
446
454
|
signing_key:
|
447
455
|
specification_version: 4
|
448
456
|
summary: 'Stellar client library: XDR'
|