# Функции конвертации
Название | Описание | Сложность |
---|---|---|
addressFromPublicKey(ByteVector): Address | Получает адрес, соответствующий открытому ключу аккаунта | 1 |
parseBigInt(String): BigInt|Unit | Конвертирует строковое представление числа в эквивалентное большое целое число | 1 для Стандартной библиотеки версии 8 65 для Стандартной библиотеки версии 7 и 6 |
parseBigIntValue(String): BigInt | Конвертирует строковое представление числа в эквивалентное большое целое число. Завершается ошибкой, если строка не может быть преобразована | 1 для Стандартной библиотеки версии 8 65 для Стандартной библиотеки версии 7 и 6 |
parseInt(String): Int|Unit | Конвертирует строковое представление числа в эквивалентное целое число | 2 |
parseIntValue(String): Int | Конвертирует строковое представление числа в эквивалентное целое число. Завершается ошибкой, если строка не может быть преобразована | 2 |
toBigInt(ByteVector): BigInt | Конвертирует массив байтов в большое целое число | 1 для Стандартной библиотеки версии 8 65 для Стандартной библиотеки версии 7 и 6 |
toBigInt(ByteVector, Int, Int): BigInt | Конвертирует массив байтов начиная с указанного индекса в большое целое число | 1 для Стандартной библиотеки версии 8 65 для Стандартной библиотеки версии 7 и 6 |
toBigInt(Int): BigInt | Конвертирует целое число в большое целое | 1 |
toBytes(Boolean): ByteVector | Конвертирует логическое значение в массив байтов | 1 |
toBytes(Int): ByteVector | Конвертирует целое число в массив байтов | 1 |
toBytes(String): ByteVector | Конвертирует строку в массив байтов | 8 |
toBytes(BigInt): ByteVector | Конвертирует большое целое число в массив байтов | 1 для Стандартной библиотеки версии 8 65 для Стандартной библиотеки версии 7 и 6 |
toInt(BigInt): Int | Конвертирует большое целое число в обычное целое. Завершается ошибкой, если число не может быть преобразовано | 1 |
toInt(ByteVector): Int | Конвертирует массив байтов в целое число | 1 |
toInt(ByteVector, Int): Int | Конвертирует массив байтов начиная с указанного индекса в целое число | 1 |
toString(Address): String | Конвертирует массив байтов адреса в строку | 1 |
toString(Boolean): String | Конвертирует логическое значение в строку | 1 |
toString(Int): String | Конвертирует целое число в строку | 1 |
toString(BigInt): String | Конвертирует большое целое число в строку | 1 |
toUtf8String(ByteVector): String | Конвертирует массив байтов в строку в UTF-8 | 7 |
transferTransactionFromProto(ByteVector): TransferTransaction|Unit | Десериализует транзакцию перевода | 5 |
# addressFromPublicKey(ByteVector): Address
Получает адрес, соответствующий открытому ключу аккаунта.
Начиная с версии 6, функция завершается ошибкой, если размер ключа отличен от 32 байт (аккаунт Waves) или 64 байт (аккаунт MetaMask).
addressFromPublicKey(publicKey: ByteVector): Address
Описание возвращаемой структуры см. в разделе Address.
# Параметры
Параметр | Описание |
---|---|
publicKey : ByteVector | Открытый ключ для конвертации |
# Примеры
let address = addressFromPublicKey(base58'J1t6NBs5Hd588Dn7mAPytqkhgeBshzv3zecScfFJWE2D')
# parseBigInt(String): BigInt|Unit
Конвертирует строковое представление числа в эквивалентное большое целое число.
parseBigInt(str: String): BigInt|Unit
# Параметры
Параметр | Описание |
---|---|
str : String | Строка для конвертации |
# parseBigIntValue(String): BigInt
Конвертирует строковое представление числа в эквивалентное большое целое число.
Завершается ошибкой, если строка не может быть преобразована.
parseBigIntValue(str: String): BigInt
# Параметры
Параметр | Описание |
---|---|
str : String | Строка для конвертации |
# parseInt(String): Int|Unit
Конвертирует строковое представление числа в эквивалентное целое число.
parseInt(str: String): Int|Unit
# Параметры
Параметр | Описание |
---|---|
str : String | Строка для конвертации |
# Примеры
parseInt("10") # Возвращает 10
parseInt("010") # Возвращает 10
parseInt("Ride") # Возвращает Unit
parseInt("10.30") # Возвращает Unit
# parseIntValue(String): Int
Конвертирует строковое представление числа в эквивалентное целое число.
Завершается ошибкой, если строка не может быть преобразована.
parseIntValue(str: String): Int
# Параметры
Параметр | Описание |
---|---|
str : String | Строка для конвертации |
# Примеры
parseIntValue("10") # Возвращает 10
parseIntValue("010") # Возвращает 10
parseIntValue("Ride") # Ошибка при разборе строки на целое число
parseIntValue("10.30") # Ошибка при разборе строки на целое число
parseIntValue("20 WAVES") # Ошибка при разборе строки на целое число
# toBigInt(ByteVector): BigInt
Конвертирует массив байтов в эквивалентное большое целое число. Используется представление big-endian.
toBigInt(bin: ByteVector): BigInt
# Параметры
Параметр | Описание |
---|---|
bin : ByteVector | Массив байтов для конвертации. Не более 64 байт |
# toBigInt(ByteVector, Int, Int): BigInt
Конвертирует массив байтов начиная с указанного индекса в эквивалентное большое целое число. Используется представление big-endian.
toBigInt(bin: ByteVector, offset: Int, size: Int): BigInt
# Параметры
Параметр | Описание |
---|---|
bin : ByteVector | Массив байтов для конвертации |
offset : Int | Начальный индекс (нумерация с 0) |
size : Int | Количество байтов (длина подмассива) для конвертации. Не более 64 |
# toBigInt(Int): BigInt
Конвертирует целое число в эквивалентное большое целое число.
toBigInt(n: Int): BigInt
# Параметры
Параметр | Описание |
---|---|
n : Int | Целое число для конвертации |
# toBytes(Boolean): ByteVector
Конвертирует логическое значение в массив байтов.
toBytes(b: Boolean): ByteVector
# Параметры
Параметр | Описание |
---|---|
b : Boolean | Логическое значение для конвертации |
# Примеры
toBytes(true) # Возвращает base58'2'
toBytes(false) # Возвращает base58'1'
# toBytes(Int): ByteVector
Конвертирует целое число в массив байтов. Используется представление big-endian.
toBytes(n: Int): ByteVector
# Параметры
Параметр | Описание |
---|---|
n : Int | Целое число для конвертации |
# Примеры
toBytes(10) # Возвращает base58'1111111B'
# toBytes(String): ByteVector
Конвертирует строку в массив байтов.
toBytes(s: String): ByteVector
# Параметры
Параметр | Описание |
---|---|
s : String | Строка для конвертации |
# Примеры
toBytes("Ride") # Возвращает base58'37BPKA'
# toBytes(BigInt): ByteVector
Конвертирует большое целое число в массив байтов. Используется представление big-endian.
toBytes(n: BigInt): ByteVector
# Параметры
Параметр | Описание |
---|---|
n : BigInt | Большое целое число для конвертации |
# toInt(BigInt): Int
Конвертирует большое целое число в обычное целое.
Завершается ошибкой, если число не может быть преобразовано.
toInt(n: BigInt): Int
# Параметры
Параметр | Описание |
---|---|
n : BigInt | Большое целое число для конвертации |
# toInt(ByteVector): Int
Конвертирует первые 8 байт массива в целое число. Используется представление big-endian.
toInt(bin: ByteVector): Int
# Параметры
Параметр | Описание |
---|---|
bin : ByteVector | Массив байтов для конвертации. Длина массива должна быть не менее 8 байт |
# Примеры
toInt(base64'AAAAAAAAAAw=') # Возвращает 12
toInt(base64'AAAAAw=') # Завершается ошибкой: длина массива меньше 8
# toInt(ByteVector, Int): Int
Конвертирует 8 байт из массива, начиная с указанного индекса, в целое число. Используется представление big-endian.
toInt(bin: ByteVector, offset: Int): Int
# Параметры
Параметр | Описание |
---|---|
bin : ByteVector | Массив байтов для конвертации |
offset : Int | Индекс. Длина массива начиная с указанного индекса должна быть не менее 8 байт |
# Примеры
let bytes = toBytes("Ride on Waves")
toInt(bytes, 2) # Возвращает 7234224039401641825
toInt(bytes, 6) # Завершается ошибкой: индекс за пределами границ
# toString(Address): String
Конвертирует массив байтов адреса в строку.
toString(addr: Address): String
# Параметры
Параметр | Описание |
---|---|
addr : Address | Адрес для конвертации |
# Примеры
let address = Address(base58'3NADPfTVhGvVvvRZuqQjhSU4trVqYHwnqjF')
toString(address) # Возвращает "3NADPfTVhGvVvvRZuqQjhSU4trVqYHwnqjF"
# toString(Boolean): String
Конвертирует логическое значение в строку.
toString(b: Boolean): String
# Параметры
Параметр | Описание |
---|---|
b : Boolean | Логическое значение для конвертации |
# Примеры
toString(true) # Возвращает "true"
toString(false) # Возвращает "false"
# toString(Int): String
Конвертирует целое число в строку.
toString(n: Int): String
# Параметры
Параметр | Описание |
---|---|
n : Int | Целое число для конвертации |
# Примеры
toString(10) # Возвращает "10"
# toString(BigInt): String
Конвертирует большое целое число в строку.
toString(n: BigInt): String
# Параметры
Параметр | Описание |
---|---|
n : BigInt | Большое целое число для конвертации |
# toUtf8String(ByteVector): String
Конвертирует массив байтов в строку в UTF-8.
Завершается ошибкой, если массив байтов содержит некорректную последовательность UTF-8.
toUtf8String(u: ByteVector): String
# Параметры
Параметр | Описание |
---|---|
u : ByteVector | Массив байтов для конвертации |
# Примеры
let bytes = toBytes("Ride on Waves")
toUtf8String(bytes) # Возвращает "Ride on Waves"
# transferTransactionFromProto
Десериализует транзакцию перевода: конвертирует бинарный формат в структуру TransferTransaction. Бинарный формат должен соответствовать protobuf-схеме. В случае если конвертация не удалась, возвращает значение unit
.
transferTransactionFromProto(b: ByteVector): TransferTransaction|Unit
Описание возвращаемой структуры см. в разделе TransferTransaction.
# Параметры
Параметр | Описание |
---|---|
b : ByteVector | Транзакция перевода в бинарном формате на основе protobuf |
# Примеры
let transfer = base64'Cr4BCFQSIA7SdnwUqEBY+k4jUf9sCV5+xj0Ry/GYuwmDMCdKTdl3GgQQoI0GIPLIyqL6LSgDwgaHAQoWChT+/s+ZWeOWzh1eRnhdRL3Qh9bxGRIkCiBO/wEBhwH/f/+bAWBRMv+A2yiAOUeBc9rY+UR/a4DxKBBkGkcaRYCcAQAB//9/AX9//0695P8EiICAfxgBgIkefwHYuDmA//83/4ABJgEBAf8d9N+8AAERyo1/j3kAGn/SAb7YIH8y/4CAXg=='
let x = match transferTransactionFromProto(transfer) {
case ttx:TransferTransaction =>
ttx.amount # 3500000000
case _ => throw("Can't find transaction")
}