waves_logo Docs
  • Ride Programming Language
    Ride Programming Language
  • Getting Started
    Getting Started
  • Syntax Basics
    • Directives
      Directives
    • Definition
      Definition
    • Expression
      Expression
    • Constant
      Constant
    • Variable
      Variable
    • Function
      Function
    • Exception
      Exception
    • Comment
      Comment
    Syntax Basics
  • Script Types
    • dApp Script
      • Annotations
        Annotations
      • Callable Function
        Callable Function
      • Verifier Function
        Verifier Function
      dApp Script
    • Account Script
      Account Script
    • Asset Script
      Asset Script
    Script Types
  • Standard Library
    Standard Library
  • Data types
    • Boolean
      Boolean
    • ByteVector
      ByteVector
    • Int
      Int
    • String
      String
    • Unit
      Unit
    • List
      List
    • Tuple
      Tuple
    • Union
      Union
    Data types
  • Structures
    • Script Actions
      • BinaryEntry (v4)
        BinaryEntry (v4)
      • BooleanEntry (v4)
        BooleanEntry (v4)
      • Burn (v4)
        Burn (v4)
      • DataEntry (v3)
        DataEntry (v3)
      • DeleteEntry (v4)
        DeleteEntry (v4)
      • IntegerEntry (v4)
        IntegerEntry (v4)
      • Issue (v4)
        Issue (v4)
      • Reissue (v4)
        Reissue (v4)
      • ScriptTransfer (v3 and v4)
        ScriptTransfer (v3 and v4)
      • SponsorFee (v4)
        SponsorFee (v4)
      • StringEntry (v4)
        StringEntry (v4)
      Script Actions
    • Script Results (v3)
      • ScriptResult
        ScriptResult
      • TransferSet
        TransferSet
      • WriteSet
        WriteSet
      Script Results (v3)
    • Common Structures
      • Address
        Address
      • Alias
        Alias
      • Asset
        Asset
      • AssetPair
        AssetPair
      • AttachedPayment
        AttachedPayment
      • BalanceDetails
        BalanceDetails
      • BlockInfo
        BlockInfo
      • Invocation
        Invocation
      • Order
        Order
      • Transfer
        Transfer
      Common Structures
    • Transaction Structures
      • BurnTransaction
        BurnTransaction
      • CreateAliasTransaction
        CreateAliasTransaction
      • DataTransaction
        DataTransaction
      • ExchangeTransaction
        ExchangeTransaction
      • GenesisTransaction
        GenesisTransaction
      • InvokeScriptTransaction
        InvokeScriptTransaction
      • IssueTransaction
        IssueTransaction
      • LeaseCancelTransaction
        LeaseCancelTransaction
      • LeaseTransaction
        LeaseTransaction
      • MassTransferTransaction
        MassTransferTransaction
      • ReissueTransaction
        ReissueTransaction
      • SetAssetScriptTransaction
        SetAssetScriptTransaction
      • SetScriptTransaction
        SetScriptTransaction
      • SponsorFeeTransaction
        SponsorFeeTransaction
      • TransferTransaction
        TransferTransaction
      • UpdateAssetInfoTransaction
        UpdateAssetInfoTransaction
      Transaction Structures
    Structures
  • Built-in Variables
    Built-in Variables
  • Built-in Functions
    • Account Data Storage Functions
      Account Data Storage Functions
    • Blockchain Functions
      Blockchain Functions
    • Byte Array Functions
      Byte Array Functions
    • Converting Functions
      Converting Functions
    • Data Transaction Functions
      Data Transaction Functions
    • Decoding Functions
      Decoding Functions
    • Encoding Functions
      Encoding Functions
    • Exception Functions
      Exception Functions
    • Hashing Functions
      Hashing Functions
    • List Functions
      List Functions
    • Math Functions
      Math Functions
    • String Functions
      String Functions
    • Union Functions
      Union Functions
    • Verification Functions
      Verification Functions
    Built-in Functions
  • Operators
    Operators
  • Pattern Matching: match-case
    Pattern Matching: match-case
  • Interations with FOLD<N>
    Interations with FOLD<N>
  • Limitations
    • Complexity
      Complexity
    • Data Weight
      Data Weight
    Limitations
  • Version 5 (Stagenet)
    • dApp-to-dApp Invocation
      dApp-to-dApp Invocation
    • Continued Computations
      Continued Computations
    • Strict Variable
      Strict Variable
    • Callable Function
      Callable Function
    • Data types
      • Any
        Any
      • Boolean
        Boolean
      • ByteVector
        ByteVector
      • Int
        Int
      • String
        String
      • Unit
        Unit
      • List
        List
      • Tuple
        Tuple
      • Union
        Union
      Data types
    • Structures
      • Script Actions
        • BinaryEntry
          BinaryEntry
        • BooleanEntry
          BooleanEntry
        • Burn
          Burn
        • DeleteEntry
          DeleteEntry
        • IntegerEntry
          IntegerEntry
        • Issue
          Issue
        • Lease
          Lease
        • LeaseCancel
          LeaseCancel
        • Reissue
          Reissue
        • ScriptTransfer
          ScriptTransfer
        • SponsorFee
          SponsorFee
        • StringEntry
          StringEntry
        Script Actions
      • Common Structures
        • Address
          Address
        • Alias
          Alias
        • Asset
          Asset
        • AssetPair
          AssetPair
        • AttachedPayment
          AttachedPayment
        • BalanceDetails
          BalanceDetails
        • BlockInfo
          BlockInfo
        • Invocation
          Invocation
        • Order
          Order
        • Transfer
          Transfer
        Common Structures
      • Transaction Structures
        • BurnTransaction
          BurnTransaction
        • CreateAliasTransaction
          CreateAliasTransaction
        • DataTransaction
          DataTransaction
        • ExchangeTransaction
          ExchangeTransaction
        • GenesisTransaction
          GenesisTransaction
        • InvokeScriptTransaction
          InvokeScriptTransaction
        • IssueTransaction
          IssueTransaction
        • LeaseCancelTransaction
          LeaseCancelTransaction
        • LeaseTransaction
          LeaseTransaction
        • MassTransferTransaction
          MassTransferTransaction
        • ReissueTransaction
          ReissueTransaction
        • SetAssetScriptTransaction
          SetAssetScriptTransaction
        • SetScriptTransaction
          SetScriptTransaction
        • SponsorFeeTransaction
          SponsorFeeTransaction
        • TransferTransaction
          TransferTransaction
        • UpdateAssetInfoTransaction
          UpdateAssetInfoTransaction
        Transaction Structures
      Structures
    • Built-in Variables
      Built-in Variables
    • Built-in Functions
      • Account Data Storage Functions
        Account Data Storage Functions
      • Blockchain Functions
        Blockchain Functions
      • Byte Array Functions
        Byte Array Functions
      • Converting Functions
        Converting Functions
      • Data Transaction Functions
        Data Transaction Functions
      • Decoding Functions
        Decoding Functions
      • Encoding Functions
        Encoding Functions
      • Exception Functions
        Exception Functions
      • Hashing Functions
        Hashing Functions
      • dApp-to-dApp Invocation Function
        dApp-to-dApp Invocation Function
      • List Functions
        List Functions
      • Math Functions
        Math Functions
      • String Functions
        String Functions
      • Union Functions
        Union Functions
      • Verification Functions
        Verification Functions
      Built-in Functions
    • Operators
      Operators
    • Limitations
      Limitations
    Version 5 (Stagenet)
  • Ride Components
    Ride Components
  • Script performance tests
    Script performance tests
      • English
      • Русский
      On this page
      waves_logo Docs

          # Standard Library

          Standard library is a set of built-in functions, structures and variables.

          The version of the Standard library in the script is set by the STDLIB_VERSION directive.

          We recommend to use version 4 of the Standard Library when developing applications. Standard library version 4 is available since activation of feature #15 “Ride V4, VRF, Protobuf, Failed transactions”.

          ⚠️ Standard library version 5 is added in node version 1.3.0 and enabled by feature #16 “Ride V5, dApp-to-dApp invocations, Continuations”. Versions 1.3.x are now available for Stagenet only.

          Changes in versions are shown in the table.

          # Version 3 Version 4 Version 5
          Script Added:
          • dApp script
          • Directives
          • Annotations
          • Custom functions
          • FOLD<N> macro
          Added:
          • dApp-to-dApp invocation
          • Continued computations
          Data types Added:
          • List
          Added:
          • Any
          Variables Added built-in variables:
          • this
          • lastBlock
          • nil
          • Rounding methods: CEILING, DOWN, FLOOR etc.
          • Designations of hashing algorithms: NOALG, MD5, SHA1 etc.
          Added strict variables
          Structures Added:
          Script actions:
          • DataEntry
          • ScriptTransfer
          Script results:
          • ScriptResult
          • TransferSet
          • WriteSet
          Common structures:
          • Asset
          • AttachedPayment
          • BlockInfo
          • Invocation
          Transaction structures:
          • InvokeScriptTransaction
          Added:
          Script actions:
          • BinaryEntry
          • BooleanEntry
          • IntegerEntry
          • StringEntry
          • DeleteEntry
          • Issue
          • Reissue
          • Burn
          • SponsorFee
          Common structures:
          • BalanceDetails
          Transaction structures:
          • UpdateAssetInfoTransaction
          Modified:
          Common structures:
          • Asset
          • BlockInfo
          • Invocation
          Transaction structures:
          • DataTransaction
          • InvokeScriptTransaction
          • IssueTransaction
          Deleted:
          • DataEntry
          • ScriptResult
          • TransferSet
          • WriteSet
          Added:
          Script actions:
          • Lease
          • LeaseCancel
          Built-in functions Added:
          Blockchain functions:
          • assetInfo
          • blockInfoByHeight
          • transferTransactionById
          Converting functions:
          • parseInt
          • parseIntValue
          • toInt
          • toUtf8String
          • toString(Address)
          Decoding functions:
          • fromBase16String
          Encoding fuctions:
          • toBase16String
          Math functions:
          • log
          • pow
          String functions:
          • indexOf
          • lastIndexOf
          • split
          Union functions:
          • value
          • valueOrErrorMessage
          Verification functions:
          • checkMerkleProof
          • rsaVerify
          Deleted:
          • transactionById
          Added:
          Blockchain functions:
          • calculateAssetId
          Converting fuctions:
          • transferTransactionFromProto
          List functions:
          • containsElement
          • indexOf
          • lastIndexOf
          • min/max
          • removeByIndex
          Math functions:
          • median
          String functions:
          • contains
          • makeString
          Union functions:
          • valueOrElse
          Verification functions:
          • bn256groth16verify
          • createMerkleRoot
          • ecrecover
          • groth16verify
          Deleted:
          • checkMerkleProof
          • extract
          Added:
          dApp-to-dApp invocation function:
          • Invoke
          Blockchain functions:
          • calculateLeaseId
          Account data storage functions:
          • getBinary(key: String): ByteVector|Unit
          • getBinaryValue(key: String): ByteVector
          • getBoolean(key: String): Boolean|Unit
          • getBooleanValue(key: String): Boolean
          • getInteger(key: String): Int|Unit
          • getIntegerValue(key: String): Int
          • getString(key: String): String|Unit
          • getStringValue(key: String): String
          Operators Added:
          • :+
          • ++
          Complexity changes • - operator: 9 → 1
          • ! operator: 11 → 1
          • != operator: 26 → 1
          • throw: 2 → 1
          • isDefined: 35 → 1
          • + operator: 10 → 2 for ByteVector values, 10 → 20 for strings
          • Functions: see complexity changes in the Built-in Functions article
          • Added blake2b256_<N>Kb, keccak256_<N>Kb, sha256_<N>Kb,
          rsaVerify_<N>Kb, sigVerify_<N>Kb range of similar
            functions with different complexity depending
            on the argument size limit
          Data size • String: up to 32,767 bytes
          • ByteVector: up to 32,767 (except the bodyBytes field
            of the transaction structure)
          Asset Script
          Data types
          Asset Script
          Data types