From 98c48d4987b1be7a7cc84de36c8bb2d2e5e02eb6 Mon Sep 17 00:00:00 2001 From: overcat <4catcode@gmail.com> Date: Thu, 21 Sep 2023 20:07:00 +0800 Subject: [PATCH 01/17] Remove commons-codec:commons-codec:1.16.0 and add a base32 copy. --- build.gradle.kts | 1 - .../java/org/stellar/sdk/ApacheCodec.java | 2128 +++++++++++++++++ src/main/java/org/stellar/sdk/StrKey.java | 7 +- 3 files changed, 2131 insertions(+), 5 deletions(-) create mode 100644 src/main/java/org/stellar/sdk/ApacheCodec.java diff --git a/build.gradle.kts b/build.gradle.kts index 5c82b97c0..9e250cbae 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -36,7 +36,6 @@ dependencies { implementation("com.moandjiezana.toml:toml4j:0.7.2") implementation("com.google.code.gson:gson:2.10.1") implementation("net.i2p.crypto:eddsa:0.3.0") - implementation("commons-codec:commons-codec:1.16.0") testImplementation("org.mockito:mockito-core:5.5.0") testImplementation("com.squareup.okhttp3:mockwebserver:${okhttpVersion}") diff --git a/src/main/java/org/stellar/sdk/ApacheCodec.java b/src/main/java/org/stellar/sdk/ApacheCodec.java new file mode 100644 index 000000000..f96a837c4 --- /dev/null +++ b/src/main/java/org/stellar/sdk/ApacheCodec.java @@ -0,0 +1,2128 @@ +package org.stellar.sdk; + +import static org.stellar.sdk.ApacheCodec.BaseNCodec.EOF; + +import java.io.FilterOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.Objects; + +/** + * Copy from commons-codec:commons-codec:1.16.0 + * + *
This is a compromise, because the Android platform built-in with commons-codec:commons-codec: + * 1.3.0 version in API < 28, which does not include the Base32 module. See the issue + */ +class ApacheCodec { + enum CodecPolicy { + + /** The strict policy. Data that causes a codec to fail should throw an exception. */ + STRICT, + + /** The lenient policy. Data that causes a codec to fail should not throw an exception. */ + LENIENT + } + + static class Base32 extends BaseNCodec { + + /** + * BASE32 characters are 5 bits in length. They are formed by taking a block of five octets to + * form a 40-bit string, which is converted into eight BASE32 characters. + */ + private static final int BITS_PER_ENCODED_BYTE = 5; + + private static final int BYTES_PER_ENCODED_BLOCK = 8; + private static final int BYTES_PER_UNENCODED_BLOCK = 5; + + /** + * This array is a lookup table that translates Unicode characters drawn from the "Base32 + * Alphabet" (as specified in Table 3 of RFC 4648) into their 5-bit positive integer + * equivalents. Characters that are not in the Base32 alphabet but fall within the bounds of the + * array are translated to -1. + */ + private static final byte[] DECODE_TABLE = { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, // 00-0f + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, // 10-1f + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, // 20-2f + -1, + -1, + 26, + 27, + 28, + 29, + 30, + 31, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, // 30-3f 2-7 + -1, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, // 40-4f A-O + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, // 50-5a P-Z + -1, + -1, + -1, + -1, + -1, // 5b-5f + -1, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, // 60-6f a-o + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, // 70-7a p-z + }; + + /** + * This array is a lookup table that translates 5-bit positive integer index values into their + * "Base32 Alphabet" equivalents as specified in Table 3 of RFC 4648. + */ + private static final byte[] ENCODE_TABLE = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + '2', '3', '4', '5', '6', '7', + }; + + /** + * This array is a lookup table that translates Unicode characters drawn from the "Base32 Hex + * Alphabet" (as specified in Table 4 of RFC 4648) into their 5-bit positive integer + * equivalents. Characters that are not in the Base32 Hex alphabet but fall within the bounds of + * the array are translated to -1. + */ + private static final byte[] HEX_DECODE_TABLE = { + // 0 1 2 3 4 5 6 7 8 9 A B C D E F + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, // 00-0f + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, // 10-1f + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, // 20-2f + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + -1, + -1, + -1, + -1, + -1, + -1, // 30-3f 0-9 + -1, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, // 40-4f A-O + 25, + 26, + 27, + 28, + 29, + 30, + 31, // 50-56 P-V + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, // 57-5f + -1, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, // 60-6f a-o + 25, + 26, + 27, + 28, + 29, + 30, + 31 // 70-76 p-v + }; + + /** + * This array is a lookup table that translates 5-bit positive integer index values into their + * "Base32 Hex Alphabet" equivalents as specified in Table 4 of RFC 4648. + */ + private static final byte[] HEX_ENCODE_TABLE = { + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', + 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', + }; + + /** Mask used to extract 5 bits, used when encoding Base32 bytes */ + private static final int MASK_5BITS = 0x1f; + + /** Mask used to extract 4 bits, used when decoding final trailing character. */ + private static final long MASK_4BITS = 0x0fL; + + /** Mask used to extract 3 bits, used when decoding final trailing character. */ + private static final long MASK_3BITS = 0x07L; + + /** Mask used to extract 2 bits, used when decoding final trailing character. */ + private static final long MASK_2BITS = 0x03L; + + /** Mask used to extract 1 bits, used when decoding final trailing character. */ + private static final long MASK_1BITS = 0x01L; + + // The static final fields above are used for the original static byte[] methods on Base32. + // The private member fields below are used with the new streaming approach, which requires + // some state be preserved between calls of encode() and decode(). + + /** + * Convenience variable to help us determine when our buffer is going to run out of room and + * needs resizing. {@code decodeSize = {@link #BYTES_PER_ENCODED_BLOCK} - 1 + + * lineSeparator.length;} + */ + private final int decodeSize; + + /** Decode table to use. */ + private final byte[] decodeTable; + + /** + * Convenience variable to help us determine when our buffer is going to run out of room and + * needs resizing. {@code encodeSize = {@link #BYTES_PER_ENCODED_BLOCK} + lineSeparator.length;} + */ + private final int encodeSize; + + /** Encode table to use. */ + private final byte[] encodeTable; + + /** Line separator for encoding. Not used when decoding. Only used if lineLength > 0. */ + private final byte[] lineSeparator; + + /** + * Creates a Base32 codec used for decoding and encoding. + * + *
When encoding the line length is 0 (no chunking). + */ + public Base32() { + this(false); + } + + /** + * Creates a Base32 codec used for decoding and encoding. + * + *
When encoding the line length is 0 (no chunking). + * + * @param useHex if {@code true} then use Base32 Hex alphabet + */ + public Base32(final boolean useHex) { + this(0, null, useHex, PAD_DEFAULT); + } + + /** + * Creates a Base32 codec used for decoding and encoding. + * + *
When encoding the line length is 0 (no chunking). + * + * @param useHex if {@code true} then use Base32 Hex alphabet + * @param padding byte used as padding byte. + */ + public Base32(final boolean useHex, final byte padding) { + this(0, null, useHex, padding); + } + + /** + * Creates a Base32 codec used for decoding and encoding. + * + *
When encoding the line length is 0 (no chunking). + * + * @param pad byte used as padding byte. + */ + public Base32(final byte pad) { + this(false, pad); + } + + /** + * Creates a Base32 codec used for decoding and encoding. + * + *
When encoding the line length is given in the constructor, the line separator is CRLF. + * + * @param lineLength Each line of encoded data will be at most of the given length (rounded down + * to the nearest multiple of 8). If lineLength <= 0, then the output will not be divided + * into lines (chunks). Ignored when decoding. + */ + public Base32(final int lineLength) { + this(lineLength, CHUNK_SEPARATOR); + } + + /** + * Creates a Base32 codec used for decoding and encoding. + * + *
When encoding the line length and line separator are given in the constructor. + * + *
Line lengths that aren't multiples of 8 will still essentially end up being multiples of 8 + * in the encoded data. + * + * @param lineLength Each line of encoded data will be at most of the given length (rounded down + * to the nearest multiple of 8). If lineLength <= 0, then the output will not be divided + * into lines (chunks). Ignored when decoding. + * @param lineSeparator Each line of encoded data will end with this sequence of bytes. + * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base32 + * characters. + */ + public Base32(final int lineLength, final byte[] lineSeparator) { + this(lineLength, lineSeparator, false, PAD_DEFAULT); + } + + /** + * Creates a Base32 / Base32 Hex codec used for decoding and encoding. + * + *
When encoding the line length and line separator are given in the constructor. + * + *
Line lengths that aren't multiples of 8 will still essentially end up being multiples of 8 + * in the encoded data. + * + * @param lineLength Each line of encoded data will be at most of the given length (rounded down + * to the nearest multiple of 8). If lineLength <= 0, then the output will not be divided + * into lines (chunks). Ignored when decoding. + * @param lineSeparator Each line of encoded data will end with this sequence of bytes. + * @param useHex if {@code true}, then use Base32 Hex alphabet, otherwise use Base32 alphabet + * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base32 + * characters. Or the lineLength > 0 and lineSeparator is null. + */ + public Base32(final int lineLength, final byte[] lineSeparator, final boolean useHex) { + this(lineLength, lineSeparator, useHex, PAD_DEFAULT); + } + + /** + * Creates a Base32 / Base32 Hex codec used for decoding and encoding. + * + *
When encoding the line length and line separator are given in the constructor. + * + *
Line lengths that aren't multiples of 8 will still essentially end up being multiples of 8 + * in the encoded data. + * + * @param lineLength Each line of encoded data will be at most of the given length (rounded down + * to the nearest multiple of 8). If lineLength <= 0, then the output will not be divided + * into lines (chunks). Ignored when decoding. + * @param lineSeparator Each line of encoded data will end with this sequence of bytes. + * @param useHex if {@code true}, then use Base32 Hex alphabet, otherwise use Base32 alphabet + * @param padding byte used as padding byte. + * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base32 + * characters. Or the lineLength > 0 and lineSeparator is null. + */ + public Base32( + final int lineLength, + final byte[] lineSeparator, + final boolean useHex, + final byte padding) { + this(lineLength, lineSeparator, useHex, padding, DECODING_POLICY_DEFAULT); + } + + /** + * Creates a Base32 / Base32 Hex codec used for decoding and encoding. + * + *
When encoding the line length and line separator are given in the constructor. + * + *
Line lengths that aren't multiples of 8 will still essentially end up being multiples of 8 + * in the encoded data. + * + * @param lineLength Each line of encoded data will be at most of the given length (rounded down + * to the nearest multiple of 8). If lineLength <= 0, then the output will not be divided + * into lines (chunks). Ignored when decoding. + * @param lineSeparator Each line of encoded data will end with this sequence of bytes. + * @param useHex if {@code true}, then use Base32 Hex alphabet, otherwise use Base32 alphabet + * @param padding byte used as padding byte. + * @param decodingPolicy The decoding policy. + * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base32 + * characters. Or the lineLength > 0 and lineSeparator is null. + * @since 1.15 + */ + public Base32( + final int lineLength, + final byte[] lineSeparator, + final boolean useHex, + final byte padding, + final CodecPolicy decodingPolicy) { + super( + BYTES_PER_UNENCODED_BLOCK, + BYTES_PER_ENCODED_BLOCK, + lineLength, + lineSeparator == null ? 0 : lineSeparator.length, + padding, + decodingPolicy); + if (useHex) { + this.encodeTable = HEX_ENCODE_TABLE; + this.decodeTable = HEX_DECODE_TABLE; + } else { + this.encodeTable = ENCODE_TABLE; + this.decodeTable = DECODE_TABLE; + } + if (lineLength > 0) { + if (lineSeparator == null) { + throw new IllegalArgumentException( + "lineLength " + lineLength + " > 0, but lineSeparator is null"); + } + // Must be done after initializing the tables + if (containsAlphabetOrPad(lineSeparator)) { + final String sep = StringUtils.newStringUtf8(lineSeparator); + throw new IllegalArgumentException( + "lineSeparator must not contain Base32 characters: [" + sep + "]"); + } + this.encodeSize = BYTES_PER_ENCODED_BLOCK + lineSeparator.length; + this.lineSeparator = lineSeparator.clone(); + } else { + this.encodeSize = BYTES_PER_ENCODED_BLOCK; + this.lineSeparator = null; + } + this.decodeSize = this.encodeSize - 1; + + if (isInAlphabet(padding) || Character.isWhitespace(padding)) { + throw new IllegalArgumentException("pad must not be in alphabet or whitespace"); + } + } + + /** + * Decodes all of the provided data, starting at inPos, for inAvail bytes. Should be called at + * least twice: once with the data to decode, and once with inAvail set to "-1" to alert decoder + * that EOF has been reached. The "-1" call is not necessary when decoding, but it doesn't hurt, + * either. + * + *
Ignores all non-Base32 characters. This is how chunked (e.g. 76 character) data is + * handled, since CR and LF are silently ignored, but has implications for other bytes, too. + * This method subscribes to the garbage-in, garbage-out philosophy: it will not check the + * provided data for validity. + * + * @param input byte[] array of ASCII data to Base32 decode. + * @param inPos Position to start reading data from. + * @param inAvail Amount of bytes available from input for decoding. + * @param context the context to be used + */ + @Override + void decode(final byte[] input, int inPos, final int inAvail, final Context context) { + // package protected for access from I/O streams + + if (context.eof) { + return; + } + if (inAvail < 0) { + context.eof = true; + } + for (int i = 0; i < inAvail; i++) { + final byte b = input[inPos++]; + if (b == pad) { + // We're done. + context.eof = true; + break; + } + final byte[] buffer = ensureBufferSize(decodeSize, context); + if (b >= 0 && b < this.decodeTable.length) { + final int result = this.decodeTable[b]; + if (result >= 0) { + context.modulus = (context.modulus + 1) % BYTES_PER_ENCODED_BLOCK; + // collect decoded bytes + context.lbitWorkArea = (context.lbitWorkArea << BITS_PER_ENCODED_BYTE) + result; + if (context.modulus == 0) { // we can output the 5 bytes + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 32) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 24) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 16) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 8) & MASK_8BITS); + buffer[context.pos++] = (byte) (context.lbitWorkArea & MASK_8BITS); + } + } + } + } + + // Two forms of EOF as far as Base32 decoder is concerned: actual + // EOF (-1) and first time '=' character is encountered in stream. + // This approach makes the '=' padding characters completely optional. + if (context.eof && context.modulus > 0) { // if modulus == 0, nothing to do + final byte[] buffer = ensureBufferSize(decodeSize, context); + + // We ignore partial bytes, i.e. only multiples of 8 count. + // Any combination not part of a valid encoding is either partially decoded + // or will raise an exception. Possible trailing characters are 2, 4, 5, 7. + // It is not possible to encode with 1, 3, 6 trailing characters. + // For backwards compatibility 3 & 6 chars are decoded anyway rather than discarded. + // See the encode(byte[]) method EOF section. + switch (context.modulus) { + // case 0 : // impossible, as excluded above + case 1: // 5 bits - either ignore entirely, or raise an exception + validateTrailingCharacters(); + case 2: // 10 bits, drop 2 and output one byte + validateCharacter(MASK_2BITS, context); + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 2) & MASK_8BITS); + break; + case 3: // 15 bits, drop 7 and output 1 byte, or raise an exception + validateTrailingCharacters(); + // Not possible from a valid encoding but decode anyway + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 7) & MASK_8BITS); + break; + case 4: // 20 bits = 2*8 + 4 + validateCharacter(MASK_4BITS, context); + context.lbitWorkArea = context.lbitWorkArea >> 4; // drop 4 bits + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 8) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea) & MASK_8BITS); + break; + case 5: // 25 bits = 3*8 + 1 + validateCharacter(MASK_1BITS, context); + context.lbitWorkArea = context.lbitWorkArea >> 1; + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 16) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 8) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea) & MASK_8BITS); + break; + case 6: // 30 bits = 3*8 + 6, or raise an exception + validateTrailingCharacters(); + // Not possible from a valid encoding but decode anyway + context.lbitWorkArea = context.lbitWorkArea >> 6; + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 16) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 8) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea) & MASK_8BITS); + break; + case 7: // 35 bits = 4*8 +3 + validateCharacter(MASK_3BITS, context); + context.lbitWorkArea = context.lbitWorkArea >> 3; + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 24) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 16) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea >> 8) & MASK_8BITS); + buffer[context.pos++] = (byte) ((context.lbitWorkArea) & MASK_8BITS); + break; + default: + // modulus can be 0-7, and we excluded 0,1 already + throw new IllegalStateException("Impossible modulus " + context.modulus); + } + } + } + + /** + * Encodes all of the provided data, starting at inPos, for inAvail bytes. Must be called at + * least twice: once with the data to encode, and once with inAvail set to "-1" to alert encoder + * that EOF has been reached, so flush last remaining bytes (if not multiple of 5). + * + * @param input byte[] array of binary data to Base32 encode. + * @param inPos Position to start reading data from. + * @param inAvail Amount of bytes available from input for encoding. + * @param context the context to be used + */ + @Override + void encode(final byte[] input, int inPos, final int inAvail, final Context context) { + // package protected for access from I/O streams + + if (context.eof) { + return; + } + // inAvail < 0 is how we're informed of EOF in the underlying data we're + // encoding. + if (inAvail < 0) { + context.eof = true; + if (0 == context.modulus && lineLength == 0) { + return; // no leftovers to process and not using chunking + } + final byte[] buffer = ensureBufferSize(encodeSize, context); + final int savedPos = context.pos; + switch (context.modulus) { // % 5 + case 0: + break; + case 1: // Only 1 octet; take top 5 bits then remainder + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 3) & MASK_5BITS]; // 8-1*5 = 3 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea << 2) & MASK_5BITS]; // 5-3=2 + buffer[context.pos++] = pad; + buffer[context.pos++] = pad; + buffer[context.pos++] = pad; + buffer[context.pos++] = pad; + buffer[context.pos++] = pad; + buffer[context.pos++] = pad; + break; + case 2: // 2 octets = 16 bits to use + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 11) & MASK_5BITS]; // 16-1*5 = 11 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 6) & MASK_5BITS]; // 16-2*5 = 6 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 1) & MASK_5BITS]; // 16-3*5 = 1 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea << 4) & MASK_5BITS]; // 5-1 = 4 + buffer[context.pos++] = pad; + buffer[context.pos++] = pad; + buffer[context.pos++] = pad; + buffer[context.pos++] = pad; + break; + case 3: // 3 octets = 24 bits to use + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 19) & MASK_5BITS]; // 24-1*5 = 19 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 14) & MASK_5BITS]; // 24-2*5 = 14 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 9) & MASK_5BITS]; // 24-3*5 = 9 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 4) & MASK_5BITS]; // 24-4*5 = 4 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea << 1) & MASK_5BITS]; // 5-4 = 1 + buffer[context.pos++] = pad; + buffer[context.pos++] = pad; + buffer[context.pos++] = pad; + break; + case 4: // 4 octets = 32 bits to use + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 27) & MASK_5BITS]; // 32-1*5 = 27 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 22) & MASK_5BITS]; // 32-2*5 = 22 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 17) & MASK_5BITS]; // 32-3*5 = 17 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 12) & MASK_5BITS]; // 32-4*5 = 12 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 7) & MASK_5BITS]; // 32-5*5 = 7 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea >> 2) & MASK_5BITS]; // 32-6*5 = 2 + buffer[context.pos++] = + encodeTable[(int) (context.lbitWorkArea << 3) & MASK_5BITS]; // 5-2 = 3 + buffer[context.pos++] = pad; + break; + default: + throw new IllegalStateException("Impossible modulus " + context.modulus); + } + context.currentLinePos += context.pos - savedPos; // keep track of current line position + // if currentPos == 0 we are at the start of a line, so don't add CRLF + if (lineLength > 0 && context.currentLinePos > 0) { // add chunk separator if required + System.arraycopy(lineSeparator, 0, buffer, context.pos, lineSeparator.length); + context.pos += lineSeparator.length; + } + } else { + for (int i = 0; i < inAvail; i++) { + final byte[] buffer = ensureBufferSize(encodeSize, context); + context.modulus = (context.modulus + 1) % BYTES_PER_UNENCODED_BLOCK; + int b = input[inPos++]; + if (b < 0) { + b += 256; + } + context.lbitWorkArea = (context.lbitWorkArea << 8) + b; // BITS_PER_BYTE + if (0 == context.modulus) { // we have enough bytes to create our output + buffer[context.pos++] = encodeTable[(int) (context.lbitWorkArea >> 35) & MASK_5BITS]; + buffer[context.pos++] = encodeTable[(int) (context.lbitWorkArea >> 30) & MASK_5BITS]; + buffer[context.pos++] = encodeTable[(int) (context.lbitWorkArea >> 25) & MASK_5BITS]; + buffer[context.pos++] = encodeTable[(int) (context.lbitWorkArea >> 20) & MASK_5BITS]; + buffer[context.pos++] = encodeTable[(int) (context.lbitWorkArea >> 15) & MASK_5BITS]; + buffer[context.pos++] = encodeTable[(int) (context.lbitWorkArea >> 10) & MASK_5BITS]; + buffer[context.pos++] = encodeTable[(int) (context.lbitWorkArea >> 5) & MASK_5BITS]; + buffer[context.pos++] = encodeTable[(int) context.lbitWorkArea & MASK_5BITS]; + context.currentLinePos += BYTES_PER_ENCODED_BLOCK; + if (lineLength > 0 && lineLength <= context.currentLinePos) { + System.arraycopy(lineSeparator, 0, buffer, context.pos, lineSeparator.length); + context.pos += lineSeparator.length; + context.currentLinePos = 0; + } + } + } + } + } + + /** + * Returns whether or not the {@code octet} is in the Base32 alphabet. + * + * @param octet The value to test + * @return {@code true} if the value is defined in the Base32 alphabet {@code false} otherwise. + */ + @Override + public boolean isInAlphabet(final byte octet) { + return octet >= 0 && octet < decodeTable.length && decodeTable[octet] != -1; + } + + /** + * Validates whether decoding the final trailing character is possible in the context of the set + * of possible base 32 values. + * + *
The character is valid if the lower bits within the provided mask are zero. This is used + * to test the final trailing base-32 digit is zero in the bits that will be discarded. + * + * @param emptyBitsMask The mask of the lower bits that should be empty + * @param context the context to be used + * @throws IllegalArgumentException if the bits being checked contain any non-zero value + */ + private void validateCharacter(final long emptyBitsMask, final Context context) { + // Use the long bit work area + if (isStrictDecoding() && (context.lbitWorkArea & emptyBitsMask) != 0) { + throw new IllegalArgumentException( + "Strict decoding: Last encoded character (before the paddings if any) is a valid " + + "base 32 alphabet but not a possible encoding. " + + "Expected the discarded bits from the character to be zero."); + } + } + + /** + * Validates whether decoding allows final trailing characters that cannot be created during + * encoding. + * + * @throws IllegalArgumentException if strict decoding is enabled + */ + private void validateTrailingCharacters() { + if (isStrictDecoding()) { + throw new IllegalArgumentException( + "Strict decoding: Last encoded character(s) (before the paddings if any) are valid " + + "base 32 alphabet but not a possible encoding. " + + "Decoding requires either 2, 4, 5, or 7 trailing 5-bit characters to create bytes."); + } + } + } + + static class BinaryCodec { + /* + * tried to avoid using ArrayUtils to minimize dependencies while using these empty arrays - dep is just not worth + * it. + */ + /** Empty char array. */ + private static final char[] EMPTY_CHAR_ARRAY = {}; + + /** Empty byte array. */ + private static final byte[] EMPTY_BYTE_ARRAY = {}; + + /** Mask for bit 0 of a byte. */ + private static final int BIT_0 = 1; + + /** Mask for bit 1 of a byte. */ + private static final int BIT_1 = 0x02; + + /** Mask for bit 2 of a byte. */ + private static final int BIT_2 = 0x04; + + /** Mask for bit 3 of a byte. */ + private static final int BIT_3 = 0x08; + + /** Mask for bit 4 of a byte. */ + private static final int BIT_4 = 0x10; + + /** Mask for bit 5 of a byte. */ + private static final int BIT_5 = 0x20; + + /** Mask for bit 6 of a byte. */ + private static final int BIT_6 = 0x40; + + /** Mask for bit 7 of a byte. */ + private static final int BIT_7 = 0x80; + + private static final int[] BITS = {BIT_0, BIT_1, BIT_2, BIT_3, BIT_4, BIT_5, BIT_6, BIT_7}; + + /** + * Decodes a byte array where each byte represents an ASCII '0' or '1'. + * + * @param ascii each byte represents an ASCII '0' or '1' + * @return the raw encoded binary where each bit corresponds to a byte in the byte array + * argument + */ + public static byte[] fromAscii(final byte[] ascii) { + if (isEmpty(ascii)) { + return EMPTY_BYTE_ARRAY; + } + final int asciiLength = ascii.length; + // get length/8 times bytes with 3 bit shifts to the right of the length + final byte[] raw = new byte[asciiLength >> 3]; + /* + * We decr index jj by 8 as we go along to not recompute indices using multiplication every time inside the + * loop. + */ + for (int ii = 0, jj = asciiLength - 1; ii < raw.length; ii++, jj -= 8) { + for (int bits = 0; bits < BITS.length; ++bits) { + if (ascii[jj - bits] == '1') { + raw[ii] |= BITS[bits]; + } + } + } + return raw; + } + + // ------------------------------------------------------------------------ + // + // static codec operations + // + // ------------------------------------------------------------------------ + + /** + * Decodes a char array where each char represents an ASCII '0' or '1'. + * + * @param ascii each char represents an ASCII '0' or '1' + * @return the raw encoded binary where each bit corresponds to a char in the char array + * argument + */ + public static byte[] fromAscii(final char[] ascii) { + if (ascii == null || ascii.length == 0) { + return EMPTY_BYTE_ARRAY; + } + final int asciiLength = ascii.length; + // get length/8 times bytes with 3 bit shifts to the right of the length + final byte[] raw = new byte[asciiLength >> 3]; + /* + * We decr index jj by 8 as we go along to not recompute indices using multiplication every time inside the + * loop. + */ + for (int ii = 0, jj = asciiLength - 1; ii < raw.length; ii++, jj -= 8) { + for (int bits = 0; bits < BITS.length; ++bits) { + if (ascii[jj - bits] == '1') { + raw[ii] |= BITS[bits]; + } + } + } + return raw; + } + + /** + * Returns {@code true} if the given array is {@code null} or empty (size 0.) + * + * @param array the source array + * @return {@code true} if the given array is {@code null} or empty (size 0.) + */ + static boolean isEmpty(final byte[] array) { + return array == null || array.length == 0; + } + + /** + * Converts an array of raw binary data into an array of ASCII 0 and 1 character bytes - each + * byte is a truncated char. + * + * @param raw the raw binary data to convert + * @return an array of 0 and 1 character bytes for each bit of the argument + */ + public static byte[] toAsciiBytes(final byte[] raw) { + if (isEmpty(raw)) { + return EMPTY_BYTE_ARRAY; + } + final int rawLength = raw.length; + // get 8 times the bytes with 3 bit shifts to the left of the length + final byte[] l_ascii = new byte[rawLength << 3]; + /* + * We decr index jj by 8 as we go along to not recompute indices using multiplication every time inside the + * loop. + */ + for (int ii = 0, jj = l_ascii.length - 1; ii < rawLength; ii++, jj -= 8) { + for (int bits = 0; bits < BITS.length; ++bits) { + if ((raw[ii] & BITS[bits]) == 0) { + l_ascii[jj - bits] = '0'; + } else { + l_ascii[jj - bits] = '1'; + } + } + } + return l_ascii; + } + + /** + * Converts an array of raw binary data into an array of ASCII 0 and 1 characters. + * + * @param raw the raw binary data to convert + * @return an array of 0 and 1 characters for each bit of the argument + */ + public static char[] toAsciiChars(final byte[] raw) { + if (isEmpty(raw)) { + return EMPTY_CHAR_ARRAY; + } + final int rawLength = raw.length; + // get 8 times the bytes with 3 bit shifts to the left of the length + final char[] l_ascii = new char[rawLength << 3]; + /* + * We decr index jj by 8 as we go along to not recompute indices using multiplication every time inside the + * loop. + */ + for (int ii = 0, jj = l_ascii.length - 1; ii < rawLength; ii++, jj -= 8) { + for (int bits = 0; bits < BITS.length; ++bits) { + if ((raw[ii] & BITS[bits]) == 0) { + l_ascii[jj - bits] = '0'; + } else { + l_ascii[jj - bits] = '1'; + } + } + } + return l_ascii; + } + + /** + * Converts an array of raw binary data into a String of ASCII 0 and 1 characters. + * + * @param raw the raw binary data to convert + * @return a String of 0 and 1 characters representing the binary data + */ + public static String toAsciiString(final byte[] raw) { + return new String(toAsciiChars(raw)); + } + + /** + * Decodes a byte array where each byte represents an ASCII '0' or '1'. + * + * @param ascii each byte represents an ASCII '0' or '1' + * @return the raw encoded binary where each bit corresponds to a byte in the byte array + * argument + */ + public byte[] decode(final byte[] ascii) { + return fromAscii(ascii); + } + + /** + * Decodes a byte array where each byte represents an ASCII '0' or '1'. + * + * @param ascii each byte represents an ASCII '0' or '1' + * @return the raw encoded binary where each bit corresponds to a byte in the byte array + * argument + * @throws DecoderException if argument is not a byte[], char[] or String + */ + public Object decode(final Object ascii) throws DecoderException { + if (ascii == null) { + return EMPTY_BYTE_ARRAY; + } + if (ascii instanceof byte[]) { + return fromAscii((byte[]) ascii); + } + if (ascii instanceof char[]) { + return fromAscii((char[]) ascii); + } + if (ascii instanceof String) { + return fromAscii(((String) ascii).toCharArray()); + } + throw new DecoderException("argument not a byte array"); + } + + /** + * Converts an array of raw binary data into an array of ASCII 0 and 1 characters. + * + * @param raw the raw binary data to convert + * @return 0 and 1 ASCII character bytes one for each bit of the argument + */ + public byte[] encode(final byte[] raw) { + return toAsciiBytes(raw); + } + + /** + * Converts an array of raw binary data into an array of ASCII 0 and 1 chars. + * + * @param raw the raw binary data to convert + * @return 0 and 1 ASCII character chars one for each bit of the argument + * @throws EncoderException if the argument is not a byte[] + */ + public Object encode(final Object raw) throws EncoderException { + if (!(raw instanceof byte[])) { + throw new EncoderException("argument not a byte array"); + } + return toAsciiChars((byte[]) raw); + } + + /** + * Decodes a String where each char of the String represents an ASCII '0' or '1'. + * + * @param ascii String of '0' and '1' characters + * @return the raw encoded binary where each bit corresponds to a byte in the byte array + * argument + */ + public byte[] toByteArray(final String ascii) { + if (ascii == null) { + return EMPTY_BYTE_ARRAY; + } + return fromAscii(ascii.toCharArray()); + } + } + + abstract static class BaseNCodec { + + /** + * MIME chunk size per RFC 2045 section 6.8. + * + *
The {@value} character limit does not count the trailing CRLF, but counts all other + * characters, including any equal signs. + * + * @see RFC 2045 section 6.8 + */ + public static final int MIME_CHUNK_SIZE = 76; + + /** + * PEM chunk size per RFC 1421 section 4.3.2.4. + * + *
The {@value} character limit does not count the trailing CRLF, but counts all other + * characters, including any equal signs. + * + * @see RFC 1421 section 4.3.2.4 + */ + public static final int PEM_CHUNK_SIZE = 64; + + /** Mask used to extract 8 bits, used in decoding bytes */ + protected static final int MASK_8BITS = 0xff; + + /** Byte used to pad output. */ + protected static final byte PAD_DEFAULT = '='; // Allow static access to default + + /** + * The default decoding policy. + * + * @since 1.15 + */ + protected static final CodecPolicy DECODING_POLICY_DEFAULT = CodecPolicy.LENIENT; + + /** + * EOF + * + * @since 1.7 + */ + static final int EOF = -1; + + /** + * Chunk separator per RFC 2045 section 2.1. + * + * @see RFC 2045 section 2.1 + */ + static final byte[] CHUNK_SEPARATOR = {'\r', '\n'}; + + private static final int DEFAULT_BUFFER_RESIZE_FACTOR = 2; + + /** + * Defines the default buffer size - currently {@value} - must be large enough for at least one + * encoded block+separator + */ + private static final int DEFAULT_BUFFER_SIZE = 8192; + + /** + * The maximum size buffer to allocate. + * + *
This is set to the same size used in the JDK {@code java.util.ArrayList}: + * + *
+ * + * Some VMs reserve some header words in an array. Attempts to allocate larger arrays may result + * in OutOfMemoryError: Requested array size exceeds VM limit. + * + *+ */ + private static final int MAX_BUFFER_SIZE = Integer.MAX_VALUE - 8; + + /** + * @deprecated Use {@link #pad}. Will be removed in 2.0. + */ + @Deprecated + protected final byte PAD = PAD_DEFAULT; // instance variable just in case it needs to vary later + + /** Pad byte. Instance variable just in case it needs to vary later. */ + protected final byte pad; + + /** + * Chunksize for encoding. Not used when decoding. A value of zero or less implies no chunking + * of the encoded data. Rounded down to the nearest multiple of encodedBlockSize. + */ + protected final int lineLength; + + /** Number of bytes in each full block of unencoded data, e.g. 4 for Base64 and 5 for Base32 */ + private final int unencodedBlockSize; + + /** Number of bytes in each full block of encoded data, e.g. 3 for Base64 and 8 for Base32 */ + private final int encodedBlockSize; + + /** Size of chunk separator. Not used unless {@link #lineLength} > 0. */ + private final int chunkSeparatorLength; + + /** + * Defines the decoding behavior when the input bytes contain leftover trailing bits that cannot + * be created by a valid encoding. These can be bits that are unused from the final character or + * entire characters. The default mode is lenient decoding. Set this to {@code true} to enable + * strict decoding. + * + *
When strict decoding is enabled it is expected that the decoded bytes will be re-encoded + * to a byte array that matches the original, i.e. no changes occur on the final character. This + * requires that the input bytes use the same padding and alphabet as the encoder. + */ + private final CodecPolicy decodingPolicy; + + /** + * Note {@code lineLength} is rounded down to the nearest multiple of the encoded block size. If + * {@code chunkSeparatorLength} is zero, then chunking is disabled. + * + * @param unencodedBlockSize the size of an unencoded block (e.g. Base64 = 3) + * @param encodedBlockSize the size of an encoded block (e.g. Base64 = 4) + * @param lineLength if > 0, use chunking with a length {@code lineLength} + * @param chunkSeparatorLength the chunk separator length, if relevant + */ + protected BaseNCodec( + final int unencodedBlockSize, + final int encodedBlockSize, + final int lineLength, + final int chunkSeparatorLength) { + this(unencodedBlockSize, encodedBlockSize, lineLength, chunkSeparatorLength, PAD_DEFAULT); + } + + /** + * Note {@code lineLength} is rounded down to the nearest multiple of the encoded block size. If + * {@code chunkSeparatorLength} is zero, then chunking is disabled. + * + * @param unencodedBlockSize the size of an unencoded block (e.g. Base64 = 3) + * @param encodedBlockSize the size of an encoded block (e.g. Base64 = 4) + * @param lineLength if > 0, use chunking with a length {@code lineLength} + * @param chunkSeparatorLength the chunk separator length, if relevant + * @param pad byte used as padding byte. + */ + protected BaseNCodec( + final int unencodedBlockSize, + final int encodedBlockSize, + final int lineLength, + final int chunkSeparatorLength, + final byte pad) { + this( + unencodedBlockSize, + encodedBlockSize, + lineLength, + chunkSeparatorLength, + pad, + DECODING_POLICY_DEFAULT); + } + + /** + * Note {@code lineLength} is rounded down to the nearest multiple of the encoded block size. If + * {@code chunkSeparatorLength} is zero, then chunking is disabled. + * + * @param unencodedBlockSize the size of an unencoded block (e.g. Base64 = 3) + * @param encodedBlockSize the size of an encoded block (e.g. Base64 = 4) + * @param lineLength if > 0, use chunking with a length {@code lineLength} + * @param chunkSeparatorLength the chunk separator length, if relevant + * @param pad byte used as padding byte. + * @param decodingPolicy Decoding policy. + * @since 1.15 + */ + protected BaseNCodec( + final int unencodedBlockSize, + final int encodedBlockSize, + final int lineLength, + final int chunkSeparatorLength, + final byte pad, + final CodecPolicy decodingPolicy) { + this.unencodedBlockSize = unencodedBlockSize; + this.encodedBlockSize = encodedBlockSize; + final boolean useChunking = lineLength > 0 && chunkSeparatorLength > 0; + this.lineLength = useChunking ? (lineLength / encodedBlockSize) * encodedBlockSize : 0; + this.chunkSeparatorLength = chunkSeparatorLength; + this.pad = pad; + this.decodingPolicy = Objects.requireNonNull(decodingPolicy, "codecPolicy"); + } + + /** + * Create a positive capacity at least as large the minimum required capacity. If the minimum + * capacity is negative then this throws an OutOfMemoryError as no array can be allocated. + * + * @param minCapacity the minimum capacity + * @return the capacity + * @throws OutOfMemoryError if the {@code minCapacity} is negative + */ + private static int createPositiveCapacity(final int minCapacity) { + if (minCapacity < 0) { + // overflow + throw new OutOfMemoryError("Unable to allocate array size: " + (minCapacity & 0xffffffffL)); + } + // This is called when we require buffer expansion to a very big array. + // Use the conservative maximum buffer size if possible, otherwise the biggest required. + // + // Note: In this situation JDK 1.8 java.util.ArrayList returns Integer.MAX_VALUE. + // This excludes some VMs that can exceed MAX_BUFFER_SIZE but not allocate a full + // Integer.MAX_VALUE length array. + // The result is that we may have to allocate an array of this size more than once if + // the capacity must be expanded again. + return Math.max(minCapacity, MAX_BUFFER_SIZE); + } + + /** + * Gets a copy of the chunk separator per RFC 2045 section 2.1. + * + * @return the chunk separator + * @see RFC 2045 section 2.1 + * @since 1.15 + */ + public static byte[] getChunkSeparator() { + return CHUNK_SEPARATOR.clone(); + } + + /** + * Checks if a byte value is whitespace or not. + * + * @param byteToCheck the byte to check + * @return true if byte is whitespace, false otherwise + * @see Character#isWhitespace(int) + * @deprecated Use {@link Character#isWhitespace(int)}. + */ + @Deprecated + protected static boolean isWhiteSpace(final byte byteToCheck) { + return Character.isWhitespace(byteToCheck); + } + + /** + * Increases our buffer by the {@link #DEFAULT_BUFFER_RESIZE_FACTOR}. + * + * @param context the context to be used + * @param minCapacity the minimum required capacity + * @return the resized byte[] buffer + * @throws OutOfMemoryError if the {@code minCapacity} is negative + */ + private static byte[] resizeBuffer(final Context context, final int minCapacity) { + // Overflow-conscious code treats the min and new capacity as unsigned. + final int oldCapacity = context.buffer.length; + int newCapacity = oldCapacity * DEFAULT_BUFFER_RESIZE_FACTOR; + if (Integer.compareUnsigned(newCapacity, minCapacity) < 0) { + newCapacity = minCapacity; + } + if (Integer.compareUnsigned(newCapacity, MAX_BUFFER_SIZE) > 0) { + newCapacity = createPositiveCapacity(minCapacity); + } + + final byte[] b = Arrays.copyOf(context.buffer, newCapacity); + context.buffer = b; + return b; + } + + /** + * Returns the amount of buffered data available for reading. + * + * @param context the context to be used + * @return The amount of buffered data available for reading. + */ + int available(final Context context) { // package protected for access from I/O streams + return hasData(context) ? context.pos - context.readPos : 0; + } + + /** + * Tests a given byte array to see if it contains any characters within the alphabet or PAD. + * + *
Intended for use in checking line-ending arrays + * + * @param arrayOctet byte array to test + * @return {@code true} if any byte is a valid character in the alphabet or PAD; {@code false} + * otherwise + */ + protected boolean containsAlphabetOrPad(final byte[] arrayOctet) { + if (arrayOctet == null) { + return false; + } + for (final byte element : arrayOctet) { + if (pad == element || isInAlphabet(element)) { + return true; + } + } + return false; + } + + /** + * Decodes a byte[] containing characters in the Base-N alphabet. + * + * @param pArray A byte array containing Base-N character data + * @return a byte array containing binary data + */ + public byte[] decode(final byte[] pArray) { + if (BinaryCodec.isEmpty(pArray)) { + return pArray; + } + final Context context = new Context(); + decode(pArray, 0, pArray.length, context); + decode(pArray, 0, EOF, context); // Notify decoder of EOF. + final byte[] result = new byte[context.pos]; + readResults(result, 0, result.length, context); + return result; + } + + // package protected for access from I/O streams + abstract void decode(byte[] pArray, int i, int length, Context context); + + /** + * Decodes an Object using the Base-N algorithm. This method is provided in order to satisfy the + * requirements of the Decoder interface, and will throw a DecoderException if the supplied + * object is not of type byte[] or String. + * + * @param obj Object to decode + * @return An object (of type byte[]) containing the binary data which corresponds to the byte[] + * or String supplied. + * @throws DecoderException if the parameter supplied is not of type byte[] + */ + public Object decode(final Object obj) throws DecoderException { + if (obj instanceof byte[]) { + return decode((byte[]) obj); + } + if (obj instanceof String) { + return decode((String) obj); + } + throw new DecoderException("Parameter supplied to Base-N decode is not a byte[] or a String"); + } + + /** + * Decodes a String containing characters in the Base-N alphabet. + * + * @param pArray A String containing Base-N character data + * @return a byte array containing binary data + */ + public byte[] decode(final String pArray) { + return decode(StringUtils.getBytesUtf8(pArray)); + } + + /** + * Encodes a byte[] containing binary data, into a byte[] containing characters in the alphabet. + * + * @param pArray a byte array containing binary data + * @return A byte array containing only the base N alphabetic character data + */ + public byte[] encode(final byte[] pArray) { + if (BinaryCodec.isEmpty(pArray)) { + return pArray; + } + return encode(pArray, 0, pArray.length); + } + + /** + * Encodes a byte[] containing binary data, into a byte[] containing characters in the alphabet. + * + * @param pArray a byte array containing binary data + * @param offset initial offset of the subarray. + * @param length length of the subarray. + * @return A byte array containing only the base N alphabetic character data + * @since 1.11 + */ + public byte[] encode(final byte[] pArray, final int offset, final int length) { + if (BinaryCodec.isEmpty(pArray)) { + return pArray; + } + final Context context = new Context(); + encode(pArray, offset, length, context); + encode(pArray, offset, EOF, context); // Notify encoder of EOF. + final byte[] buf = new byte[context.pos - context.readPos]; + readResults(buf, 0, buf.length, context); + return buf; + } + + // package protected for access from I/O streams + abstract void encode(byte[] pArray, int i, int length, Context context); + + /** + * Encodes an Object using the Base-N algorithm. This method is provided in order to satisfy the + * requirements of the Encoder interface, and will throw an EncoderException if the supplied + * object is not of type byte[]. + * + * @param obj Object to encode + * @return An object (of type byte[]) containing the Base-N encoded data which corresponds to + * the byte[] supplied. + * @throws EncoderException if the parameter supplied is not of type byte[] + */ + public Object encode(final Object obj) throws EncoderException { + if (!(obj instanceof byte[])) { + throw new EncoderException("Parameter supplied to Base-N encode is not a byte[]"); + } + return encode((byte[]) obj); + } + + /** + * Encodes a byte[] containing binary data, into a String containing characters in the + * appropriate alphabet. Uses UTF8 encoding. + * + * @param pArray a byte array containing binary data + * @return String containing only character data in the appropriate alphabet. + * @since 1.5 This is a duplicate of {@link #encodeToString(byte[])}; it was merged during + * refactoring. + */ + public String encodeAsString(final byte[] pArray) { + return StringUtils.newStringUtf8(encode(pArray)); + } + + /** + * Encodes a byte[] containing binary data, into a String containing characters in the Base-N + * alphabet. Uses UTF8 encoding. + * + * @param pArray a byte array containing binary data + * @return A String containing only Base-N character data + */ + public String encodeToString(final byte[] pArray) { + return StringUtils.newStringUtf8(encode(pArray)); + } + + /** + * Ensure that the buffer has room for {@code size} bytes + * + * @param size minimum spare space required + * @param context the context to be used + * @return the buffer + */ + protected byte[] ensureBufferSize(final int size, final Context context) { + if (context.buffer == null) { + context.buffer = new byte[Math.max(size, getDefaultBufferSize())]; + context.pos = 0; + context.readPos = 0; + + // Overflow-conscious: + // x + y > z == x + y - z > 0 + } else if (context.pos + size - context.buffer.length > 0) { + return resizeBuffer(context, context.pos + size); + } + return context.buffer; + } + + /** + * Returns the decoding behavior policy. + * + *
The default is lenient. If the decoding policy is strict, then decoding will raise an + * {@link IllegalArgumentException} if trailing bits are not part of a valid encoding. Decoding + * will compose trailing bits into 8-bit bytes and discard the remainder. + * + * @return true if using strict decoding + * @since 1.15 + */ + public CodecPolicy getCodecPolicy() { + return decodingPolicy; + } + + /** + * Get the default buffer size. Can be overridden. + * + * @return the default buffer size. + */ + protected int getDefaultBufferSize() { + return DEFAULT_BUFFER_SIZE; + } + + /** + * Calculates the amount of space needed to encode the supplied array. + * + * @param pArray byte[] array which will later be encoded + * @return amount of space needed to encode the supplied array. Returns a long since a max-len + * array will require > Integer.MAX_VALUE + */ + public long getEncodedLength(final byte[] pArray) { + // Calculate non-chunked size - rounded up to allow for padding + // cast to long is needed to avoid possibility of overflow + long len = + ((pArray.length + unencodedBlockSize - 1) / unencodedBlockSize) * (long) encodedBlockSize; + if (lineLength > 0) { // We're using chunking + // Round up to nearest multiple + len += ((len + lineLength - 1) / lineLength) * chunkSeparatorLength; + } + return len; + } + + /** + * Returns true if this object has buffered data for reading. + * + * @param context the context to be used + * @return true if there is data still available for reading. + */ + boolean hasData(final Context context) { // package protected for access from I/O streams + return context.pos > context.readPos; + } + + /** + * Returns whether or not the {@code octet} is in the current alphabet. Does not allow + * whitespace or pad. + * + * @param value The value to test + * @return {@code true} if the value is defined in the current alphabet, {@code false} + * otherwise. + */ + protected abstract boolean isInAlphabet(byte value); + + /** + * Tests a given byte array to see if it contains only valid characters within the alphabet. The + * method optionally treats whitespace and pad as valid. + * + * @param arrayOctet byte array to test + * @param allowWSPad if {@code true}, then whitespace and PAD are also allowed + * @return {@code true} if all bytes are valid characters in the alphabet or if the byte array + * is empty; {@code false}, otherwise + */ + public boolean isInAlphabet(final byte[] arrayOctet, final boolean allowWSPad) { + for (final byte octet : arrayOctet) { + if (!isInAlphabet(octet) + && (!allowWSPad || (octet != pad) && !Character.isWhitespace(octet))) { + return false; + } + } + return true; + } + + /** + * Tests a given String to see if it contains only valid characters within the alphabet. The + * method treats whitespace and PAD as valid. + * + * @param basen String to test + * @return {@code true} if all characters in the String are valid characters in the alphabet or + * if the String is empty; {@code false}, otherwise + * @see #isInAlphabet(byte[], boolean) + */ + public boolean isInAlphabet(final String basen) { + return isInAlphabet(StringUtils.getBytesUtf8(basen), true); + } + + /** + * Returns true if decoding behavior is strict. Decoding will raise an {@link + * IllegalArgumentException} if trailing bits are not part of a valid encoding. + * + *
The default is false for lenient decoding. Decoding will compose trailing bits into 8-bit + * bytes and discard the remainder. + * + * @return true if using strict decoding + * @since 1.15 + */ + public boolean isStrictDecoding() { + return decodingPolicy == CodecPolicy.STRICT; + } + + /** + * Extracts buffered data into the provided byte[] array, starting at position bPos, up to a + * maximum of bAvail bytes. Returns how many bytes were actually extracted. + * + *
Package private for access from I/O streams. + * + * @param b byte[] array to extract the buffered data into. + * @param bPos position in byte[] array to start extraction at. + * @param bAvail amount of bytes we're allowed to extract. We may extract fewer (if fewer are + * available). + * @param context the context to be used + * @return The number of bytes successfully extracted into the provided byte[] array. + */ + int readResults(final byte[] b, final int bPos, final int bAvail, final Context context) { + if (hasData(context)) { + final int len = Math.min(available(context), bAvail); + System.arraycopy(context.buffer, context.readPos, b, bPos, len); + context.readPos += len; + if (!hasData(context)) { + // All data read. + // Reset position markers but do not set buffer to null to allow its reuse. + // hasData(context) will still return false, and this method will return 0 until + // more data is available, or -1 if EOF. + context.pos = context.readPos = 0; + } + return len; + } + return context.eof ? EOF : 0; + } + + /** + * Holds thread context so classes can be thread-safe. + * + *
This class is not itself thread-safe; each thread must allocate its own copy. + * + * @since 1.7 + */ + static class Context { + + /** + * Placeholder for the bytes we're dealing with for our based logic. Bitwise operations store + * and extract the encoding or decoding from this variable. + */ + int ibitWorkArea; + + /** + * Placeholder for the bytes we're dealing with for our based logic. Bitwise operations store + * and extract the encoding or decoding from this variable. + */ + long lbitWorkArea; + + /** Buffer for streaming. */ + byte[] buffer; + + /** Position where next character should be written in the buffer. */ + int pos; + + /** Position where next character should be read from the buffer. */ + int readPos; + + /** + * Boolean flag to indicate the EOF has been reached. Once EOF has been reached, this object + * becomes useless, and must be thrown away. + */ + boolean eof; + + /** + * Variable tracks how many characters have been written to the current line. Only used when + * encoding. We use it to make sure each encoded line never goes beyond lineLength (if + * lineLength > 0). + */ + int currentLinePos; + + /** + * Writes to the buffer only occur after every 3/5 reads when encoding, and every 4/8 reads + * when decoding. This variable helps track that. + */ + int modulus; + + /** + * Returns a String useful for debugging (especially within a debugger.) + * + * @return a String useful for debugging. + */ + @SuppressWarnings("boxing") // OK to ignore boxing here + @Override + public String toString() { + return String.format( + "%s[buffer=%s, currentLinePos=%s, eof=%s, ibitWorkArea=%s, lbitWorkArea=%s, " + + "modulus=%s, pos=%s, readPos=%s]", + this.getClass().getSimpleName(), + Arrays.toString(buffer), + currentLinePos, + eof, + ibitWorkArea, + lbitWorkArea, + modulus, + pos, + readPos); + } + } + } + + static class BaseNCodecOutputStream extends FilterOutputStream { + + private final boolean doEncode; + + private final BaseNCodec baseNCodec; + + private final byte[] singleByte = new byte[1]; + + private final BaseNCodec.Context context = new BaseNCodec.Context(); + + /** + * @param outputStream the underlying output or null. + * @param basedCodec a BaseNCodec. + * @param doEncode true to encode, false to decode + */ + public BaseNCodecOutputStream( + final OutputStream outputStream, final BaseNCodec basedCodec, final boolean doEncode) { + super(outputStream); + this.baseNCodec = basedCodec; + this.doEncode = doEncode; + } + + /** + * Closes this output stream and releases any system resources associated with the stream. + * + *
To write the EOF marker without closing the stream, call {@link #eof()} or use an Apache Commons IO CloseShieldOutputStream. + * + * @throws IOException if an I/O error occurs. + */ + @Override + public void close() throws IOException { + eof(); + flush(); + out.close(); + } + + /** + * Writes EOF. + * + * @since 1.11 + */ + public void eof() { + // Notify encoder of EOF (-1). + if (doEncode) { + baseNCodec.encode(singleByte, 0, EOF, context); + } else { + baseNCodec.decode(singleByte, 0, EOF, context); + } + } + + /** + * Flushes this output stream and forces any buffered output bytes to be written out to the + * stream. + * + * @throws IOException if an I/O error occurs. + */ + @Override + public void flush() throws IOException { + flush(true); + } + + /** + * Flushes this output stream and forces any buffered output bytes to be written out to the + * stream. If propagate is true, the wrapped stream will also be flushed. + * + * @param propagate boolean flag to indicate whether the wrapped OutputStream should also be + * flushed. + * @throws IOException if an I/O error occurs. + */ + private void flush(final boolean propagate) throws IOException { + final int avail = baseNCodec.available(context); + if (avail > 0) { + final byte[] buf = new byte[avail]; + final int c = baseNCodec.readResults(buf, 0, avail, context); + if (c > 0) { + out.write(buf, 0, c); + } + } + if (propagate) { + out.flush(); + } + } + + /** + * Returns true if decoding behavior is strict. Decoding will raise an {@link + * IllegalArgumentException} if trailing bits are not part of a valid encoding. + * + *
The default is false for lenient encoding. Decoding will compose trailing bits into 8-bit + * bytes and discard the remainder. + * + * @return true if using strict decoding + * @since 1.15 + */ + public boolean isStrictDecoding() { + return baseNCodec.isStrictDecoding(); + } + + /** + * Writes {@code len} bytes from the specified {@code b} array starting at {@code offset} to + * this output stream. + * + * @param array source byte array + * @param offset where to start reading the bytes + * @param len maximum number of bytes to write + * @throws IOException if an I/O error occurs. + * @throws NullPointerException if the byte array parameter is null + * @throws IndexOutOfBoundsException if offset, len or buffer size are invalid + */ + @Override + public void write(final byte[] array, final int offset, final int len) throws IOException { + Objects.requireNonNull(array, "array"); + if (offset < 0 || len < 0) { + throw new IndexOutOfBoundsException(); + } + if (offset > array.length || offset + len > array.length) { + throw new IndexOutOfBoundsException(); + } + if (len > 0) { + if (doEncode) { + baseNCodec.encode(array, offset, len, context); + } else { + baseNCodec.decode(array, offset, len, context); + } + flush(false); + } + } + + /** + * Writes the specified {@code byte} to this output stream. + * + * @param i source byte + * @throws IOException if an I/O error occurs. + */ + @Override + public void write(final int i) throws IOException { + singleByte[0] = (byte) i; + write(singleByte, 0, 1); + } + } + + static class Base32OutputStream extends BaseNCodecOutputStream { + + /** + * Creates a Base32OutputStream such that all data written is Base32-encoded to the original + * provided OutputStream. + * + * @param outputStream OutputStream to wrap. + */ + public Base32OutputStream(final OutputStream outputStream) { + this(outputStream, true); + } + + /** + * Creates a Base32OutputStream such that all data written is either Base32-encoded or + * Base32-decoded to the original provided OutputStream. + * + * @param outputStream OutputStream to wrap. + * @param doEncode true if we should encode all data written to us, false if we should decode. + */ + public Base32OutputStream(final OutputStream outputStream, final boolean doEncode) { + super(outputStream, new Base32(false), doEncode); + } + + /** + * Creates a Base32OutputStream such that all data written is either Base32-encoded or + * Base32-decoded to the original provided OutputStream. + * + * @param outputStream OutputStream to wrap. + * @param doEncode true if we should encode all data written to us, false if we should decode. + * @param lineLength If doEncode is true, each line of encoded data will contain lineLength + * characters (rounded down to the nearest multiple of 4). If lineLength <= 0, the + * encoded data is not divided into lines. If doEncode is false, lineLength is ignored. + * @param lineSeparator If doEncode is true, each line of encoded data will be terminated with + * this byte sequence (e.g. \r\n). If lineLength <= 0, the lineSeparator is not used. If + * doEncode is false lineSeparator is ignored. + */ + public Base32OutputStream( + final OutputStream outputStream, + final boolean doEncode, + final int lineLength, + final byte[] lineSeparator) { + super(outputStream, new Base32(lineLength, lineSeparator), doEncode); + } + + /** + * Creates a Base32OutputStream such that all data written is either Base32-encoded or + * Base32-decoded to the original provided OutputStream. + * + * @param outputStream OutputStream to wrap. + * @param doEncode true if we should encode all data written to us, false if we should decode. + * @param lineLength If doEncode is true, each line of encoded data will contain lineLength + * characters (rounded down to the nearest multiple of 4). If lineLength <= 0, the + * encoded data is not divided into lines. If doEncode is false, lineLength is ignored. + * @param lineSeparator If doEncode is true, each line of encoded data will be terminated with + * this byte sequence (e.g. \r\n). If lineLength <= 0, the lineSeparator is not used. If + * doEncode is false lineSeparator is ignored. + * @param decodingPolicy The decoding policy. + * @since 1.15 + */ + public Base32OutputStream( + final OutputStream outputStream, + final boolean doEncode, + final int lineLength, + final byte[] lineSeparator, + final CodecPolicy decodingPolicy) { + super( + outputStream, + new Base32(lineLength, lineSeparator, false, BaseNCodec.PAD_DEFAULT, decodingPolicy), + doEncode); + } + } + + static class DecoderException extends Exception { + + /** + * Declares the Serial Version Uid. + * + * @see Always Declare Serial + * Version Uid + */ + private static final long serialVersionUID = 1L; + + /** + * Constructs a new exception with {@code null} as its detail message. The cause is not + * initialized, and may subsequently be initialized by a call to {@link #initCause}. + * + * @since 1.4 + */ + public DecoderException() {} + + /** + * Constructs a new exception with the specified detail message. The cause is not initialized, + * and may subsequently be initialized by a call to {@link #initCause}. + * + * @param message The detail message which is saved for later retrieval by the {@link + * #getMessage()} method. + */ + public DecoderException(final String message) { + super(message); + } + + /** + * Constructs a new exception with the specified detail message and cause. + * + *
Note that the detail message associated with {@code cause} is not automatically
+ * incorporated into this exception's detail message.
+ *
+ * @param message The detail message which is saved for later retrieval by the {@link
+ * #getMessage()} method.
+ * @param cause The cause which is saved for later retrieval by the {@link #getCause()} method.
+ * A {@code null} value is permitted, and indicates that the cause is nonexistent or
+ * unknown.
+ * @since 1.4
+ */
+ public DecoderException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
+
+ /**
+ * Constructs a new exception with the specified cause and a detail message of
+ * (cause==null ?
+ * null : cause.toString())
(which typically contains the class and detail message of
+ * {@code cause}). This constructor is useful for exceptions that are little more than wrappers
+ * for other throwables.
+ *
+ * @param cause The cause which is saved for later retrieval by the {@link #getCause()} method.
+ * A {@code null} value is permitted, and indicates that the cause is nonexistent or
+ * unknown.
+ * @since 1.4
+ */
+ public DecoderException(final Throwable cause) {
+ super(cause);
+ }
+ }
+
+ static class EncoderException extends Exception {
+
+ /**
+ * Declares the Serial Version Uid.
+ *
+ * @see Always Declare Serial
+ * Version Uid
+ */
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Constructs a new exception with {@code null} as its detail message. The cause is not
+ * initialized, and may subsequently be initialized by a call to {@link #initCause}.
+ *
+ * @since 1.4
+ */
+ public EncoderException() {}
+
+ /**
+ * Constructs a new exception with the specified detail message. The cause is not initialized,
+ * and may subsequently be initialized by a call to {@link #initCause}.
+ *
+ * @param message a useful message relating to the encoder specific error.
+ */
+ public EncoderException(final String message) {
+ super(message);
+ }
+
+ /**
+ * Constructs a new exception with the specified detail message and cause.
+ *
+ *
Note that the detail message associated with {@code cause} is not automatically
+ * incorporated into this exception's detail message.
+ *
+ * @param message The detail message which is saved for later retrieval by the {@link
+ * #getMessage()} method.
+ * @param cause The cause which is saved for later retrieval by the {@link #getCause()} method.
+ * A {@code null} value is permitted, and indicates that the cause is nonexistent or
+ * unknown.
+ * @since 1.4
+ */
+ public EncoderException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
+
+ /**
+ * Constructs a new exception with the specified cause and a detail message of Thanks to "commons" project in ws.apache.org for this code.
+ * http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/
+ */
+ private static final byte[] STANDARD_ENCODE_TABLE = {
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+ 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+ 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'
+ };
+
+ /**
+ * This is a copy of the STANDARD_ENCODE_TABLE above, but with + and / changed to - and _ to
+ * make the encoded Base64 results more URL-SAFE. This table is only used when the Base64's mode
+ * is set to URL-SAFE.
+ */
+ private static final byte[] URL_SAFE_ENCODE_TABLE = {
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+ 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+ 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_'
+ };
+
+ /**
+ * This array is a lookup table that translates Unicode characters drawn from the "Base64
+ * Alphabet" (as specified in Table 1 of RFC 2045) into their 6-bit positive integer
+ * equivalents. Characters that are not in the Base64 alphabet but fall within the bounds of the
+ * array are translated to -1.
+ *
+ * Note: '+' and '-' both decode to 62. '/' and '_' both decode to 63. This means decoder
+ * seamlessly handles both URL_SAFE and STANDARD base64. (The encoder, on the other hand, needs
+ * to know ahead of time what to emit).
+ *
+ * Thanks to "commons" project in ws.apache.org for this code.
+ * http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/
+ */
+ private static final byte[] DECODE_TABLE = {
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 00-0f
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 10-1f
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, 62, -1, 63, // 20-2f + - /
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, // 30-3f 0-9
+ -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, // 40-4f A-O
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63, // 50-5f P-Z _
+ -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, // 60-6f a-o
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 // 70-7a p-z
+ };
+
+ // The static final fields above are used for the original static byte[] methods on Base64.
+ // The private member fields below are used with the new streaming approach, which requires
+ // some state be preserved between calls of encode() and decode().
+
+ /** Base64 uses 6-bit fields. */
+ /** Mask used to extract 6 bits, used when encoding */
+ private static final int MASK_6BITS = 0x3f;
+
+ /** Mask used to extract 4 bits, used when decoding final trailing character. */
+ private static final int MASK_4BITS = 0xf;
+
+ /** Mask used to extract 2 bits, used when decoding final trailing character. */
+ private static final int MASK_2BITS = 0x3;
+
+ /**
+ * Encode table to use: either STANDARD or URL_SAFE. Note: the DECODE_TABLE above remains static
+ * because it is able to decode both STANDARD and URL_SAFE streams, but the encodeTable must be
+ * a member variable so we can switch between the two modes.
+ */
+ private final byte[] encodeTable;
+
+ /** Only one decode table currently; keep for consistency with Base32 code. */
+ private final byte[] decodeTable = DECODE_TABLE;
+
+ /** Line separator for encoding. Not used when decoding. Only used if lineLength > 0. */
+ private final byte[] lineSeparator;
+
+ /**
+ * Convenience variable to help us determine when our buffer is going to run out of room and
+ * needs resizing. {@code decodeSize = 3 + lineSeparator.length;}
+ */
+ private final int decodeSize;
+
+ /**
+ * Convenience variable to help us determine when our buffer is going to run out of room and
+ * needs resizing. {@code encodeSize = 4 + lineSeparator.length;}
+ */
+ private final int encodeSize;
+
+ /**
+ * Decodes Base64 data into octets.
+ *
+ * Note: this method seamlessly handles data encoded in URL-safe or normal mode.
+ *
+ * @param base64Data Byte array containing Base64 data
+ * @return Array containing decoded data.
+ */
+ public static byte[] decodeBase64(final byte[] base64Data) {
+ return new Base64().decode(base64Data);
+ }
+
+ /**
+ * Decodes a Base64 String into octets.
+ *
+ * Note: this method seamlessly handles data encoded in URL-safe or normal mode.
+ *
+ * @param base64String String containing Base64 data
+ * @return Array containing decoded data.
+ * @since 1.4
+ */
+ public static byte[] decodeBase64(final String base64String) {
+ return new Base64().decode(base64String);
+ }
+
+ // Implementation of integer encoding used for crypto
+ /**
+ * Decodes a byte64-encoded integer according to crypto standards such as W3C's XML-Signature.
+ *
+ * @param pArray a byte array containing base64 character data
+ * @return A BigInteger
+ * @since 1.4
+ */
+ public static BigInteger decodeInteger(final byte[] pArray) {
+ return new BigInteger(1, decodeBase64(pArray));
+ }
+
+ /**
+ * Encodes binary data using the base64 algorithm but does not chunk the output.
+ *
+ * @param binaryData binary data to encode
+ * @return byte[] containing Base64 characters in their UTF-8 representation.
+ */
+ public static byte[] encodeBase64(final byte[] binaryData) {
+ return encodeBase64(binaryData, false);
+ }
+
+ /**
+ * Encodes binary data using the base64 algorithm, optionally chunking the output into 76
+ * character blocks.
+ *
+ * @param binaryData Array containing binary data to encode.
+ * @param isChunked if {@code true} this encoder will chunk the base64 output into 76 character
+ * blocks
+ * @return Base64-encoded data.
+ * @throws IllegalArgumentException Thrown when the input array needs an output array bigger
+ * than {@link Integer#MAX_VALUE}
+ */
+ public static byte[] encodeBase64(final byte[] binaryData, final boolean isChunked) {
+ return encodeBase64(binaryData, isChunked, false);
+ }
+
+ /**
+ * Encodes binary data using the base64 algorithm, optionally chunking the output into 76
+ * character blocks.
+ *
+ * @param binaryData Array containing binary data to encode.
+ * @param isChunked if {@code true} this encoder will chunk the base64 output into 76 character
+ * blocks
+ * @param urlSafe if {@code true} this encoder will emit - and _ instead of the usual + and /
+ * characters. Note: no padding is added when encoding using the URL-safe alphabet.
+ * @return Base64-encoded data.
+ * @throws IllegalArgumentException Thrown when the input array needs an output array bigger
+ * than {@link Integer#MAX_VALUE}
+ * @since 1.4
+ */
+ public static byte[] encodeBase64(
+ final byte[] binaryData, final boolean isChunked, final boolean urlSafe) {
+ return encodeBase64(binaryData, isChunked, urlSafe, Integer.MAX_VALUE);
+ }
+
+ /**
+ * Encodes binary data using the base64 algorithm, optionally chunking the output into 76
+ * character blocks.
+ *
+ * @param binaryData Array containing binary data to encode.
+ * @param isChunked if {@code true} this encoder will chunk the base64 output into 76 character
+ * blocks
+ * @param urlSafe if {@code true} this encoder will emit - and _ instead of the usual + and /
+ * characters. Note: no padding is added when encoding using the URL-safe alphabet.
+ * @param maxResultSize The maximum result size to accept.
+ * @return Base64-encoded data.
+ * @throws IllegalArgumentException Thrown when the input array needs an output array bigger
+ * than maxResultSize
+ * @since 1.4
+ */
+ public static byte[] encodeBase64(
+ final byte[] binaryData,
+ final boolean isChunked,
+ final boolean urlSafe,
+ final int maxResultSize) {
+ if (BinaryCodec.isEmpty(binaryData)) {
+ return binaryData;
+ }
+
+ // Create this so can use the super-class method
+ // Also ensures that the same roundings are performed by the ctor and the code
+ final Base64 b64 = isChunked ? new Base64(urlSafe) : new Base64(0, CHUNK_SEPARATOR, urlSafe);
+ final long len = b64.getEncodedLength(binaryData);
+ if (len > maxResultSize) {
+ throw new IllegalArgumentException(
+ "Input array too big, the output array would be bigger ("
+ + len
+ + ") than the specified maximum size of "
+ + maxResultSize);
+ }
+
+ return b64.encode(binaryData);
+ }
+
+ /**
+ * Encodes binary data using the base64 algorithm and chunks the encoded output into 76
+ * character blocks
+ *
+ * @param binaryData binary data to encode
+ * @return Base64 characters chunked in 76 character blocks
+ */
+ public static byte[] encodeBase64Chunked(final byte[] binaryData) {
+ return encodeBase64(binaryData, true);
+ }
+
+ /**
+ * Encodes binary data using the base64 algorithm but does not chunk the output.
+ *
+ * NOTE: We changed the behavior of this method from multi-line chunking (commons-codec-1.4)
+ * to single-line non-chunking (commons-codec-1.5).
+ *
+ * @param binaryData binary data to encode
+ * @return String containing Base64 characters.
+ * @since 1.4 (NOTE: 1.4 chunked the output, whereas 1.5 does not).
+ */
+ public static String encodeBase64String(final byte[] binaryData) {
+ return StringUtils.newStringUsAscii(encodeBase64(binaryData, false));
+ }
+
+ /**
+ * Encodes binary data using a URL-safe variation of the base64 algorithm but does not chunk the
+ * output. The url-safe variation emits - and _ instead of + and / characters. Note: no
+ * padding is added.
+ *
+ * @param binaryData binary data to encode
+ * @return byte[] containing Base64 characters in their UTF-8 representation.
+ * @since 1.4
+ */
+ public static byte[] encodeBase64URLSafe(final byte[] binaryData) {
+ return encodeBase64(binaryData, false, true);
+ }
+
+ /**
+ * Encodes binary data using a URL-safe variation of the base64 algorithm but does not chunk the
+ * output. The url-safe variation emits - and _ instead of + and / characters. Note: no
+ * padding is added.
+ *
+ * @param binaryData binary data to encode
+ * @return String containing Base64 characters
+ * @since 1.4
+ */
+ public static String encodeBase64URLSafeString(final byte[] binaryData) {
+ return StringUtils.newStringUsAscii(encodeBase64(binaryData, false, true));
+ }
+
+ /**
+ * Encodes to a byte64-encoded integer according to crypto standards such as W3C's
+ * XML-Signature.
+ *
+ * @param bigInteger a BigInteger
+ * @return A byte array containing base64 character data
+ * @throws NullPointerException if null is passed in
+ * @since 1.4
+ */
+ public static byte[] encodeInteger(final BigInteger bigInteger) {
+ Objects.requireNonNull(bigInteger, "bigInteger");
+ return encodeBase64(toIntegerBytes(bigInteger), false);
+ }
+
+ /**
+ * Tests a given byte array to see if it contains only valid characters within the Base64
+ * alphabet. Currently the method treats whitespace as valid.
+ *
+ * @param arrayOctet byte array to test
+ * @return {@code true} if all bytes are valid characters in the Base64 alphabet or if the byte
+ * array is empty; {@code false}, otherwise
+ * @deprecated 1.5 Use {@link #isBase64(byte[])}, will be removed in 2.0.
+ */
+ @Deprecated
+ public static boolean isArrayByteBase64(final byte[] arrayOctet) {
+ return isBase64(arrayOctet);
+ }
+
+ /**
+ * Returns whether or not the {@code octet} is in the base 64 alphabet.
+ *
+ * @param octet The value to test
+ * @return {@code true} if the value is defined in the base 64 alphabet, {@code false}
+ * otherwise.
+ * @since 1.4
+ */
+ public static boolean isBase64(final byte octet) {
+ return octet == PAD_DEFAULT
+ || (octet >= 0 && octet < DECODE_TABLE.length && DECODE_TABLE[octet] != -1);
+ }
+
+ /**
+ * Tests a given byte array to see if it contains only valid characters within the Base64
+ * alphabet. Currently the method treats whitespace as valid.
+ *
+ * @param arrayOctet byte array to test
+ * @return {@code true} if all bytes are valid characters in the Base64 alphabet or if the byte
+ * array is empty; {@code false}, otherwise
+ * @since 1.5
+ */
+ public static boolean isBase64(final byte[] arrayOctet) {
+ for (final byte element : arrayOctet) {
+ if (!isBase64(element) && !Character.isWhitespace(element)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Tests a given String to see if it contains only valid characters within the Base64 alphabet.
+ * Currently the method treats whitespace as valid.
+ *
+ * @param base64 String to test
+ * @return {@code true} if all characters in the String are valid characters in the Base64
+ * alphabet or if the String is empty; {@code false}, otherwise
+ * @since 1.5
+ */
+ public static boolean isBase64(final String base64) {
+ return isBase64(StringUtils.getBytesUtf8(base64));
+ }
+
+ /**
+ * Returns a byte-array representation of a {@code BigInteger} without sign bit.
+ *
+ * @param bigInt {@code BigInteger} to be converted
+ * @return a byte array representation of the BigInteger parameter
+ */
+ static byte[] toIntegerBytes(final BigInteger bigInt) {
+ int bitlen = bigInt.bitLength();
+ // round bitlen
+ bitlen = ((bitlen + 7) >> 3) << 3;
+ final byte[] bigBytes = bigInt.toByteArray();
+
+ if (((bigInt.bitLength() % 8) != 0) && (((bigInt.bitLength() / 8) + 1) == (bitlen / 8))) {
+ return bigBytes;
+ }
+ // set up params for copying everything but sign bit
+ int startSrc = 0;
+ int len = bigBytes.length;
+
+ // if bigInt is exactly byte-aligned, just skip signbit in copy
+ if ((bigInt.bitLength() % 8) == 0) {
+ startSrc = 1;
+ len--;
+ }
+ final int startDst = bitlen / 8 - len; // to pad w/ nulls as per spec
+ final byte[] resizedBytes = new byte[bitlen / 8];
+ System.arraycopy(bigBytes, startSrc, resizedBytes, startDst, len);
+ return resizedBytes;
+ }
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
+ *
+ * When encoding the line length is 0 (no chunking), and the encoding table is
+ * STANDARD_ENCODE_TABLE.
+ *
+ * When decoding all variants are supported.
+ */
+ public Base64() {
+ this(0);
+ }
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in the given URL-safe mode.
+ *
+ * When encoding the line length is 76, the line separator is CRLF, and the encoding table is
+ * STANDARD_ENCODE_TABLE.
+ *
+ * When decoding all variants are supported.
+ *
+ * @param urlSafe if {@code true}, URL-safe encoding is used. In most cases this should be set
+ * to {@code false}.
+ * @since 1.4
+ */
+ public Base64(final boolean urlSafe) {
+ this(MIME_CHUNK_SIZE, CHUNK_SEPARATOR, urlSafe);
+ }
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
+ *
+ * When encoding the line length is given in the constructor, the line separator is CRLF, and
+ * the encoding table is STANDARD_ENCODE_TABLE.
+ *
+ * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
+ * in the encoded data.
+ *
+ * When decoding all variants are supported.
+ *
+ * @param lineLength Each line of encoded data will be at most of the given length (rounded down
+ * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
+ * into lines (chunks). Ignored when decoding.
+ * @since 1.4
+ */
+ public Base64(final int lineLength) {
+ this(lineLength, CHUNK_SEPARATOR);
+ }
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
+ *
+ * When encoding the line length and line separator are given in the constructor, and the
+ * encoding table is STANDARD_ENCODE_TABLE.
+ *
+ * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
+ * in the encoded data.
+ *
+ * When decoding all variants are supported.
+ *
+ * @param lineLength Each line of encoded data will be at most of the given length (rounded down
+ * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
+ * into lines (chunks). Ignored when decoding.
+ * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
+ * @throws IllegalArgumentException Thrown when the provided lineSeparator included some base64
+ * characters.
+ * @since 1.4
+ */
+ public Base64(final int lineLength, final byte[] lineSeparator) {
+ this(lineLength, lineSeparator, false);
+ }
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
+ *
+ * When encoding the line length and line separator are given in the constructor, and the
+ * encoding table is STANDARD_ENCODE_TABLE.
+ *
+ * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
+ * in the encoded data.
+ *
+ * When decoding all variants are supported.
+ *
+ * @param lineLength Each line of encoded data will be at most of the given length (rounded down
+ * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
+ * into lines (chunks). Ignored when decoding.
+ * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
+ * @param urlSafe Instead of emitting '+' and '/' we emit '-' and '_' respectively. urlSafe is
+ * only applied to encode operations. Decoding seamlessly handles both modes. Note: no
+ * padding is added when using the URL-safe alphabet.
+ * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base64
+ * characters.
+ * @since 1.4
+ */
+ public Base64(final int lineLength, final byte[] lineSeparator, final boolean urlSafe) {
+ this(lineLength, lineSeparator, urlSafe, DECODING_POLICY_DEFAULT);
+ }
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
+ *
+ * When encoding the line length and line separator are given in the constructor, and the
+ * encoding table is STANDARD_ENCODE_TABLE.
+ *
+ * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
+ * in the encoded data.
+ *
+ * When decoding all variants are supported.
+ *
+ * @param lineLength Each line of encoded data will be at most of the given length (rounded down
+ * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
+ * into lines (chunks). Ignored when decoding.
+ * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
+ * @param urlSafe Instead of emitting '+' and '/' we emit '-' and '_' respectively. urlSafe is
+ * only applied to encode operations. Decoding seamlessly handles both modes. Note: no
+ * padding is added when using the URL-safe alphabet.
+ * @param decodingPolicy The decoding policy.
+ * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base64
+ * characters.
+ * @since 1.15
+ */
+ public Base64(
+ final int lineLength,
+ final byte[] lineSeparator,
+ final boolean urlSafe,
+ final CodecPolicy decodingPolicy) {
+ super(
+ BYTES_PER_UNENCODED_BLOCK,
+ BYTES_PER_ENCODED_BLOCK,
+ lineLength,
+ lineSeparator == null ? 0 : lineSeparator.length,
+ PAD_DEFAULT,
+ decodingPolicy);
+ // could be simplified if there is no requirement to reject invalid line sep when length <=0
+ // @see test case Base64Test.testConstructors()
+ if (lineSeparator != null) {
+ if (containsAlphabetOrPad(lineSeparator)) {
+ final String sep = StringUtils.newStringUtf8(lineSeparator);
+ throw new IllegalArgumentException(
+ "lineSeparator must not contain base64 characters: [" + sep + "]");
+ }
+ if (lineLength > 0) { // null line-sep forces no chunking rather than throwing IAE
+ this.encodeSize = BYTES_PER_ENCODED_BLOCK + lineSeparator.length;
+ this.lineSeparator = lineSeparator.clone();
+ } else {
+ this.encodeSize = BYTES_PER_ENCODED_BLOCK;
+ this.lineSeparator = null;
+ }
+ } else {
+ this.encodeSize = BYTES_PER_ENCODED_BLOCK;
+ this.lineSeparator = null;
+ }
+ this.decodeSize = this.encodeSize - 1;
+ this.encodeTable = urlSafe ? URL_SAFE_ENCODE_TABLE : STANDARD_ENCODE_TABLE;
+ }
+
+ // Implementation of the Encoder Interface
+
+ /**
+ * Decodes all of the provided data, starting at inPos, for inAvail bytes. Should be called at
+ * least twice: once with the data to decode, and once with inAvail set to "-1" to alert decoder
+ * that EOF has been reached. The "-1" call is not necessary when decoding, but it doesn't hurt,
+ * either.
+ *
+ * Ignores all non-base64 characters. This is how chunked (e.g. 76 character) data is
+ * handled, since CR and LF are silently ignored, but has implications for other bytes, too.
+ * This method subscribes to the garbage-in, garbage-out philosophy: it will not check the
+ * provided data for validity.
+ *
+ * Thanks to "commons" project in ws.apache.org for the bitwise operations, and general
+ * approach. http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/
+ *
+ * @param input byte[] array of ASCII data to base64 decode.
+ * @param inPos Position to start reading data from.
+ * @param inAvail Amount of bytes available from input for decoding.
+ * @param context the context to be used
+ */
+ @Override
+ void decode(final byte[] input, int inPos, final int inAvail, final Context context) {
+ if (context.eof) {
+ return;
+ }
+ if (inAvail < 0) {
+ context.eof = true;
+ }
+ for (int i = 0; i < inAvail; i++) {
+ final byte[] buffer = ensureBufferSize(decodeSize, context);
+ final byte b = input[inPos++];
+ if (b == pad) {
+ // We're done.
+ context.eof = true;
+ break;
+ }
+ if (b >= 0 && b < DECODE_TABLE.length) {
+ final int result = DECODE_TABLE[b];
+ if (result >= 0) {
+ context.modulus = (context.modulus + 1) % BYTES_PER_ENCODED_BLOCK;
+ context.ibitWorkArea = (context.ibitWorkArea << BITS_PER_ENCODED_BYTE) + result;
+ if (context.modulus == 0) {
+ buffer[context.pos++] = (byte) ((context.ibitWorkArea >> 16) & MASK_8BITS);
+ buffer[context.pos++] = (byte) ((context.ibitWorkArea >> 8) & MASK_8BITS);
+ buffer[context.pos++] = (byte) (context.ibitWorkArea & MASK_8BITS);
+ }
+ }
+ }
+ }
+
+ // Two forms of EOF as far as base64 decoder is concerned: actual
+ // EOF (-1) and first time '=' character is encountered in stream.
+ // This approach makes the '=' padding characters completely optional.
+ if (context.eof && context.modulus != 0) {
+ final byte[] buffer = ensureBufferSize(decodeSize, context);
+
+ // We have some spare bits remaining
+ // Output all whole multiples of 8 bits and ignore the rest
+ switch (context.modulus) {
+ // case 0 : // impossible, as excluded above
+ case 1: // 6 bits - either ignore entirely, or raise an exception
+ validateTrailingCharacter();
+ break;
+ case 2: // 12 bits = 8 + 4
+ validateCharacter(MASK_4BITS, context);
+ context.ibitWorkArea = context.ibitWorkArea >> 4; // dump the extra 4 bits
+ buffer[context.pos++] = (byte) ((context.ibitWorkArea) & MASK_8BITS);
+ break;
+ case 3: // 18 bits = 8 + 8 + 2
+ validateCharacter(MASK_2BITS, context);
+ context.ibitWorkArea = context.ibitWorkArea >> 2; // dump 2 bits
+ buffer[context.pos++] = (byte) ((context.ibitWorkArea >> 8) & MASK_8BITS);
+ buffer[context.pos++] = (byte) ((context.ibitWorkArea) & MASK_8BITS);
+ break;
+ default:
+ throw new IllegalStateException("Impossible modulus " + context.modulus);
+ }
+ }
+ }
+
+ /**
+ * Encodes all of the provided data, starting at inPos, for inAvail bytes. Must be called at
+ * least twice: once with the data to encode, and once with inAvail set to "-1" to alert encoder
+ * that EOF has been reached, to flush last remaining bytes (if not multiple of 3).
+ *
+ * Note: no padding is added when encoding using the URL-safe alphabet.
+ *
+ * Thanks to "commons" project in ws.apache.org for the bitwise operations, and general
+ * approach. http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/
+ *
+ * @param in byte[] array of binary data to base64 encode.
+ * @param inPos Position to start reading data from.
+ * @param inAvail Amount of bytes available from input for encoding.
+ * @param context the context to be used
+ */
+ @Override
+ void encode(final byte[] in, int inPos, final int inAvail, final Context context) {
+ if (context.eof) {
+ return;
+ }
+ // inAvail < 0 is how we're informed of EOF in the underlying data we're
+ // encoding.
+ if (inAvail < 0) {
+ context.eof = true;
+ if (0 == context.modulus && lineLength == 0) {
+ return; // no leftovers to process and not using chunking
+ }
+ final byte[] buffer = ensureBufferSize(encodeSize, context);
+ final int savedPos = context.pos;
+ switch (context.modulus) { // 0-2
+ case 0: // nothing to do here
+ break;
+ case 1: // 8 bits = 6 + 2
+ // top 6 bits:
+ buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 2) & MASK_6BITS];
+ // remaining 2:
+ buffer[context.pos++] = encodeTable[(context.ibitWorkArea << 4) & MASK_6BITS];
+ // URL-SAFE skips the padding to further reduce size.
+ if (encodeTable == STANDARD_ENCODE_TABLE) {
+ buffer[context.pos++] = pad;
+ buffer[context.pos++] = pad;
+ }
+ break;
+
+ case 2: // 16 bits = 6 + 6 + 4
+ buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 10) & MASK_6BITS];
+ buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 4) & MASK_6BITS];
+ buffer[context.pos++] = encodeTable[(context.ibitWorkArea << 2) & MASK_6BITS];
+ // URL-SAFE skips the padding to further reduce size.
+ if (encodeTable == STANDARD_ENCODE_TABLE) {
+ buffer[context.pos++] = pad;
+ }
+ break;
+ default:
+ throw new IllegalStateException("Impossible modulus " + context.modulus);
+ }
+ context.currentLinePos += context.pos - savedPos; // keep track of current line position
+ // if currentPos == 0 we are at the start of a line, so don't add CRLF
+ if (lineLength > 0 && context.currentLinePos > 0) {
+ System.arraycopy(lineSeparator, 0, buffer, context.pos, lineSeparator.length);
+ context.pos += lineSeparator.length;
+ }
+ } else {
+ for (int i = 0; i < inAvail; i++) {
+ final byte[] buffer = ensureBufferSize(encodeSize, context);
+ context.modulus = (context.modulus + 1) % BYTES_PER_UNENCODED_BLOCK;
+ int b = in[inPos++];
+ if (b < 0) {
+ b += 256;
+ }
+ context.ibitWorkArea = (context.ibitWorkArea << 8) + b; // BITS_PER_BYTE
+ if (0 == context.modulus) { // 3 bytes = 24 bits = 4 * 6 bits to extract
+ buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 18) & MASK_6BITS];
+ buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 12) & MASK_6BITS];
+ buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 6) & MASK_6BITS];
+ buffer[context.pos++] = encodeTable[context.ibitWorkArea & MASK_6BITS];
+ context.currentLinePos += BYTES_PER_ENCODED_BLOCK;
+ if (lineLength > 0 && lineLength <= context.currentLinePos) {
+ System.arraycopy(lineSeparator, 0, buffer, context.pos, lineSeparator.length);
+ context.pos += lineSeparator.length;
+ context.currentLinePos = 0;
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Returns whether or not the {@code octet} is in the Base64 alphabet.
+ *
+ * @param octet The value to test
+ * @return {@code true} if the value is defined in the Base64 alphabet {@code false} otherwise.
+ */
+ @Override
+ protected boolean isInAlphabet(final byte octet) {
+ return octet >= 0 && octet < decodeTable.length && decodeTable[octet] != -1;
+ }
+
+ /**
+ * Returns our current encode mode. True if we're URL-SAFE, false otherwise.
+ *
+ * @return true if we're in URL-SAFE mode, false otherwise.
+ * @since 1.4
+ */
+ public boolean isUrlSafe() {
+ return this.encodeTable == URL_SAFE_ENCODE_TABLE;
+ }
+
+ /**
+ * Validates whether decoding the final trailing character is possible in the context of the set
+ * of possible base 64 values.
+ *
+ * The character is valid if the lower bits within the provided mask are zero. This is used
+ * to test the final trailing base-64 digit is zero in the bits that will be discarded.
+ *
+ * @param emptyBitsMask The mask of the lower bits that should be empty
+ * @param context the context to be used
+ * @throws IllegalArgumentException if the bits being checked contain any non-zero value
+ */
+ private void validateCharacter(final int emptyBitsMask, final Context context) {
+ if (isStrictDecoding() && (context.ibitWorkArea & emptyBitsMask) != 0) {
+ throw new IllegalArgumentException(
+ "Strict decoding: Last encoded character (before the paddings if any) is a valid "
+ + "base 64 alphabet but not a possible encoding. "
+ + "Expected the discarded bits from the character to be zero.");
+ }
+ }
+
+ /**
+ * Validates whether decoding allows an entire final trailing character that cannot be used for
+ * a complete byte.
+ *
+ * @throws IllegalArgumentException if strict decoding is enabled
+ */
+ private void validateTrailingCharacter() {
+ if (isStrictDecoding()) {
+ throw new IllegalArgumentException(
+ "Strict decoding: Last encoded character (before the paddings if any) is a valid "
+ + "base 64 alphabet but not a possible encoding. "
+ + "Decoding requires at least two trailing 6-bit characters to create bytes.");
+ }
+ }
+ }
}
diff --git a/src/main/java/org/stellar/sdk/Base64.java b/src/main/java/org/stellar/sdk/Base64.java
new file mode 100644
index 000000000..4e70d0f9a
--- /dev/null
+++ b/src/main/java/org/stellar/sdk/Base64.java
@@ -0,0 +1,49 @@
+package org.stellar.sdk;
+
+import java.nio.charset.StandardCharsets;
+
+/**
+ * Base64 utility class.
+ *
+ * The java.util.Base64 class is not available in Android API level 25 and below, The minSDK
+ * currently used by the Lobstr client is 23, and we need to make it compatible.
+ */
+public class Base64 {
+ // ApacheCodec.Base64 is thread-safe
+ private static final ApacheCodec.Base64 base64 =
+ new ApacheCodec.Base64(0, new byte[] {'\r', '\n'}, false, ApacheCodec.CodecPolicy.STRICT);
+
+ /**
+ * Encodes bytes to base64 string
+ *
+ * @param data bytes to encode
+ * @return encoded string
+ */
+ public static String encodeToString(byte[] data) {
+ return base64.encodeToString(data);
+ }
+
+ /**
+ * Encodes bytes to base64 bytes
+ *
+ * @param data bytes to encode
+ * @return encoded bytes
+ */
+ public static byte[] encode(byte[] data) {
+ return base64.encode(data);
+ }
+
+ /**
+ * Decodes base64 string to bytes
+ *
+ * @param data string to decode
+ * @return decoded bytes
+ */
+ public static byte[] decode(String data) {
+ byte[] raw = data.getBytes(StandardCharsets.UTF_8);
+ if (!base64.isInAlphabet(raw, true)) {
+ throw new IllegalArgumentException("Invalid base64 string");
+ }
+ return base64.decode(raw);
+ }
+}
diff --git a/src/main/java/org/stellar/sdk/Sep10Challenge.java b/src/main/java/org/stellar/sdk/Sep10Challenge.java
index a47526b75..85aee29c0 100644
--- a/src/main/java/org/stellar/sdk/Sep10Challenge.java
+++ b/src/main/java/org/stellar/sdk/Sep10Challenge.java
@@ -5,7 +5,6 @@
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Base64;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -84,7 +83,7 @@ public static Transaction newChallenge(
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.getEncoder().encode(nonce);
+ byte[] encodedNonce = Base64.encode(nonce);
if (clientDomain.isEmpty() != clientSigningKey.isEmpty()) {
throw new InvalidSep10ChallengeException(
@@ -310,7 +309,7 @@ public static ChallengeTransaction readChallengeTransaction(
byte[] nonce;
try {
- nonce = Base64.getDecoder().decode(new String(manageDataOperation.getValue()));
+ nonce = Base64.decode(new String(manageDataOperation.getValue()));
} catch (IllegalArgumentException e) {
throw new InvalidSep10ChallengeException(
"Failed to decode random nonce provided in ManageData operation.", e);
diff --git a/src/main/java/org/stellar/sdk/responses/AccountResponse.java b/src/main/java/org/stellar/sdk/responses/AccountResponse.java
index 3aa672629..b0b0689d2 100644
--- a/src/main/java/org/stellar/sdk/responses/AccountResponse.java
+++ b/src/main/java/org/stellar/sdk/responses/AccountResponse.java
@@ -3,11 +3,11 @@
import static org.stellar.sdk.Asset.create;
import com.google.gson.annotations.SerializedName;
-import java.util.Base64;
import java.util.HashMap;
import java.util.Optional;
import lombok.NonNull;
import org.stellar.sdk.Asset;
+import org.stellar.sdk.Base64;
import org.stellar.sdk.KeyPair;
import org.stellar.sdk.LiquidityPoolID;
@@ -440,7 +440,7 @@ public String get(String key) {
* @return raw value
*/
public byte[] getDecoded(String key) {
- return Base64.getDecoder().decode(this.get(key));
+ return Base64.decode(this.get(key));
}
}
diff --git a/src/main/java/org/stellar/sdk/responses/SubmitTransactionResponse.java b/src/main/java/org/stellar/sdk/responses/SubmitTransactionResponse.java
index 9f977f214..8212a03dd 100644
--- a/src/main/java/org/stellar/sdk/responses/SubmitTransactionResponse.java
+++ b/src/main/java/org/stellar/sdk/responses/SubmitTransactionResponse.java
@@ -4,8 +4,8 @@
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Base64;
import java.util.Optional;
+import org.stellar.sdk.Base64;
import org.stellar.sdk.Server;
import org.stellar.sdk.xdr.OperationResult;
import org.stellar.sdk.xdr.OperationType;
@@ -151,7 +151,7 @@ public Optional This is a compromise, because the Android platform built-in with commons-codec:commons-codec:
- * 1.3.0 version in API < 28, which does not include the Base32 module. See the issue
+ * 1.3.0 version in API < 28, which does not include the Base32 module. In addition, {@link
+ * java.util.Base64} also requires API 26+, so we have also copied the Base64 implementation here.
+ * See the issue
*/
class ApacheCodec {
enum CodecPolicy {
@@ -1145,8 +1162,8 @@ abstract static class BaseNCodec {
*
* Some VMs reserve some header words in an array. Attempts to allocate larger arrays may
+ * result in OutOfMemoryError: Requested array size exceeds VM limit.
*
* When encoding the line length is 0 (no chunking), and the encoding table is
+ * STANDARD_ENCODE_TABLE.
+ *
+ * When decoding all variants are supported.
+ */
+ public Base64() {
+ this(0);
+ }
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in the given URL-safe mode.
+ *
+ * When encoding the line length is 76, the line separator is CRLF, and the encoding table is
+ * STANDARD_ENCODE_TABLE.
+ *
+ * When decoding all variants are supported.
+ *
+ * @param urlSafe if {@code true}, URL-safe encoding is used. In most cases this should be set
+ * to {@code false}.
+ * @since 1.4
+ */
+ public Base64(final boolean urlSafe) {
+ this(MIME_CHUNK_SIZE, CHUNK_SEPARATOR, urlSafe);
+ }
+
+ // Implementation of integer encoding used for crypto
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
+ *
+ * When encoding the line length is given in the constructor, the line separator is CRLF, and
+ * the encoding table is STANDARD_ENCODE_TABLE.
+ *
+ * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
+ * in the encoded data.
+ *
+ * When decoding all variants are supported.
+ *
+ * @param lineLength Each line of encoded data will be at most of the given length (rounded down
+ * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
+ * into lines (chunks). Ignored when decoding.
+ * @since 1.4
+ */
+ public Base64(final int lineLength) {
+ this(lineLength, CHUNK_SEPARATOR);
+ }
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
+ *
+ * When encoding the line length and line separator are given in the constructor, and the
+ * encoding table is STANDARD_ENCODE_TABLE.
+ *
+ * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
+ * in the encoded data.
+ *
+ * When decoding all variants are supported.
+ *
+ * @param lineLength Each line of encoded data will be at most of the given length (rounded down
+ * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
+ * into lines (chunks). Ignored when decoding.
+ * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
+ * @throws IllegalArgumentException Thrown when the provided lineSeparator included some base64
+ * characters.
+ * @since 1.4
+ */
+ public Base64(final int lineLength, final byte[] lineSeparator) {
+ this(lineLength, lineSeparator, false);
+ }
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
+ *
+ * When encoding the line length and line separator are given in the constructor, and the
+ * encoding table is STANDARD_ENCODE_TABLE.
+ *
+ * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
+ * in the encoded data.
+ *
+ * When decoding all variants are supported.
+ *
+ * @param lineLength Each line of encoded data will be at most of the given length (rounded down
+ * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
+ * into lines (chunks). Ignored when decoding.
+ * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
+ * @param urlSafe Instead of emitting '+' and '/' we emit '-' and '_' respectively. urlSafe is
+ * only applied to encode operations. Decoding seamlessly handles both modes. Note: no
+ * padding is added when using the URL-safe alphabet.
+ * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base64
+ * characters.
+ * @since 1.4
+ */
+ public Base64(final int lineLength, final byte[] lineSeparator, final boolean urlSafe) {
+ this(lineLength, lineSeparator, urlSafe, DECODING_POLICY_DEFAULT);
+ }
+
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
+ *
+ * When encoding the line length and line separator are given in the constructor, and the
+ * encoding table is STANDARD_ENCODE_TABLE.
+ *
+ * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
+ * in the encoded data.
+ *
+ * When decoding all variants are supported.
+ *
+ * @param lineLength Each line of encoded data will be at most of the given length (rounded down
+ * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
+ * into lines (chunks). Ignored when decoding.
+ * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
+ * @param urlSafe Instead of emitting '+' and '/' we emit '-' and '_' respectively. urlSafe is
+ * only applied to encode operations. Decoding seamlessly handles both modes. Note: no
+ * padding is added when using the URL-safe alphabet.
+ * @param decodingPolicy The decoding policy.
+ * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base64
+ * characters.
+ * @since 1.15
+ */
+ public Base64(
+ final int lineLength,
+ final byte[] lineSeparator,
+ final boolean urlSafe,
+ final CodecPolicy decodingPolicy) {
+ super(
+ BYTES_PER_UNENCODED_BLOCK,
+ BYTES_PER_ENCODED_BLOCK,
+ lineLength,
+ lineSeparator == null ? 0 : lineSeparator.length,
+ PAD_DEFAULT,
+ decodingPolicy);
+ // could be simplified if there is no requirement to reject invalid line sep when length <=0
+ // @see test case Base64Test.testConstructors()
+ if (lineSeparator != null) {
+ if (containsAlphabetOrPad(lineSeparator)) {
+ final String sep = StringUtils.newStringUtf8(lineSeparator);
+ throw new IllegalArgumentException(
+ "lineSeparator must not contain base64 characters: [" + sep + "]");
+ }
+ if (lineLength > 0) { // null line-sep forces no chunking rather than throwing IAE
+ this.encodeSize = BYTES_PER_ENCODED_BLOCK + lineSeparator.length;
+ this.lineSeparator = lineSeparator.clone();
+ } else {
+ this.encodeSize = BYTES_PER_ENCODED_BLOCK;
+ this.lineSeparator = null;
+ }
+ } else {
+ this.encodeSize = BYTES_PER_ENCODED_BLOCK;
+ this.lineSeparator = null;
+ }
+ this.decodeSize = this.encodeSize - 1;
+ this.encodeTable = urlSafe ? URL_SAFE_ENCODE_TABLE : STANDARD_ENCODE_TABLE;
+ }
+
/**
* Decodes Base64 data into octets.
*
@@ -2270,7 +2444,6 @@ public static byte[] decodeBase64(final String base64String) {
return new Base64().decode(base64String);
}
- // Implementation of integer encoding used for crypto
/**
* Decodes a byte64-encoded integer according to crypto standards such as W3C's XML-Signature.
*
@@ -2518,161 +2691,6 @@ static byte[] toIntegerBytes(final BigInteger bigInt) {
return resizedBytes;
}
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
- *
- * When encoding the line length is 0 (no chunking), and the encoding table is
- * STANDARD_ENCODE_TABLE.
- *
- * When decoding all variants are supported.
- */
- public Base64() {
- this(0);
- }
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in the given URL-safe mode.
- *
- * When encoding the line length is 76, the line separator is CRLF, and the encoding table is
- * STANDARD_ENCODE_TABLE.
- *
- * When decoding all variants are supported.
- *
- * @param urlSafe if {@code true}, URL-safe encoding is used. In most cases this should be set
- * to {@code false}.
- * @since 1.4
- */
- public Base64(final boolean urlSafe) {
- this(MIME_CHUNK_SIZE, CHUNK_SEPARATOR, urlSafe);
- }
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
- *
- * When encoding the line length is given in the constructor, the line separator is CRLF, and
- * the encoding table is STANDARD_ENCODE_TABLE.
- *
- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
- * in the encoded data.
- *
- * When decoding all variants are supported.
- *
- * @param lineLength Each line of encoded data will be at most of the given length (rounded down
- * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
- * into lines (chunks). Ignored when decoding.
- * @since 1.4
- */
- public Base64(final int lineLength) {
- this(lineLength, CHUNK_SEPARATOR);
- }
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
- *
- * When encoding the line length and line separator are given in the constructor, and the
- * encoding table is STANDARD_ENCODE_TABLE.
- *
- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
- * in the encoded data.
- *
- * When decoding all variants are supported.
- *
- * @param lineLength Each line of encoded data will be at most of the given length (rounded down
- * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
- * into lines (chunks). Ignored when decoding.
- * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
- * @throws IllegalArgumentException Thrown when the provided lineSeparator included some base64
- * characters.
- * @since 1.4
- */
- public Base64(final int lineLength, final byte[] lineSeparator) {
- this(lineLength, lineSeparator, false);
- }
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
- *
- * When encoding the line length and line separator are given in the constructor, and the
- * encoding table is STANDARD_ENCODE_TABLE.
- *
- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
- * in the encoded data.
- *
- * When decoding all variants are supported.
- *
- * @param lineLength Each line of encoded data will be at most of the given length (rounded down
- * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
- * into lines (chunks). Ignored when decoding.
- * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
- * @param urlSafe Instead of emitting '+' and '/' we emit '-' and '_' respectively. urlSafe is
- * only applied to encode operations. Decoding seamlessly handles both modes. Note: no
- * padding is added when using the URL-safe alphabet.
- * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base64
- * characters.
- * @since 1.4
- */
- public Base64(final int lineLength, final byte[] lineSeparator, final boolean urlSafe) {
- this(lineLength, lineSeparator, urlSafe, DECODING_POLICY_DEFAULT);
- }
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
- *
- * When encoding the line length and line separator are given in the constructor, and the
- * encoding table is STANDARD_ENCODE_TABLE.
- *
- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
- * in the encoded data.
- *
- * When decoding all variants are supported.
- *
- * @param lineLength Each line of encoded data will be at most of the given length (rounded down
- * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
- * into lines (chunks). Ignored when decoding.
- * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
- * @param urlSafe Instead of emitting '+' and '/' we emit '-' and '_' respectively. urlSafe is
- * only applied to encode operations. Decoding seamlessly handles both modes. Note: no
- * padding is added when using the URL-safe alphabet.
- * @param decodingPolicy The decoding policy.
- * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base64
- * characters.
- * @since 1.15
- */
- public Base64(
- final int lineLength,
- final byte[] lineSeparator,
- final boolean urlSafe,
- final CodecPolicy decodingPolicy) {
- super(
- BYTES_PER_UNENCODED_BLOCK,
- BYTES_PER_ENCODED_BLOCK,
- lineLength,
- lineSeparator == null ? 0 : lineSeparator.length,
- PAD_DEFAULT,
- decodingPolicy);
- // could be simplified if there is no requirement to reject invalid line sep when length <=0
- // @see test case Base64Test.testConstructors()
- if (lineSeparator != null) {
- if (containsAlphabetOrPad(lineSeparator)) {
- final String sep = StringUtils.newStringUtf8(lineSeparator);
- throw new IllegalArgumentException(
- "lineSeparator must not contain base64 characters: [" + sep + "]");
- }
- if (lineLength > 0) { // null line-sep forces no chunking rather than throwing IAE
- this.encodeSize = BYTES_PER_ENCODED_BLOCK + lineSeparator.length;
- this.lineSeparator = lineSeparator.clone();
- } else {
- this.encodeSize = BYTES_PER_ENCODED_BLOCK;
- this.lineSeparator = null;
- }
- } else {
- this.encodeSize = BYTES_PER_ENCODED_BLOCK;
- this.lineSeparator = null;
- }
- this.decodeSize = this.encodeSize - 1;
- this.encodeTable = urlSafe ? URL_SAFE_ENCODE_TABLE : STANDARD_ENCODE_TABLE;
- }
-
// Implementation of the Encoder Interface
/**
From f8a33738d5ad68ead1bf60ba85598ecaed75b628 Mon Sep 17 00:00:00 2001
From: overcat <4catcode@gmail.com>
Date: Sun, 24 Sep 2023 12:07:38 +0800
Subject: [PATCH 10/17] fix
---
src/main/java/org/stellar/sdk/Base64.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/stellar/sdk/Base64.java b/src/main/java/org/stellar/sdk/Base64.java
index 2e0a893bb..6f773957b 100644
--- a/src/main/java/org/stellar/sdk/Base64.java
+++ b/src/main/java/org/stellar/sdk/Base64.java
@@ -11,7 +11,7 @@
public class Base64 {
// ApacheCodec.Base64 is thread-safe
private static final ApacheCodec.Base64 base64 =
- new ApacheCodec.Base64(0, new byte[] {'\r', '\n'}, false, ApacheCodec.CodecPolicy.STRICT);
+ new ApacheCodec.Base64(0, null, false, ApacheCodec.CodecPolicy.STRICT);
/**
* Encodes bytes to base64 string
From d88f5de050c78f6ecbd252b11710046b6a897f6b Mon Sep 17 00:00:00 2001
From: overcat <4catcode@gmail.com>
Date: Sun, 24 Sep 2023 16:39:56 +0800
Subject: [PATCH 11/17] add test
---
.../stellar/javastellarsdkdemoapp/MainActivity.kt | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/MainActivity.kt b/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/MainActivity.kt
index 1f533cd99..c5bf30bc5 100644
--- a/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/MainActivity.kt
+++ b/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/MainActivity.kt
@@ -139,9 +139,9 @@ fun MainPreview() {
private fun testSDK(): String {
return try {
// send request to horizon server
- val server = Server("https://horizon-testnet.stellar.org")
+ val server = Server("https://horizon.stellar.org")
val horizonResp = server.root()
- if (horizonResp == null || horizonResp.networkPassphrase != Network.TESTNET.networkPassphrase) {
+ if (horizonResp == null || horizonResp.networkPassphrase != Network.PUBLIC.networkPassphrase) {
throw Exception("Query Horizon failed")
}
@@ -279,6 +279,16 @@ private fun testSDK(): String {
.build()
Auth.authorizeEntry(entry.toXdrBase64(), signer, validUntilLedgerSeq, network)
+ // send real transaction
+ // https://horizon.stellar.org/transactions/fe833c504ca8b329c1e00adec7da79f61a55e28dc705e22a6515494427cc456a
+ val xdr =
+ "AAAAAgAAAAAcBaQEwcGuB3ErX1lnwKcP/pe84KcAabwB0GNk6SNvnwAAnQgCwi0TAAgJjwAAAAEAAAAAAAAAAAAAAABlD7HrAAAAAAAAAAIAAAAAAAAADAAAAAAAAAACZUJvbmQAAAAAAAAAAAAAAN80PsIQ9ohJQb1yLu4XaURrKURt5rbLoC7FfOM4vSZQAAAH0oBPrQsAAABFAB6EgAAAAABRAwlNAAAAAAAAAAwAAAAAAAAAAmVCb25kAAAAAAAAAAAAAADfND7CEPaISUG9ci7uF2lEaylEbea2y6AuxXzjOL0mUAAAByOt/5PHAAAAvQBMS0AAAAAAUQMJTgAAAAAAAAAB6SNvnwAAAEDR4cJo3zzZfCFusnM0sECT4xmhLW/bgwukIBxWWXvsDGLdQtE87lkrGijAPiyBEy3n1lDxDu4uwNpGnMXEaTAN"
+ val tx: Transaction = Transaction.fromEnvelopeXdr(xdr, Network.PUBLIC) as Transaction
+ val resp = server.submitTransaction(tx)
+ if (!resp.isSuccess) {
+ throw Exception("Submit transaction failed")
+ }
+
"SUCCESS"
} catch (e: Exception) {
Log.e("MainActivity", "testSDK ERROR", e)
From 3ca599d5065729f8c0388bd662746c175735419c Mon Sep 17 00:00:00 2001
From: Jun Luo <4catcode@gmail.com>
Date: Tue, 26 Sep 2023 09:11:43 +0800
Subject: [PATCH 12/17] SPI
---
.github/workflows/test-deploy.yml | 2 +-
android_test/app/build.gradle.kts | 11 +-
.../AndroidSdkProvider.kt | 24 +
.../services/org.stellar.sdk.spi.SdkProvider | 1 +
.../java/org/stellar/sdk/ApacheCodec.java | 763 +-----------------
src/main/java/org/stellar/sdk/Base64.java | 41 +-
.../java/org/stellar/sdk/Base64Factory.java | 31 +
src/main/java/org/stellar/sdk/JDKBase64.java | 19 +
.../java/org/stellar/sdk/Sep10Challenge.java | 4 +-
.../sdk/responses/AccountResponse.java | 4 +-
.../responses/SubmitTransactionResponse.java | 4 +-
.../responses/TransactionDeserializer.java | 10 +-
.../java/org/stellar/sdk/spi/SdkProvider.java | 29 +
.../org/stellar/sdk/xdr/AccountEntry.java | 10 +-
.../sdk/xdr/AccountEntryExtensionV1.java | 10 +-
.../sdk/xdr/AccountEntryExtensionV2.java | 10 +-
.../sdk/xdr/AccountEntryExtensionV3.java | 6 +-
.../org/stellar/sdk/xdr/AccountFlags.java | 6 +-
.../java/org/stellar/sdk/xdr/AccountID.java | 6 +-
.../stellar/sdk/xdr/AccountMergeResult.java | 6 +-
.../sdk/xdr/AccountMergeResultCode.java | 6 +-
.../org/stellar/sdk/xdr/AllowTrustOp.java | 6 +-
.../org/stellar/sdk/xdr/AllowTrustResult.java | 6 +-
.../stellar/sdk/xdr/AllowTrustResultCode.java | 6 +-
.../java/org/stellar/sdk/xdr/AlphaNum12.java | 6 +-
.../java/org/stellar/sdk/xdr/AlphaNum4.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Asset.java | 6 +-
.../java/org/stellar/sdk/xdr/AssetCode.java | 6 +-
.../java/org/stellar/sdk/xdr/AssetCode12.java | 6 +-
.../java/org/stellar/sdk/xdr/AssetCode4.java | 6 +-
.../java/org/stellar/sdk/xdr/AssetType.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Auth.java | 6 +-
.../java/org/stellar/sdk/xdr/AuthCert.java | 6 +-
.../stellar/sdk/xdr/AuthenticatedMessage.java | 10 +-
.../xdr/BeginSponsoringFutureReservesOp.java | 6 +-
.../BeginSponsoringFutureReservesResult.java | 6 +-
...ginSponsoringFutureReservesResultCode.java | 6 +-
.../java/org/stellar/sdk/xdr/BucketEntry.java | 6 +-
.../org/stellar/sdk/xdr/BucketEntryType.java | 6 +-
.../org/stellar/sdk/xdr/BucketMetadata.java | 10 +-
.../sdk/xdr/BumpFootprintExpirationOp.java | 6 +-
.../xdr/BumpFootprintExpirationResult.java | 6 +-
.../BumpFootprintExpirationResultCode.java | 6 +-
.../org/stellar/sdk/xdr/BumpSequenceOp.java | 6 +-
.../stellar/sdk/xdr/BumpSequenceResult.java | 6 +-
.../sdk/xdr/BumpSequenceResultCode.java | 6 +-
.../org/stellar/sdk/xdr/ChangeTrustAsset.java | 6 +-
.../org/stellar/sdk/xdr/ChangeTrustOp.java | 6 +-
.../stellar/sdk/xdr/ChangeTrustResult.java | 6 +-
.../sdk/xdr/ChangeTrustResultCode.java | 6 +-
.../java/org/stellar/sdk/xdr/ClaimAtom.java | 6 +-
.../org/stellar/sdk/xdr/ClaimAtomType.java | 6 +-
.../sdk/xdr/ClaimClaimableBalanceOp.java | 6 +-
.../sdk/xdr/ClaimClaimableBalanceResult.java | 6 +-
.../xdr/ClaimClaimableBalanceResultCode.java | 6 +-
.../stellar/sdk/xdr/ClaimLiquidityAtom.java | 6 +-
.../org/stellar/sdk/xdr/ClaimOfferAtom.java | 6 +-
.../org/stellar/sdk/xdr/ClaimOfferAtomV0.java | 6 +-
.../org/stellar/sdk/xdr/ClaimPredicate.java | 6 +-
.../stellar/sdk/xdr/ClaimPredicateType.java | 6 +-
.../sdk/xdr/ClaimableBalanceEntry.java | 10 +-
.../xdr/ClaimableBalanceEntryExtensionV1.java | 10 +-
.../sdk/xdr/ClaimableBalanceFlags.java | 6 +-
.../stellar/sdk/xdr/ClaimableBalanceID.java | 6 +-
.../sdk/xdr/ClaimableBalanceIDType.java | 6 +-
.../java/org/stellar/sdk/xdr/Claimant.java | 10 +-
.../org/stellar/sdk/xdr/ClaimantType.java | 6 +-
.../sdk/xdr/ClawbackClaimableBalanceOp.java | 6 +-
.../xdr/ClawbackClaimableBalanceResult.java | 6 +-
.../ClawbackClaimableBalanceResultCode.java | 6 +-
.../java/org/stellar/sdk/xdr/ClawbackOp.java | 6 +-
.../org/stellar/sdk/xdr/ClawbackResult.java | 6 +-
.../stellar/sdk/xdr/ClawbackResultCode.java | 6 +-
.../xdr/ConfigSettingContractBandwidthV0.java | 6 +-
.../xdr/ConfigSettingContractComputeV0.java | 6 +-
.../xdr/ConfigSettingContractEventsV0.java | 6 +-
...ConfigSettingContractExecutionLanesV0.java | 6 +-
...ConfigSettingContractHistoricalDataV0.java | 6 +-
.../ConfigSettingContractLedgerCostV0.java | 6 +-
.../stellar/sdk/xdr/ConfigSettingEntry.java | 6 +-
.../org/stellar/sdk/xdr/ConfigSettingID.java | 6 +-
.../org/stellar/sdk/xdr/ConfigUpgradeSet.java | 6 +-
.../stellar/sdk/xdr/ConfigUpgradeSetKey.java | 6 +-
.../stellar/sdk/xdr/ContractCodeEntry.java | 6 +-
.../sdk/xdr/ContractCostParamEntry.java | 6 +-
.../stellar/sdk/xdr/ContractCostParams.java | 6 +-
.../org/stellar/sdk/xdr/ContractCostType.java | 6 +-
.../sdk/xdr/ContractDataDurability.java | 6 +-
.../stellar/sdk/xdr/ContractDataEntry.java | 6 +-
.../org/stellar/sdk/xdr/ContractEvent.java | 14 +-
.../stellar/sdk/xdr/ContractEventType.java | 6 +-
.../stellar/sdk/xdr/ContractExecutable.java | 6 +-
.../sdk/xdr/ContractExecutableType.java | 6 +-
.../stellar/sdk/xdr/ContractIDPreimage.java | 10 +-
.../sdk/xdr/ContractIDPreimageType.java | 6 +-
.../org/stellar/sdk/xdr/CreateAccountOp.java | 6 +-
.../stellar/sdk/xdr/CreateAccountResult.java | 6 +-
.../sdk/xdr/CreateAccountResultCode.java | 6 +-
.../sdk/xdr/CreateClaimableBalanceOp.java | 6 +-
.../sdk/xdr/CreateClaimableBalanceResult.java | 6 +-
.../xdr/CreateClaimableBalanceResultCode.java | 6 +-
.../stellar/sdk/xdr/CreateContractArgs.java | 6 +-
.../sdk/xdr/CreatePassiveSellOfferOp.java | 6 +-
.../org/stellar/sdk/xdr/CryptoKeyType.java | 6 +-
.../org/stellar/sdk/xdr/Curve25519Public.java | 6 +-
.../org/stellar/sdk/xdr/Curve25519Secret.java | 6 +-
.../java/org/stellar/sdk/xdr/DataEntry.java | 10 +-
.../java/org/stellar/sdk/xdr/DataValue.java | 6 +-
.../stellar/sdk/xdr/DecoratedSignature.java | 6 +-
.../org/stellar/sdk/xdr/DiagnosticEvent.java | 6 +-
.../java/org/stellar/sdk/xdr/DontHave.java | 6 +-
.../java/org/stellar/sdk/xdr/Duration.java | 6 +-
.../org/stellar/sdk/xdr/EncryptedBody.java | 6 +-
.../EndSponsoringFutureReservesResult.java | 6 +-
...EndSponsoringFutureReservesResultCode.java | 6 +-
.../org/stellar/sdk/xdr/EnvelopeType.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Error.java | 6 +-
.../java/org/stellar/sdk/xdr/ErrorCode.java | 6 +-
.../org/stellar/sdk/xdr/EvictionIterator.java | 6 +-
.../org/stellar/sdk/xdr/ExpirationEntry.java | 6 +-
.../org/stellar/sdk/xdr/ExtensionPoint.java | 6 +-
.../stellar/sdk/xdr/FeeBumpTransaction.java | 14 +-
.../sdk/xdr/FeeBumpTransactionEnvelope.java | 6 +-
.../java/org/stellar/sdk/xdr/FloodAdvert.java | 6 +-
.../java/org/stellar/sdk/xdr/FloodDemand.java | 6 +-
.../sdk/xdr/GeneralizedTransactionSet.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Hash.java | 6 +-
.../org/stellar/sdk/xdr/HashIDPreimage.java | 22 +-
src/main/java/org/stellar/sdk/xdr/Hello.java | 6 +-
.../org/stellar/sdk/xdr/HmacSha256Key.java | 6 +-
.../org/stellar/sdk/xdr/HmacSha256Mac.java | 6 +-
.../org/stellar/sdk/xdr/HostFunction.java | 6 +-
.../org/stellar/sdk/xdr/HostFunctionType.java | 6 +-
.../java/org/stellar/sdk/xdr/IPAddrType.java | 6 +-
.../org/stellar/sdk/xdr/InflationPayout.java | 6 +-
.../org/stellar/sdk/xdr/InflationResult.java | 6 +-
.../stellar/sdk/xdr/InflationResultCode.java | 6 +-
.../sdk/xdr/InnerTransactionResult.java | 14 +-
.../sdk/xdr/InnerTransactionResultPair.java | 6 +-
.../java/org/stellar/sdk/xdr/Int128Parts.java | 6 +-
.../java/org/stellar/sdk/xdr/Int256Parts.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Int32.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Int64.java | 6 +-
.../stellar/sdk/xdr/InvokeContractArgs.java | 6 +-
.../stellar/sdk/xdr/InvokeHostFunctionOp.java | 6 +-
.../sdk/xdr/InvokeHostFunctionResult.java | 6 +-
.../sdk/xdr/InvokeHostFunctionResultCode.java | 6 +-
.../InvokeHostFunctionSuccessPreImage.java | 6 +-
.../org/stellar/sdk/xdr/LedgerBounds.java | 6 +-
.../org/stellar/sdk/xdr/LedgerCloseMeta.java | 6 +-
.../stellar/sdk/xdr/LedgerCloseMetaV0.java | 6 +-
.../stellar/sdk/xdr/LedgerCloseMetaV1.java | 6 +-
.../stellar/sdk/xdr/LedgerCloseMetaV2.java | 6 +-
.../sdk/xdr/LedgerCloseValueSignature.java | 6 +-
.../java/org/stellar/sdk/xdr/LedgerEntry.java | 14 +-
.../stellar/sdk/xdr/LedgerEntryChange.java | 6 +-
.../sdk/xdr/LedgerEntryChangeType.java | 6 +-
.../stellar/sdk/xdr/LedgerEntryChanges.java | 6 +-
.../sdk/xdr/LedgerEntryExtensionV1.java | 10 +-
.../org/stellar/sdk/xdr/LedgerEntryType.java | 6 +-
.../org/stellar/sdk/xdr/LedgerFootprint.java | 6 +-
.../org/stellar/sdk/xdr/LedgerHeader.java | 10 +-
.../sdk/xdr/LedgerHeaderExtensionV1.java | 10 +-
.../stellar/sdk/xdr/LedgerHeaderFlags.java | 6 +-
.../sdk/xdr/LedgerHeaderHistoryEntry.java | 10 +-
.../java/org/stellar/sdk/xdr/LedgerKey.java | 46 +-
.../stellar/sdk/xdr/LedgerSCPMessages.java | 6 +-
.../org/stellar/sdk/xdr/LedgerUpgrade.java | 6 +-
.../stellar/sdk/xdr/LedgerUpgradeType.java | 6 +-
.../java/org/stellar/sdk/xdr/Liabilities.java | 6 +-
...iquidityPoolConstantProductParameters.java | 6 +-
.../sdk/xdr/LiquidityPoolDepositOp.java | 6 +-
.../sdk/xdr/LiquidityPoolDepositResult.java | 6 +-
.../xdr/LiquidityPoolDepositResultCode.java | 6 +-
.../stellar/sdk/xdr/LiquidityPoolEntry.java | 14 +-
.../sdk/xdr/LiquidityPoolParameters.java | 6 +-
.../stellar/sdk/xdr/LiquidityPoolType.java | 6 +-
.../sdk/xdr/LiquidityPoolWithdrawOp.java | 6 +-
.../sdk/xdr/LiquidityPoolWithdrawResult.java | 6 +-
.../xdr/LiquidityPoolWithdrawResultCode.java | 6 +-
.../org/stellar/sdk/xdr/ManageBuyOfferOp.java | 6 +-
.../stellar/sdk/xdr/ManageBuyOfferResult.java | 6 +-
.../sdk/xdr/ManageBuyOfferResultCode.java | 6 +-
.../org/stellar/sdk/xdr/ManageDataOp.java | 6 +-
.../org/stellar/sdk/xdr/ManageDataResult.java | 6 +-
.../stellar/sdk/xdr/ManageDataResultCode.java | 6 +-
.../stellar/sdk/xdr/ManageOfferEffect.java | 6 +-
.../sdk/xdr/ManageOfferSuccessResult.java | 10 +-
.../stellar/sdk/xdr/ManageSellOfferOp.java | 6 +-
.../sdk/xdr/ManageSellOfferResult.java | 6 +-
.../sdk/xdr/ManageSellOfferResultCode.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Memo.java | 6 +-
.../java/org/stellar/sdk/xdr/MemoType.java | 6 +-
.../java/org/stellar/sdk/xdr/MessageType.java | 6 +-
.../org/stellar/sdk/xdr/MuxedAccount.java | 10 +-
src/main/java/org/stellar/sdk/xdr/NodeID.java | 6 +-
.../java/org/stellar/sdk/xdr/OfferEntry.java | 10 +-
.../org/stellar/sdk/xdr/OfferEntryFlags.java | 6 +-
.../java/org/stellar/sdk/xdr/Operation.java | 10 +-
.../org/stellar/sdk/xdr/OperationMeta.java | 6 +-
.../org/stellar/sdk/xdr/OperationResult.java | 10 +-
.../stellar/sdk/xdr/OperationResultCode.java | 6 +-
.../org/stellar/sdk/xdr/OperationType.java | 6 +-
.../sdk/xdr/PathPaymentStrictReceiveOp.java | 6 +-
.../xdr/PathPaymentStrictReceiveResult.java | 10 +-
.../PathPaymentStrictReceiveResultCode.java | 6 +-
.../sdk/xdr/PathPaymentStrictSendOp.java | 6 +-
.../sdk/xdr/PathPaymentStrictSendResult.java | 10 +-
.../xdr/PathPaymentStrictSendResultCode.java | 6 +-
.../java/org/stellar/sdk/xdr/PaymentOp.java | 6 +-
.../org/stellar/sdk/xdr/PaymentResult.java | 6 +-
.../stellar/sdk/xdr/PaymentResultCode.java | 6 +-
.../java/org/stellar/sdk/xdr/PeerAddress.java | 10 +-
.../org/stellar/sdk/xdr/PeerStatList.java | 6 +-
.../java/org/stellar/sdk/xdr/PeerStats.java | 6 +-
.../stellar/sdk/xdr/PersistedSCPState.java | 6 +-
.../stellar/sdk/xdr/PersistedSCPStateV0.java | 6 +-
.../stellar/sdk/xdr/PersistedSCPStateV1.java | 6 +-
src/main/java/org/stellar/sdk/xdr/PoolID.java | 6 +-
.../org/stellar/sdk/xdr/PreconditionType.java | 6 +-
.../org/stellar/sdk/xdr/Preconditions.java | 6 +-
.../org/stellar/sdk/xdr/PreconditionsV2.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Price.java | 6 +-
.../java/org/stellar/sdk/xdr/PublicKey.java | 6 +-
.../org/stellar/sdk/xdr/PublicKeyType.java | 6 +-
.../stellar/sdk/xdr/RestoreFootprintOp.java | 6 +-
.../sdk/xdr/RestoreFootprintResult.java | 6 +-
.../sdk/xdr/RestoreFootprintResultCode.java | 6 +-
.../stellar/sdk/xdr/RevokeSponsorshipOp.java | 10 +-
.../sdk/xdr/RevokeSponsorshipResult.java | 6 +-
.../sdk/xdr/RevokeSponsorshipResultCode.java | 6 +-
.../sdk/xdr/RevokeSponsorshipType.java | 6 +-
.../java/org/stellar/sdk/xdr/SCAddress.java | 6 +-
.../org/stellar/sdk/xdr/SCAddressType.java | 6 +-
.../java/org/stellar/sdk/xdr/SCBytes.java | 6 +-
.../stellar/sdk/xdr/SCContractInstance.java | 6 +-
.../org/stellar/sdk/xdr/SCEnvMetaEntry.java | 6 +-
.../org/stellar/sdk/xdr/SCEnvMetaKind.java | 6 +-
.../java/org/stellar/sdk/xdr/SCError.java | 6 +-
.../java/org/stellar/sdk/xdr/SCErrorCode.java | 6 +-
.../java/org/stellar/sdk/xdr/SCErrorType.java | 6 +-
src/main/java/org/stellar/sdk/xdr/SCMap.java | 6 +-
.../java/org/stellar/sdk/xdr/SCMapEntry.java | 6 +-
.../java/org/stellar/sdk/xdr/SCMetaEntry.java | 6 +-
.../java/org/stellar/sdk/xdr/SCMetaKind.java | 6 +-
.../java/org/stellar/sdk/xdr/SCMetaV0.java | 6 +-
.../java/org/stellar/sdk/xdr/SCNonceKey.java | 6 +-
.../java/org/stellar/sdk/xdr/SCPBallot.java | 6 +-
.../java/org/stellar/sdk/xdr/SCPEnvelope.java | 6 +-
.../org/stellar/sdk/xdr/SCPHistoryEntry.java | 6 +-
.../stellar/sdk/xdr/SCPHistoryEntryV0.java | 6 +-
.../org/stellar/sdk/xdr/SCPNomination.java | 6 +-
.../org/stellar/sdk/xdr/SCPQuorumSet.java | 6 +-
.../org/stellar/sdk/xdr/SCPStatement.java | 22 +-
.../org/stellar/sdk/xdr/SCPStatementType.java | 6 +-
.../java/org/stellar/sdk/xdr/SCSpecEntry.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecEntryKind.java | 6 +-
.../sdk/xdr/SCSpecFunctionInputV0.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecFunctionV0.java | 6 +-
.../java/org/stellar/sdk/xdr/SCSpecType.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecTypeBytesN.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecTypeDef.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecTypeMap.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecTypeOption.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecTypeResult.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecTypeTuple.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecTypeUDT.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecTypeVec.java | 6 +-
.../stellar/sdk/xdr/SCSpecUDTEnumCaseV0.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecUDTEnumV0.java | 6 +-
.../sdk/xdr/SCSpecUDTErrorEnumCaseV0.java | 6 +-
.../stellar/sdk/xdr/SCSpecUDTErrorEnumV0.java | 6 +-
.../sdk/xdr/SCSpecUDTStructFieldV0.java | 6 +-
.../stellar/sdk/xdr/SCSpecUDTStructV0.java | 6 +-
.../sdk/xdr/SCSpecUDTUnionCaseTupleV0.java | 6 +-
.../stellar/sdk/xdr/SCSpecUDTUnionCaseV0.java | 6 +-
.../sdk/xdr/SCSpecUDTUnionCaseV0Kind.java | 6 +-
.../sdk/xdr/SCSpecUDTUnionCaseVoidV0.java | 6 +-
.../org/stellar/sdk/xdr/SCSpecUDTUnionV0.java | 6 +-
.../java/org/stellar/sdk/xdr/SCString.java | 6 +-
.../java/org/stellar/sdk/xdr/SCSymbol.java | 6 +-
src/main/java/org/stellar/sdk/xdr/SCVal.java | 6 +-
.../java/org/stellar/sdk/xdr/SCValType.java | 6 +-
src/main/java/org/stellar/sdk/xdr/SCVec.java | 6 +-
.../java/org/stellar/sdk/xdr/SendMore.java | 6 +-
.../org/stellar/sdk/xdr/SendMoreExtended.java | 6 +-
.../org/stellar/sdk/xdr/SequenceNumber.java | 6 +-
.../org/stellar/sdk/xdr/SetOptionsOp.java | 6 +-
.../org/stellar/sdk/xdr/SetOptionsResult.java | 6 +-
.../stellar/sdk/xdr/SetOptionsResultCode.java | 6 +-
.../stellar/sdk/xdr/SetTrustLineFlagsOp.java | 6 +-
.../sdk/xdr/SetTrustLineFlagsResult.java | 6 +-
.../sdk/xdr/SetTrustLineFlagsResultCode.java | 6 +-
.../java/org/stellar/sdk/xdr/Signature.java | 6 +-
.../org/stellar/sdk/xdr/SignatureHint.java | 6 +-
.../sdk/xdr/SignedSurveyRequestMessage.java | 6 +-
.../sdk/xdr/SignedSurveyResponseMessage.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Signer.java | 6 +-
.../java/org/stellar/sdk/xdr/SignerKey.java | 10 +-
.../org/stellar/sdk/xdr/SignerKeyType.java | 6 +-
.../stellar/sdk/xdr/SimplePaymentResult.java | 6 +-
.../sdk/xdr/SorobanAddressCredentials.java | 6 +-
.../sdk/xdr/SorobanAuthorizationEntry.java | 6 +-
.../sdk/xdr/SorobanAuthorizedFunction.java | 6 +-
.../xdr/SorobanAuthorizedFunctionType.java | 6 +-
.../sdk/xdr/SorobanAuthorizedInvocation.java | 6 +-
.../stellar/sdk/xdr/SorobanCredentials.java | 6 +-
.../sdk/xdr/SorobanCredentialsType.java | 6 +-
.../org/stellar/sdk/xdr/SorobanResources.java | 6 +-
.../sdk/xdr/SorobanTransactionData.java | 6 +-
.../sdk/xdr/SorobanTransactionMeta.java | 6 +-
.../sdk/xdr/SponsorshipDescriptor.java | 6 +-
.../sdk/xdr/StateExpirationSettings.java | 6 +-
.../org/stellar/sdk/xdr/StellarMessage.java | 6 +-
.../org/stellar/sdk/xdr/StellarValue.java | 10 +-
.../org/stellar/sdk/xdr/StellarValueType.java | 6 +-
.../stellar/sdk/xdr/StoredTransactionSet.java | 6 +-
.../java/org/stellar/sdk/xdr/String32.java | 6 +-
.../java/org/stellar/sdk/xdr/String64.java | 6 +-
.../sdk/xdr/SurveyMessageCommandType.java | 6 +-
.../sdk/xdr/SurveyMessageResponseType.java | 6 +-
.../stellar/sdk/xdr/SurveyRequestMessage.java | 6 +-
.../stellar/sdk/xdr/SurveyResponseBody.java | 6 +-
.../sdk/xdr/SurveyResponseMessage.java | 6 +-
.../org/stellar/sdk/xdr/ThresholdIndexes.java | 6 +-
.../java/org/stellar/sdk/xdr/Thresholds.java | 6 +-
.../java/org/stellar/sdk/xdr/TimeBounds.java | 6 +-
.../java/org/stellar/sdk/xdr/TimePoint.java | 6 +-
.../sdk/xdr/TopologyResponseBodyV0.java | 6 +-
.../sdk/xdr/TopologyResponseBodyV1.java | 6 +-
.../java/org/stellar/sdk/xdr/Transaction.java | 10 +-
.../stellar/sdk/xdr/TransactionEnvelope.java | 6 +-
.../sdk/xdr/TransactionHistoryEntry.java | 10 +-
.../xdr/TransactionHistoryResultEntry.java | 10 +-
.../org/stellar/sdk/xdr/TransactionMeta.java | 6 +-
.../stellar/sdk/xdr/TransactionMetaV1.java | 6 +-
.../stellar/sdk/xdr/TransactionMetaV2.java | 6 +-
.../stellar/sdk/xdr/TransactionMetaV3.java | 6 +-
.../org/stellar/sdk/xdr/TransactionPhase.java | 6 +-
.../stellar/sdk/xdr/TransactionResult.java | 14 +-
.../sdk/xdr/TransactionResultCode.java | 6 +-
.../sdk/xdr/TransactionResultMeta.java | 6 +-
.../sdk/xdr/TransactionResultPair.java | 6 +-
.../stellar/sdk/xdr/TransactionResultSet.java | 6 +-
.../org/stellar/sdk/xdr/TransactionSet.java | 6 +-
.../org/stellar/sdk/xdr/TransactionSetV1.java | 6 +-
.../sdk/xdr/TransactionSignaturePayload.java | 10 +-
.../org/stellar/sdk/xdr/TransactionV0.java | 10 +-
.../sdk/xdr/TransactionV0Envelope.java | 6 +-
.../sdk/xdr/TransactionV1Envelope.java | 6 +-
.../org/stellar/sdk/xdr/TrustLineAsset.java | 6 +-
.../org/stellar/sdk/xdr/TrustLineEntry.java | 18 +-
.../sdk/xdr/TrustLineEntryExtensionV2.java | 10 +-
.../org/stellar/sdk/xdr/TrustLineFlags.java | 6 +-
.../org/stellar/sdk/xdr/TxAdvertVector.java | 6 +-
.../org/stellar/sdk/xdr/TxDemandVector.java | 6 +-
.../org/stellar/sdk/xdr/TxSetComponent.java | 10 +-
.../stellar/sdk/xdr/TxSetComponentType.java | 6 +-
.../org/stellar/sdk/xdr/UInt128Parts.java | 6 +-
.../org/stellar/sdk/xdr/UInt256Parts.java | 6 +-
.../java/org/stellar/sdk/xdr/Uint256.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Uint32.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Uint64.java | 6 +-
.../org/stellar/sdk/xdr/UpgradeEntryMeta.java | 6 +-
.../java/org/stellar/sdk/xdr/UpgradeType.java | 6 +-
src/main/java/org/stellar/sdk/xdr/Value.java | 6 +-
.../java/org/stellar/sdk/xdr/XdrString.java | 6 +-
.../sdk/xdr/XdrUnsignedHyperInteger.java | 6 +-
.../stellar/sdk/xdr/XdrUnsignedInteger.java | 6 +-
.../java/org/stellar/sdk/AddressTest.java | 13 +-
.../org/stellar/sdk/Sep10ChallengeTest.java | 43 +-
371 files changed, 1359 insertions(+), 2036 deletions(-)
create mode 100644 android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/AndroidSdkProvider.kt
create mode 100644 android_test/app/src/main/resources/META-INF/services/org.stellar.sdk.spi.SdkProvider
create mode 100644 src/main/java/org/stellar/sdk/Base64Factory.java
create mode 100644 src/main/java/org/stellar/sdk/JDKBase64.java
create mode 100644 src/main/java/org/stellar/sdk/spi/SdkProvider.java
diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml
index ae76d950b..eed9f64ed 100644
--- a/.github/workflows/test-deploy.yml
+++ b/.github/workflows/test-deploy.yml
@@ -75,7 +75,7 @@ jobs:
# minSdk and targetSdk, see ${project_root}/android_test/app/build.gradle.kts
# TODO: Investigate why it is unstable on API 33.
emulator: [
- { api-level: 24, target: google_apis },
+ { api-level: 23, target: google_apis },
{ api-level: 32, target: playstore }
]
steps:
diff --git a/android_test/app/build.gradle.kts b/android_test/app/build.gradle.kts
index c531c7e9c..c0c71059b 100644
--- a/android_test/app/build.gradle.kts
+++ b/android_test/app/build.gradle.kts
@@ -9,7 +9,7 @@ android {
defaultConfig {
applicationId = "org.stellar.javastellarsdkdemoapp"
- minSdk = 24
+ minSdk = 23
targetSdk = 33
versionCode = 1
versionName = "1.0"
@@ -30,6 +30,11 @@ android {
}
}
compileOptions {
+ // Flag to enable support for the new language APIs
+ // For AGP 4.1+
+ // https://developer.android.com/studio/write/java8-support
+ isCoreLibraryDesugaringEnabled = true
+
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
@@ -50,7 +55,9 @@ android {
}
dependencies {
-
+ // For AGP 7.4+
+ // https://developer.android.com/studio/write/java8-support
+ coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.3")
implementation("androidx.core:core-ktx:1.9.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1")
implementation("androidx.activity:activity-compose:1.7.2")
diff --git a/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/AndroidSdkProvider.kt b/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/AndroidSdkProvider.kt
new file mode 100644
index 000000000..5bbba19a4
--- /dev/null
+++ b/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/AndroidSdkProvider.kt
@@ -0,0 +1,24 @@
+package org.stellar.javastellarsdkdemoapp
+
+import org.stellar.sdk.Base64
+import org.stellar.sdk.spi.SdkProvider
+
+class AndroidSdkProvider : SdkProvider {
+ override fun createBase64(): Base64 {
+ return AndroidBase64()
+ }
+
+ class AndroidBase64 : Base64 {
+ override fun encodeToString(data: ByteArray?): String {
+ return android.util.Base64.encodeToString(data, android.util.Base64.NO_WRAP)
+ }
+
+ override fun encode(data: ByteArray?): ByteArray {
+ return android.util.Base64.encode(data, android.util.Base64.NO_WRAP)
+ }
+
+ override fun decode(data: String?): ByteArray {
+ return android.util.Base64.decode(data, android.util.Base64.NO_WRAP)
+ }
+ }
+}
\ No newline at end of file
diff --git a/android_test/app/src/main/resources/META-INF/services/org.stellar.sdk.spi.SdkProvider b/android_test/app/src/main/resources/META-INF/services/org.stellar.sdk.spi.SdkProvider
new file mode 100644
index 000000000..e56de0fc0
--- /dev/null
+++ b/android_test/app/src/main/resources/META-INF/services/org.stellar.sdk.spi.SdkProvider
@@ -0,0 +1 @@
+org.stellar.javastellarsdkdemoapp.AndroidSdkProvider
\ No newline at end of file
diff --git a/src/main/java/org/stellar/sdk/ApacheCodec.java b/src/main/java/org/stellar/sdk/ApacheCodec.java
index a616c3a29..1c0e6f931 100644
--- a/src/main/java/org/stellar/sdk/ApacheCodec.java
+++ b/src/main/java/org/stellar/sdk/ApacheCodec.java
@@ -21,7 +21,6 @@
import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.OutputStream;
-import java.math.BigInteger;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
@@ -31,9 +30,8 @@
* Copy from commons-codec:commons-codec:1.16.0
*
* This is a compromise, because the Android platform built-in with commons-codec:commons-codec:
- * 1.3.0 version in API < 28, which does not include the Base32 module. In addition, {@link
- * java.util.Base64} also requires API 26+, so we have also copied the Base64 implementation here.
- * See the issue
+ * 1.3.0 version in API < 28, which does not include the Base32 module. See the issue
*/
class ApacheCodec {
enum CodecPolicy {
@@ -2158,761 +2156,4 @@ public static String newStringUtf8(final byte[] bytes) {
return newString(bytes, StandardCharsets.UTF_8);
}
}
-
- static class Base64 extends BaseNCodec {
-
- /**
- * BASE32 characters are 6 bits in length. They are formed by taking a block of 3 octets to form
- * a 24-bit string, which is converted into 4 BASE64 characters.
- */
- private static final int BITS_PER_ENCODED_BYTE = 6;
-
- private static final int BYTES_PER_UNENCODED_BLOCK = 3;
- private static final int BYTES_PER_ENCODED_BLOCK = 4;
-
- /**
- * This array is a lookup table that translates 6-bit positive integer index values into their
- * "Base64 Alphabet" equivalents as specified in Table 1 of RFC 2045.
- *
- * Thanks to "commons" project in ws.apache.org for this code.
- * http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/
- */
- private static final byte[] STANDARD_ENCODE_TABLE = {
- 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
- 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
- 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
- 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'
- };
-
- /**
- * This is a copy of the STANDARD_ENCODE_TABLE above, but with + and / changed to - and _ to
- * make the encoded Base64 results more URL-SAFE. This table is only used when the Base64's mode
- * is set to URL-SAFE.
- */
- private static final byte[] URL_SAFE_ENCODE_TABLE = {
- 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
- 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
- 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
- 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_'
- };
-
- /**
- * This array is a lookup table that translates Unicode characters drawn from the "Base64
- * Alphabet" (as specified in Table 1 of RFC 2045) into their 6-bit positive integer
- * equivalents. Characters that are not in the Base64 alphabet but fall within the bounds of the
- * array are translated to -1.
- *
- * Note: '+' and '-' both decode to 62. '/' and '_' both decode to 63. This means decoder
- * seamlessly handles both URL_SAFE and STANDARD base64. (The encoder, on the other hand, needs
- * to know ahead of time what to emit).
- *
- * Thanks to "commons" project in ws.apache.org for this code.
- * http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/
- */
- private static final byte[] DECODE_TABLE = {
- // 0 1 2 3 4 5 6 7 8 9 A B C D E F
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 00-0f
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 10-1f
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, 62, -1, 63, // 20-2f + - /
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, // 30-3f 0-9
- -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, // 40-4f A-O
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63, // 50-5f P-Z _
- -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, // 60-6f a-o
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 // 70-7a p-z
- };
-
- // The static final fields above are used for the original static byte[] methods on Base64.
- // The private member fields below are used with the new streaming approach, which requires
- // some state be preserved between calls of encode() and decode().
-
- /** Base64 uses 6-bit fields. */
- /** Mask used to extract 6 bits, used when encoding */
- private static final int MASK_6BITS = 0x3f;
-
- /** Mask used to extract 4 bits, used when decoding final trailing character. */
- private static final int MASK_4BITS = 0xf;
-
- /** Mask used to extract 2 bits, used when decoding final trailing character. */
- private static final int MASK_2BITS = 0x3;
-
- /**
- * Encode table to use: either STANDARD or URL_SAFE. Note: the DECODE_TABLE above remains static
- * because it is able to decode both STANDARD and URL_SAFE streams, but the encodeTable must be
- * a member variable so we can switch between the two modes.
- */
- private final byte[] encodeTable;
-
- /** Only one decode table currently; keep for consistency with Base32 code. */
- private final byte[] decodeTable = DECODE_TABLE;
-
- /** Line separator for encoding. Not used when decoding. Only used if lineLength > 0. */
- private final byte[] lineSeparator;
-
- /**
- * Convenience variable to help us determine when our buffer is going to run out of room and
- * needs resizing. {@code decodeSize = 3 + lineSeparator.length;}
- */
- private final int decodeSize;
-
- /**
- * Convenience variable to help us determine when our buffer is going to run out of room and
- * needs resizing. {@code encodeSize = 4 + lineSeparator.length;}
- */
- private final int encodeSize;
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
- *
- * When encoding the line length is 0 (no chunking), and the encoding table is
- * STANDARD_ENCODE_TABLE.
- *
- * When decoding all variants are supported.
- */
- public Base64() {
- this(0);
- }
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in the given URL-safe mode.
- *
- * When encoding the line length is 76, the line separator is CRLF, and the encoding table is
- * STANDARD_ENCODE_TABLE.
- *
- * When decoding all variants are supported.
- *
- * @param urlSafe if {@code true}, URL-safe encoding is used. In most cases this should be set
- * to {@code false}.
- * @since 1.4
- */
- public Base64(final boolean urlSafe) {
- this(MIME_CHUNK_SIZE, CHUNK_SEPARATOR, urlSafe);
- }
-
- // Implementation of integer encoding used for crypto
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
- *
- * When encoding the line length is given in the constructor, the line separator is CRLF, and
- * the encoding table is STANDARD_ENCODE_TABLE.
- *
- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
- * in the encoded data.
- *
- * When decoding all variants are supported.
- *
- * @param lineLength Each line of encoded data will be at most of the given length (rounded down
- * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
- * into lines (chunks). Ignored when decoding.
- * @since 1.4
- */
- public Base64(final int lineLength) {
- this(lineLength, CHUNK_SEPARATOR);
- }
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
- *
- * When encoding the line length and line separator are given in the constructor, and the
- * encoding table is STANDARD_ENCODE_TABLE.
- *
- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
- * in the encoded data.
- *
- * When decoding all variants are supported.
- *
- * @param lineLength Each line of encoded data will be at most of the given length (rounded down
- * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
- * into lines (chunks). Ignored when decoding.
- * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
- * @throws IllegalArgumentException Thrown when the provided lineSeparator included some base64
- * characters.
- * @since 1.4
- */
- public Base64(final int lineLength, final byte[] lineSeparator) {
- this(lineLength, lineSeparator, false);
- }
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
- *
- * When encoding the line length and line separator are given in the constructor, and the
- * encoding table is STANDARD_ENCODE_TABLE.
- *
- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
- * in the encoded data.
- *
- * When decoding all variants are supported.
- *
- * @param lineLength Each line of encoded data will be at most of the given length (rounded down
- * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
- * into lines (chunks). Ignored when decoding.
- * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
- * @param urlSafe Instead of emitting '+' and '/' we emit '-' and '_' respectively. urlSafe is
- * only applied to encode operations. Decoding seamlessly handles both modes. Note: no
- * padding is added when using the URL-safe alphabet.
- * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base64
- * characters.
- * @since 1.4
- */
- public Base64(final int lineLength, final byte[] lineSeparator, final boolean urlSafe) {
- this(lineLength, lineSeparator, urlSafe, DECODING_POLICY_DEFAULT);
- }
-
- /**
- * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
- *
- * When encoding the line length and line separator are given in the constructor, and the
- * encoding table is STANDARD_ENCODE_TABLE.
- *
- * Line lengths that aren't multiples of 4 will still essentially end up being multiples of 4
- * in the encoded data.
- *
- * When decoding all variants are supported.
- *
- * @param lineLength Each line of encoded data will be at most of the given length (rounded down
- * to the nearest multiple of 4). If lineLength <= 0, then the output will not be divided
- * into lines (chunks). Ignored when decoding.
- * @param lineSeparator Each line of encoded data will end with this sequence of bytes.
- * @param urlSafe Instead of emitting '+' and '/' we emit '-' and '_' respectively. urlSafe is
- * only applied to encode operations. Decoding seamlessly handles both modes. Note: no
- * padding is added when using the URL-safe alphabet.
- * @param decodingPolicy The decoding policy.
- * @throws IllegalArgumentException Thrown when the {@code lineSeparator} contains Base64
- * characters.
- * @since 1.15
- */
- public Base64(
- final int lineLength,
- final byte[] lineSeparator,
- final boolean urlSafe,
- final CodecPolicy decodingPolicy) {
- super(
- BYTES_PER_UNENCODED_BLOCK,
- BYTES_PER_ENCODED_BLOCK,
- lineLength,
- lineSeparator == null ? 0 : lineSeparator.length,
- PAD_DEFAULT,
- decodingPolicy);
- // could be simplified if there is no requirement to reject invalid line sep when length <=0
- // @see test case Base64Test.testConstructors()
- if (lineSeparator != null) {
- if (containsAlphabetOrPad(lineSeparator)) {
- final String sep = StringUtils.newStringUtf8(lineSeparator);
- throw new IllegalArgumentException(
- "lineSeparator must not contain base64 characters: [" + sep + "]");
- }
- if (lineLength > 0) { // null line-sep forces no chunking rather than throwing IAE
- this.encodeSize = BYTES_PER_ENCODED_BLOCK + lineSeparator.length;
- this.lineSeparator = lineSeparator.clone();
- } else {
- this.encodeSize = BYTES_PER_ENCODED_BLOCK;
- this.lineSeparator = null;
- }
- } else {
- this.encodeSize = BYTES_PER_ENCODED_BLOCK;
- this.lineSeparator = null;
- }
- this.decodeSize = this.encodeSize - 1;
- this.encodeTable = urlSafe ? URL_SAFE_ENCODE_TABLE : STANDARD_ENCODE_TABLE;
- }
-
- /**
- * Decodes Base64 data into octets.
- *
- * Note: this method seamlessly handles data encoded in URL-safe or normal mode.
- *
- * @param base64Data Byte array containing Base64 data
- * @return Array containing decoded data.
- */
- public static byte[] decodeBase64(final byte[] base64Data) {
- return new Base64().decode(base64Data);
- }
-
- /**
- * Decodes a Base64 String into octets.
- *
- * Note: this method seamlessly handles data encoded in URL-safe or normal mode.
- *
- * @param base64String String containing Base64 data
- * @return Array containing decoded data.
- * @since 1.4
- */
- public static byte[] decodeBase64(final String base64String) {
- return new Base64().decode(base64String);
- }
-
- /**
- * Decodes a byte64-encoded integer according to crypto standards such as W3C's XML-Signature.
- *
- * @param pArray a byte array containing base64 character data
- * @return A BigInteger
- * @since 1.4
- */
- public static BigInteger decodeInteger(final byte[] pArray) {
- return new BigInteger(1, decodeBase64(pArray));
- }
-
- /**
- * Encodes binary data using the base64 algorithm but does not chunk the output.
- *
- * @param binaryData binary data to encode
- * @return byte[] containing Base64 characters in their UTF-8 representation.
- */
- public static byte[] encodeBase64(final byte[] binaryData) {
- return encodeBase64(binaryData, false);
- }
-
- /**
- * Encodes binary data using the base64 algorithm, optionally chunking the output into 76
- * character blocks.
- *
- * @param binaryData Array containing binary data to encode.
- * @param isChunked if {@code true} this encoder will chunk the base64 output into 76 character
- * blocks
- * @return Base64-encoded data.
- * @throws IllegalArgumentException Thrown when the input array needs an output array bigger
- * than {@link Integer#MAX_VALUE}
- */
- public static byte[] encodeBase64(final byte[] binaryData, final boolean isChunked) {
- return encodeBase64(binaryData, isChunked, false);
- }
-
- /**
- * Encodes binary data using the base64 algorithm, optionally chunking the output into 76
- * character blocks.
- *
- * @param binaryData Array containing binary data to encode.
- * @param isChunked if {@code true} this encoder will chunk the base64 output into 76 character
- * blocks
- * @param urlSafe if {@code true} this encoder will emit - and _ instead of the usual + and /
- * characters. Note: no padding is added when encoding using the URL-safe alphabet.
- * @return Base64-encoded data.
- * @throws IllegalArgumentException Thrown when the input array needs an output array bigger
- * than {@link Integer#MAX_VALUE}
- * @since 1.4
- */
- public static byte[] encodeBase64(
- final byte[] binaryData, final boolean isChunked, final boolean urlSafe) {
- return encodeBase64(binaryData, isChunked, urlSafe, Integer.MAX_VALUE);
- }
-
- /**
- * Encodes binary data using the base64 algorithm, optionally chunking the output into 76
- * character blocks.
- *
- * @param binaryData Array containing binary data to encode.
- * @param isChunked if {@code true} this encoder will chunk the base64 output into 76 character
- * blocks
- * @param urlSafe if {@code true} this encoder will emit - and _ instead of the usual + and /
- * characters. Note: no padding is added when encoding using the URL-safe alphabet.
- * @param maxResultSize The maximum result size to accept.
- * @return Base64-encoded data.
- * @throws IllegalArgumentException Thrown when the input array needs an output array bigger
- * than maxResultSize
- * @since 1.4
- */
- public static byte[] encodeBase64(
- final byte[] binaryData,
- final boolean isChunked,
- final boolean urlSafe,
- final int maxResultSize) {
- if (BinaryCodec.isEmpty(binaryData)) {
- return binaryData;
- }
-
- // Create this so can use the super-class method
- // Also ensures that the same roundings are performed by the ctor and the code
- final Base64 b64 = isChunked ? new Base64(urlSafe) : new Base64(0, CHUNK_SEPARATOR, urlSafe);
- final long len = b64.getEncodedLength(binaryData);
- if (len > maxResultSize) {
- throw new IllegalArgumentException(
- "Input array too big, the output array would be bigger ("
- + len
- + ") than the specified maximum size of "
- + maxResultSize);
- }
-
- return b64.encode(binaryData);
- }
-
- /**
- * Encodes binary data using the base64 algorithm and chunks the encoded output into 76
- * character blocks
- *
- * @param binaryData binary data to encode
- * @return Base64 characters chunked in 76 character blocks
- */
- public static byte[] encodeBase64Chunked(final byte[] binaryData) {
- return encodeBase64(binaryData, true);
- }
-
- /**
- * Encodes binary data using the base64 algorithm but does not chunk the output.
- *
- * NOTE: We changed the behavior of this method from multi-line chunking (commons-codec-1.4)
- * to single-line non-chunking (commons-codec-1.5).
- *
- * @param binaryData binary data to encode
- * @return String containing Base64 characters.
- * @since 1.4 (NOTE: 1.4 chunked the output, whereas 1.5 does not).
- */
- public static String encodeBase64String(final byte[] binaryData) {
- return StringUtils.newStringUsAscii(encodeBase64(binaryData, false));
- }
-
- /**
- * Encodes binary data using a URL-safe variation of the base64 algorithm but does not chunk the
- * output. The url-safe variation emits - and _ instead of + and / characters. Note: no
- * padding is added.
- *
- * @param binaryData binary data to encode
- * @return byte[] containing Base64 characters in their UTF-8 representation.
- * @since 1.4
- */
- public static byte[] encodeBase64URLSafe(final byte[] binaryData) {
- return encodeBase64(binaryData, false, true);
- }
-
- /**
- * Encodes binary data using a URL-safe variation of the base64 algorithm but does not chunk the
- * output. The url-safe variation emits - and _ instead of + and / characters. Note: no
- * padding is added.
- *
- * @param binaryData binary data to encode
- * @return String containing Base64 characters
- * @since 1.4
- */
- public static String encodeBase64URLSafeString(final byte[] binaryData) {
- return StringUtils.newStringUsAscii(encodeBase64(binaryData, false, true));
- }
-
- /**
- * Encodes to a byte64-encoded integer according to crypto standards such as W3C's
- * XML-Signature.
- *
- * @param bigInteger a BigInteger
- * @return A byte array containing base64 character data
- * @throws NullPointerException if null is passed in
- * @since 1.4
- */
- public static byte[] encodeInteger(final BigInteger bigInteger) {
- Objects.requireNonNull(bigInteger, "bigInteger");
- return encodeBase64(toIntegerBytes(bigInteger), false);
- }
-
- /**
- * Tests a given byte array to see if it contains only valid characters within the Base64
- * alphabet. Currently the method treats whitespace as valid.
- *
- * @param arrayOctet byte array to test
- * @return {@code true} if all bytes are valid characters in the Base64 alphabet or if the byte
- * array is empty; {@code false}, otherwise
- * @deprecated 1.5 Use {@link #isBase64(byte[])}, will be removed in 2.0.
- */
- @Deprecated
- public static boolean isArrayByteBase64(final byte[] arrayOctet) {
- return isBase64(arrayOctet);
- }
-
- /**
- * Returns whether or not the {@code octet} is in the base 64 alphabet.
- *
- * @param octet The value to test
- * @return {@code true} if the value is defined in the base 64 alphabet, {@code false}
- * otherwise.
- * @since 1.4
- */
- public static boolean isBase64(final byte octet) {
- return octet == PAD_DEFAULT
- || (octet >= 0 && octet < DECODE_TABLE.length && DECODE_TABLE[octet] != -1);
- }
-
- /**
- * Tests a given byte array to see if it contains only valid characters within the Base64
- * alphabet. Currently the method treats whitespace as valid.
- *
- * @param arrayOctet byte array to test
- * @return {@code true} if all bytes are valid characters in the Base64 alphabet or if the byte
- * array is empty; {@code false}, otherwise
- * @since 1.5
- */
- public static boolean isBase64(final byte[] arrayOctet) {
- for (final byte element : arrayOctet) {
- if (!isBase64(element) && !Character.isWhitespace(element)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Tests a given String to see if it contains only valid characters within the Base64 alphabet.
- * Currently the method treats whitespace as valid.
- *
- * @param base64 String to test
- * @return {@code true} if all characters in the String are valid characters in the Base64
- * alphabet or if the String is empty; {@code false}, otherwise
- * @since 1.5
- */
- public static boolean isBase64(final String base64) {
- return isBase64(StringUtils.getBytesUtf8(base64));
- }
-
- /**
- * Returns a byte-array representation of a {@code BigInteger} without sign bit.
- *
- * @param bigInt {@code BigInteger} to be converted
- * @return a byte array representation of the BigInteger parameter
- */
- static byte[] toIntegerBytes(final BigInteger bigInt) {
- int bitlen = bigInt.bitLength();
- // round bitlen
- bitlen = ((bitlen + 7) >> 3) << 3;
- final byte[] bigBytes = bigInt.toByteArray();
-
- if (((bigInt.bitLength() % 8) != 0) && (((bigInt.bitLength() / 8) + 1) == (bitlen / 8))) {
- return bigBytes;
- }
- // set up params for copying everything but sign bit
- int startSrc = 0;
- int len = bigBytes.length;
-
- // if bigInt is exactly byte-aligned, just skip signbit in copy
- if ((bigInt.bitLength() % 8) == 0) {
- startSrc = 1;
- len--;
- }
- final int startDst = bitlen / 8 - len; // to pad w/ nulls as per spec
- final byte[] resizedBytes = new byte[bitlen / 8];
- System.arraycopy(bigBytes, startSrc, resizedBytes, startDst, len);
- return resizedBytes;
- }
-
- // Implementation of the Encoder Interface
-
- /**
- * Decodes all of the provided data, starting at inPos, for inAvail bytes. Should be called at
- * least twice: once with the data to decode, and once with inAvail set to "-1" to alert decoder
- * that EOF has been reached. The "-1" call is not necessary when decoding, but it doesn't hurt,
- * either.
- *
- * Ignores all non-base64 characters. This is how chunked (e.g. 76 character) data is
- * handled, since CR and LF are silently ignored, but has implications for other bytes, too.
- * This method subscribes to the garbage-in, garbage-out philosophy: it will not check the
- * provided data for validity.
- *
- * Thanks to "commons" project in ws.apache.org for the bitwise operations, and general
- * approach. http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/
- *
- * @param input byte[] array of ASCII data to base64 decode.
- * @param inPos Position to start reading data from.
- * @param inAvail Amount of bytes available from input for decoding.
- * @param context the context to be used
- */
- @Override
- void decode(final byte[] input, int inPos, final int inAvail, final Context context) {
- if (context.eof) {
- return;
- }
- if (inAvail < 0) {
- context.eof = true;
- }
- for (int i = 0; i < inAvail; i++) {
- final byte[] buffer = ensureBufferSize(decodeSize, context);
- final byte b = input[inPos++];
- if (b == pad) {
- // We're done.
- context.eof = true;
- break;
- }
- if (b >= 0 && b < DECODE_TABLE.length) {
- final int result = DECODE_TABLE[b];
- if (result >= 0) {
- context.modulus = (context.modulus + 1) % BYTES_PER_ENCODED_BLOCK;
- context.ibitWorkArea = (context.ibitWorkArea << BITS_PER_ENCODED_BYTE) + result;
- if (context.modulus == 0) {
- buffer[context.pos++] = (byte) ((context.ibitWorkArea >> 16) & MASK_8BITS);
- buffer[context.pos++] = (byte) ((context.ibitWorkArea >> 8) & MASK_8BITS);
- buffer[context.pos++] = (byte) (context.ibitWorkArea & MASK_8BITS);
- }
- }
- }
- }
-
- // Two forms of EOF as far as base64 decoder is concerned: actual
- // EOF (-1) and first time '=' character is encountered in stream.
- // This approach makes the '=' padding characters completely optional.
- if (context.eof && context.modulus != 0) {
- final byte[] buffer = ensureBufferSize(decodeSize, context);
-
- // We have some spare bits remaining
- // Output all whole multiples of 8 bits and ignore the rest
- switch (context.modulus) {
- // case 0 : // impossible, as excluded above
- case 1: // 6 bits - either ignore entirely, or raise an exception
- validateTrailingCharacter();
- break;
- case 2: // 12 bits = 8 + 4
- validateCharacter(MASK_4BITS, context);
- context.ibitWorkArea = context.ibitWorkArea >> 4; // dump the extra 4 bits
- buffer[context.pos++] = (byte) ((context.ibitWorkArea) & MASK_8BITS);
- break;
- case 3: // 18 bits = 8 + 8 + 2
- validateCharacter(MASK_2BITS, context);
- context.ibitWorkArea = context.ibitWorkArea >> 2; // dump 2 bits
- buffer[context.pos++] = (byte) ((context.ibitWorkArea >> 8) & MASK_8BITS);
- buffer[context.pos++] = (byte) ((context.ibitWorkArea) & MASK_8BITS);
- break;
- default:
- throw new IllegalStateException("Impossible modulus " + context.modulus);
- }
- }
- }
-
- /**
- * Encodes all of the provided data, starting at inPos, for inAvail bytes. Must be called at
- * least twice: once with the data to encode, and once with inAvail set to "-1" to alert encoder
- * that EOF has been reached, to flush last remaining bytes (if not multiple of 3).
- *
- * Note: no padding is added when encoding using the URL-safe alphabet.
- *
- * Thanks to "commons" project in ws.apache.org for the bitwise operations, and general
- * approach. http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/
- *
- * @param in byte[] array of binary data to base64 encode.
- * @param inPos Position to start reading data from.
- * @param inAvail Amount of bytes available from input for encoding.
- * @param context the context to be used
- */
- @Override
- void encode(final byte[] in, int inPos, final int inAvail, final Context context) {
- if (context.eof) {
- return;
- }
- // inAvail < 0 is how we're informed of EOF in the underlying data we're
- // encoding.
- if (inAvail < 0) {
- context.eof = true;
- if (0 == context.modulus && lineLength == 0) {
- return; // no leftovers to process and not using chunking
- }
- final byte[] buffer = ensureBufferSize(encodeSize, context);
- final int savedPos = context.pos;
- switch (context.modulus) { // 0-2
- case 0: // nothing to do here
- break;
- case 1: // 8 bits = 6 + 2
- // top 6 bits:
- buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 2) & MASK_6BITS];
- // remaining 2:
- buffer[context.pos++] = encodeTable[(context.ibitWorkArea << 4) & MASK_6BITS];
- // URL-SAFE skips the padding to further reduce size.
- if (encodeTable == STANDARD_ENCODE_TABLE) {
- buffer[context.pos++] = pad;
- buffer[context.pos++] = pad;
- }
- break;
-
- case 2: // 16 bits = 6 + 6 + 4
- buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 10) & MASK_6BITS];
- buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 4) & MASK_6BITS];
- buffer[context.pos++] = encodeTable[(context.ibitWorkArea << 2) & MASK_6BITS];
- // URL-SAFE skips the padding to further reduce size.
- if (encodeTable == STANDARD_ENCODE_TABLE) {
- buffer[context.pos++] = pad;
- }
- break;
- default:
- throw new IllegalStateException("Impossible modulus " + context.modulus);
- }
- context.currentLinePos += context.pos - savedPos; // keep track of current line position
- // if currentPos == 0 we are at the start of a line, so don't add CRLF
- if (lineLength > 0 && context.currentLinePos > 0) {
- System.arraycopy(lineSeparator, 0, buffer, context.pos, lineSeparator.length);
- context.pos += lineSeparator.length;
- }
- } else {
- for (int i = 0; i < inAvail; i++) {
- final byte[] buffer = ensureBufferSize(encodeSize, context);
- context.modulus = (context.modulus + 1) % BYTES_PER_UNENCODED_BLOCK;
- int b = in[inPos++];
- if (b < 0) {
- b += 256;
- }
- context.ibitWorkArea = (context.ibitWorkArea << 8) + b; // BITS_PER_BYTE
- if (0 == context.modulus) { // 3 bytes = 24 bits = 4 * 6 bits to extract
- buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 18) & MASK_6BITS];
- buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 12) & MASK_6BITS];
- buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 6) & MASK_6BITS];
- buffer[context.pos++] = encodeTable[context.ibitWorkArea & MASK_6BITS];
- context.currentLinePos += BYTES_PER_ENCODED_BLOCK;
- if (lineLength > 0 && lineLength <= context.currentLinePos) {
- System.arraycopy(lineSeparator, 0, buffer, context.pos, lineSeparator.length);
- context.pos += lineSeparator.length;
- context.currentLinePos = 0;
- }
- }
- }
- }
- }
-
- /**
- * Returns whether or not the {@code octet} is in the Base64 alphabet.
- *
- * @param octet The value to test
- * @return {@code true} if the value is defined in the Base64 alphabet {@code false} otherwise.
- */
- @Override
- protected boolean isInAlphabet(final byte octet) {
- return octet >= 0 && octet < decodeTable.length && decodeTable[octet] != -1;
- }
-
- /**
- * Returns our current encode mode. True if we're URL-SAFE, false otherwise.
- *
- * @return true if we're in URL-SAFE mode, false otherwise.
- * @since 1.4
- */
- public boolean isUrlSafe() {
- return this.encodeTable == URL_SAFE_ENCODE_TABLE;
- }
-
- /**
- * Validates whether decoding the final trailing character is possible in the context of the set
- * of possible base 64 values.
- *
- * The character is valid if the lower bits within the provided mask are zero. This is used
- * to test the final trailing base-64 digit is zero in the bits that will be discarded.
- *
- * @param emptyBitsMask The mask of the lower bits that should be empty
- * @param context the context to be used
- * @throws IllegalArgumentException if the bits being checked contain any non-zero value
- */
- private void validateCharacter(final int emptyBitsMask, final Context context) {
- if (isStrictDecoding() && (context.ibitWorkArea & emptyBitsMask) != 0) {
- throw new IllegalArgumentException(
- "Strict decoding: Last encoded character (before the paddings if any) is a valid "
- + "base 64 alphabet but not a possible encoding. "
- + "Expected the discarded bits from the character to be zero.");
- }
- }
-
- /**
- * Validates whether decoding allows an entire final trailing character that cannot be used for
- * a complete byte.
- *
- * @throws IllegalArgumentException if strict decoding is enabled
- */
- private void validateTrailingCharacter() {
- if (isStrictDecoding()) {
- throw new IllegalArgumentException(
- "Strict decoding: Last encoded character (before the paddings if any) is a valid "
- + "base 64 alphabet but not a possible encoding. "
- + "Decoding requires at least two trailing 6-bit characters to create bytes.");
- }
- }
- }
}
diff --git a/src/main/java/org/stellar/sdk/Base64.java b/src/main/java/org/stellar/sdk/Base64.java
index 6f773957b..459ebd686 100644
--- a/src/main/java/org/stellar/sdk/Base64.java
+++ b/src/main/java/org/stellar/sdk/Base64.java
@@ -1,27 +1,14 @@
package org.stellar.sdk;
-import java.nio.charset.StandardCharsets;
-
-/**
- * Base64 utility class.
- *
- * The java.util.Base64 class is not available in Android API level 25 and below, The minSDK
- * currently used by the Lobstr client is 23, and we need to make it compatible.
- */
-public class Base64 {
- // ApacheCodec.Base64 is thread-safe
- private static final ApacheCodec.Base64 base64 =
- new ApacheCodec.Base64(0, null, false, ApacheCodec.CodecPolicy.STRICT);
-
+/** Base64 interface used by the SDK to encode and decode strings and bytes. */
+public interface Base64 {
/**
* Encodes bytes to base64 string
*
* @param data bytes to encode
* @return encoded string
*/
- public static String encodeToString(byte[] data) {
- return base64.encodeToString(data);
- }
+ String encodeToString(byte[] data);
/**
* Encodes bytes to base64 bytes
@@ -29,9 +16,7 @@ public static String encodeToString(byte[] data) {
* @param data bytes to encode
* @return encoded bytes
*/
- public static byte[] encode(byte[] data) {
- return base64.encode(data);
- }
+ byte[] encode(byte[] data);
/**
* Decodes base64 string to bytes
@@ -39,21 +24,5 @@ public static byte[] encode(byte[] data) {
* @param data string to decode
* @return decoded bytes
*/
- public static byte[] decode(String data) {
- byte[] raw = data.getBytes(StandardCharsets.UTF_8);
- if (!isInAlphabet(raw)) {
- throw new IllegalArgumentException("Invalid base64 string");
- }
- return base64.decode(raw);
- }
-
- private static boolean isInAlphabet(final byte[] arrayOctet) {
- for (final byte octet : arrayOctet) {
- // allow padding characters in the base64 string.
- if (!base64.isInAlphabet(octet) && (octet != base64.pad)) {
- return false;
- }
- }
- return true;
- }
+ byte[] decode(String data);
}
diff --git a/src/main/java/org/stellar/sdk/Base64Factory.java b/src/main/java/org/stellar/sdk/Base64Factory.java
new file mode 100644
index 000000000..ca6f7926d
--- /dev/null
+++ b/src/main/java/org/stellar/sdk/Base64Factory.java
@@ -0,0 +1,31 @@
+package org.stellar.sdk;
+
+import java.util.Iterator;
+import java.util.ServiceLoader;
+import lombok.Getter;
+import org.stellar.sdk.spi.SdkProvider;
+
+/**
+ * Factory class used to create {@link Base64} instances.
+ *
+ * The class will try to load an implementation of {@link Base64} using the {@link
+ * ServiceLoader}, if no implementation is found it will use the default implementation {@link
+ * JDKBase64}.
+ *
+ * Note: The class should be limited to internal use only, and users should not use it directly.
+ */
+public class Base64Factory {
+ @Getter private static Base64 instance = new JDKBase64();
+
+ static {
+ ServiceLoader Note: Default implementation will use the JDK's {@link java.util.Base64}, and it only works
+ * with Android API 26 and above, if you need to support older versions of Android you need to
+ * provide your own implementation, this
+ * is an example for reference.
+ *
+ * @return a {@link Base64} implementation, if returns null the SDK will use the default
+ * implementation.
+ * @see org.stellar.sdk.Base64Factory
+ */
+ default Base64 createBase64() {
+ return null;
+ }
+}
diff --git a/src/main/java/org/stellar/sdk/xdr/AccountEntry.java b/src/main/java/org/stellar/sdk/xdr/AccountEntry.java
index 4849525af..c9b359031 100644
--- a/src/main/java/org/stellar/sdk/xdr/AccountEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/AccountEntry.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -232,7 +232,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -244,7 +244,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -426,7 +426,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -438,7 +438,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountEntryExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV1.java b/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV1.java
index e6159ba6f..904daf1dc 100644
--- a/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV1.java
+++ b/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV1.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -87,7 +87,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -99,7 +99,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountEntryExtensionV1 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -227,7 +227,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -239,7 +239,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountEntryExtensionV1Ext fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV2.java b/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV2.java
index 4df9ccc70..565bc925e 100644
--- a/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV2.java
+++ b/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV2.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -126,7 +126,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -138,7 +138,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountEntryExtensionV2 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -280,7 +280,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -292,7 +292,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountEntryExtensionV2Ext fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV3.java b/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV3.java
index 12f3158b2..c1aed1cc7 100644
--- a/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV3.java
+++ b/src/main/java/org/stellar/sdk/xdr/AccountEntryExtensionV3.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -99,7 +99,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -111,7 +111,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountEntryExtensionV3 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AccountFlags.java b/src/main/java/org/stellar/sdk/xdr/AccountFlags.java
index 43b2ceb08..23187e9eb 100644
--- a/src/main/java/org/stellar/sdk/xdr/AccountFlags.java
+++ b/src/main/java/org/stellar/sdk/xdr/AccountFlags.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -73,7 +73,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -85,7 +85,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountFlags fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AccountID.java b/src/main/java/org/stellar/sdk/xdr/AccountID.java
index 2ecd2cb81..2f7982405 100644
--- a/src/main/java/org/stellar/sdk/xdr/AccountID.java
+++ b/src/main/java/org/stellar/sdk/xdr/AccountID.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountID fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AccountMergeResult.java b/src/main/java/org/stellar/sdk/xdr/AccountMergeResult.java
index 6377c5ffb..e74d189fe 100644
--- a/src/main/java/org/stellar/sdk/xdr/AccountMergeResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/AccountMergeResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -135,7 +135,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -147,7 +147,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountMergeResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AccountMergeResultCode.java b/src/main/java/org/stellar/sdk/xdr/AccountMergeResultCode.java
index c560db90d..ec6bbbde7 100644
--- a/src/main/java/org/stellar/sdk/xdr/AccountMergeResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/AccountMergeResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -83,7 +83,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -95,7 +95,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AccountMergeResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AllowTrustOp.java b/src/main/java/org/stellar/sdk/xdr/AllowTrustOp.java
index a7f8bd521..98b6d28f4 100644
--- a/src/main/java/org/stellar/sdk/xdr/AllowTrustOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/AllowTrustOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -94,7 +94,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -106,7 +106,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AllowTrustOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AllowTrustResult.java b/src/main/java/org/stellar/sdk/xdr/AllowTrustResult.java
index 6ad3fba7e..a904b563d 100644
--- a/src/main/java/org/stellar/sdk/xdr/AllowTrustResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/AllowTrustResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -112,7 +112,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -124,7 +124,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AllowTrustResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AllowTrustResultCode.java b/src/main/java/org/stellar/sdk/xdr/AllowTrustResultCode.java
index 480496631..84e457051 100644
--- a/src/main/java/org/stellar/sdk/xdr/AllowTrustResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/AllowTrustResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -80,7 +80,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -92,7 +92,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AllowTrustResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AlphaNum12.java b/src/main/java/org/stellar/sdk/xdr/AlphaNum12.java
index 18177ab72..77116cb77 100644
--- a/src/main/java/org/stellar/sdk/xdr/AlphaNum12.java
+++ b/src/main/java/org/stellar/sdk/xdr/AlphaNum12.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AlphaNum12 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AlphaNum4.java b/src/main/java/org/stellar/sdk/xdr/AlphaNum4.java
index 37c272bf1..e91ea85c6 100644
--- a/src/main/java/org/stellar/sdk/xdr/AlphaNum4.java
+++ b/src/main/java/org/stellar/sdk/xdr/AlphaNum4.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AlphaNum4 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Asset.java b/src/main/java/org/stellar/sdk/xdr/Asset.java
index 65e7a793e..cd43e7f6f 100644
--- a/src/main/java/org/stellar/sdk/xdr/Asset.java
+++ b/src/main/java/org/stellar/sdk/xdr/Asset.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -146,7 +146,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -158,7 +158,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Asset fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AssetCode.java b/src/main/java/org/stellar/sdk/xdr/AssetCode.java
index c57cfd082..f64406ea7 100644
--- a/src/main/java/org/stellar/sdk/xdr/AssetCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/AssetCode.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -140,7 +140,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -152,7 +152,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AssetCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AssetCode12.java b/src/main/java/org/stellar/sdk/xdr/AssetCode12.java
index b79011387..6acc34240 100644
--- a/src/main/java/org/stellar/sdk/xdr/AssetCode12.java
+++ b/src/main/java/org/stellar/sdk/xdr/AssetCode12.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -68,7 +68,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -80,7 +80,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AssetCode12 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AssetCode4.java b/src/main/java/org/stellar/sdk/xdr/AssetCode4.java
index 2a3269a5d..99c33460f 100644
--- a/src/main/java/org/stellar/sdk/xdr/AssetCode4.java
+++ b/src/main/java/org/stellar/sdk/xdr/AssetCode4.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -68,7 +68,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -80,7 +80,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AssetCode4 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AssetType.java b/src/main/java/org/stellar/sdk/xdr/AssetType.java
index 239ed8d05..884dc712a 100644
--- a/src/main/java/org/stellar/sdk/xdr/AssetType.java
+++ b/src/main/java/org/stellar/sdk/xdr/AssetType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -63,7 +63,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -75,7 +75,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AssetType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Auth.java b/src/main/java/org/stellar/sdk/xdr/Auth.java
index 67266183e..737f25001 100644
--- a/src/main/java/org/stellar/sdk/xdr/Auth.java
+++ b/src/main/java/org/stellar/sdk/xdr/Auth.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -63,7 +63,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -75,7 +75,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Auth fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AuthCert.java b/src/main/java/org/stellar/sdk/xdr/AuthCert.java
index b20bd4e59..f21d67b73 100644
--- a/src/main/java/org/stellar/sdk/xdr/AuthCert.java
+++ b/src/main/java/org/stellar/sdk/xdr/AuthCert.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -92,7 +92,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -104,7 +104,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AuthCert fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/AuthenticatedMessage.java b/src/main/java/org/stellar/sdk/xdr/AuthenticatedMessage.java
index 0f67fcd32..3ac0c5883 100644
--- a/src/main/java/org/stellar/sdk/xdr/AuthenticatedMessage.java
+++ b/src/main/java/org/stellar/sdk/xdr/AuthenticatedMessage.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -117,7 +117,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -129,7 +129,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AuthenticatedMessage fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -211,7 +211,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -223,7 +223,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static AuthenticatedMessageV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesOp.java b/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesOp.java
index ec874214d..75c4db64c 100644
--- a/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -68,7 +68,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -80,7 +80,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BeginSponsoringFutureReservesOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesResult.java b/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesResult.java
index c83cccdf0..3af887e4b 100644
--- a/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -109,7 +109,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -121,7 +121,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BeginSponsoringFutureReservesResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesResultCode.java b/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesResultCode.java
index 5162857e6..cd830efed 100644
--- a/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/BeginSponsoringFutureReservesResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -69,7 +69,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -82,7 +82,7 @@ public byte[] toXdrByteArray() throws IOException {
public static BeginSponsoringFutureReservesResultCode fromXdrBase64(String xdr)
throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BucketEntry.java b/src/main/java/org/stellar/sdk/xdr/BucketEntry.java
index 969ae14a4..87202560d 100644
--- a/src/main/java/org/stellar/sdk/xdr/BucketEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/BucketEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -167,7 +167,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -179,7 +179,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BucketEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BucketEntryType.java b/src/main/java/org/stellar/sdk/xdr/BucketEntryType.java
index 53a0a6447..b565325cc 100644
--- a/src/main/java/org/stellar/sdk/xdr/BucketEntryType.java
+++ b/src/main/java/org/stellar/sdk/xdr/BucketEntryType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BucketEntryType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BucketMetadata.java b/src/main/java/org/stellar/sdk/xdr/BucketMetadata.java
index 827f76fef..03dbb501d 100644
--- a/src/main/java/org/stellar/sdk/xdr/BucketMetadata.java
+++ b/src/main/java/org/stellar/sdk/xdr/BucketMetadata.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -86,7 +86,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -98,7 +98,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BucketMetadata fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -201,7 +201,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -213,7 +213,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BucketMetadataExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationOp.java b/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationOp.java
index 8ebe04462..de76ffe54 100644
--- a/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -79,7 +79,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -91,7 +91,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BumpFootprintExpirationOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationResult.java b/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationResult.java
index 838f779e9..c060f8baf 100644
--- a/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -107,7 +107,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -119,7 +119,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BumpFootprintExpirationResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationResultCode.java b/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationResultCode.java
index 7447c3050..d51f65ef0 100644
--- a/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/BumpFootprintExpirationResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -68,7 +68,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -80,7 +80,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BumpFootprintExpirationResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BumpSequenceOp.java b/src/main/java/org/stellar/sdk/xdr/BumpSequenceOp.java
index 3b4ddc217..7acdeb210 100644
--- a/src/main/java/org/stellar/sdk/xdr/BumpSequenceOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/BumpSequenceOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BumpSequenceOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BumpSequenceResult.java b/src/main/java/org/stellar/sdk/xdr/BumpSequenceResult.java
index 30c9c5984..eea05eace 100644
--- a/src/main/java/org/stellar/sdk/xdr/BumpSequenceResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/BumpSequenceResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -97,7 +97,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -109,7 +109,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BumpSequenceResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/BumpSequenceResultCode.java b/src/main/java/org/stellar/sdk/xdr/BumpSequenceResultCode.java
index 5612fa87c..230865717 100644
--- a/src/main/java/org/stellar/sdk/xdr/BumpSequenceResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/BumpSequenceResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -58,7 +58,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -70,7 +70,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static BumpSequenceResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ChangeTrustAsset.java b/src/main/java/org/stellar/sdk/xdr/ChangeTrustAsset.java
index 42249c824..b1692d2a4 100644
--- a/src/main/java/org/stellar/sdk/xdr/ChangeTrustAsset.java
+++ b/src/main/java/org/stellar/sdk/xdr/ChangeTrustAsset.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -174,7 +174,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -186,7 +186,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ChangeTrustAsset fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ChangeTrustOp.java b/src/main/java/org/stellar/sdk/xdr/ChangeTrustOp.java
index dd46d028f..cc822bbd3 100644
--- a/src/main/java/org/stellar/sdk/xdr/ChangeTrustOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/ChangeTrustOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -79,7 +79,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -91,7 +91,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ChangeTrustOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ChangeTrustResult.java b/src/main/java/org/stellar/sdk/xdr/ChangeTrustResult.java
index ec06ba612..a05556967 100644
--- a/src/main/java/org/stellar/sdk/xdr/ChangeTrustResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/ChangeTrustResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -118,7 +118,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -130,7 +130,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ChangeTrustResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ChangeTrustResultCode.java b/src/main/java/org/stellar/sdk/xdr/ChangeTrustResultCode.java
index 7708937a7..54be7eb1c 100644
--- a/src/main/java/org/stellar/sdk/xdr/ChangeTrustResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/ChangeTrustResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -90,7 +90,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -102,7 +102,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ChangeTrustResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimAtom.java b/src/main/java/org/stellar/sdk/xdr/ClaimAtom.java
index c809d9f8e..20553b9c9 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimAtom.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimAtom.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -163,7 +163,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -175,7 +175,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimAtom fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimAtomType.java b/src/main/java/org/stellar/sdk/xdr/ClaimAtomType.java
index e0851e165..01d86386d 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimAtomType.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimAtomType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -59,7 +59,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -71,7 +71,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimAtomType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceOp.java b/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceOp.java
index 3aaf400f7..b2b98bc0c 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimClaimableBalanceOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceResult.java b/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceResult.java
index 3376d4878..8f77d6911 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -111,7 +111,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -123,7 +123,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimClaimableBalanceResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceResultCode.java b/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceResultCode.java
index 3b730add6..186e40cdb 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimClaimableBalanceResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -73,7 +73,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -85,7 +85,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimClaimableBalanceResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimLiquidityAtom.java b/src/main/java/org/stellar/sdk/xdr/ClaimLiquidityAtom.java
index 8fa054a2e..c39623d30 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimLiquidityAtom.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimLiquidityAtom.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -125,7 +125,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -137,7 +137,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimLiquidityAtom fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimOfferAtom.java b/src/main/java/org/stellar/sdk/xdr/ClaimOfferAtom.java
index 9a470e318..18703d564 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimOfferAtom.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimOfferAtom.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -145,7 +145,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -157,7 +157,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimOfferAtom fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimOfferAtomV0.java b/src/main/java/org/stellar/sdk/xdr/ClaimOfferAtomV0.java
index 06abffa64..c321cb92d 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimOfferAtomV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimOfferAtomV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -145,7 +145,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -157,7 +157,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimOfferAtomV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimPredicate.java b/src/main/java/org/stellar/sdk/xdr/ClaimPredicate.java
index 33a326c5c..159fbbfc4 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimPredicate.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimPredicate.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -253,7 +253,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -265,7 +265,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimPredicate fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimPredicateType.java b/src/main/java/org/stellar/sdk/xdr/ClaimPredicateType.java
index 542b7b06f..93e4bebcf 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimPredicateType.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimPredicateType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -72,7 +72,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -84,7 +84,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimPredicateType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceEntry.java b/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceEntry.java
index 62be1d012..ff084f9f0 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceEntry.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -147,7 +147,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -159,7 +159,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimableBalanceEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -307,7 +307,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -319,7 +319,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimableBalanceEntryExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceEntryExtensionV1.java b/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceEntryExtensionV1.java
index 48ae9d9e8..bb7197794 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceEntryExtensionV1.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceEntryExtensionV1.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -88,7 +88,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -100,7 +100,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimableBalanceEntryExtensionV1 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -207,7 +207,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -219,7 +219,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimableBalanceEntryExtensionV1Ext fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceFlags.java b/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceFlags.java
index 25e43365c..82b971e59 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceFlags.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceFlags.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -54,7 +54,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -66,7 +66,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimableBalanceFlags fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceID.java b/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceID.java
index 5b1758835..4140b8f7d 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceID.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceID.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -110,7 +110,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -122,7 +122,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimableBalanceID fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceIDType.java b/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceIDType.java
index 17e3dd064..6af13df6f 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceIDType.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimableBalanceIDType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -52,7 +52,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -64,7 +64,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimableBalanceIDType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Claimant.java b/src/main/java/org/stellar/sdk/xdr/Claimant.java
index 5756f2972..b9b7192c1 100644
--- a/src/main/java/org/stellar/sdk/xdr/Claimant.java
+++ b/src/main/java/org/stellar/sdk/xdr/Claimant.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -114,7 +114,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -126,7 +126,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Claimant fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -194,7 +194,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -206,7 +206,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimantV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClaimantType.java b/src/main/java/org/stellar/sdk/xdr/ClaimantType.java
index fdebab6ab..94bb662e9 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClaimantType.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClaimantType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -51,7 +51,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -63,7 +63,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClaimantType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceOp.java b/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceOp.java
index 0faf1fe98..b622450e6 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClawbackClaimableBalanceOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceResult.java b/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceResult.java
index a6d593bfc..9104d20a3 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -109,7 +109,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -121,7 +121,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClawbackClaimableBalanceResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceResultCode.java b/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceResultCode.java
index 914012f86..3e48ec33d 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClawbackClaimableBalanceResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -68,7 +68,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -80,7 +80,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClawbackClaimableBalanceResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClawbackOp.java b/src/main/java/org/stellar/sdk/xdr/ClawbackOp.java
index 0fe4827cd..d45726f8f 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClawbackOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClawbackOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -92,7 +92,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -104,7 +104,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClawbackOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClawbackResult.java b/src/main/java/org/stellar/sdk/xdr/ClawbackResult.java
index 2c95421e0..90c6c43e3 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClawbackResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClawbackResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -106,7 +106,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -118,7 +118,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClawbackResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ClawbackResultCode.java b/src/main/java/org/stellar/sdk/xdr/ClawbackResultCode.java
index 6db0688e0..dbb9c969b 100644
--- a/src/main/java/org/stellar/sdk/xdr/ClawbackResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/ClawbackResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -71,7 +71,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -83,7 +83,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ClawbackResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractBandwidthV0.java b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractBandwidthV0.java
index 56850d5ee..6edc5b5ed 100644
--- a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractBandwidthV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractBandwidthV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -100,7 +100,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -112,7 +112,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ConfigSettingContractBandwidthV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractComputeV0.java b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractComputeV0.java
index c60bb1594..c3d6eae00 100644
--- a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractComputeV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractComputeV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -121,7 +121,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -133,7 +133,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ConfigSettingContractComputeV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractEventsV0.java b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractEventsV0.java
index 553236877..4b3e318df 100644
--- a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractEventsV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractEventsV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -83,7 +83,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -95,7 +95,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ConfigSettingContractEventsV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractExecutionLanesV0.java b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractExecutionLanesV0.java
index fca035c60..7dd8d5c74 100644
--- a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractExecutionLanesV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractExecutionLanesV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -69,7 +69,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -81,7 +81,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ConfigSettingContractExecutionLanesV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractHistoricalDataV0.java b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractHistoricalDataV0.java
index 7827c041a..6c077c0a3 100644
--- a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractHistoricalDataV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractHistoricalDataV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -68,7 +68,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -80,7 +80,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ConfigSettingContractHistoricalDataV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractLedgerCostV0.java b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractLedgerCostV0.java
index 7c75c5ffe..0899ff7a7 100644
--- a/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractLedgerCostV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/ConfigSettingContractLedgerCostV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -297,7 +297,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -309,7 +309,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ConfigSettingContractLedgerCostV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ConfigSettingEntry.java b/src/main/java/org/stellar/sdk/xdr/ConfigSettingEntry.java
index b6b000155..102ad435c 100644
--- a/src/main/java/org/stellar/sdk/xdr/ConfigSettingEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/ConfigSettingEntry.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -483,7 +483,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -495,7 +495,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ConfigSettingEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ConfigSettingID.java b/src/main/java/org/stellar/sdk/xdr/ConfigSettingID.java
index 14c7b393b..ec1afab94 100644
--- a/src/main/java/org/stellar/sdk/xdr/ConfigSettingID.java
+++ b/src/main/java/org/stellar/sdk/xdr/ConfigSettingID.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -103,7 +103,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -115,7 +115,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ConfigSettingID fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ConfigUpgradeSet.java b/src/main/java/org/stellar/sdk/xdr/ConfigUpgradeSet.java
index 77f5b9d3e..4bbaf08f8 100644
--- a/src/main/java/org/stellar/sdk/xdr/ConfigUpgradeSet.java
+++ b/src/main/java/org/stellar/sdk/xdr/ConfigUpgradeSet.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -71,7 +71,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -83,7 +83,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ConfigUpgradeSet fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ConfigUpgradeSetKey.java b/src/main/java/org/stellar/sdk/xdr/ConfigUpgradeSetKey.java
index 050f78678..bdf773ebb 100644
--- a/src/main/java/org/stellar/sdk/xdr/ConfigUpgradeSetKey.java
+++ b/src/main/java/org/stellar/sdk/xdr/ConfigUpgradeSetKey.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ConfigUpgradeSetKey fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractCodeEntry.java b/src/main/java/org/stellar/sdk/xdr/ContractCodeEntry.java
index edb73bd53..a31bb9237 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractCodeEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractCodeEntry.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -97,7 +97,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -109,7 +109,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractCodeEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractCostParamEntry.java b/src/main/java/org/stellar/sdk/xdr/ContractCostParamEntry.java
index a2e2f81c3..096dd4618 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractCostParamEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractCostParamEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -94,7 +94,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -106,7 +106,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractCostParamEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractCostParams.java b/src/main/java/org/stellar/sdk/xdr/ContractCostParams.java
index a2ae12980..c7339b61c 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractCostParams.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractCostParams.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -74,7 +74,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -86,7 +86,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractCostParams fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractCostType.java b/src/main/java/org/stellar/sdk/xdr/ContractCostType.java
index a9443eb4e..69631667b 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractCostType.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractCostType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -190,7 +190,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -202,7 +202,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractCostType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractDataDurability.java b/src/main/java/org/stellar/sdk/xdr/ContractDataDurability.java
index 3a86f3443..a8f5cb67f 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractDataDurability.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractDataDurability.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -55,7 +55,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -67,7 +67,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractDataDurability fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractDataEntry.java b/src/main/java/org/stellar/sdk/xdr/ContractDataEntry.java
index 2edd25b14..34cc565a6 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractDataEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractDataEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -120,7 +120,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -132,7 +132,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractDataEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractEvent.java b/src/main/java/org/stellar/sdk/xdr/ContractEvent.java
index 7847656a8..25c97e214 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractEvent.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractEvent.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -128,7 +128,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -140,7 +140,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractEvent fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -276,7 +276,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -288,7 +288,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractEventBody fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -363,7 +363,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -375,7 +375,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractEventV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractEventType.java b/src/main/java/org/stellar/sdk/xdr/ContractEventType.java
index 954b3a6b3..0ad4a5ccc 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractEventType.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractEventType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -60,7 +60,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -72,7 +72,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractEventType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractExecutable.java b/src/main/java/org/stellar/sdk/xdr/ContractExecutable.java
index 4cee927a7..4120bd844 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractExecutable.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractExecutable.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -116,7 +116,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -128,7 +128,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractExecutable fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractExecutableType.java b/src/main/java/org/stellar/sdk/xdr/ContractExecutableType.java
index ee10d66d2..f84376601 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractExecutableType.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractExecutableType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -56,7 +56,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -68,7 +68,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractExecutableType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractIDPreimage.java b/src/main/java/org/stellar/sdk/xdr/ContractIDPreimage.java
index 18da59af5..693645b88 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractIDPreimage.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractIDPreimage.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -141,7 +141,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -153,7 +153,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractIDPreimage fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -224,7 +224,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -236,7 +236,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractIDPreimageFromAddress fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ContractIDPreimageType.java b/src/main/java/org/stellar/sdk/xdr/ContractIDPreimageType.java
index a4e65030b..969f6c6c4 100644
--- a/src/main/java/org/stellar/sdk/xdr/ContractIDPreimageType.java
+++ b/src/main/java/org/stellar/sdk/xdr/ContractIDPreimageType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -56,7 +56,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -68,7 +68,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ContractIDPreimageType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/CreateAccountOp.java b/src/main/java/org/stellar/sdk/xdr/CreateAccountOp.java
index 53cd5eafb..b9a4115b8 100644
--- a/src/main/java/org/stellar/sdk/xdr/CreateAccountOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/CreateAccountOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static CreateAccountOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/CreateAccountResult.java b/src/main/java/org/stellar/sdk/xdr/CreateAccountResult.java
index 6dee7ef0a..2f49e32f0 100644
--- a/src/main/java/org/stellar/sdk/xdr/CreateAccountResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/CreateAccountResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -107,7 +107,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -119,7 +119,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static CreateAccountResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/CreateAccountResultCode.java b/src/main/java/org/stellar/sdk/xdr/CreateAccountResultCode.java
index e10560a75..10963c0f5 100644
--- a/src/main/java/org/stellar/sdk/xdr/CreateAccountResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/CreateAccountResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -72,7 +72,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -84,7 +84,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static CreateAccountResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceOp.java b/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceOp.java
index 4a05187c4..5da8f81f5 100644
--- a/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceOp.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -102,7 +102,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -114,7 +114,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static CreateClaimableBalanceOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceResult.java b/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceResult.java
index 25bb3a742..5241a05a6 100644
--- a/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -131,7 +131,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -143,7 +143,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static CreateClaimableBalanceResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceResultCode.java b/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceResultCode.java
index cd95a0458..72ec7f369 100644
--- a/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/CreateClaimableBalanceResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -73,7 +73,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -85,7 +85,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static CreateClaimableBalanceResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/CreateContractArgs.java b/src/main/java/org/stellar/sdk/xdr/CreateContractArgs.java
index 1ea659c06..aa89301e3 100644
--- a/src/main/java/org/stellar/sdk/xdr/CreateContractArgs.java
+++ b/src/main/java/org/stellar/sdk/xdr/CreateContractArgs.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static CreateContractArgs fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/CreatePassiveSellOfferOp.java b/src/main/java/org/stellar/sdk/xdr/CreatePassiveSellOfferOp.java
index 1d05ec7ff..f03c2bc78 100644
--- a/src/main/java/org/stellar/sdk/xdr/CreatePassiveSellOfferOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/CreatePassiveSellOfferOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -107,7 +107,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -119,7 +119,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static CreatePassiveSellOfferOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/CryptoKeyType.java b/src/main/java/org/stellar/sdk/xdr/CryptoKeyType.java
index 46a7b544b..96b8e3a26 100644
--- a/src/main/java/org/stellar/sdk/xdr/CryptoKeyType.java
+++ b/src/main/java/org/stellar/sdk/xdr/CryptoKeyType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -69,7 +69,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -81,7 +81,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static CryptoKeyType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Curve25519Public.java b/src/main/java/org/stellar/sdk/xdr/Curve25519Public.java
index c8bd1156f..586093509 100644
--- a/src/main/java/org/stellar/sdk/xdr/Curve25519Public.java
+++ b/src/main/java/org/stellar/sdk/xdr/Curve25519Public.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -67,7 +67,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -79,7 +79,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Curve25519Public fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Curve25519Secret.java b/src/main/java/org/stellar/sdk/xdr/Curve25519Secret.java
index 9c0ea41ff..4b727d78c 100644
--- a/src/main/java/org/stellar/sdk/xdr/Curve25519Secret.java
+++ b/src/main/java/org/stellar/sdk/xdr/Curve25519Secret.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -67,7 +67,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -79,7 +79,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Curve25519Secret fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/DataEntry.java b/src/main/java/org/stellar/sdk/xdr/DataEntry.java
index 14d6fb434..2913193ab 100644
--- a/src/main/java/org/stellar/sdk/xdr/DataEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/DataEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -113,7 +113,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -125,7 +125,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static DataEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -242,7 +242,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -254,7 +254,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static DataEntryExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/DataValue.java b/src/main/java/org/stellar/sdk/xdr/DataValue.java
index 698c3ac5c..4a98b9849 100644
--- a/src/main/java/org/stellar/sdk/xdr/DataValue.java
+++ b/src/main/java/org/stellar/sdk/xdr/DataValue.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -69,7 +69,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -81,7 +81,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static DataValue fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/DecoratedSignature.java b/src/main/java/org/stellar/sdk/xdr/DecoratedSignature.java
index 078433e92..47367639b 100644
--- a/src/main/java/org/stellar/sdk/xdr/DecoratedSignature.java
+++ b/src/main/java/org/stellar/sdk/xdr/DecoratedSignature.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -77,7 +77,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -89,7 +89,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static DecoratedSignature fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/DiagnosticEvent.java b/src/main/java/org/stellar/sdk/xdr/DiagnosticEvent.java
index 68690149a..3044627c5 100644
--- a/src/main/java/org/stellar/sdk/xdr/DiagnosticEvent.java
+++ b/src/main/java/org/stellar/sdk/xdr/DiagnosticEvent.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static DiagnosticEvent fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/DontHave.java b/src/main/java/org/stellar/sdk/xdr/DontHave.java
index de49bfd22..0d59b986a 100644
--- a/src/main/java/org/stellar/sdk/xdr/DontHave.java
+++ b/src/main/java/org/stellar/sdk/xdr/DontHave.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -77,7 +77,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -89,7 +89,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static DontHave fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Duration.java b/src/main/java/org/stellar/sdk/xdr/Duration.java
index 59eb090ab..5080126b6 100644
--- a/src/main/java/org/stellar/sdk/xdr/Duration.java
+++ b/src/main/java/org/stellar/sdk/xdr/Duration.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Duration fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/EncryptedBody.java b/src/main/java/org/stellar/sdk/xdr/EncryptedBody.java
index 9cb3c75c9..a9dd79cdd 100644
--- a/src/main/java/org/stellar/sdk/xdr/EncryptedBody.java
+++ b/src/main/java/org/stellar/sdk/xdr/EncryptedBody.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -69,7 +69,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -81,7 +81,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static EncryptedBody fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/EndSponsoringFutureReservesResult.java b/src/main/java/org/stellar/sdk/xdr/EndSponsoringFutureReservesResult.java
index 54b9d2b96..aca4082f2 100644
--- a/src/main/java/org/stellar/sdk/xdr/EndSponsoringFutureReservesResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/EndSponsoringFutureReservesResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -103,7 +103,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -115,7 +115,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static EndSponsoringFutureReservesResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/EndSponsoringFutureReservesResultCode.java b/src/main/java/org/stellar/sdk/xdr/EndSponsoringFutureReservesResultCode.java
index b20164c04..4056a3942 100644
--- a/src/main/java/org/stellar/sdk/xdr/EndSponsoringFutureReservesResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/EndSponsoringFutureReservesResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -60,7 +60,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -72,7 +72,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static EndSponsoringFutureReservesResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/EnvelopeType.java b/src/main/java/org/stellar/sdk/xdr/EnvelopeType.java
index b64f960ef..78e035740 100644
--- a/src/main/java/org/stellar/sdk/xdr/EnvelopeType.java
+++ b/src/main/java/org/stellar/sdk/xdr/EnvelopeType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -87,7 +87,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -99,7 +99,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static EnvelopeType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Error.java b/src/main/java/org/stellar/sdk/xdr/Error.java
index 486b24853..d1855bcf6 100644
--- a/src/main/java/org/stellar/sdk/xdr/Error.java
+++ b/src/main/java/org/stellar/sdk/xdr/Error.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -76,7 +76,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -88,7 +88,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Error fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ErrorCode.java b/src/main/java/org/stellar/sdk/xdr/ErrorCode.java
index 813336ce2..5ae0f23c2 100644
--- a/src/main/java/org/stellar/sdk/xdr/ErrorCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/ErrorCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -67,7 +67,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -79,7 +79,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ErrorCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/EvictionIterator.java b/src/main/java/org/stellar/sdk/xdr/EvictionIterator.java
index e19f16324..877da1c8c 100644
--- a/src/main/java/org/stellar/sdk/xdr/EvictionIterator.java
+++ b/src/main/java/org/stellar/sdk/xdr/EvictionIterator.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -91,7 +91,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -103,7 +103,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static EvictionIterator fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ExpirationEntry.java b/src/main/java/org/stellar/sdk/xdr/ExpirationEntry.java
index 0f1abaa78..4a34cd939 100644
--- a/src/main/java/org/stellar/sdk/xdr/ExpirationEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/ExpirationEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ExpirationEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ExtensionPoint.java b/src/main/java/org/stellar/sdk/xdr/ExtensionPoint.java
index 2912fc943..36533c929 100644
--- a/src/main/java/org/stellar/sdk/xdr/ExtensionPoint.java
+++ b/src/main/java/org/stellar/sdk/xdr/ExtensionPoint.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -91,7 +91,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -103,7 +103,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ExtensionPoint fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/FeeBumpTransaction.java b/src/main/java/org/stellar/sdk/xdr/FeeBumpTransaction.java
index 78ec4d892..cb22bbb8c 100644
--- a/src/main/java/org/stellar/sdk/xdr/FeeBumpTransaction.java
+++ b/src/main/java/org/stellar/sdk/xdr/FeeBumpTransaction.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -116,7 +116,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -128,7 +128,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static FeeBumpTransaction fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -265,7 +265,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -277,7 +277,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static FeeBumpTransactionInnerTx fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -360,7 +360,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -372,7 +372,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static FeeBumpTransactionExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/FeeBumpTransactionEnvelope.java b/src/main/java/org/stellar/sdk/xdr/FeeBumpTransactionEnvelope.java
index c07ba2117..ae13f751b 100644
--- a/src/main/java/org/stellar/sdk/xdr/FeeBumpTransactionEnvelope.java
+++ b/src/main/java/org/stellar/sdk/xdr/FeeBumpTransactionEnvelope.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -89,7 +89,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -101,7 +101,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static FeeBumpTransactionEnvelope fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/FloodAdvert.java b/src/main/java/org/stellar/sdk/xdr/FloodAdvert.java
index db80fd07e..0cdbad146 100644
--- a/src/main/java/org/stellar/sdk/xdr/FloodAdvert.java
+++ b/src/main/java/org/stellar/sdk/xdr/FloodAdvert.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static FloodAdvert fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/FloodDemand.java b/src/main/java/org/stellar/sdk/xdr/FloodDemand.java
index b2e40e7ec..7d9d8800f 100644
--- a/src/main/java/org/stellar/sdk/xdr/FloodDemand.java
+++ b/src/main/java/org/stellar/sdk/xdr/FloodDemand.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static FloodDemand fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/GeneralizedTransactionSet.java b/src/main/java/org/stellar/sdk/xdr/GeneralizedTransactionSet.java
index 63aa323f2..53f38a877 100644
--- a/src/main/java/org/stellar/sdk/xdr/GeneralizedTransactionSet.java
+++ b/src/main/java/org/stellar/sdk/xdr/GeneralizedTransactionSet.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -112,7 +112,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -124,7 +124,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static GeneralizedTransactionSet fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Hash.java b/src/main/java/org/stellar/sdk/xdr/Hash.java
index 9200d7935..9731c3aa6 100644
--- a/src/main/java/org/stellar/sdk/xdr/Hash.java
+++ b/src/main/java/org/stellar/sdk/xdr/Hash.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -67,7 +67,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -79,7 +79,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Hash fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/HashIDPreimage.java b/src/main/java/org/stellar/sdk/xdr/HashIDPreimage.java
index 5a2e17b9d..5b723abae 100644
--- a/src/main/java/org/stellar/sdk/xdr/HashIDPreimage.java
+++ b/src/main/java/org/stellar/sdk/xdr/HashIDPreimage.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -214,7 +214,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -226,7 +226,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static HashIDPreimage fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -308,7 +308,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -320,7 +320,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static HashIDPreimageOperationID fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -459,7 +459,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -471,7 +471,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static HashIDPreimageRevokeID fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -584,7 +584,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -596,7 +596,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static HashIDPreimageContractID fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -720,7 +720,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -732,7 +732,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static HashIDPreimageSorobanAuthorization fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Hello.java b/src/main/java/org/stellar/sdk/xdr/Hello.java
index ce2264894..67ca96d82 100644
--- a/src/main/java/org/stellar/sdk/xdr/Hello.java
+++ b/src/main/java/org/stellar/sdk/xdr/Hello.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -184,7 +184,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -196,7 +196,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Hello fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/HmacSha256Key.java b/src/main/java/org/stellar/sdk/xdr/HmacSha256Key.java
index 24b837dcc..538b74cdc 100644
--- a/src/main/java/org/stellar/sdk/xdr/HmacSha256Key.java
+++ b/src/main/java/org/stellar/sdk/xdr/HmacSha256Key.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -67,7 +67,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -79,7 +79,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static HmacSha256Key fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/HmacSha256Mac.java b/src/main/java/org/stellar/sdk/xdr/HmacSha256Mac.java
index bb1a46986..92785110b 100644
--- a/src/main/java/org/stellar/sdk/xdr/HmacSha256Mac.java
+++ b/src/main/java/org/stellar/sdk/xdr/HmacSha256Mac.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -67,7 +67,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -79,7 +79,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static HmacSha256Mac fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/HostFunction.java b/src/main/java/org/stellar/sdk/xdr/HostFunction.java
index 12e06ee7e..d2d022268 100644
--- a/src/main/java/org/stellar/sdk/xdr/HostFunction.java
+++ b/src/main/java/org/stellar/sdk/xdr/HostFunction.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -169,7 +169,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -181,7 +181,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static HostFunction fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/HostFunctionType.java b/src/main/java/org/stellar/sdk/xdr/HostFunctionType.java
index 9e9caa141..d682823f4 100644
--- a/src/main/java/org/stellar/sdk/xdr/HostFunctionType.java
+++ b/src/main/java/org/stellar/sdk/xdr/HostFunctionType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -59,7 +59,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -71,7 +71,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static HostFunctionType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/IPAddrType.java b/src/main/java/org/stellar/sdk/xdr/IPAddrType.java
index ad8f55bc6..390d4c084 100644
--- a/src/main/java/org/stellar/sdk/xdr/IPAddrType.java
+++ b/src/main/java/org/stellar/sdk/xdr/IPAddrType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -55,7 +55,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -67,7 +67,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static IPAddrType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/InflationPayout.java b/src/main/java/org/stellar/sdk/xdr/InflationPayout.java
index bebe703af..294780f99 100644
--- a/src/main/java/org/stellar/sdk/xdr/InflationPayout.java
+++ b/src/main/java/org/stellar/sdk/xdr/InflationPayout.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InflationPayout fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/InflationResult.java b/src/main/java/org/stellar/sdk/xdr/InflationResult.java
index 6e7103a96..aefb339ba 100644
--- a/src/main/java/org/stellar/sdk/xdr/InflationResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/InflationResult.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -125,7 +125,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -137,7 +137,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InflationResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/InflationResultCode.java b/src/main/java/org/stellar/sdk/xdr/InflationResultCode.java
index da75e2a15..ad61b7aa3 100644
--- a/src/main/java/org/stellar/sdk/xdr/InflationResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/InflationResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -58,7 +58,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -70,7 +70,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InflationResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/InnerTransactionResult.java b/src/main/java/org/stellar/sdk/xdr/InnerTransactionResult.java
index 3b835d42e..0b2c7e478 100644
--- a/src/main/java/org/stellar/sdk/xdr/InnerTransactionResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/InnerTransactionResult.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -127,7 +127,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -139,7 +139,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InnerTransactionResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -314,7 +314,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -326,7 +326,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InnerTransactionResultResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -409,7 +409,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -421,7 +421,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InnerTransactionResultExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/InnerTransactionResultPair.java b/src/main/java/org/stellar/sdk/xdr/InnerTransactionResultPair.java
index 18a9aa11b..3c5b02ef4 100644
--- a/src/main/java/org/stellar/sdk/xdr/InnerTransactionResultPair.java
+++ b/src/main/java/org/stellar/sdk/xdr/InnerTransactionResultPair.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -79,7 +79,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -91,7 +91,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InnerTransactionResultPair fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Int128Parts.java b/src/main/java/org/stellar/sdk/xdr/Int128Parts.java
index 63c698752..2c618328b 100644
--- a/src/main/java/org/stellar/sdk/xdr/Int128Parts.java
+++ b/src/main/java/org/stellar/sdk/xdr/Int128Parts.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -76,7 +76,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -88,7 +88,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Int128Parts fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Int256Parts.java b/src/main/java/org/stellar/sdk/xdr/Int256Parts.java
index 3ece542b6..a9c1aed2f 100644
--- a/src/main/java/org/stellar/sdk/xdr/Int256Parts.java
+++ b/src/main/java/org/stellar/sdk/xdr/Int256Parts.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -105,7 +105,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -117,7 +117,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Int256Parts fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Int32.java b/src/main/java/org/stellar/sdk/xdr/Int32.java
index cd39e7db6..9717122a7 100644
--- a/src/main/java/org/stellar/sdk/xdr/Int32.java
+++ b/src/main/java/org/stellar/sdk/xdr/Int32.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Int32 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Int64.java b/src/main/java/org/stellar/sdk/xdr/Int64.java
index 8e6eb1125..d90aceda1 100644
--- a/src/main/java/org/stellar/sdk/xdr/Int64.java
+++ b/src/main/java/org/stellar/sdk/xdr/Int64.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Int64 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/InvokeContractArgs.java b/src/main/java/org/stellar/sdk/xdr/InvokeContractArgs.java
index 4bd59b0af..0e2784684 100644
--- a/src/main/java/org/stellar/sdk/xdr/InvokeContractArgs.java
+++ b/src/main/java/org/stellar/sdk/xdr/InvokeContractArgs.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -100,7 +100,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -112,7 +112,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InvokeContractArgs fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionOp.java b/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionOp.java
index 96bfee74b..0cb6d6ed5 100644
--- a/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionOp.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -90,7 +90,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -102,7 +102,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InvokeHostFunctionOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionResult.java b/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionResult.java
index 3cde66279..b9d3df511 100644
--- a/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -129,7 +129,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -141,7 +141,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InvokeHostFunctionResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionResultCode.java b/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionResultCode.java
index 3f99d1586..0ad3336ea 100644
--- a/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -75,7 +75,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -87,7 +87,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InvokeHostFunctionResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionSuccessPreImage.java b/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionSuccessPreImage.java
index 1f1e9f34a..d2c69bd6a 100644
--- a/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionSuccessPreImage.java
+++ b/src/main/java/org/stellar/sdk/xdr/InvokeHostFunctionSuccessPreImage.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -91,7 +91,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -103,7 +103,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static InvokeHostFunctionSuccessPreImage fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerBounds.java b/src/main/java/org/stellar/sdk/xdr/LedgerBounds.java
index fd4f29d9c..dd971a737 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerBounds.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerBounds.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerBounds fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerCloseMeta.java b/src/main/java/org/stellar/sdk/xdr/LedgerCloseMeta.java
index 0be21be44..99a0a160b 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerCloseMeta.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerCloseMeta.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -163,7 +163,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -175,7 +175,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerCloseMeta fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV0.java b/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV0.java
index 1a20e46d4..1e8d60f19 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV0.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -159,7 +159,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -171,7 +171,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerCloseMetaV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV1.java b/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV1.java
index 2803c7ea3..484a78de2 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV1.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV1.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -159,7 +159,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -171,7 +171,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerCloseMetaV1 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV2.java b/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV2.java
index 8dbfd26ba..ddb7556f8 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV2.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerCloseMetaV2.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -250,7 +250,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -262,7 +262,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerCloseMetaV2 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerCloseValueSignature.java b/src/main/java/org/stellar/sdk/xdr/LedgerCloseValueSignature.java
index dfcd9e4a4..d080b2d2e 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerCloseValueSignature.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerCloseValueSignature.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -79,7 +79,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -91,7 +91,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerCloseValueSignature fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerEntry.java b/src/main/java/org/stellar/sdk/xdr/LedgerEntry.java
index 4d14a07cd..ebbd53269 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -125,7 +125,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -137,7 +137,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -494,7 +494,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -506,7 +506,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerEntryData fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -611,7 +611,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -623,7 +623,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerEntryExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerEntryChange.java b/src/main/java/org/stellar/sdk/xdr/LedgerEntryChange.java
index 0d29e2b4b..7bd4c0040 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerEntryChange.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerEntryChange.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -189,7 +189,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -201,7 +201,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerEntryChange fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerEntryChangeType.java b/src/main/java/org/stellar/sdk/xdr/LedgerEntryChangeType.java
index b87042a3b..4a1de0342 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerEntryChangeType.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerEntryChangeType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerEntryChangeType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerEntryChanges.java b/src/main/java/org/stellar/sdk/xdr/LedgerEntryChanges.java
index 6d3c44423..b70f409e1 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerEntryChanges.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerEntryChanges.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -73,7 +73,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -85,7 +85,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerEntryChanges fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerEntryExtensionV1.java b/src/main/java/org/stellar/sdk/xdr/LedgerEntryExtensionV1.java
index b03c2da13..45a1b03fe 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerEntryExtensionV1.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerEntryExtensionV1.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -85,7 +85,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -97,7 +97,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerEntryExtensionV1 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -201,7 +201,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -213,7 +213,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerEntryExtensionV1Ext fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerEntryType.java b/src/main/java/org/stellar/sdk/xdr/LedgerEntryType.java
index 42fd8c52d..be137b929 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerEntryType.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerEntryType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -87,7 +87,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -99,7 +99,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerEntryType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerFootprint.java b/src/main/java/org/stellar/sdk/xdr/LedgerFootprint.java
index 981b9dd9e..f1593071c 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerFootprint.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerFootprint.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -95,7 +95,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -107,7 +107,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerFootprint fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerHeader.java b/src/main/java/org/stellar/sdk/xdr/LedgerHeader.java
index 25cb5c363..3f83cb367 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerHeader.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerHeader.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -304,7 +304,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -316,7 +316,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerHeader fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -533,7 +533,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -545,7 +545,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerHeaderExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerHeaderExtensionV1.java b/src/main/java/org/stellar/sdk/xdr/LedgerHeaderExtensionV1.java
index 62bf6c245..9c7263c87 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerHeaderExtensionV1.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerHeaderExtensionV1.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -84,7 +84,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -96,7 +96,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerHeaderExtensionV1 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -201,7 +201,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -213,7 +213,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerHeaderExtensionV1Ext fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerHeaderFlags.java b/src/main/java/org/stellar/sdk/xdr/LedgerHeaderFlags.java
index 30a173cdb..d041e5ad3 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerHeaderFlags.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerHeaderFlags.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -60,7 +60,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -72,7 +72,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerHeaderFlags fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerHeaderHistoryEntry.java b/src/main/java/org/stellar/sdk/xdr/LedgerHeaderHistoryEntry.java
index f35705547..2b6c25fa1 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerHeaderHistoryEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerHeaderHistoryEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -100,7 +100,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -112,7 +112,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerHeaderHistoryEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -224,7 +224,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -236,7 +236,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerHeaderHistoryEntryExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerKey.java b/src/main/java/org/stellar/sdk/xdr/LedgerKey.java
index 8ef61130f..bcc4d7458 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerKey.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerKey.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -397,7 +397,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -409,7 +409,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKey fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -464,7 +464,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -476,7 +476,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKeyAccount fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -561,7 +561,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -573,7 +573,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKeyTrustLine fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -664,7 +664,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -676,7 +676,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKeyOffer fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -767,7 +767,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -779,7 +779,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKeyData fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -858,7 +858,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -870,7 +870,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKeyClaimableBalance fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -942,7 +942,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -954,7 +954,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKeyLiquidityPool fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -1052,7 +1052,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -1064,7 +1064,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKeyContractData fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -1150,7 +1150,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -1162,7 +1162,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKeyContractCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -1234,7 +1234,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -1246,7 +1246,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKeyConfigSetting fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -1318,7 +1318,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -1330,7 +1330,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerKeyExpiration fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerSCPMessages.java b/src/main/java/org/stellar/sdk/xdr/LedgerSCPMessages.java
index d98713f98..0fbe47de5 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerSCPMessages.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerSCPMessages.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -87,7 +87,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -99,7 +99,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerSCPMessages fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerUpgrade.java b/src/main/java/org/stellar/sdk/xdr/LedgerUpgrade.java
index 67c2ec05c..e0c4b9388 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerUpgrade.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerUpgrade.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -278,7 +278,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -290,7 +290,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerUpgrade fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LedgerUpgradeType.java b/src/main/java/org/stellar/sdk/xdr/LedgerUpgradeType.java
index 5ebc16de6..5b18a05f1 100644
--- a/src/main/java/org/stellar/sdk/xdr/LedgerUpgradeType.java
+++ b/src/main/java/org/stellar/sdk/xdr/LedgerUpgradeType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -76,7 +76,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -88,7 +88,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LedgerUpgradeType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Liabilities.java b/src/main/java/org/stellar/sdk/xdr/Liabilities.java
index f8fc31a97..73453a3f3 100644
--- a/src/main/java/org/stellar/sdk/xdr/Liabilities.java
+++ b/src/main/java/org/stellar/sdk/xdr/Liabilities.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -77,7 +77,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -89,7 +89,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Liabilities fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolConstantProductParameters.java b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolConstantProductParameters.java
index 5b3d09872..ed6a01ef1 100644
--- a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolConstantProductParameters.java
+++ b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolConstantProductParameters.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -96,7 +96,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -109,7 +109,7 @@ public byte[] toXdrByteArray() throws IOException {
public static LiquidityPoolConstantProductParameters fromXdrBase64(String xdr)
throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositOp.java b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositOp.java
index 08b263f95..a8fcd4ec6 100644
--- a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -122,7 +122,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -134,7 +134,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolDepositOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositResult.java b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositResult.java
index 65ad2f550..031772d29 100644
--- a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -116,7 +116,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -128,7 +128,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolDepositResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositResultCode.java b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositResultCode.java
index 4a0b499a9..4dd187201 100644
--- a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolDepositResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -88,7 +88,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -100,7 +100,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolDepositResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolEntry.java b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolEntry.java
index 5219141c1..11ff1d538 100644
--- a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -93,7 +93,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -105,7 +105,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -231,7 +231,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -243,7 +243,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolEntryBody fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -361,7 +361,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -373,7 +373,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolEntryConstantProduct fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolParameters.java b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolParameters.java
index 9eb6b90cf..5cb765f9e 100644
--- a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolParameters.java
+++ b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolParameters.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -114,7 +114,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -126,7 +126,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolParameters fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolType.java b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolType.java
index 307485e3a..d31d89075 100644
--- a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolType.java
+++ b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -52,7 +52,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -64,7 +64,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawOp.java b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawOp.java
index 5af8312d1..fd7886730 100644
--- a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -107,7 +107,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -119,7 +119,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolWithdrawOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawResult.java b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawResult.java
index 7ed3e4eb9..3f5a385b8 100644
--- a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -111,7 +111,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -123,7 +123,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolWithdrawResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawResultCode.java b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawResultCode.java
index 919c2d3e1..bc97c02be 100644
--- a/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/LiquidityPoolWithdrawResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -79,7 +79,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -91,7 +91,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static LiquidityPoolWithdrawResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferOp.java b/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferOp.java
index 506ce21cf..902fc22b0 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -123,7 +123,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -135,7 +135,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageBuyOfferOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferResult.java b/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferResult.java
index 10fc4c99e..2d9817280 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -150,7 +150,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -162,7 +162,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageBuyOfferResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferResultCode.java b/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferResultCode.java
index 78f2859fe..ae695cdb0 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageBuyOfferResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -107,7 +107,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -119,7 +119,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageBuyOfferResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageDataOp.java b/src/main/java/org/stellar/sdk/xdr/ManageDataOp.java
index b5ffdcc7c..3d4fc3b7b 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageDataOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageDataOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -86,7 +86,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -98,7 +98,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageDataOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageDataResult.java b/src/main/java/org/stellar/sdk/xdr/ManageDataResult.java
index 990df1366..897849ade 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageDataResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageDataResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -106,7 +106,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -118,7 +118,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageDataResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageDataResultCode.java b/src/main/java/org/stellar/sdk/xdr/ManageDataResultCode.java
index 41eb3982e..ef1d634e2 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageDataResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageDataResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -72,7 +72,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -84,7 +84,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageDataResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageOfferEffect.java b/src/main/java/org/stellar/sdk/xdr/ManageOfferEffect.java
index a41acfba2..e66d714fd 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageOfferEffect.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageOfferEffect.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -60,7 +60,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -72,7 +72,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageOfferEffect fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageOfferSuccessResult.java b/src/main/java/org/stellar/sdk/xdr/ManageOfferSuccessResult.java
index 07ac400c4..c17fa3df0 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageOfferSuccessResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageOfferSuccessResult.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -98,7 +98,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -110,7 +110,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageOfferSuccessResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -242,7 +242,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -254,7 +254,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageOfferSuccessResultOffer fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageSellOfferOp.java b/src/main/java/org/stellar/sdk/xdr/ManageSellOfferOp.java
index f4973cd76..14d9d8a6f 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageSellOfferOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageSellOfferOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -122,7 +122,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -134,7 +134,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageSellOfferOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageSellOfferResult.java b/src/main/java/org/stellar/sdk/xdr/ManageSellOfferResult.java
index 4c6429775..b161316b1 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageSellOfferResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageSellOfferResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -150,7 +150,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -162,7 +162,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageSellOfferResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ManageSellOfferResultCode.java b/src/main/java/org/stellar/sdk/xdr/ManageSellOfferResultCode.java
index d999d52a6..321b30594 100644
--- a/src/main/java/org/stellar/sdk/xdr/ManageSellOfferResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/ManageSellOfferResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -110,7 +110,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -122,7 +122,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ManageSellOfferResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Memo.java b/src/main/java/org/stellar/sdk/xdr/Memo.java
index 4ca7a23b3..275af9160 100644
--- a/src/main/java/org/stellar/sdk/xdr/Memo.java
+++ b/src/main/java/org/stellar/sdk/xdr/Memo.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -194,7 +194,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -206,7 +206,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Memo fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/MemoType.java b/src/main/java/org/stellar/sdk/xdr/MemoType.java
index b68416d65..a682512a0 100644
--- a/src/main/java/org/stellar/sdk/xdr/MemoType.java
+++ b/src/main/java/org/stellar/sdk/xdr/MemoType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -67,7 +67,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -79,7 +79,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static MemoType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/MessageType.java b/src/main/java/org/stellar/sdk/xdr/MessageType.java
index cc49bedaf..0a08ece50 100644
--- a/src/main/java/org/stellar/sdk/xdr/MessageType.java
+++ b/src/main/java/org/stellar/sdk/xdr/MessageType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -137,7 +137,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -149,7 +149,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static MessageType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/MuxedAccount.java b/src/main/java/org/stellar/sdk/xdr/MuxedAccount.java
index 22f206fa1..3a082a148 100644
--- a/src/main/java/org/stellar/sdk/xdr/MuxedAccount.java
+++ b/src/main/java/org/stellar/sdk/xdr/MuxedAccount.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -141,7 +141,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -153,7 +153,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static MuxedAccount fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -221,7 +221,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -233,7 +233,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static MuxedAccountMed25519 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/NodeID.java b/src/main/java/org/stellar/sdk/xdr/NodeID.java
index 03f216c32..6be2e1077 100644
--- a/src/main/java/org/stellar/sdk/xdr/NodeID.java
+++ b/src/main/java/org/stellar/sdk/xdr/NodeID.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static NodeID fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/OfferEntry.java b/src/main/java/org/stellar/sdk/xdr/OfferEntry.java
index aa4ebe2ec..40e95643e 100644
--- a/src/main/java/org/stellar/sdk/xdr/OfferEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/OfferEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -183,7 +183,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -195,7 +195,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static OfferEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -340,7 +340,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -352,7 +352,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static OfferEntryExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/OfferEntryFlags.java b/src/main/java/org/stellar/sdk/xdr/OfferEntryFlags.java
index cb2638198..8fef54b5e 100644
--- a/src/main/java/org/stellar/sdk/xdr/OfferEntryFlags.java
+++ b/src/main/java/org/stellar/sdk/xdr/OfferEntryFlags.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -53,7 +53,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -65,7 +65,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static OfferEntryFlags fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Operation.java b/src/main/java/org/stellar/sdk/xdr/Operation.java
index a6817b15b..c8fe9d9db 100644
--- a/src/main/java/org/stellar/sdk/xdr/Operation.java
+++ b/src/main/java/org/stellar/sdk/xdr/Operation.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -147,7 +147,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -159,7 +159,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Operation fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -903,7 +903,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -915,7 +915,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static OperationBody fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/OperationMeta.java b/src/main/java/org/stellar/sdk/xdr/OperationMeta.java
index 089f10b6e..21201e9a1 100644
--- a/src/main/java/org/stellar/sdk/xdr/OperationMeta.java
+++ b/src/main/java/org/stellar/sdk/xdr/OperationMeta.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static OperationMeta fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/OperationResult.java b/src/main/java/org/stellar/sdk/xdr/OperationResult.java
index 2b4580550..13d2d51a2 100644
--- a/src/main/java/org/stellar/sdk/xdr/OperationResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/OperationResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -188,7 +188,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -200,7 +200,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static OperationResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -992,7 +992,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -1004,7 +1004,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static OperationResultTr fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/OperationResultCode.java b/src/main/java/org/stellar/sdk/xdr/OperationResultCode.java
index 60a7701ed..592d57a30 100644
--- a/src/main/java/org/stellar/sdk/xdr/OperationResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/OperationResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -77,7 +77,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -89,7 +89,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static OperationResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/OperationType.java b/src/main/java/org/stellar/sdk/xdr/OperationType.java
index c621db890..d2c51923e 100644
--- a/src/main/java/org/stellar/sdk/xdr/OperationType.java
+++ b/src/main/java/org/stellar/sdk/xdr/OperationType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -155,7 +155,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -167,7 +167,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static OperationType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveOp.java b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveOp.java
index 717b936a6..a5823f01b 100644
--- a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveOp.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -154,7 +154,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -166,7 +166,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PathPaymentStrictReceiveOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveResult.java b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveResult.java
index 657fc3e8c..bd10be807 100644
--- a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveResult.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -189,7 +189,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -201,7 +201,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PathPaymentStrictReceiveResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -280,7 +280,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -293,7 +293,7 @@ public byte[] toXdrByteArray() throws IOException {
public static PathPaymentStrictReceiveResultSuccess fromXdrBase64(String xdr)
throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveResultCode.java b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveResultCode.java
index 9293f0b9c..ca28764f0 100644
--- a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictReceiveResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -113,7 +113,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -125,7 +125,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PathPaymentStrictReceiveResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendOp.java b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendOp.java
index 27634f1c8..826a90f67 100644
--- a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendOp.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -154,7 +154,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -166,7 +166,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PathPaymentStrictSendOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendResult.java b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendResult.java
index f72382bcb..903e347f4 100644
--- a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendResult.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -185,7 +185,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -197,7 +197,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PathPaymentStrictSendResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -276,7 +276,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -288,7 +288,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PathPaymentStrictSendResultSuccess fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendResultCode.java b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendResultCode.java
index 12c77bc17..ae7ef0501 100644
--- a/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/PathPaymentStrictSendResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -112,7 +112,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -124,7 +124,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PathPaymentStrictSendResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PaymentOp.java b/src/main/java/org/stellar/sdk/xdr/PaymentOp.java
index cdf232195..24efb12ba 100644
--- a/src/main/java/org/stellar/sdk/xdr/PaymentOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/PaymentOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -92,7 +92,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -104,7 +104,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PaymentOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PaymentResult.java b/src/main/java/org/stellar/sdk/xdr/PaymentResult.java
index 0370ba1db..064182dec 100644
--- a/src/main/java/org/stellar/sdk/xdr/PaymentResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/PaymentResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -121,7 +121,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -133,7 +133,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PaymentResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PaymentResultCode.java b/src/main/java/org/stellar/sdk/xdr/PaymentResultCode.java
index 5477abf15..ab0f9ca3a 100644
--- a/src/main/java/org/stellar/sdk/xdr/PaymentResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/PaymentResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -91,7 +91,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -103,7 +103,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PaymentResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PeerAddress.java b/src/main/java/org/stellar/sdk/xdr/PeerAddress.java
index f5cad929f..59b8cc66d 100644
--- a/src/main/java/org/stellar/sdk/xdr/PeerAddress.java
+++ b/src/main/java/org/stellar/sdk/xdr/PeerAddress.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -100,7 +100,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -112,7 +112,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PeerAddress fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -272,7 +272,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -284,7 +284,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PeerAddressIp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PeerStatList.java b/src/main/java/org/stellar/sdk/xdr/PeerStatList.java
index 986cd3f03..797885c8f 100644
--- a/src/main/java/org/stellar/sdk/xdr/PeerStatList.java
+++ b/src/main/java/org/stellar/sdk/xdr/PeerStatList.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -73,7 +73,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -85,7 +85,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PeerStatList fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PeerStats.java b/src/main/java/org/stellar/sdk/xdr/PeerStats.java
index 6e6929d5a..5b2402d00 100644
--- a/src/main/java/org/stellar/sdk/xdr/PeerStats.java
+++ b/src/main/java/org/stellar/sdk/xdr/PeerStats.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -277,7 +277,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -289,7 +289,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PeerStats fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PersistedSCPState.java b/src/main/java/org/stellar/sdk/xdr/PersistedSCPState.java
index 4241422ac..d8077958f 100644
--- a/src/main/java/org/stellar/sdk/xdr/PersistedSCPState.java
+++ b/src/main/java/org/stellar/sdk/xdr/PersistedSCPState.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -137,7 +137,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -149,7 +149,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PersistedSCPState fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PersistedSCPStateV0.java b/src/main/java/org/stellar/sdk/xdr/PersistedSCPStateV0.java
index a07ef5d2d..4789d44f2 100644
--- a/src/main/java/org/stellar/sdk/xdr/PersistedSCPStateV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/PersistedSCPStateV0.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -121,7 +121,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -133,7 +133,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PersistedSCPStateV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PersistedSCPStateV1.java b/src/main/java/org/stellar/sdk/xdr/PersistedSCPStateV1.java
index cff0343a3..e12b0443b 100644
--- a/src/main/java/org/stellar/sdk/xdr/PersistedSCPStateV1.java
+++ b/src/main/java/org/stellar/sdk/xdr/PersistedSCPStateV1.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -97,7 +97,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -109,7 +109,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PersistedSCPStateV1 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PoolID.java b/src/main/java/org/stellar/sdk/xdr/PoolID.java
index 1ef9f4579..835801899 100644
--- a/src/main/java/org/stellar/sdk/xdr/PoolID.java
+++ b/src/main/java/org/stellar/sdk/xdr/PoolID.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PoolID fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PreconditionType.java b/src/main/java/org/stellar/sdk/xdr/PreconditionType.java
index 7791c2048..e489d51ad 100644
--- a/src/main/java/org/stellar/sdk/xdr/PreconditionType.java
+++ b/src/main/java/org/stellar/sdk/xdr/PreconditionType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -59,7 +59,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -71,7 +71,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PreconditionType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Preconditions.java b/src/main/java/org/stellar/sdk/xdr/Preconditions.java
index efb7260c2..02417d864 100644
--- a/src/main/java/org/stellar/sdk/xdr/Preconditions.java
+++ b/src/main/java/org/stellar/sdk/xdr/Preconditions.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -143,7 +143,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -155,7 +155,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Preconditions fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PreconditionsV2.java b/src/main/java/org/stellar/sdk/xdr/PreconditionsV2.java
index 167829260..7f25965a7 100644
--- a/src/main/java/org/stellar/sdk/xdr/PreconditionsV2.java
+++ b/src/main/java/org/stellar/sdk/xdr/PreconditionsV2.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -196,7 +196,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -208,7 +208,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PreconditionsV2 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Price.java b/src/main/java/org/stellar/sdk/xdr/Price.java
index 4c38e4a66..6c10c7953 100644
--- a/src/main/java/org/stellar/sdk/xdr/Price.java
+++ b/src/main/java/org/stellar/sdk/xdr/Price.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -76,7 +76,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -88,7 +88,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Price fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PublicKey.java b/src/main/java/org/stellar/sdk/xdr/PublicKey.java
index df0282950..7ca5f8bda 100644
--- a/src/main/java/org/stellar/sdk/xdr/PublicKey.java
+++ b/src/main/java/org/stellar/sdk/xdr/PublicKey.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -110,7 +110,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -122,7 +122,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PublicKey fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/PublicKeyType.java b/src/main/java/org/stellar/sdk/xdr/PublicKeyType.java
index f9d207152..ee9b925c5 100644
--- a/src/main/java/org/stellar/sdk/xdr/PublicKeyType.java
+++ b/src/main/java/org/stellar/sdk/xdr/PublicKeyType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -51,7 +51,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -63,7 +63,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static PublicKeyType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/RestoreFootprintOp.java b/src/main/java/org/stellar/sdk/xdr/RestoreFootprintOp.java
index 2acc25c27..7d644b2f4 100644
--- a/src/main/java/org/stellar/sdk/xdr/RestoreFootprintOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/RestoreFootprintOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static RestoreFootprintOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/RestoreFootprintResult.java b/src/main/java/org/stellar/sdk/xdr/RestoreFootprintResult.java
index 652ae0541..69f8f3c67 100644
--- a/src/main/java/org/stellar/sdk/xdr/RestoreFootprintResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/RestoreFootprintResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -104,7 +104,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -116,7 +116,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static RestoreFootprintResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/RestoreFootprintResultCode.java b/src/main/java/org/stellar/sdk/xdr/RestoreFootprintResultCode.java
index 4aeae3a14..cd85043f0 100644
--- a/src/main/java/org/stellar/sdk/xdr/RestoreFootprintResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/RestoreFootprintResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -67,7 +67,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -79,7 +79,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static RestoreFootprintResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipOp.java b/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipOp.java
index dbb3ae5c3..643a17cc1 100644
--- a/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -142,7 +142,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -154,7 +154,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static RevokeSponsorshipOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -223,7 +223,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -235,7 +235,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static RevokeSponsorshipOpSigner fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipResult.java b/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipResult.java
index 0e6c2e01d..7204055f6 100644
--- a/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -110,7 +110,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -122,7 +122,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static RevokeSponsorshipResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipResultCode.java b/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipResultCode.java
index badd008c1..9d17e1f55 100644
--- a/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -75,7 +75,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -87,7 +87,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static RevokeSponsorshipResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipType.java b/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipType.java
index 5b0b54507..7e652e3e2 100644
--- a/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipType.java
+++ b/src/main/java/org/stellar/sdk/xdr/RevokeSponsorshipType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -56,7 +56,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -68,7 +68,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static RevokeSponsorshipType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCAddress.java b/src/main/java/org/stellar/sdk/xdr/SCAddress.java
index ba45b4043..08915541e 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCAddress.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCAddress.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -137,7 +137,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -149,7 +149,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCAddress fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCAddressType.java b/src/main/java/org/stellar/sdk/xdr/SCAddressType.java
index 2918c64be..6fad84384 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCAddressType.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCAddressType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -55,7 +55,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -67,7 +67,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCAddressType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCBytes.java b/src/main/java/org/stellar/sdk/xdr/SCBytes.java
index 87864d4b3..0d3ee7b43 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCBytes.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCBytes.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -68,7 +68,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -80,7 +80,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCBytes fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCContractInstance.java b/src/main/java/org/stellar/sdk/xdr/SCContractInstance.java
index 4a9bb1b38..963506b44 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCContractInstance.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCContractInstance.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -85,7 +85,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -97,7 +97,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCContractInstance fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCEnvMetaEntry.java b/src/main/java/org/stellar/sdk/xdr/SCEnvMetaEntry.java
index 0bc46c5d5..50269fb4a 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCEnvMetaEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCEnvMetaEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -111,7 +111,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -123,7 +123,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCEnvMetaEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCEnvMetaKind.java b/src/main/java/org/stellar/sdk/xdr/SCEnvMetaKind.java
index 560c5bee4..705b32481 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCEnvMetaKind.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCEnvMetaKind.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -51,7 +51,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -63,7 +63,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCEnvMetaKind fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCError.java b/src/main/java/org/stellar/sdk/xdr/SCError.java
index f26eb18f0..88c902409 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCError.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCError.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -160,7 +160,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -172,7 +172,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCError fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCErrorCode.java b/src/main/java/org/stellar/sdk/xdr/SCErrorCode.java
index 9734cc8bd..19bf0ab62 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCErrorCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCErrorCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -87,7 +87,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -99,7 +99,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCErrorCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCErrorType.java b/src/main/java/org/stellar/sdk/xdr/SCErrorType.java
index 287e79632..055b5f2cb 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCErrorType.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCErrorType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -87,7 +87,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -99,7 +99,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCErrorType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCMap.java b/src/main/java/org/stellar/sdk/xdr/SCMap.java
index ecd42363f..d6d3d3301 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCMap.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCMap.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -72,7 +72,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -84,7 +84,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCMap fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCMapEntry.java b/src/main/java/org/stellar/sdk/xdr/SCMapEntry.java
index 1d487fe94..898427b7d 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCMapEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCMapEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -77,7 +77,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -89,7 +89,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCMapEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCMetaEntry.java b/src/main/java/org/stellar/sdk/xdr/SCMetaEntry.java
index d80a71b2b..d214ed027 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCMetaEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCMetaEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -110,7 +110,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -122,7 +122,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCMetaEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCMetaKind.java b/src/main/java/org/stellar/sdk/xdr/SCMetaKind.java
index 4e609dccd..aa40a0212 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCMetaKind.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCMetaKind.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -51,7 +51,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -63,7 +63,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCMetaKind fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCMetaV0.java b/src/main/java/org/stellar/sdk/xdr/SCMetaV0.java
index 14200d036..7d311191f 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCMetaV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCMetaV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -77,7 +77,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -89,7 +89,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCMetaV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCNonceKey.java b/src/main/java/org/stellar/sdk/xdr/SCNonceKey.java
index 6ec938c12..4f78e9d43 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCNonceKey.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCNonceKey.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -63,7 +63,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -75,7 +75,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCNonceKey fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCPBallot.java b/src/main/java/org/stellar/sdk/xdr/SCPBallot.java
index 19aa8d863..569e24d7d 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCPBallot.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCPBallot.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -77,7 +77,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -89,7 +89,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPBallot fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCPEnvelope.java b/src/main/java/org/stellar/sdk/xdr/SCPEnvelope.java
index 30e77669c..b6ca4b6a2 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCPEnvelope.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCPEnvelope.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPEnvelope fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCPHistoryEntry.java b/src/main/java/org/stellar/sdk/xdr/SCPHistoryEntry.java
index 26b2480c5..82584d495 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCPHistoryEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCPHistoryEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -110,7 +110,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -122,7 +122,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPHistoryEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCPHistoryEntryV0.java b/src/main/java/org/stellar/sdk/xdr/SCPHistoryEntryV0.java
index a1fa33418..63e400e69 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCPHistoryEntryV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCPHistoryEntryV0.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -87,7 +87,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -99,7 +99,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPHistoryEntryV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCPNomination.java b/src/main/java/org/stellar/sdk/xdr/SCPNomination.java
index 1ad13ff51..ef7147c0d 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCPNomination.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCPNomination.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -110,7 +110,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -122,7 +122,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPNomination fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCPQuorumSet.java b/src/main/java/org/stellar/sdk/xdr/SCPQuorumSet.java
index 5d87d1edc..533fdd10a 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCPQuorumSet.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCPQuorumSet.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -110,7 +110,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -122,7 +122,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPQuorumSet fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCPStatement.java b/src/main/java/org/stellar/sdk/xdr/SCPStatement.java
index 52b399d21..2875ccc84 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCPStatement.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCPStatement.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -124,7 +124,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -136,7 +136,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPStatement fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -339,7 +339,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -351,7 +351,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPStatementPledges fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -489,7 +489,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -501,7 +501,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPStatementPrepare fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -660,7 +660,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -672,7 +672,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPStatementConfirm fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -798,7 +798,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -810,7 +810,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPStatementExternalize fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCPStatementType.java b/src/main/java/org/stellar/sdk/xdr/SCPStatementType.java
index 65d2636d2..f910ecf8b 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCPStatementType.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCPStatementType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -63,7 +63,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -75,7 +75,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCPStatementType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecEntry.java b/src/main/java/org/stellar/sdk/xdr/SCSpecEntry.java
index 8c4bd40c9..3f301433b 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -221,7 +221,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -233,7 +233,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecEntryKind.java b/src/main/java/org/stellar/sdk/xdr/SCSpecEntryKind.java
index 3b56c9457..264c622ad 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecEntryKind.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecEntryKind.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -67,7 +67,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -79,7 +79,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecEntryKind fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecFunctionInputV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecFunctionInputV0.java
index 122e0a0d5..0f91ce377 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecFunctionInputV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecFunctionInputV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -93,7 +93,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -105,7 +105,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecFunctionInputV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecFunctionV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecFunctionV0.java
index ad62acceb..e7f7af141 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecFunctionV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecFunctionV0.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -124,7 +124,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -136,7 +136,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecFunctionV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecType.java b/src/main/java/org/stellar/sdk/xdr/SCSpecType.java
index 5299cea7d..fac6c9239 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecType.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -153,7 +153,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -165,7 +165,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeBytesN.java b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeBytesN.java
index e3135faec..35286092b 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeBytesN.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeBytesN.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecTypeBytesN fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeDef.java b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeDef.java
index 7f2355ecb..044408aee 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeDef.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeDef.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -325,7 +325,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -337,7 +337,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecTypeDef fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeMap.java b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeMap.java
index 869448f72..d63684a63 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeMap.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeMap.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecTypeMap fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeOption.java b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeOption.java
index 972b71e63..5bae69b49 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeOption.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeOption.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecTypeOption fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeResult.java b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeResult.java
index 086939ca7..82a2f08c4 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecTypeResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeTuple.java b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeTuple.java
index 274179ee2..6dac7bc74 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeTuple.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeTuple.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -72,7 +72,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -84,7 +84,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecTypeTuple fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeUDT.java b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeUDT.java
index a86e97076..20005fb1a 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeUDT.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeUDT.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecTypeUDT fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeVec.java b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeVec.java
index 79eb2c10d..a21281d31 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecTypeVec.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecTypeVec.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecTypeVec fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTEnumCaseV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTEnumCaseV0.java
index 055394457..114492648 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTEnumCaseV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTEnumCaseV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -93,7 +93,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -105,7 +105,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTEnumCaseV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTEnumV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTEnumV0.java
index d88f3d0ab..4e53c06ca 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTEnumV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTEnumV0.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -115,7 +115,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -127,7 +127,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTEnumV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTErrorEnumCaseV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTErrorEnumCaseV0.java
index b3c26dd18..058494b64 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTErrorEnumCaseV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTErrorEnumCaseV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -93,7 +93,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -105,7 +105,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTErrorEnumCaseV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTErrorEnumV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTErrorEnumV0.java
index 774dbfe2b..de07725d8 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTErrorEnumV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTErrorEnumV0.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -116,7 +116,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -128,7 +128,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTErrorEnumV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTStructFieldV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTStructFieldV0.java
index 2c22152fa..20a4d34e5 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTStructFieldV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTStructFieldV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -93,7 +93,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -105,7 +105,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTStructFieldV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTStructV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTStructV0.java
index ae9a0a2f5..6060d7cbd 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTStructV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTStructV0.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -115,7 +115,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -127,7 +127,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTStructV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseTupleV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseTupleV0.java
index 89e15860c..b9ae61a45 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseTupleV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseTupleV0.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -102,7 +102,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -114,7 +114,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTUnionCaseTupleV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseV0.java
index 02e756693..086a5b0e4 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -138,7 +138,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -150,7 +150,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTUnionCaseV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseV0Kind.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseV0Kind.java
index b879450b3..765a8c2cf 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseV0Kind.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseV0Kind.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -56,7 +56,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -68,7 +68,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTUnionCaseV0Kind fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseVoidV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseVoidV0.java
index 1f57ee343..1ab18a278 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseVoidV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionCaseVoidV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTUnionCaseVoidV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionV0.java b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionV0.java
index 546d97ed0..607408840 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSpecUDTUnionV0.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -115,7 +115,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -127,7 +127,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSpecUDTUnionV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCString.java b/src/main/java/org/stellar/sdk/xdr/SCString.java
index f11221374..f0949019b 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCString.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCString.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCString fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCSymbol.java b/src/main/java/org/stellar/sdk/xdr/SCSymbol.java
index 0286b95fe..afde380f7 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCSymbol.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCSymbol.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCSymbol fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCVal.java b/src/main/java/org/stellar/sdk/xdr/SCVal.java
index 8204ef72f..ff29d390e 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCVal.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCVal.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -667,7 +667,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -679,7 +679,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCVal fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCValType.java b/src/main/java/org/stellar/sdk/xdr/SCValType.java
index 02d764ded..90677ab53 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCValType.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCValType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -164,7 +164,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -176,7 +176,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCValType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SCVec.java b/src/main/java/org/stellar/sdk/xdr/SCVec.java
index 719c0eae1..f39cef85c 100644
--- a/src/main/java/org/stellar/sdk/xdr/SCVec.java
+++ b/src/main/java/org/stellar/sdk/xdr/SCVec.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -72,7 +72,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -84,7 +84,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SCVec fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SendMore.java b/src/main/java/org/stellar/sdk/xdr/SendMore.java
index 323ee9ebe..ed0a2f4be 100644
--- a/src/main/java/org/stellar/sdk/xdr/SendMore.java
+++ b/src/main/java/org/stellar/sdk/xdr/SendMore.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SendMore fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SendMoreExtended.java b/src/main/java/org/stellar/sdk/xdr/SendMoreExtended.java
index e5a344a94..d064c94a0 100644
--- a/src/main/java/org/stellar/sdk/xdr/SendMoreExtended.java
+++ b/src/main/java/org/stellar/sdk/xdr/SendMoreExtended.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SendMoreExtended fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SequenceNumber.java b/src/main/java/org/stellar/sdk/xdr/SequenceNumber.java
index 1e6badaed..c9b272124 100644
--- a/src/main/java/org/stellar/sdk/xdr/SequenceNumber.java
+++ b/src/main/java/org/stellar/sdk/xdr/SequenceNumber.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SequenceNumber fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SetOptionsOp.java b/src/main/java/org/stellar/sdk/xdr/SetOptionsOp.java
index 37d517be6..ab0bb652f 100644
--- a/src/main/java/org/stellar/sdk/xdr/SetOptionsOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/SetOptionsOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -264,7 +264,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -276,7 +276,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SetOptionsOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SetOptionsResult.java b/src/main/java/org/stellar/sdk/xdr/SetOptionsResult.java
index f7c8c4498..018113c58 100644
--- a/src/main/java/org/stellar/sdk/xdr/SetOptionsResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/SetOptionsResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -124,7 +124,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -136,7 +136,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SetOptionsResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SetOptionsResultCode.java b/src/main/java/org/stellar/sdk/xdr/SetOptionsResultCode.java
index 9a016114e..9223c98fc 100644
--- a/src/main/java/org/stellar/sdk/xdr/SetOptionsResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/SetOptionsResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -95,7 +95,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -107,7 +107,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SetOptionsResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsOp.java b/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsOp.java
index caf84655c..73583e9ff 100644
--- a/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsOp.java
+++ b/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsOp.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -108,7 +108,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -120,7 +120,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SetTrustLineFlagsOp fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsResult.java b/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsResult.java
index 227d3a95c..c54cfcdb9 100644
--- a/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -110,7 +110,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -122,7 +122,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SetTrustLineFlagsResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsResultCode.java b/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsResultCode.java
index 17d862dd4..58bf55d23 100644
--- a/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/SetTrustLineFlagsResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -76,7 +76,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -88,7 +88,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SetTrustLineFlagsResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Signature.java b/src/main/java/org/stellar/sdk/xdr/Signature.java
index 1b8e06b23..de22b8701 100644
--- a/src/main/java/org/stellar/sdk/xdr/Signature.java
+++ b/src/main/java/org/stellar/sdk/xdr/Signature.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -69,7 +69,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -81,7 +81,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Signature fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SignatureHint.java b/src/main/java/org/stellar/sdk/xdr/SignatureHint.java
index f7d24cf29..349c82e16 100644
--- a/src/main/java/org/stellar/sdk/xdr/SignatureHint.java
+++ b/src/main/java/org/stellar/sdk/xdr/SignatureHint.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -68,7 +68,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -80,7 +80,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SignatureHint fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SignedSurveyRequestMessage.java b/src/main/java/org/stellar/sdk/xdr/SignedSurveyRequestMessage.java
index b6679f488..478ba9176 100644
--- a/src/main/java/org/stellar/sdk/xdr/SignedSurveyRequestMessage.java
+++ b/src/main/java/org/stellar/sdk/xdr/SignedSurveyRequestMessage.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -79,7 +79,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -91,7 +91,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SignedSurveyRequestMessage fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SignedSurveyResponseMessage.java b/src/main/java/org/stellar/sdk/xdr/SignedSurveyResponseMessage.java
index 286e704fd..605b7eea8 100644
--- a/src/main/java/org/stellar/sdk/xdr/SignedSurveyResponseMessage.java
+++ b/src/main/java/org/stellar/sdk/xdr/SignedSurveyResponseMessage.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -80,7 +80,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -92,7 +92,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SignedSurveyResponseMessage fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Signer.java b/src/main/java/org/stellar/sdk/xdr/Signer.java
index 047c7fb7c..1e8bbbe48 100644
--- a/src/main/java/org/stellar/sdk/xdr/Signer.java
+++ b/src/main/java/org/stellar/sdk/xdr/Signer.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -76,7 +76,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -88,7 +88,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Signer fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SignerKey.java b/src/main/java/org/stellar/sdk/xdr/SignerKey.java
index 4898f2dbf..5e7a4f6bb 100644
--- a/src/main/java/org/stellar/sdk/xdr/SignerKey.java
+++ b/src/main/java/org/stellar/sdk/xdr/SignerKey.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -199,7 +199,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -211,7 +211,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SignerKey fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -287,7 +287,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -299,7 +299,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SignerKeyEd25519SignedPayload fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SignerKeyType.java b/src/main/java/org/stellar/sdk/xdr/SignerKeyType.java
index a83928313..120c6da49 100644
--- a/src/main/java/org/stellar/sdk/xdr/SignerKeyType.java
+++ b/src/main/java/org/stellar/sdk/xdr/SignerKeyType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -63,7 +63,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -75,7 +75,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SignerKeyType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SimplePaymentResult.java b/src/main/java/org/stellar/sdk/xdr/SimplePaymentResult.java
index f9f6d65da..7b0b820bb 100644
--- a/src/main/java/org/stellar/sdk/xdr/SimplePaymentResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/SimplePaymentResult.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -93,7 +93,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -105,7 +105,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SimplePaymentResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SorobanAddressCredentials.java b/src/main/java/org/stellar/sdk/xdr/SorobanAddressCredentials.java
index 5c69a69ba..5ea68febe 100644
--- a/src/main/java/org/stellar/sdk/xdr/SorobanAddressCredentials.java
+++ b/src/main/java/org/stellar/sdk/xdr/SorobanAddressCredentials.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -107,7 +107,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -119,7 +119,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SorobanAddressCredentials fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizationEntry.java b/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizationEntry.java
index c7c0ae336..f2dab3104 100644
--- a/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizationEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizationEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -79,7 +79,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -91,7 +91,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SorobanAuthorizationEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedFunction.java b/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedFunction.java
index e904d57fc..6e56058b4 100644
--- a/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedFunction.java
+++ b/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedFunction.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -138,7 +138,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -150,7 +150,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SorobanAuthorizedFunction fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedFunctionType.java b/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedFunctionType.java
index 557fb9f85..918a263fd 100644
--- a/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedFunctionType.java
+++ b/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedFunctionType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -56,7 +56,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -68,7 +68,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SorobanAuthorizedFunctionType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedInvocation.java b/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedInvocation.java
index d37da3c92..5174830e5 100644
--- a/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedInvocation.java
+++ b/src/main/java/org/stellar/sdk/xdr/SorobanAuthorizedInvocation.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -92,7 +92,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -104,7 +104,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SorobanAuthorizedInvocation fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SorobanCredentials.java b/src/main/java/org/stellar/sdk/xdr/SorobanCredentials.java
index 47ac987bd..0755b6259 100644
--- a/src/main/java/org/stellar/sdk/xdr/SorobanCredentials.java
+++ b/src/main/java/org/stellar/sdk/xdr/SorobanCredentials.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -116,7 +116,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -128,7 +128,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SorobanCredentials fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SorobanCredentialsType.java b/src/main/java/org/stellar/sdk/xdr/SorobanCredentialsType.java
index 89a36cee2..00914d9ce 100644
--- a/src/main/java/org/stellar/sdk/xdr/SorobanCredentialsType.java
+++ b/src/main/java/org/stellar/sdk/xdr/SorobanCredentialsType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -56,7 +56,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -68,7 +68,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SorobanCredentialsType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SorobanResources.java b/src/main/java/org/stellar/sdk/xdr/SorobanResources.java
index 2aa010796..6dbea6883 100644
--- a/src/main/java/org/stellar/sdk/xdr/SorobanResources.java
+++ b/src/main/java/org/stellar/sdk/xdr/SorobanResources.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -111,7 +111,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -123,7 +123,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SorobanResources fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SorobanTransactionData.java b/src/main/java/org/stellar/sdk/xdr/SorobanTransactionData.java
index c007d1c82..66a21113d 100644
--- a/src/main/java/org/stellar/sdk/xdr/SorobanTransactionData.java
+++ b/src/main/java/org/stellar/sdk/xdr/SorobanTransactionData.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -94,7 +94,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -106,7 +106,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SorobanTransactionData fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SorobanTransactionMeta.java b/src/main/java/org/stellar/sdk/xdr/SorobanTransactionMeta.java
index cc1788b41..dc7edadf9 100644
--- a/src/main/java/org/stellar/sdk/xdr/SorobanTransactionMeta.java
+++ b/src/main/java/org/stellar/sdk/xdr/SorobanTransactionMeta.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -134,7 +134,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -146,7 +146,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SorobanTransactionMeta fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SponsorshipDescriptor.java b/src/main/java/org/stellar/sdk/xdr/SponsorshipDescriptor.java
index 3fcca73a0..40b3eca44 100644
--- a/src/main/java/org/stellar/sdk/xdr/SponsorshipDescriptor.java
+++ b/src/main/java/org/stellar/sdk/xdr/SponsorshipDescriptor.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -74,7 +74,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -86,7 +86,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SponsorshipDescriptor fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/StateExpirationSettings.java b/src/main/java/org/stellar/sdk/xdr/StateExpirationSettings.java
index 88b5865d5..bb508584b 100644
--- a/src/main/java/org/stellar/sdk/xdr/StateExpirationSettings.java
+++ b/src/main/java/org/stellar/sdk/xdr/StateExpirationSettings.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -195,7 +195,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -207,7 +207,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static StateExpirationSettings fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/StellarMessage.java b/src/main/java/org/stellar/sdk/xdr/StellarMessage.java
index 9e28e771f..29c15c4b9 100644
--- a/src/main/java/org/stellar/sdk/xdr/StellarMessage.java
+++ b/src/main/java/org/stellar/sdk/xdr/StellarMessage.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -626,7 +626,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -638,7 +638,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static StellarMessage fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/StellarValue.java b/src/main/java/org/stellar/sdk/xdr/StellarValue.java
index 7ddb7f37a..8e1d40567 100644
--- a/src/main/java/org/stellar/sdk/xdr/StellarValue.java
+++ b/src/main/java/org/stellar/sdk/xdr/StellarValue.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -130,7 +130,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -142,7 +142,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static StellarValue fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -283,7 +283,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -295,7 +295,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static StellarValueExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/StellarValueType.java b/src/main/java/org/stellar/sdk/xdr/StellarValueType.java
index 06e9c9f23..19d3a9ad1 100644
--- a/src/main/java/org/stellar/sdk/xdr/StellarValueType.java
+++ b/src/main/java/org/stellar/sdk/xdr/StellarValueType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -55,7 +55,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -67,7 +67,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static StellarValueType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/StoredTransactionSet.java b/src/main/java/org/stellar/sdk/xdr/StoredTransactionSet.java
index 061de037f..6a9c5465b 100644
--- a/src/main/java/org/stellar/sdk/xdr/StoredTransactionSet.java
+++ b/src/main/java/org/stellar/sdk/xdr/StoredTransactionSet.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -138,7 +138,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -150,7 +150,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static StoredTransactionSet fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/String32.java b/src/main/java/org/stellar/sdk/xdr/String32.java
index b2dc7a8c8..bbbd8c324 100644
--- a/src/main/java/org/stellar/sdk/xdr/String32.java
+++ b/src/main/java/org/stellar/sdk/xdr/String32.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static String32 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/String64.java b/src/main/java/org/stellar/sdk/xdr/String64.java
index bba2cc118..3fa560feb 100644
--- a/src/main/java/org/stellar/sdk/xdr/String64.java
+++ b/src/main/java/org/stellar/sdk/xdr/String64.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static String64 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SurveyMessageCommandType.java b/src/main/java/org/stellar/sdk/xdr/SurveyMessageCommandType.java
index 45d144031..b68426e46 100644
--- a/src/main/java/org/stellar/sdk/xdr/SurveyMessageCommandType.java
+++ b/src/main/java/org/stellar/sdk/xdr/SurveyMessageCommandType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -52,7 +52,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -64,7 +64,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SurveyMessageCommandType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SurveyMessageResponseType.java b/src/main/java/org/stellar/sdk/xdr/SurveyMessageResponseType.java
index 324abe2b4..b85e1a57e 100644
--- a/src/main/java/org/stellar/sdk/xdr/SurveyMessageResponseType.java
+++ b/src/main/java/org/stellar/sdk/xdr/SurveyMessageResponseType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -56,7 +56,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -68,7 +68,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SurveyMessageResponseType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SurveyRequestMessage.java b/src/main/java/org/stellar/sdk/xdr/SurveyRequestMessage.java
index f6d8cbe31..93a38ac61 100644
--- a/src/main/java/org/stellar/sdk/xdr/SurveyRequestMessage.java
+++ b/src/main/java/org/stellar/sdk/xdr/SurveyRequestMessage.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -126,7 +126,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -138,7 +138,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SurveyRequestMessage fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SurveyResponseBody.java b/src/main/java/org/stellar/sdk/xdr/SurveyResponseBody.java
index 5455b0ac8..2ce3e9062 100644
--- a/src/main/java/org/stellar/sdk/xdr/SurveyResponseBody.java
+++ b/src/main/java/org/stellar/sdk/xdr/SurveyResponseBody.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -137,7 +137,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -149,7 +149,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SurveyResponseBody fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/SurveyResponseMessage.java b/src/main/java/org/stellar/sdk/xdr/SurveyResponseMessage.java
index 044f75507..845e2ed66 100644
--- a/src/main/java/org/stellar/sdk/xdr/SurveyResponseMessage.java
+++ b/src/main/java/org/stellar/sdk/xdr/SurveyResponseMessage.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -126,7 +126,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -138,7 +138,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static SurveyResponseMessage fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/ThresholdIndexes.java b/src/main/java/org/stellar/sdk/xdr/ThresholdIndexes.java
index 6edee5551..e96dbc6af 100644
--- a/src/main/java/org/stellar/sdk/xdr/ThresholdIndexes.java
+++ b/src/main/java/org/stellar/sdk/xdr/ThresholdIndexes.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -63,7 +63,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -75,7 +75,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static ThresholdIndexes fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Thresholds.java b/src/main/java/org/stellar/sdk/xdr/Thresholds.java
index dcbf34319..e3a864d43 100644
--- a/src/main/java/org/stellar/sdk/xdr/Thresholds.java
+++ b/src/main/java/org/stellar/sdk/xdr/Thresholds.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -68,7 +68,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -80,7 +80,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Thresholds fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TimeBounds.java b/src/main/java/org/stellar/sdk/xdr/TimeBounds.java
index 8d108fe05..457fec2af 100644
--- a/src/main/java/org/stellar/sdk/xdr/TimeBounds.java
+++ b/src/main/java/org/stellar/sdk/xdr/TimeBounds.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TimeBounds fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TimePoint.java b/src/main/java/org/stellar/sdk/xdr/TimePoint.java
index c2419080b..be18c01ca 100644
--- a/src/main/java/org/stellar/sdk/xdr/TimePoint.java
+++ b/src/main/java/org/stellar/sdk/xdr/TimePoint.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -65,7 +65,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -77,7 +77,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TimePoint fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TopologyResponseBodyV0.java b/src/main/java/org/stellar/sdk/xdr/TopologyResponseBodyV0.java
index d3881667d..8fd924fcf 100644
--- a/src/main/java/org/stellar/sdk/xdr/TopologyResponseBodyV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/TopologyResponseBodyV0.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -112,7 +112,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -124,7 +124,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TopologyResponseBodyV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TopologyResponseBodyV1.java b/src/main/java/org/stellar/sdk/xdr/TopologyResponseBodyV1.java
index 4b962613c..262dfaaef 100644
--- a/src/main/java/org/stellar/sdk/xdr/TopologyResponseBodyV1.java
+++ b/src/main/java/org/stellar/sdk/xdr/TopologyResponseBodyV1.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -143,7 +143,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -155,7 +155,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TopologyResponseBodyV1 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Transaction.java b/src/main/java/org/stellar/sdk/xdr/Transaction.java
index 72082f45d..b06ff66b5 100644
--- a/src/main/java/org/stellar/sdk/xdr/Transaction.java
+++ b/src/main/java/org/stellar/sdk/xdr/Transaction.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -182,7 +182,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -194,7 +194,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Transaction fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -355,7 +355,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -367,7 +367,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionEnvelope.java b/src/main/java/org/stellar/sdk/xdr/TransactionEnvelope.java
index f859124ee..b1dfcefde 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionEnvelope.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionEnvelope.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -164,7 +164,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -176,7 +176,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionEnvelope fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionHistoryEntry.java b/src/main/java/org/stellar/sdk/xdr/TransactionHistoryEntry.java
index db9553377..fe38b4254 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionHistoryEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionHistoryEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -102,7 +102,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -114,7 +114,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionHistoryEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -252,7 +252,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -264,7 +264,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionHistoryEntryExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionHistoryResultEntry.java b/src/main/java/org/stellar/sdk/xdr/TransactionHistoryResultEntry.java
index c7ba1bdf4..0ab1e7451 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionHistoryResultEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionHistoryResultEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -102,7 +102,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -114,7 +114,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionHistoryResultEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -228,7 +228,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -240,7 +240,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionHistoryResultEntryExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionMeta.java b/src/main/java/org/stellar/sdk/xdr/TransactionMeta.java
index 6b5ac164f..1fac83f90 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionMeta.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionMeta.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -198,7 +198,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -210,7 +210,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionMeta fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionMetaV1.java b/src/main/java/org/stellar/sdk/xdr/TransactionMetaV1.java
index bc0b49ec4..4c178b6d2 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionMetaV1.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionMetaV1.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -87,7 +87,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -99,7 +99,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionMetaV1 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionMetaV2.java b/src/main/java/org/stellar/sdk/xdr/TransactionMetaV2.java
index 970bceaee..e8b610efd 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionMetaV2.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionMetaV2.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -104,7 +104,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -116,7 +116,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionMetaV2 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionMetaV3.java b/src/main/java/org/stellar/sdk/xdr/TransactionMetaV3.java
index ee708b7cd..473fead46 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionMetaV3.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionMetaV3.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -146,7 +146,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -158,7 +158,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionMetaV3 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionPhase.java b/src/main/java/org/stellar/sdk/xdr/TransactionPhase.java
index 0a8be763c..b18519ec8 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionPhase.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionPhase.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -119,7 +119,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -131,7 +131,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionPhase fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionResult.java b/src/main/java/org/stellar/sdk/xdr/TransactionResult.java
index 0946977c8..d5182ea23 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionResult.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionResult.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -127,7 +127,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -139,7 +139,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -339,7 +339,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -351,7 +351,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionResultResult fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -434,7 +434,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -446,7 +446,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionResultExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionResultCode.java b/src/main/java/org/stellar/sdk/xdr/TransactionResultCode.java
index a8aa47c68..89b196529 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionResultCode.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionResultCode.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -128,7 +128,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -140,7 +140,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionResultCode fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionResultMeta.java b/src/main/java/org/stellar/sdk/xdr/TransactionResultMeta.java
index 5ad97b643..4713373f6 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionResultMeta.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionResultMeta.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -93,7 +93,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -105,7 +105,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionResultMeta fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionResultPair.java b/src/main/java/org/stellar/sdk/xdr/TransactionResultPair.java
index 9ffe50273..d5d62e0a5 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionResultPair.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionResultPair.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -79,7 +79,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -91,7 +91,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionResultPair fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionResultSet.java b/src/main/java/org/stellar/sdk/xdr/TransactionResultSet.java
index 8d2fc4d64..7743f6d8f 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionResultSet.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionResultSet.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -73,7 +73,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -85,7 +85,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionResultSet fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionSet.java b/src/main/java/org/stellar/sdk/xdr/TransactionSet.java
index ee566423c..2077eb4ab 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionSet.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionSet.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -87,7 +87,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -99,7 +99,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionSet fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionSetV1.java b/src/main/java/org/stellar/sdk/xdr/TransactionSetV1.java
index 1655322a0..e87f14500 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionSetV1.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionSetV1.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -87,7 +87,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -99,7 +99,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionSetV1 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionSignaturePayload.java b/src/main/java/org/stellar/sdk/xdr/TransactionSignaturePayload.java
index 12cd9766e..67c69e13d 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionSignaturePayload.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionSignaturePayload.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -90,7 +90,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -102,7 +102,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionSignaturePayload fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -261,7 +261,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -274,7 +274,7 @@ public byte[] toXdrByteArray() throws IOException {
public static TransactionSignaturePayloadTaggedTransaction fromXdrBase64(String xdr)
throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionV0.java b/src/main/java/org/stellar/sdk/xdr/TransactionV0.java
index b20fe1932..78d65afc1 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionV0.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionV0.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -177,7 +177,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -189,7 +189,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionV0 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -327,7 +327,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -339,7 +339,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionV0Ext fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionV0Envelope.java b/src/main/java/org/stellar/sdk/xdr/TransactionV0Envelope.java
index fc288ec6e..b9267ac19 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionV0Envelope.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionV0Envelope.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -89,7 +89,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -101,7 +101,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionV0Envelope fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TransactionV1Envelope.java b/src/main/java/org/stellar/sdk/xdr/TransactionV1Envelope.java
index e88b750b1..c2356e0d0 100644
--- a/src/main/java/org/stellar/sdk/xdr/TransactionV1Envelope.java
+++ b/src/main/java/org/stellar/sdk/xdr/TransactionV1Envelope.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -89,7 +89,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -101,7 +101,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TransactionV1Envelope fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TrustLineAsset.java b/src/main/java/org/stellar/sdk/xdr/TrustLineAsset.java
index 7985ce731..554038821 100644
--- a/src/main/java/org/stellar/sdk/xdr/TrustLineAsset.java
+++ b/src/main/java/org/stellar/sdk/xdr/TrustLineAsset.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -174,7 +174,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -186,7 +186,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TrustLineAsset fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TrustLineEntry.java b/src/main/java/org/stellar/sdk/xdr/TrustLineEntry.java
index 058c4d1b0..852b0a7a0 100644
--- a/src/main/java/org/stellar/sdk/xdr/TrustLineEntry.java
+++ b/src/main/java/org/stellar/sdk/xdr/TrustLineEntry.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -157,7 +157,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -169,7 +169,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TrustLineEntry fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -323,7 +323,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -335,7 +335,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TrustLineEntryExt fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -403,7 +403,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -415,7 +415,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TrustLineEntryV1 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -542,7 +542,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -554,7 +554,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TrustLineEntryV1Ext fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TrustLineEntryExtensionV2.java b/src/main/java/org/stellar/sdk/xdr/TrustLineEntryExtensionV2.java
index b4f5ab2d4..f6073d022 100644
--- a/src/main/java/org/stellar/sdk/xdr/TrustLineEntryExtensionV2.java
+++ b/src/main/java/org/stellar/sdk/xdr/TrustLineEntryExtensionV2.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -85,7 +85,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -97,7 +97,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TrustLineEntryExtensionV2 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -204,7 +204,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -216,7 +216,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TrustLineEntryExtensionV2Ext fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TrustLineFlags.java b/src/main/java/org/stellar/sdk/xdr/TrustLineFlags.java
index 4c2cb4ca1..76f69b7c0 100644
--- a/src/main/java/org/stellar/sdk/xdr/TrustLineFlags.java
+++ b/src/main/java/org/stellar/sdk/xdr/TrustLineFlags.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TrustLineFlags fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TxAdvertVector.java b/src/main/java/org/stellar/sdk/xdr/TxAdvertVector.java
index 24aeed4cc..b1c9a5c29 100644
--- a/src/main/java/org/stellar/sdk/xdr/TxAdvertVector.java
+++ b/src/main/java/org/stellar/sdk/xdr/TxAdvertVector.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -73,7 +73,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -85,7 +85,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TxAdvertVector fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TxDemandVector.java b/src/main/java/org/stellar/sdk/xdr/TxDemandVector.java
index 22b83c5e2..1464e760b 100644
--- a/src/main/java/org/stellar/sdk/xdr/TxDemandVector.java
+++ b/src/main/java/org/stellar/sdk/xdr/TxDemandVector.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -73,7 +73,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -85,7 +85,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TxDemandVector fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TxSetComponent.java b/src/main/java/org/stellar/sdk/xdr/TxSetComponent.java
index db8b10981..11c56e99c 100644
--- a/src/main/java/org/stellar/sdk/xdr/TxSetComponent.java
+++ b/src/main/java/org/stellar/sdk/xdr/TxSetComponent.java
@@ -10,7 +10,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -119,7 +119,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -131,7 +131,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TxSetComponent fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
@@ -218,7 +218,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -230,7 +230,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TxSetComponentTxsMaybeDiscountedFee fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/TxSetComponentType.java b/src/main/java/org/stellar/sdk/xdr/TxSetComponentType.java
index a2932db76..01b4c39ae 100644
--- a/src/main/java/org/stellar/sdk/xdr/TxSetComponentType.java
+++ b/src/main/java/org/stellar/sdk/xdr/TxSetComponentType.java
@@ -8,7 +8,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -54,7 +54,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -66,7 +66,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static TxSetComponentType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/UInt128Parts.java b/src/main/java/org/stellar/sdk/xdr/UInt128Parts.java
index e29c89b4f..6c560e497 100644
--- a/src/main/java/org/stellar/sdk/xdr/UInt128Parts.java
+++ b/src/main/java/org/stellar/sdk/xdr/UInt128Parts.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -76,7 +76,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -88,7 +88,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static UInt128Parts fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/UInt256Parts.java b/src/main/java/org/stellar/sdk/xdr/UInt256Parts.java
index 8b76a98ca..56f6d84f0 100644
--- a/src/main/java/org/stellar/sdk/xdr/UInt256Parts.java
+++ b/src/main/java/org/stellar/sdk/xdr/UInt256Parts.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -105,7 +105,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -117,7 +117,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static UInt256Parts fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Uint256.java b/src/main/java/org/stellar/sdk/xdr/Uint256.java
index cb0caa5be..504ea538e 100644
--- a/src/main/java/org/stellar/sdk/xdr/Uint256.java
+++ b/src/main/java/org/stellar/sdk/xdr/Uint256.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -67,7 +67,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -79,7 +79,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Uint256 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Uint32.java b/src/main/java/org/stellar/sdk/xdr/Uint32.java
index 7ca8299d2..e46bbf8ec 100644
--- a/src/main/java/org/stellar/sdk/xdr/Uint32.java
+++ b/src/main/java/org/stellar/sdk/xdr/Uint32.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Uint32 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Uint64.java b/src/main/java/org/stellar/sdk/xdr/Uint64.java
index 8916f7dbd..2250fe383 100644
--- a/src/main/java/org/stellar/sdk/xdr/Uint64.java
+++ b/src/main/java/org/stellar/sdk/xdr/Uint64.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -64,7 +64,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -76,7 +76,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Uint64 fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/UpgradeEntryMeta.java b/src/main/java/org/stellar/sdk/xdr/UpgradeEntryMeta.java
index 08a6d9319..00b3c459d 100644
--- a/src/main/java/org/stellar/sdk/xdr/UpgradeEntryMeta.java
+++ b/src/main/java/org/stellar/sdk/xdr/UpgradeEntryMeta.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -78,7 +78,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -90,7 +90,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static UpgradeEntryMeta fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/UpgradeType.java b/src/main/java/org/stellar/sdk/xdr/UpgradeType.java
index c93464b00..bdafc9008 100644
--- a/src/main/java/org/stellar/sdk/xdr/UpgradeType.java
+++ b/src/main/java/org/stellar/sdk/xdr/UpgradeType.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -69,7 +69,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -81,7 +81,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static UpgradeType fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/Value.java b/src/main/java/org/stellar/sdk/xdr/Value.java
index b6c28c550..826619625 100644
--- a/src/main/java/org/stellar/sdk/xdr/Value.java
+++ b/src/main/java/org/stellar/sdk/xdr/Value.java
@@ -9,7 +9,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
// === xdr source ============================================================
@@ -68,7 +68,7 @@ public boolean equals(Object object) {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -80,7 +80,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static Value fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/XdrString.java b/src/main/java/org/stellar/sdk/xdr/XdrString.java
index 05aaef23e..a08339459 100644
--- a/src/main/java/org/stellar/sdk/xdr/XdrString.java
+++ b/src/main/java/org/stellar/sdk/xdr/XdrString.java
@@ -6,7 +6,7 @@
import java.io.InvalidClassException;
import java.nio.charset.Charset;
import java.util.Arrays;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
public class XdrString implements XdrElement {
private byte[] bytes;
@@ -41,7 +41,7 @@ public byte[] getBytes() {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -53,7 +53,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static XdrString fromXdrBase64(String xdr, int maxSize) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes, maxSize);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/XdrUnsignedHyperInteger.java b/src/main/java/org/stellar/sdk/xdr/XdrUnsignedHyperInteger.java
index d267f6a4e..6c05ca57d 100644
--- a/src/main/java/org/stellar/sdk/xdr/XdrUnsignedHyperInteger.java
+++ b/src/main/java/org/stellar/sdk/xdr/XdrUnsignedHyperInteger.java
@@ -5,7 +5,7 @@
import java.io.IOException;
import java.math.BigInteger;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
/**
* Represents XDR Unsigned Hyper Integer.
@@ -61,7 +61,7 @@ public BigInteger getNumber() {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -73,7 +73,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static XdrUnsignedHyperInteger fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/main/java/org/stellar/sdk/xdr/XdrUnsignedInteger.java b/src/main/java/org/stellar/sdk/xdr/XdrUnsignedInteger.java
index 08e92dca0..8f2a52395 100644
--- a/src/main/java/org/stellar/sdk/xdr/XdrUnsignedInteger.java
+++ b/src/main/java/org/stellar/sdk/xdr/XdrUnsignedInteger.java
@@ -4,7 +4,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Objects;
-import org.stellar.sdk.Base64;
+import org.stellar.sdk.Base64Factory;
/**
* Represents XDR Unsigned Integer.
@@ -49,7 +49,7 @@ public void encode(XdrDataOutputStream stream) throws IOException {
@Override
public String toXdrBase64() throws IOException {
- return Base64.encodeToString(toXdrByteArray());
+ return Base64Factory.getInstance().encodeToString(toXdrByteArray());
}
@Override
@@ -61,7 +61,7 @@ public byte[] toXdrByteArray() throws IOException {
}
public static XdrUnsignedInteger fromXdrBase64(String xdr) throws IOException {
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64Factory.getInstance().decode(xdr);
return fromXdrByteArray(bytes);
}
diff --git a/src/test/java/org/stellar/sdk/AddressTest.java b/src/test/java/org/stellar/sdk/AddressTest.java
index 69266b5df..e878fafbe 100644
--- a/src/test/java/org/stellar/sdk/AddressTest.java
+++ b/src/test/java/org/stellar/sdk/AddressTest.java
@@ -5,6 +5,7 @@
import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.util.Base64;
import org.junit.Assert;
import org.junit.Test;
import org.stellar.sdk.xdr.SCAddress;
@@ -75,7 +76,7 @@ public void testToSCAddressAccount() throws IOException {
SCAddress scAddress = address.toSCAddress();
String xdr = "AAAAAAAAAAA/DDS/k60NmXHQTMyQ9wVRHIOKrZc0pKL7DXoD/H/omg==";
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64.getDecoder().decode(xdr);
SCAddress expectScAddress =
SCAddress.decode(new XdrDataInputStream(new ByteArrayInputStream(bytes)));
assertEquals(scAddress, expectScAddress);
@@ -88,7 +89,7 @@ public void testToSCAddressContract() throws IOException {
SCAddress scAddress = address.toSCAddress();
String xdr = "AAAAAT8MNL+TrQ2ZcdBMzJD3BVEcg4qtlzSkovsNegP8f+ia";
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64.getDecoder().decode(xdr);
SCAddress expectScAddress =
SCAddress.decode(new XdrDataInputStream(new ByteArrayInputStream(bytes)));
assertEquals(scAddress, expectScAddress);
@@ -97,7 +98,7 @@ public void testToSCAddressContract() throws IOException {
@Test
public void testFromSCAddressAccount() throws IOException {
String xdr = "AAAAAAAAAAA/DDS/k60NmXHQTMyQ9wVRHIOKrZc0pKL7DXoD/H/omg==";
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64.getDecoder().decode(xdr);
SCAddress scAddress = SCAddress.decode(new XdrDataInputStream(new ByteArrayInputStream(bytes)));
Address address = Address.fromSCAddress(scAddress);
@@ -109,7 +110,7 @@ public void testFromSCAddressAccount() throws IOException {
@Test
public void testFromSCAddressContract() throws IOException {
String xdr = "AAAAAT8MNL+TrQ2ZcdBMzJD3BVEcg4qtlzSkovsNegP8f+ia";
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64.getDecoder().decode(xdr);
SCAddress scAddress = SCAddress.decode(new XdrDataInputStream(new ByteArrayInputStream(bytes)));
Address address = Address.fromSCAddress(scAddress);
@@ -125,7 +126,7 @@ public void testToSCVal() throws IOException {
SCVal scVal = address.toSCVal();
String xdr = "AAAAEgAAAAE/DDS/k60NmXHQTMyQ9wVRHIOKrZc0pKL7DXoD/H/omg==";
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64.getDecoder().decode(xdr);
SCVal expectSCVal = SCVal.decode(new XdrDataInputStream(new ByteArrayInputStream(bytes)));
assertEquals(scVal, expectSCVal);
}
@@ -133,7 +134,7 @@ public void testToSCVal() throws IOException {
@Test
public void testFromSCVal() throws IOException {
String xdr = "AAAAEgAAAAE/DDS/k60NmXHQTMyQ9wVRHIOKrZc0pKL7DXoD/H/omg==";
- byte[] bytes = Base64.decode(xdr);
+ byte[] bytes = Base64.getDecoder().decode(xdr);
SCVal scVal = SCVal.decode(new XdrDataInputStream(new ByteArrayInputStream(bytes)));
Address address = Address.fromSCVal(scVal);
diff --git a/src/test/java/org/stellar/sdk/Sep10ChallengeTest.java b/src/test/java/org/stellar/sdk/Sep10ChallengeTest.java
index ef886b256..da7a1ab28 100644
--- a/src/test/java/org/stellar/sdk/Sep10ChallengeTest.java
+++ b/src/test/java/org/stellar/sdk/Sep10ChallengeTest.java
@@ -9,6 +9,7 @@
import java.nio.charset.StandardCharsets;
import java.security.SecureRandom;
import java.util.Arrays;
+import java.util.Base64;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@@ -46,7 +47,7 @@ public void testChallenge() throws InvalidSep10ChallengeException {
assertEquals(domainName + " auth", homeDomainOp.getName());
assertEquals(64, homeDomainOp.getValue().length);
- Base64.decode(new String(homeDomainOp.getValue()));
+ Base64.getDecoder().decode(new String(homeDomainOp.getValue()));
ManageDataOperation webAuthDomainOp = (ManageDataOperation) transaction.getOperations()[1];
assertEquals(server.getAccountId(), webAuthDomainOp.getSourceAccount());
@@ -286,7 +287,7 @@ public void testReadChallengeTransactionInvalidNotSignedByServer() throws IOExce
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation manageDataOperation1 =
@@ -394,7 +395,7 @@ public void testReadChallengeTransactionInvalidSeqNoNotZero() throws IOException
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), 100L);
ManageDataOperation manageDataOperation1 =
@@ -439,7 +440,7 @@ public void testReadChallengeTransactionInvalidTimeboundsInfinite() throws IOExc
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation operation =
@@ -609,7 +610,7 @@ public void testReadChallengeTransactionInvalidOperationNoSourceAccount() throws
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation manageDataOperation1 =
@@ -652,7 +653,7 @@ public void testReadChallengeTransactionInvalidDataValueWrongEncodedLength() thr
byte[] nonce = new byte[32];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation manageDataOperation1 =
@@ -720,7 +721,7 @@ public void testReadChallengeTransactionInvalidDataValueCorruptBase64() throws I
} catch (InvalidSep10ChallengeException e) {
assertEquals(
"Failed to decode random nonce provided in ManageData operation.", e.getMessage());
- assertEquals("Invalid base64 string", e.getCause().getMessage());
+ assertEquals("Illegal base64 character 3f", e.getCause().getMessage());
}
}
@@ -740,7 +741,7 @@ public void testReadChallengeTransactionInvalidDataValueWrongByteLength() throws
byte[] nonce = new byte[47];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation manageDataOperation1 =
@@ -826,7 +827,7 @@ public void testReadChallengeTransactionInvalidDataValueIsNull() throws IOExcept
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation operation1 =
@@ -874,7 +875,7 @@ public void testReadChallengeTransactionInvalidDataValueIsNull() throws IOExcept
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation operation1 =
@@ -922,7 +923,7 @@ public void testReadChallengeTransactionInvalidAdditionalManageDataOpsWithSource
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation operation1 =
@@ -967,7 +968,7 @@ public void testReadChallengeTransactionInvalidAdditionalOpsOfOtherTypes() throw
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation operation1 =
@@ -1218,7 +1219,7 @@ public void testReadChallengeTransactionInvalidWebAuthDomainOperationValueIsNull
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation domainNameOperation =
@@ -1267,7 +1268,7 @@ public void testReadChallengeTransactionInvalidWebAuthDomainOperationValueIsNull
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation domainNameOperation =
@@ -1338,7 +1339,7 @@ public void testChallengeWithClientDomain() throws InvalidSep10ChallengeExceptio
assertEquals(domainName + " auth", homeDomainOp.getName());
assertEquals(64, homeDomainOp.getValue().length);
- Base64.decode(new String(homeDomainOp.getValue()));
+ Base64.getDecoder().decode(new String(homeDomainOp.getValue()));
ManageDataOperation webAuthDomainOp = (ManageDataOperation) transaction.getOperations()[1];
assertEquals(server.getAccountId(), webAuthDomainOp.getSourceAccount());
@@ -1514,7 +1515,7 @@ public void testVerifyChallengeTransactionThresholdInvalidNotSignedByServer() th
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation manageDataOperation1 =
@@ -2063,7 +2064,7 @@ public void testVerifyChallengeTransactionSignersInvalidServer() throws IOExcept
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation manageDataOperation1 =
@@ -2659,7 +2660,7 @@ public void testVerifyChallengeTransactionSignersInvalidNoSignersEmptySet()
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation operation1 =
@@ -2712,7 +2713,7 @@ public void testVerifyChallengeTransactionSignersInvalidNoSignersEmptySet()
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation operation1 =
@@ -2768,7 +2769,7 @@ public void testVerifyChallengeTransactionSignersInvalidNoSignersEmptySet()
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation operation1 =
@@ -2820,7 +2821,7 @@ public void testVerifyChallengeTransactionInvalidAdditionalOpsOfOtherTypes() thr
byte[] nonce = new byte[48];
SecureRandom random = new SecureRandom();
random.nextBytes(nonce);
- byte[] encodedNonce = Base64.encode(nonce);
+ byte[] encodedNonce = java.util.Base64.getEncoder().encode(nonce);
Account sourceAccount = new Account(server.getAccountId(), -1L);
ManageDataOperation operation1 =
From d1e86e6dcc76514ae464233157ca4b59d39bb839 Mon Sep 17 00:00:00 2001
From: overcat <4catcode@gmail.com>
Date: Tue, 26 Sep 2023 14:41:42 +0800
Subject: [PATCH 13/17] add docs
---
readme.md | 5 +++++
src/main/java/org/stellar/sdk/spi/SdkProvider.java | 3 +++
2 files changed, 8 insertions(+)
diff --git a/readme.md b/readme.md
index 691447b16..21b42c16b 100644
--- a/readme.md
+++ b/readme.md
@@ -18,6 +18,7 @@ repositories {
dependencies {
implementation 'com.github.stellar:java-stellar-sdk:{version}'
+ implementation 'com.github.stellar:java-stellar-sdk-android-spi:{version}'
}
```
@@ -33,6 +34,10 @@ For some examples on how to use this library, take a look at the [Get Started do
## Documentation
Javadoc is available at https://stellar.github.io/java-stellar-sdk
+## Integrate into Android project
+If you want to integrate this SDK on Android platforms with API level 26 and above, you don't need any additional configuration.
+However, if you need to include it on lower platforms, you may also need to add the [Java Stellar SDK Android SPI](https://github.com/stellar/java-stellar-sdk-android-spi).
+
## Contributing
For information on how to contribute, please refer to our [contribution guide](https://github.com/stellar/java-stellar-sdk/blob/master/CONTRIBUTING.md).
diff --git a/src/main/java/org/stellar/sdk/spi/SdkProvider.java b/src/main/java/org/stellar/sdk/spi/SdkProvider.java
index dd3c28428..16159c9a1 100644
--- a/src/main/java/org/stellar/sdk/spi/SdkProvider.java
+++ b/src/main/java/org/stellar/sdk/spi/SdkProvider.java
@@ -5,6 +5,9 @@
/**
* An abstract class for service providers that provide implementations of the SDK.
*
+ * Note: we offer an Android specific implementation of this class, see Java Stellar SDK Android SPI.
+ *
* @see Service Provider
* Interfaces
*/
From ad4ed93c26eaa609c7cdb867020433842913afbf Mon Sep 17 00:00:00 2001
From: overcat <4catcode@gmail.com>
Date: Tue, 26 Sep 2023 14:54:52 +0800
Subject: [PATCH 14/17] add docs
---
CHANGELOG.md | 1 +
readme.md | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 65bc6b4a0..7f8d31b76 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
As this project is pre 1.0, breaking changes may happen for minor version bumps. A breaking change will get clearly notified in this log.
## Pending
+* Add `org.stellar.sdk.spi.SdkProvider`, users can implement this interface to provide their own implementation of the SDK. We provide an [Android specific implementation](https://github.com/stellar/java-stellar-sdk-android-spi), if you are integrating this SDK into an Android project, be sure to check it out. ([#543](https://github.com/stellar/java-stellar-sdk/pull/543))
* Remove `commons-codec:commons-codec:1.16.0`. ([#543](https://github.com/stellar/java-stellar-sdk/pull/543))
## 0.41.0
diff --git a/readme.md b/readme.md
index 21b42c16b..25f7e8a2e 100644
--- a/readme.md
+++ b/readme.md
@@ -18,7 +18,6 @@ repositories {
dependencies {
implementation 'com.github.stellar:java-stellar-sdk:{version}'
- implementation 'com.github.stellar:java-stellar-sdk-android-spi:{version}'
}
```
From 503a82cd894de9c166316e15d6a0d7bcb62fcb8f Mon Sep 17 00:00:00 2001
From: Jun Luo <4catcode@gmail.com>
Date: Wed, 27 Sep 2023 15:42:41 +0800
Subject: [PATCH 15/17] base32 spi
---
CHANGELOG.md | 1 -
android_test/app/build.gradle.kts | 1 +
.../AndroidSdkProvider.kt | 22 ++++++++++++++
.../javastellarsdkdemoapp}/ApacheCodec.java | 8 ++---
build.gradle.kts | 1 +
.../java/org/stellar/sdk/ApacheBase32.java | 23 +++++++++++++++
src/main/java/org/stellar/sdk/Base32.java | 29 +++++++++++++++++++
.../java/org/stellar/sdk/Base32Factory.java | 29 +++++++++++++++++++
src/main/java/org/stellar/sdk/StrKey.java | 29 +++++--------------
.../java/org/stellar/sdk/spi/SdkProvider.java | 18 +++++++++++-
10 files changed, 132 insertions(+), 29 deletions(-)
rename {src/main/java/org/stellar/sdk => android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp}/ApacheCodec.java (99%)
create mode 100644 src/main/java/org/stellar/sdk/ApacheBase32.java
create mode 100644 src/main/java/org/stellar/sdk/Base32.java
create mode 100644 src/main/java/org/stellar/sdk/Base32Factory.java
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7f8d31b76..fb2b0bb81 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,6 @@ As this project is pre 1.0, breaking changes may happen for minor version bumps.
## Pending
* Add `org.stellar.sdk.spi.SdkProvider`, users can implement this interface to provide their own implementation of the SDK. We provide an [Android specific implementation](https://github.com/stellar/java-stellar-sdk-android-spi), if you are integrating this SDK into an Android project, be sure to check it out. ([#543](https://github.com/stellar/java-stellar-sdk/pull/543))
-* Remove `commons-codec:commons-codec:1.16.0`. ([#543](https://github.com/stellar/java-stellar-sdk/pull/543))
## 0.41.0
* Add support for Soroban Preview 11. ([#530](https://github.com/stellar/java-stellar-sdk/pull/530))
diff --git a/android_test/app/build.gradle.kts b/android_test/app/build.gradle.kts
index c0c71059b..5c57389e4 100644
--- a/android_test/app/build.gradle.kts
+++ b/android_test/app/build.gradle.kts
@@ -74,6 +74,7 @@ dependencies {
implementation("com.moandjiezana.toml:toml4j:0.7.2")
implementation("com.google.code.gson:gson:2.10.1")
implementation("net.i2p.crypto:eddsa:0.3.0")
+ implementation("commons-codec:commons-codec:1.16.0")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0-alpha03")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
diff --git a/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/AndroidSdkProvider.kt b/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/AndroidSdkProvider.kt
index 5bbba19a4..5acc5c2ea 100644
--- a/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/AndroidSdkProvider.kt
+++ b/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/AndroidSdkProvider.kt
@@ -1,5 +1,6 @@
package org.stellar.javastellarsdkdemoapp
+import org.stellar.sdk.Base32
import org.stellar.sdk.Base64
import org.stellar.sdk.spi.SdkProvider
@@ -8,6 +9,10 @@ class AndroidSdkProvider : SdkProvider {
return AndroidBase64()
}
+ override fun createBase32(): Base32 {
+ return AndroidBase32()
+ }
+
class AndroidBase64 : Base64 {
override fun encodeToString(data: ByteArray?): String {
return android.util.Base64.encodeToString(data, android.util.Base64.NO_WRAP)
@@ -21,4 +26,21 @@ class AndroidSdkProvider : SdkProvider {
return android.util.Base64.decode(data, android.util.Base64.NO_WRAP)
}
}
+
+ class AndroidBase32 : Base32 {
+ private val base32: ApacheCodec.Base32 = ApacheCodec.Base32()
+
+ override fun encode(data: ByteArray?): ByteArray? {
+ return base32.encode(data)
+ }
+
+ override fun decode(data: String?): ByteArray? {
+ return base32.decode(data)
+ }
+
+ override fun decode(data: ByteArray?): ByteArray? {
+ return base32.decode(data)
+ }
+
+ }
}
\ No newline at end of file
diff --git a/src/main/java/org/stellar/sdk/ApacheCodec.java b/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/ApacheCodec.java
similarity index 99%
rename from src/main/java/org/stellar/sdk/ApacheCodec.java
rename to android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/ApacheCodec.java
index 1c0e6f931..e60ffe2a9 100644
--- a/src/main/java/org/stellar/sdk/ApacheCodec.java
+++ b/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/ApacheCodec.java
@@ -14,9 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.stellar.sdk;
-
-import static org.stellar.sdk.ApacheCodec.BaseNCodec.EOF;
+package org.stellar.javastellarsdkdemoapp;
import java.io.FilterOutputStream;
import java.io.IOException;
@@ -1792,9 +1790,9 @@ public void close() throws IOException {
public void eof() {
// Notify encoder of EOF (-1).
if (doEncode) {
- baseNCodec.encode(singleByte, 0, EOF, context);
+ baseNCodec.encode(singleByte, 0, BaseNCodec.EOF, context);
} else {
- baseNCodec.decode(singleByte, 0, EOF, context);
+ baseNCodec.decode(singleByte, 0, BaseNCodec.EOF, context);
}
}
diff --git a/build.gradle.kts b/build.gradle.kts
index 9e250cbae..5c82b97c0 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -36,6 +36,7 @@ dependencies {
implementation("com.moandjiezana.toml:toml4j:0.7.2")
implementation("com.google.code.gson:gson:2.10.1")
implementation("net.i2p.crypto:eddsa:0.3.0")
+ implementation("commons-codec:commons-codec:1.16.0")
testImplementation("org.mockito:mockito-core:5.5.0")
testImplementation("com.squareup.okhttp3:mockwebserver:${okhttpVersion}")
diff --git a/src/main/java/org/stellar/sdk/ApacheBase32.java b/src/main/java/org/stellar/sdk/ApacheBase32.java
new file mode 100644
index 000000000..0f878925d
--- /dev/null
+++ b/src/main/java/org/stellar/sdk/ApacheBase32.java
@@ -0,0 +1,23 @@
+package org.stellar.sdk;
+
+/** Default implementation of {@link Base32} using the Apache Commons Codec. */
+class ApacheBase32 implements Base32 {
+ // org.apache.commons.codec.binary.Base32 is thread-safe.
+ private final org.apache.commons.codec.binary.Base32 base32 =
+ new org.apache.commons.codec.binary.Base32();
+
+ @Override
+ public byte[] encode(byte[] data) {
+ return base32.encode(data);
+ }
+
+ @Override
+ public byte[] decode(String data) {
+ return base32.decode(data);
+ }
+
+ @Override
+ public byte[] decode(byte[] data) {
+ return base32.decode(data);
+ }
+}
diff --git a/src/main/java/org/stellar/sdk/Base32.java b/src/main/java/org/stellar/sdk/Base32.java
new file mode 100644
index 000000000..fc8c41d6e
--- /dev/null
+++ b/src/main/java/org/stellar/sdk/Base32.java
@@ -0,0 +1,29 @@
+package org.stellar.sdk;
+
+/** Base32 interface used by the SDK to encode and decode strings and bytes. */
+public interface Base32 {
+
+ /**
+ * Encodes bytes to base32 bytes
+ *
+ * @param data bytes to encode
+ * @return encoded bytes
+ */
+ byte[] encode(byte[] data);
+
+ /**
+ * Decodes base32 string to bytes
+ *
+ * @param data string to decode
+ * @return decoded bytes
+ */
+ byte[] decode(String data);
+
+ /**
+ * Decodes base32 bytes to bytes
+ *
+ * @param data bytes to decode
+ * @return decoded bytes
+ */
+ byte[] decode(byte[] data);
+}
diff --git a/src/main/java/org/stellar/sdk/Base32Factory.java b/src/main/java/org/stellar/sdk/Base32Factory.java
new file mode 100644
index 000000000..dfb2f86b2
--- /dev/null
+++ b/src/main/java/org/stellar/sdk/Base32Factory.java
@@ -0,0 +1,29 @@
+package org.stellar.sdk;
+
+import java.util.Iterator;
+import java.util.ServiceLoader;
+import lombok.Getter;
+import org.stellar.sdk.spi.SdkProvider;
+
+/**
+ * Factory class used to create {@link Base32} instances.
+ *
+ * The class will try to load an implementation of {@link Base32} using the {@link
+ * ServiceLoader}, if no implementation is found it will use the default implementation {@link
+ * ApacheBase32}.
+ */
+class Base32Factory {
+ @Getter private static Base32 instance = new ApacheBase32();
+
+ static {
+ ServiceLoader Note: Default implementation will use the Apache Commons Codec's {@link
+ * org.apache.commons.codec.binary.Base32}, and it only works with Android API 28 and above, if
+ * you need to support older versions of Android you need to provide your own implementation, this
+ * is an example for reference.
+ *
+ * @return a {@link Base32} implementation, if returns null the SDK will use the default
+ * implementation.
+ */
+ default Base32 createBase32() {
+ return null;
+ }
}
From 6eded5615c5390b1399a7ed03560e9ee14dcd0ef Mon Sep 17 00:00:00 2001
From: overcat <4catcode@gmail.com>
Date: Thu, 28 Sep 2023 10:12:25 +0800
Subject: [PATCH 16/17] update XDRGEN_COMMIT
---
Makefile | 4 ++--
src/main/java/org/stellar/sdk/xdr/Constants.java | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index bc6692a15..be7096a09 100644
--- a/Makefile
+++ b/Makefile
@@ -10,8 +10,8 @@ xdr/Stellar-contract-spec.x \
xdr/Stellar-contract.x \
xdr/Stellar-internal.x \
xdr/Stellar-contract-config-setting.x
-# TODO: update XDRGEN_COMMIT
-XDRGEN_COMMIT=f0c41458ca0b66b4649b18deddc9f7a11199f1f9
+
+XDRGEN_COMMIT=7c9349c62844e376bc637be678695387e88d125f
XDRNEXT_COMMIT=9ac02641139e6717924fdad716f6e958d0168491
.PHONY: xdr xdr-clean xdr-update
diff --git a/src/main/java/org/stellar/sdk/xdr/Constants.java b/src/main/java/org/stellar/sdk/xdr/Constants.java
index dbeb116bf..36c0ab556 100644
--- a/src/main/java/org/stellar/sdk/xdr/Constants.java
+++ b/src/main/java/org/stellar/sdk/xdr/Constants.java
@@ -6,9 +6,6 @@
public final class Constants {
private Constants() {}
- public static final int CONTRACT_COST_COUNT_LIMIT = 1024;
- public static final int SC_SPEC_DOC_LIMIT = 1024;
- public static final int SCSYMBOL_LIMIT = 32;
public static final int MASK_ACCOUNT_FLAGS = 0x7;
public static final int MASK_ACCOUNT_FLAGS_V17 = 0xF;
public static final int MAX_SIGNERS = 20;
@@ -23,4 +20,7 @@ private Constants() {}
public static final int TX_DEMAND_VECTOR_MAX_SIZE = 1000;
public static final int MAX_OPS_PER_TX = 100;
public static final int LIQUIDITY_POOL_FEE_V18 = 30;
+ public static final int SC_SPEC_DOC_LIMIT = 1024;
+ public static final int SCSYMBOL_LIMIT = 32;
+ public static final int CONTRACT_COST_COUNT_LIMIT = 1024;
}
From d423f57048f33b6fb717efd707f05d4a69664d43 Mon Sep 17 00:00:00 2001
From: overcat <4catcode@gmail.com>
Date: Thu, 28 Sep 2023 10:26:42 +0800
Subject: [PATCH 17/17] Update test-deploy.yml to use the wretry action for
retrying unstable Android tests.
---
.github/workflows/test-deploy.yml | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml
index eed9f64ed..c9a2f2834 100644
--- a/.github/workflows/test-deploy.yml
+++ b/.github/workflows/test-deploy.yml
@@ -91,17 +91,20 @@ jobs:
java-version: ${{ env.JAVA_VERSION }}
distribution: ${{ env.JAVA_DISTRIBUTION }}
- name: run tests
- uses: reactivecircus/android-emulator-runner@v2
+ uses: Wandalen/wretry.action@master
with:
- working-directory: ./android_test
- api-level: ${{ matrix.emulator.api-level }}
- target: ${{ matrix.emulator.target }}
- script: ./gradlew connectedCheck
- arch: x86_64
- profile: 'pixel_2'
+ attempt_limit: 3 # android test is not stable, let's retry it
+ action: reactivecircus/android-emulator-runner@v2
+ with: |
+ working-directory: ./android_test
+ api-level: ${{ matrix.emulator.api-level }}
+ target: ${{ matrix.emulator.target }}
+ script: ./gradlew connectedCheck
+ arch: x86_64
+ profile: 'pixel_2'
deploy:
- needs: [ build, javadoc ] # TODO: add android-test when it is stable.
+ needs: [ build, javadoc, android-test ]
permissions:
contents: write
if: github.event_name == 'release' && github.event.action == 'created'
+ * (cause==null ?
+ * null : cause.toString())
(which typically contains the class and detail message of
+ * {@code cause}). This constructor is useful for exceptions that are little more than wrappers
+ * for other throwables.
+ *
+ * @param cause The cause which is saved for later retrieval by the {@link #getCause()} method.
+ * A {@code null} value is permitted, and indicates that the cause is nonexistent or
+ * unknown.
+ * @since 1.4
+ */
+ public EncoderException(final Throwable cause) {
+ super(cause);
+ }
+ }
+
+ static class StringUtils {
+ /**
+ * Calls {@link String#getBytes(Charset)}
+ *
+ * @param string The string to encode (if null, return null).
+ * @param charset The {@link Charset} to encode the {@code String}
+ * @return the encoded bytes
+ */
+ private static byte[] getBytes(final String string, final Charset charset) {
+ return string == null ? null : string.getBytes(charset);
+ }
+
+ /**
+ * Encodes the given string into a sequence of bytes using the UTF-8 charset, storing the result
+ * into a new byte array.
+ *
+ * @param string the String to encode, may be {@code null}
+ * @return encoded bytes, or {@code null} if the input string was {@code null}
+ * @throws NullPointerException Thrown if {@link StandardCharsets#UTF_8} is not initialized,
+ * which should never happen since it is required by the Java platform specification.
+ * @see Charset
+ * @since As of 1.7, throws {@link NullPointerException} instead of UnsupportedEncodingException
+ */
+ public static byte[] getBytesUtf8(final String string) {
+ return getBytes(string, StandardCharsets.UTF_8);
+ }
+
+ /**
+ * Constructs a new {@code String} by decoding the specified array of bytes using the given
+ * charset.
+ *
+ * @param bytes The bytes to be decoded into characters
+ * @param charset The {@link Charset} to encode the {@code String}; not {@code null}
+ * @return A new {@code String} decoded from the specified array of bytes using the given
+ * charset, or {@code null} if the input byte array was {@code null}.
+ * @throws NullPointerException Thrown if charset is {@code null}
+ */
+ private static String newString(final byte[] bytes, final Charset charset) {
+ return bytes == null ? null : new String(bytes, charset);
+ }
+
+ /**
+ * Constructs a new {@code String} by decoding the specified array of bytes using the UTF-8
+ * charset.
+ *
+ * @param bytes The bytes to be decoded into characters
+ * @return A new {@code String} decoded from the specified array of bytes using the UTF-8
+ * charset, or {@code null} if the input byte array was {@code null}.
+ * @throws NullPointerException Thrown if {@link StandardCharsets#UTF_8} is not initialized,
+ * which should never happen since it is required by the Java platform specification.
+ * @since As of 1.7, throws {@link NullPointerException} instead of UnsupportedEncodingException
+ */
+ public static String newStringUtf8(final byte[] bytes) {
+ return newString(bytes, StandardCharsets.UTF_8);
+ }
+ }
+}
diff --git a/src/main/java/org/stellar/sdk/StrKey.java b/src/main/java/org/stellar/sdk/StrKey.java
index 7856fef90..09abd908e 100644
--- a/src/main/java/org/stellar/sdk/StrKey.java
+++ b/src/main/java/org/stellar/sdk/StrKey.java
@@ -5,8 +5,6 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Optional;
-import org.apache.commons.codec.binary.Base32;
-import org.apache.commons.codec.binary.Base32OutputStream;
import org.stellar.sdk.xdr.AccountID;
import org.stellar.sdk.xdr.CryptoKeyType;
import org.stellar.sdk.xdr.MuxedAccount;
@@ -23,7 +21,7 @@ class StrKey {
public static final int ACCOUNT_ID_ADDRESS_LENGTH = 56;
private static final byte[] b32Table = decodingTable();
- private static final Base32 base32Codec = new Base32();
+ private static final ApacheCodec.Base32 base32Codec = new ApacheCodec.Base32();
public static String encodeContractId(byte[] data) {
char[] encoded = encodeCheck(VersionByte.CONTRACT, data);
@@ -245,7 +243,8 @@ protected static char[] encodeCheck(VersionByte versionByte, byte[] data) {
// It's impossible
// to erase it from memory when we want it to be erased (ASAP).
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(unencoded.length);
- Base32OutputStream base32OutputStream = new Base32OutputStream(byteArrayOutputStream);
+ ApacheCodec.Base32OutputStream base32OutputStream =
+ new ApacheCodec.Base32OutputStream(byteArrayOutputStream);
base32OutputStream.write(unencoded);
base32OutputStream.close();
From d7721d687ff061c52214d6989eac385f2e431b99 Mon Sep 17 00:00:00 2001
From: overcat <4catcode@gmail.com>
Date: Thu, 21 Sep 2023 20:09:26 +0800
Subject: [PATCH 02/17] update changelog
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7bef5d5f3..65bc6b4a0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
As this project is pre 1.0, breaking changes may happen for minor version bumps. A breaking change will get clearly notified in this log.
## Pending
+* Remove `commons-codec:commons-codec:1.16.0`. ([#543](https://github.com/stellar/java-stellar-sdk/pull/543))
## 0.41.0
* Add support for Soroban Preview 11. ([#530](https://github.com/stellar/java-stellar-sdk/pull/530))
From ca8111911a36602e947e686faa3c1e19ba4ba9ab Mon Sep 17 00:00:00 2001
From: Jun Luo <4catcode@gmail.com>
Date: Thu, 21 Sep 2023 21:16:22 +0800
Subject: [PATCH 03/17] Improve Android testing.
---
android_test/app/build.gradle.kts | 1 -
.../MainInstrumentedTest.kt | 12 +-
.../javastellarsdkdemoapp/MainActivity.kt | 166 ++++++++++++++----
3 files changed, 140 insertions(+), 39 deletions(-)
diff --git a/android_test/app/build.gradle.kts b/android_test/app/build.gradle.kts
index e4ef7f80a..2f7727b8d 100644
--- a/android_test/app/build.gradle.kts
+++ b/android_test/app/build.gradle.kts
@@ -67,7 +67,6 @@ dependencies {
implementation("com.moandjiezana.toml:toml4j:0.7.2")
implementation("com.google.code.gson:gson:2.10.1")
implementation("net.i2p.crypto:eddsa:0.3.0")
- implementation("commons-codec:commons-codec:1.16.0")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0-alpha03")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
diff --git a/android_test/app/src/androidTest/java/org/stellar/javastellarsdkdemoapp/MainInstrumentedTest.kt b/android_test/app/src/androidTest/java/org/stellar/javastellarsdkdemoapp/MainInstrumentedTest.kt
index 9c538f291..2db9e31fa 100644
--- a/android_test/app/src/androidTest/java/org/stellar/javastellarsdkdemoapp/MainInstrumentedTest.kt
+++ b/android_test/app/src/androidTest/java/org/stellar/javastellarsdkdemoapp/MainInstrumentedTest.kt
@@ -19,7 +19,7 @@ private const val PACKAGE = "org.stellar.javastellarsdkdemoapp"
@RunWith(AndroidJUnit4::class)
class MainInstrumentedTest {
@Test
- fun testGetNetwork() {
+ fun testSDK() {
val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
// open app
device.pressHome()
@@ -41,15 +41,15 @@ class MainInstrumentedTest {
)
// get text
- val textNoNetworkInfo = device.wait(
- Until.findObject(By.text("No network info")),
+ val textNoTestResult = device.wait(
+ Until.findObject(By.text("Not Run")),
ONE_MINUTE
)
- assertNotNull(textNoNetworkInfo)
+ assertNotNull(textNoTestResult)
// get button
val button = device.wait(
- Until.findObject(By.text("Get Network")),
+ Until.findObject(By.text("Run Test")),
ONE_MINUTE
)
assertNotNull(button)
@@ -57,6 +57,6 @@ class MainInstrumentedTest {
// click button and wait text to appear
button.click()
- assertTrue(device.wait(Until.hasObject(By.text("public")), ONE_MINUTE * 5))
+ assertTrue(device.wait(Until.hasObject(By.text("SUCCESS")), ONE_MINUTE * 5))
}
}
\ No newline at end of file
diff --git a/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/MainActivity.kt b/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/MainActivity.kt
index a7b0f7fab..f82f4a30a 100644
--- a/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/MainActivity.kt
+++ b/android_test/app/src/main/java/org/stellar/javastellarsdkdemoapp/MainActivity.kt
@@ -1,6 +1,7 @@
package org.stellar.javastellarsdkdemoapp
import android.os.Bundle
+import android.util.Log
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Arrangement
@@ -26,19 +27,46 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.stellar.javastellarsdkdemoapp.ui.theme.JavaStellarSDKDemoAppTheme
+import org.stellar.sdk.Account
+import org.stellar.sdk.AccountConverter
+import org.stellar.sdk.Address
+import org.stellar.sdk.InvokeHostFunctionOperation
+import org.stellar.sdk.KeyPair
+import org.stellar.sdk.Network
import org.stellar.sdk.Server
+import org.stellar.sdk.SorobanServer
+import org.stellar.sdk.TimeBounds
+import org.stellar.sdk.Transaction
+import org.stellar.sdk.TransactionBuilder
+import org.stellar.sdk.TransactionPreconditions
+import org.stellar.sdk.xdr.ContractExecutable
+import org.stellar.sdk.xdr.ContractExecutableType
+import org.stellar.sdk.xdr.ContractIDPreimage
+import org.stellar.sdk.xdr.ContractIDPreimage.ContractIDPreimageFromAddress
+import org.stellar.sdk.xdr.ContractIDPreimageType
+import org.stellar.sdk.xdr.CreateContractArgs
+import org.stellar.sdk.xdr.ExtensionPoint
+import org.stellar.sdk.xdr.HostFunction
+import org.stellar.sdk.xdr.HostFunctionType
+import org.stellar.sdk.xdr.Int64
+import org.stellar.sdk.xdr.LedgerEntryType
+import org.stellar.sdk.xdr.LedgerFootprint
+import org.stellar.sdk.xdr.LedgerKey
+import org.stellar.sdk.xdr.LedgerKey.LedgerKeyAccount
+import org.stellar.sdk.xdr.SorobanResources
+import org.stellar.sdk.xdr.SorobanTransactionData
+import org.stellar.sdk.xdr.Uint256
+import org.stellar.sdk.xdr.Uint32
+import org.stellar.sdk.xdr.XdrUnsignedInteger
-private const val HORIZON_SERVER = "https://horizon.stellar.org/"
-private const val PUBLIC = "Public Global Stellar Network ; September 2015"
-private const val TESTNET = "Test SDF Network ; September 2015"
class MainActivity : ComponentActivity() {
- private lateinit var networkViewModel: NetworkViewModel
+ private lateinit var sdkTestViewModel: SdkTestViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- networkViewModel = ViewModelProvider(this).get(NetworkViewModel::class.java)
+ sdkTestViewModel = ViewModelProvider(this).get(SdkTestViewModel::class.java)
setContent {
JavaStellarSDKDemoAppTheme {
@@ -46,43 +74,43 @@ class MainActivity : ComponentActivity() {
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
- Main(networkViewModel)
+ Main(sdkTestViewModel)
}
}
}
}
}
-class NetworkViewModel : ViewModel() {
- private val _network = mutableStateOf
*
- * Some VMs reserve some header words in an array. Attempts to allocate larger arrays may result
- * in OutOfMemoryError: Requested array size exceeds VM limit.
+ *
*/
@@ -2245,6 +2262,163 @@ static class Base64 extends BaseNCodec {
*/
private final int encodeSize;
+ /**
+ * Creates a Base64 codec used for decoding (all modes) and encoding in URL-unsafe mode.
+ *
+ *