# Версия 6 Стандартной библиотеки
Версия 6 Стандартной библиотеки доступна с момента активации фичи № 17 “Ride V6, MetaMask support”.
# Поддержка MetaMask
- Функция addressFromPublicKey принимает на вход как открытый ключ аккаунта Waves (32 байта), так и открытый ключ аккаунта MetaMask (64 байта) и возвращает адрес в формате Waves (26 байт).
- Функция transferTransactionById возвращает Ethereum-транзакцию по ее идентификатору, если эта транзакция была интерпретирована как транзакция перевода. Массив
proofs
при этом содержит 8 пустых значений.
Подробнее о поддержке MetaMask на блокчейне Waves
# Изменения в функциях
Максимальная сложность вызываемой функции скрипта dApp в Стандартной библиотеке версии 6 изменена на 52 000.
Суммарная сложность всех вызываемых функций, скрипта вызова и скриптов ассетов в одной транзакции вызова скрипта зависит от версии Стандартной библиотеки первого скрипта в цепочке вызовов:
- Если первый скрипт использует версию 6, то суммарная сложность — не более 52 000.
- Если первый скрипт использует версию 5, то суммарная сложность — не более 26 000. Если далее в цепочке вызываются функции скриптов версии 6, сложность каждой из них может быть более 10 000.
Сложность скрипта отправителя не учитывается в этом лимите.
Общее количество действий скрипта
ScriptTransfer
,Lease
,LeaseCancel
, выполняемых всеми вызываемыми функциями в одной транзакции, — не более 100.Общее количество действий скрипта
Issue
,Reissue
,Burn
,SponsorFee
, выполняемых всеми вызываемыми функциями в одной транзакции, — не более 30.Вызываемые функции больше не принимают аргументы типа Union.
Добавлены встроенные функции:
Изменено ограничение на второй параметр функций
drop
,dropRight
,take
,takeRight
:- Для функций строки можно указать число от 0 до 32 767 (максимальная длина строки).
- Для функций массива байтов можно указать число от 0 до 165 947 (максимальная длина массива байтов).
Изменены ограничения на размер входных и выходных данных для встроенных функций строки makeString и split; сложность этих функций уменьшена до 1. Добавлены семейства аналогичных функций с различной сложностью в зависимости от размера данных.
Изменена сложность некоторых встроенных функций. Сложность всех функций представлена в разделе Встроенные функции.
# Прочее
- Новые правила оценки сложности снижают общую сложность скрипта.