1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
use base64::DecodeError;
use hex::FromHexError;

#[cfg(feature = "offchain")]
use crate::horizon::FetchError;

#[derive(Debug, Clone, PartialEq)]
pub enum StellarSdkError {
    InvalidBase32Character {
        at_position: usize,
    },

    /// The encoding can be decoded but is not the canonical encoding of the underlying binary key
    InvalidStellarKeyEncoding,

    /// The encoding has an invalid length
    InvalidStellarKeyEncodingLength,

    /// The initial version byte is invalid for this `EncodableKey`
    InvalidStellarKeyEncodingVersion {
        expected_version: char,
        found_version: char,
    },

    /// The checksum in the encoding is invaliid
    InvalidStellarKeyChecksum {
        expected: u16,
        found: u16,
    },

    /// The signature has an invalid length
    InvalidSignatureLength {
        found_length: usize,
        expected_length: usize,
    },
    /// Verification for this public key failed
    PublicKeyCantVerify,

    /// The base64 encoding of the signature is invalid
    InvalidBase64Encoding(DecodeError),

    /// The transaction envelope already has the maximal number of signatures (20)
    TooManySignatures,

    AssetCodeTooLong,

    InvalidAssetCodeCharacter,

    ExceedsMaximumLength {
        requested_length: usize,
        allowed_length: i32,
    },

    InvalidHexEncoding(FromHexError),

    InvalidHashLength {
        found_length: usize,
        expected_length: usize,
    },

    NotApproximableAsFraction,

    InvalidPrice,

    InvalidTrustLineLimit,

    InvalidAuthorizeFlag,

    InvalidAmountString,

    AmountOverflow,

    AmountNegative,

    AmountNonPositive,

    InvalidBinaryLength {
        found_length: usize,
        expected_length: usize,
    },

    InvalidBalanceId,

    EmptyClaimants,

    InvalidSignerWeight,

    CantWrapFeeBumpTransaction,

    #[cfg(feature = "offchain")]
    FetchError(FetchError),
}