stellar-base 0.31.0 → 0.32.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 +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'
|