% Generated by docs/scripts/generate_ride_reference.py. Do not edit by hand:
% CI regenerates this page from node-scala and fails if it differs.

# Ride V7 Functions

```{note}
Generated from node-scala commit [`104ddc70e8`](https://github.com/Decentral-America/node-scala/tree/104ddc70e8007175e0d1306b6db527ad37bb1b1f) by `docs/scripts/generate_ride_reference.py`. The generator reads the compiled standard library the node evaluates scripts with, not the Scala source text, so every cost on this page is the one the node charges at `STDLIB_VERSION 7`. To change this page, change the generator or move it to a newer node-scala commit and regenerate. CI fails on any hand edit.
```

`STDLIB_VERSION 7` has **212** built-in functions and operators, counting each overload separately: 0 are new in V7 and 0 cost a different amount than in V6. Each table row is one overload, so a function with several signatures has one row per signature.

**Complexity** is what one call adds to the script's complexity, as charged by the node's current estimator. The limits that complexity counts against are on {doc}`Limitations <../10_limitations>`. Unless the description says otherwise, a function is available in account scripts, asset scripts and dApp scripts alike.

## Account data storage functions

| Function | Complexity | Description |
|---|---|---|
| `assetBalance(addressOrAlias: Address\|Alias, assetId: ByteVector): Int` | 10 | Gets account balance by token ID. |
| `dccBalance(addressOrAlias: Address\|Alias): BalanceDetails` | 10 | Gets account dcc balance details. |
| `getBinary(addressOrAlias: Address\|Alias, key: String): ByteVector\|Unit` | 10 | Gets an array of bytes by key. |
| `getBinaryValue(addressOrAlias: Address\|Alias, key: String): ByteVector` | 10 | Gets an array of bytes by key. Throws an exception if there is no data. |
| `getBoolean(addressOrAlias: Address\|Alias, key: String): Boolean\|Unit` | 10 | Gets a boolean value by key. |
| `getBooleanValue(addressOrAlias: Address\|Alias, key: String): Boolean` | 10 | Gets a boolean value by key. Throws an exception if there is no data. |
| `getInteger(addressOrAlias: Address\|Alias, key: String): Int\|Unit` | 10 | Gets an integer by key. |
| `getIntegerValue(addressOrAlias: Address\|Alias, key: String): Int` | 10 | Gets an integer by key. Throws an exception if there is no data. |
| `getString(addressOrAlias: Address\|Alias, key: String): String\|Unit` | 10 | Gets a string by key. |
| `getStringValue(addressOrAlias: Address\|Alias, key: String): String` | 10 | Gets a string by key. Throws an exception if there is no data. |
| `isDataStorageUntouched(addressOrAlias: Address\|Alias): Boolean` | 10 | Check that no data was stored on account. |

## Account self-data storage functions

| Function | Complexity | Description |
|---|---|---|
| `getBinary(key: String): ByteVector\|Unit` | 10 | Gets an array of bytes by key from state of current account. *Not available in asset scripts.* |
| `getBinaryValue(key: String): ByteVector` | 10 | Gets an array of bytes by key from state of current account. Throws an exception if there is no data. *Not available in asset scripts.* |
| `getBoolean(key: String): Boolean\|Unit` | 10 | Gets a boolean value by key from state of current account. *Not available in asset scripts.* |
| `getBooleanValue(key: String): Boolean` | 10 | Gets a boolean value by key from state of current account. Throws an exception if there is no data. *Not available in asset scripts.* |
| `getInteger(key: String): Int\|Unit` | 10 | Gets an integer by key from state of current account. *Not available in asset scripts.* |
| `getIntegerValue(key: String): Int` | 10 | Gets an integer by key from state of current account. Throws an exception if there is no data. *Not available in asset scripts.* |
| `getString(key: String): String\|Unit` | 10 | Gets a string by key from state of current account. *Not available in asset scripts.* |
| `getStringValue(key: String): String` | 10 | Gets a string by key from state of current account. Throws an exception if there is no data. *Not available in asset scripts.* |

## Blockchain functions

| Function | Complexity | Description |
|---|---|---|
| `assetInfo(id: ByteVector): Asset\|Unit` | 15 | Gets the information about a token. |
| `blockInfoByHeight(height: Int): BlockInfo\|Unit` | 5 | Gets the information about a block by the block height. |
| `calculateAssetId(issue: Issue): ByteVector` | 10 | Calculates ID of asset obtained by invoke script transaction's call of the Issue structure. |
| `calculateLeaseId(lease: Lease): ByteVector` | 1 | Calculates ID of lease obtained by invoke script transaction's call of the Lease structure. |
| `invoke(dApp: Address\|Alias, name: String\|Unit, args: List[Any], payments: List[AttachedPayment]): Any` | 75 | Invoke function from other dApp. *dApp scripts only.* |
| `reentrantInvoke(dApp: Address\|Alias, name: String\|Unit, args: List[Any], payments: List[AttachedPayment]): Any` | 75 | Invoke function from other dApp allowing reentrancy to the current one. *dApp scripts only.* |
| `scriptHash(account: Address\|Alias): ByteVector\|Unit` | 200 | blake2b hash of account's script. |
| `transactionHeightById(id: ByteVector): Int\|Unit` | 20 | Gets the block height of a transaction. |
| `transferTransactionById(id: ByteVector): TransferTransaction\|Unit` | 60 | Gets the data of a transfer transaction. |
| `transferTransactionFromProto(bytes: ByteVector): TransferTransaction\|Unit` | 5 | Deserializes transfer transaction: converts protobuf-encoded binary format to a TransferTransaction structure. |

## Byte array functions

| Function | Complexity | Description |
|---|---|---|
| `drop(xs: ByteVector, number: Int): ByteVector` | 6 | Drops the first n bytes of an array of bytes. |
| `dropRight(xs: ByteVector, number: Int): ByteVector` | 6 | Drops the first n bytes of an array of bytes. |
| `size(byteVector: ByteVector): Int` | 1 | Returns the size of an array of bytes. |
| `take(xs: ByteVector, number: Int): ByteVector` | 6 | Takes the first n bytes from an array of bytes. |
| `takeRight(xs: ByteVector, number: Int): ByteVector` | 6 | Takes the last n bytes from an array of bytes. |

## Converting functions

| Function | Complexity | Description |
|---|---|---|
| `addressFromPublicKey(publicKey: ByteVector): Address` | 1 | Converts account public key to address. |
| `addressFromRecipient(AddressOrAlias: Address\|Alias): Address` | 5 | Extract address or lookup alias. |
| `parseBigInt(n: String): BigInt\|Unit` | 65 | Converts an string to an integer. |
| `parseBigIntValue(n: String): BigInt` | 65 | Converts an string to an integer. |
| `parseInt(str: String): Int\|Unit` | 2 | Converts the string representation of a number to its integer equivalent. |
| `parseIntValue(str: String): Int` | 2 | Converts the string representation of a number to its integer equivalent. Raises an exception if the string cannot be parsed. |
| `toBigInt(n: ByteVector): BigInt` | 65 | Converts an array of bytes to an big integer. |
| `toBigInt(n: ByteVector, off: Int, size: Int): BigInt` | 65 | Converts an array of bytes to an big integer. |
| `toBigInt(n: Int): BigInt` | 1 | Converts an integer to an integer. |
| `toBytes(n: BigInt): ByteVector` | 65 | Converts an BigInt to an array of bytes. |
| `toBytes(b: Boolean): ByteVector` | 1 | Converts a boolean to an array of bytes. |
| `toBytes(n: Int): ByteVector` | 1 | Converts an integer to an array of bytes. |
| `toBytes(s: String): ByteVector` | 8 | Converts a string to an array of bytes. |
| `toInt(n: BigInt): Int` | 1 | Converts a BigInt to an integer. |
| `toInt(bin: ByteVector): Int` | 1 | Converts an array of bytes to an integer. |
| `toInt(bin: ByteVector, offset: Int): Int` | 1 | Converts an array of bytes to an integer starting from a certain index. |
| `toString(Address: Address): String` | 1 | Convert address bytes to string. |
| `toString(n: BigInt): String` | 1 | Convert BigInt to string. |
| `toString(b: Boolean): String` | 1 | Converts a boolean to a string. |
| `toString(n: Int): String` | 1 | Converts an integer to a string. |
| `toUtf8String(u: ByteVector): String` | 7 | Converts an array of bytes to a UTF-8 string. |

## Encoding and decoding functions

| Function | Complexity | Description |
|---|---|---|
| `addressFromString(string: String): Address\|Unit` | 1 | Decodes address from Base58 string. |
| `addressFromStringValue(string: String): Address` | 1 | Decodes address from Base58 string. Raises an exception if the address cannot be decoded. |
| `blake2b256(bytes: ByteVector): ByteVector` | 136 | BLAKE-256 hash function. |
| `blake2b256_128Kb(bytes: ByteVector): ByteVector` | 115 | BLAKE-256 hash function. For array with size <= 128Kb. |
| `blake2b256_16Kb(bytes: ByteVector): ByteVector` | 13 | BLAKE-256 hash function. For array with size <= 16Kb. |
| `blake2b256_32Kb(bytes: ByteVector): ByteVector` | 29 | BLAKE-256 hash function. For array with size <= 32Kb. |
| `blake2b256_64Kb(bytes: ByteVector): ByteVector` | 58 | BLAKE-256 hash function. For array with size <= 64Kb. |
| `ecrecover(message hash: ByteVector, signature: ByteVector): ByteVector` | 70 | Recovers the public key from hash of ECDSA-encoded message and signature. |
| `fromBase16String(str: String): ByteVector` | 10 | Decodes Base16 string to an array of bytes. |
| `fromBase58String(str: String): ByteVector` | 1 | Decodes Base58 string to an array of bytes. |
| `fromBase64String(str: String): ByteVector` | 40 | Decodes Base64 string to an array of bytes. |
| `keccak256(bytes: ByteVector): ByteVector` | 195 | Keccak-256 hash function. |
| `keccak256_128Kb(bytes: ByteVector): ByteVector` | 147 | Keccak-256 hash function. For array with size <= 128Kb. |
| `keccak256_16Kb(bytes: ByteVector): ByteVector` | 20 | Keccak-256 hash function. For array with size <= 16Kb. |
| `keccak256_32Kb(bytes: ByteVector): ByteVector` | 39 | Keccak-256 hash function. For array with size <= 32Kb. |
| `keccak256_64Kb(bytes: ByteVector): ByteVector` | 74 | Keccak-256 hash function. For array with size <= 64Kb. |
| `sha256(bytes: ByteVector): ByteVector` | 118 | SHA-256 hash function. |
| `sha256_128Kb(bytes: ByteVector): ByteVector` | 93 | SHA-256 hash function. For array with size <= 128Kb. |
| `sha256_16Kb(bytes: ByteVector): ByteVector` | 12 | SHA-256 hash function. For array with size <= 16Kb. |
| `sha256_32Kb(bytes: ByteVector): ByteVector` | 23 | SHA-256 hash function. For array with size <= 32Kb. |
| `sha256_64Kb(bytes: ByteVector): ByteVector` | 47 | SHA-256 hash function. For array with size <= 64Kb. |
| `toBase16String(bytes: ByteVector): String` | 10 | Encodes array of bytes to Base16 string. |
| `toBase58String(bytes: ByteVector): String` | 3 | Encodes array of bytes to Base58 string. |
| `toBase64String(bytes: ByteVector): String` | 35 | Encodes array of bytes to Base64 string. |

## Exception functions

| Function | Complexity | Description |
|---|---|---|
| `throw(): Nothing` | 1 | Raises an exception. |
| `throw(err: String): Nothing` | 1 | Raises an exception with a message. |

## Extracting data functions

| Function | Complexity | Description |
|---|---|---|
| `getBinary(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], index: Int): ByteVector\|Unit` | 4 | Gets a binary value from a list of data entries by index. |
| `getBinary(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], key: String): ByteVector\|Unit` | 10 | Gets a binary value from a list of data entries by key. |
| `getBinaryValue(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], index: Int): ByteVector` | 4 | Extract data by index (fail on error). |
| `getBinaryValue(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], key: String): ByteVector` | 10 | Find and extract data by key (fail on error). |
| `getBoolean(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], index: Int): Boolean\|Unit` | 4 | Gets a boolean value from a list of data entries by index. |
| `getBoolean(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], key: String): Boolean\|Unit` | 10 | Gets a boolean value from a list of data entries by key. |
| `getBooleanValue(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], index: Int): Boolean` | 4 | Extract data by index (fail on error). |
| `getBooleanValue(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], key: String): Boolean` | 10 | Find and extract data by key (fail on error). |
| `getInteger(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], index: Int): Int\|Unit` | 4 | Gets integer from a list of data entries by index. |
| `getInteger(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], key: String): Int\|Unit` | 10 | Gets integer from a list of data entries by key. |
| `getIntegerValue(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], index: Int): Int` | 4 | Extract data by index (fail on error). |
| `getIntegerValue(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], key: String): Int` | 10 | Find and extract data by key (fail on error). |
| `getString(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], index: Int): String\|Unit` | 4 | Gets a string value from a list of data entries by index. |
| `getString(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], key: String): String\|Unit` | 10 | Gets a string value from a list of data entries by key. |
| `getStringValue(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], index: Int): String` | 4 | Extract data by index (fail on error). |
| `getStringValue(data: List[BinaryEntry\|BooleanEntry\|DeleteEntry\|IntegerEntry\|StringEntry], key: String): String` | 10 | Find and extract data by key (fail on error). |

## Internal functions

| Function | Complexity | Description |
|---|---|---|
| `Issue(name: String, description: String, quantity: Int, decimals: Int, isReissuable: Boolean): Issue` | 1 | Issue action simplified constructor. |
| `Issue(name: String, description: String, quantity: Int, decimals: Int, isReissuable: Boolean, compiledScript: Script\|Unit, nonce: Int): Issue` | 1 | Issue action detailed constructor. |
| `Lease(recipient: Address\|Alias, amount: Int): Lease` | 1 | Lease action simplified constructor. |
| `Lease(recipient: Address\|Alias, amount: Int, nonce: Int): Lease` | 1 | Lease action detailed constructor. |
| `size(tuple: (A, B)\|(A, B, C)\|…\|(A, B, …, V)): Int` | 1 | Number of elements of the tuple. |

## List functions

| Function | Complexity | Description |
|---|---|---|
| `cons(head: A, tail: List[B]): List[A\|B]` | 1 | Prepends a new element to the list. |
| `containsElement(list: List[T], element: T): Boolean` | 5 | Tests whether the list contains a given value as an element. |
| `getElement(arr: List[T], pos: Int): T` | 2 | Gets an element from a list by index. |
| `indexOf(list: List[T], element: T): Int\|Unit` | 5 | Returns the index of the first occurrence of given value. |
| `lastIndexOf(list: List[T], element: T): Int\|Unit` | 5 | Returns the index of the last occurrence of given value. |
| `makeString(list: List[String], separator: String): String` | 1 | Returns all the elements of the list in a string using the separator string. Input list size limit = 70. Output string size limit = 500 bytes. |
| `makeString_11C(list: List[String], separator: String): String` | 11 | Returns all the elements of the list in a string using the separator string. Input list size limit = 1000. Output string size limit = 32767 bytes. |
| `makeString_2C(list: List[String], separator: String): String` | 2 | Returns all the elements of the list in a string using the separator string. Input list size limit = 100. Output string size limit = 6000 bytes. |
| `max(list: List[BigInt]): BigInt` | 192 | Returns the maximum of the list. |
| `max(list: List[Int]): Int` | 3 | Returns the maximum of the list. |
| `median(arr: List[BigInt]): BigInt` | 160 | Returns the median of the list. |
| `median(arr: List[Int]): Int` | 20 | Returns the median of the list. |
| `min(list: List[BigInt]): BigInt` | 192 | Returns the minimum of the list. |
| `min(list: List[Int]): Int` | 3 | Returns the minimum of the list. |
| `removeByIndex(list: List[T], index: Int): List[T]` | 7 | Removes the element at given index from the list and returns new list. |
| `size(arr: List[T]): Int` | 2 | Returns the size of a list. |

## Math functions

| Function | Complexity | Description |
|---|---|---|
| `fraction(value: BigInt, numerator: BigInt, denominator: BigInt): BigInt` | 1 | Multiply and division with unlimited intermediate representation. |
| `fraction(value: BigInt, numerator: BigInt, denominator: BigInt, round: Ceiling\|Down\|Floor\|HalfEven\|HalfUp): BigInt` | 1 | Multiply and division with unlimited intermediate representation. |
| `fraction(value: Int, numerator: Int, denominator: Int): Int` | 1 | Multiply and division with unlimited intermediate representation. |
| `fraction(value: Int, numerator: Int, denominator: Int, round: Ceiling\|Down\|Floor\|HalfEven\|HalfUp): Int` | 1 | Multiply and division with big integer intermediate representation. |
| `log(base: BigInt, bp: Int, exponent: BigInt, ep: Int, rp: Int, round: Ceiling\|Down\|Floor\|HalfEven\|HalfUp): BigInt` | 200 | Returns the logarithm of a number. |
| `log(base: Int, bp: Int, exponent: Int, ep: Int, rp: Int, round: Ceiling\|Down\|Floor\|HalfEven\|HalfUp): Int` | 100 | Returns the logarithm of a number. |
| `pow(base: BigInt, bp: Int, exponent: BigInt, ep: Int, rp: Int, round: Ceiling\|Down\|Floor\|HalfEven\|HalfUp): BigInt` | 270 | Returns a number raised to a power. |
| `pow(base: Int, bp: Int, exponent: Int, ep: Int, rp: Int, round: Ceiling\|Down\|Floor\|HalfEven\|HalfUp): Int` | 28 | Returns a number raised to a power. |
| `sqrt(number: BigInt, precision: Int, resultPrecision: Int, round: Ceiling\|Down\|Floor\|HalfEven\|HalfUp): BigInt` | 5 | Returns a square root. |
| `sqrt(number: Int, precision: Int, resultPrecision: Int, round: Ceiling\|Down\|Floor\|HalfEven\|HalfUp): Int` | 2 | Returns a square root. |

## Operators

| Function | Complexity | Description |
|---|---|---|
| `!(p: Boolean): Boolean` | 1 | Unary negation. |
| `!=(a: T, b: T): Boolean` | 1 | Check inequality. |
| `%(a: BigInt, b: BigInt): BigInt` | 64 | Calculate big modulo. |
| `%(a: Int, b: Int): Int` | 1 | Calculate modulo. |
| `*(a: BigInt, b: BigInt): BigInt` | 64 | Multiply big integers. |
| `*(a: Int, b: Int): Int` | 1 | Multiply integers. |
| `+(a: BigInt, b: BigInt): BigInt` | 8 | Sum big integers. |
| `+(a: ByteVector, b: ByteVector): ByteVector` | 2 | Concat limited byte vectors. |
| `+(a: Int, b: Int): Int` | 1 | Sum integers. |
| `+(a: String, b: String): String` | 1 | Concat limited strings. |
| `++(list1: List[A], list2: List[B]): List[A\|B]` | 4 | List Concatenation. |
| `-(n: BigInt): BigInt` | 8 | Change integer sign. |
| `-(a: BigInt, b: BigInt): BigInt` | 8 | Subtract big integers. |
| `-(n: Int): Int` | 1 | Change integer sign. |
| `-(a: Int, b: Int): Int` | 1 | Subtract integers. |
| `/(a: BigInt, b: BigInt): BigInt` | 64 | Divide big integers. |
| `/(a: Int, b: Int): Int` | 1 | Divide integers. |
| `:+(list: List[A], element: B): List[A\|B]` | 1 | Adding the element to the end of the list. |
| `==(a: T, b: T): Boolean` | 1 | Check equality. |
| `>(a: BigInt, b: BigInt): Boolean` | 8 | Check if integer greater comparison. |
| `>(a: Int, b: Int): Boolean` | 1 | Check if integer greater comparison. |
| `>=(a: BigInt, b: BigInt): Boolean` | 8 | Check if integer greater or equal comparison. |
| `>=(a: Int, b: Int): Boolean` | 1 | Check if integer greater or equal comparison. |

## Optional value functions

| Function | Complexity | Description |
|---|---|---|
| `isDefined(a: T\|Unit): Boolean` | 1 | Checks if a value is not `Unit`. |
| `value(a: T\|Unit): T` | 2 | Extract value from option or fail. |
| `valueOrElse(value: T\|Unit, alternative: T): T` | 2 | Returns value from union type argument if it's not unit. Otherwise, returns the second argument. |
| `valueOrErrorMessage(a: T\|Unit, msg: String): T` | 2 | Extract value from option or fail with message. |

## String functions

| Function | Complexity | Description |
|---|---|---|
| `contains(source: String, substr: String): Boolean` | 3 | Checks whether the string contains substring. |
| `drop(xs: String, number: Int): String` | 20 | Drops the first n characters of a string. |
| `dropRight(xs: String, number: Int): String` | 20 | Drops the last n characters of a string. |
| `indexOf(str: String, substr: String): Int\|Unit` | 3 | Returns the index of the first occurrence of a substring. |
| `indexOf(str: String, substr: String, offset: Int): Int\|Unit` | 3 | Returns the index of the first occurrence of a substring after a certain index. |
| `lastIndexOf(str: String, substr: String): Int\|Unit` | 3 | Returns the index of the last occurrence of a substring. |
| `lastIndexOf(str: String, substr: String, offset: Int): Int\|Unit` | 3 | Returns the index of the last occurrence of a substring after a certain index. |
| `size(xs: String): Int` | 1 | Returns the size of a string. |
| `split(str: String, separator: String): List[String]` | 1 | Splits a string delimited by a separator into a list of substrings. Input string size limit = 500 bytes. Output list size limit = 20. |
| `split_4C(str: String, separator: String): List[String]` | 4 | Splits a string delimited by a separator into a list of substrings. Input string size limit = 6000 bytes. Output list size limit = 100. |
| `split_51C(str: String, separator: String): List[String]` | 51 | Splits a string delimited by a separator into a list of substrings. Input string size limit = 32767 bytes. Output list size limit = 1000. |
| `take(xs: String, number: Int): String` | 20 | Takes the first n characters from a string. |
| `takeRight(xs: String, number: Int): String` | 20 | Takes the last n characters from a string. |

## Verification functions

| Function | Complexity | Description |
|---|---|---|
| `bn256Groth16Verify(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1650 | Zero-knowledge proof verifier function. |
| `bn256Groth16Verify_10inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1300 | Zero-knowledge proof verifier function. With 10 inputs. |
| `bn256Groth16Verify_11inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1350 | Zero-knowledge proof verifier function. With 11 inputs. |
| `bn256Groth16Verify_12inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1400 | Zero-knowledge proof verifier function. With 12 inputs. |
| `bn256Groth16Verify_13inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1450 | Zero-knowledge proof verifier function. With 13 inputs. |
| `bn256Groth16Verify_14inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1550 | Zero-knowledge proof verifier function. With 14 inputs. |
| `bn256Groth16Verify_15inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1600 | Zero-knowledge proof verifier function. With 15 inputs. |
| `bn256Groth16Verify_1inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 800 | Zero-knowledge proof verifier function. With 1 input. |
| `bn256Groth16Verify_2inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 850 | Zero-knowledge proof verifier function. With 2 inputs. |
| `bn256Groth16Verify_3inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 950 | Zero-knowledge proof verifier function. With 3 inputs. |
| `bn256Groth16Verify_4inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1000 | Zero-knowledge proof verifier function. With 4 inputs. |
| `bn256Groth16Verify_5inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1050 | Zero-knowledge proof verifier function. With 5 inputs. |
| `bn256Groth16Verify_6inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1100 | Zero-knowledge proof verifier function. With 6 inputs. |
| `bn256Groth16Verify_7inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1150 | Zero-knowledge proof verifier function. With 7 inputs. |
| `bn256Groth16Verify_8inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1200 | Zero-knowledge proof verifier function. With 8 inputs. |
| `bn256Groth16Verify_9inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1250 | Zero-knowledge proof verifier function. With 9 inputs. |
| `createMerkleRoot(merkleProof: List[ByteVector], valueBytes: ByteVector, index: Int): ByteVector` | 30 | Calculates the Merkle root hash for transactions of block. |
| `groth16Verify(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 2700 | Zero-knowledge proof verifier function. |
| `groth16Verify_10inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 2100 | Zero-knowledge proof verifier function. With 10 inputs. |
| `groth16Verify_11inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 2200 | Zero-knowledge proof verifier function. With 11 inputs. |
| `groth16Verify_12inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 2300 | Zero-knowledge proof verifier function. With 12 inputs. |
| `groth16Verify_13inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 2400 | Zero-knowledge proof verifier function. With 13 inputs. |
| `groth16Verify_14inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 2500 | Zero-knowledge proof verifier function. With 14 inputs. |
| `groth16Verify_15inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 2600 | Zero-knowledge proof verifier function. With 15 inputs. |
| `groth16Verify_1inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1200 | Zero-knowledge proof verifier function. With 1 input. |
| `groth16Verify_2inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1300 | Zero-knowledge proof verifier function. With 2 inputs. |
| `groth16Verify_3inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1400 | Zero-knowledge proof verifier function. With 3 inputs. |
| `groth16Verify_4inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1500 | Zero-knowledge proof verifier function. With 4 inputs. |
| `groth16Verify_5inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1600 | Zero-knowledge proof verifier function. With 5 inputs. |
| `groth16Verify_6inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1700 | Zero-knowledge proof verifier function. With 6 inputs. |
| `groth16Verify_7inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1800 | Zero-knowledge proof verifier function. With 7 inputs. |
| `groth16Verify_8inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 1900 | Zero-knowledge proof verifier function. With 8 inputs. |
| `groth16Verify_9inputs(verifying key: ByteVector, proof: ByteVector, inputs: ByteVector): Boolean` | 2000 | Zero-knowledge proof verifier function. With 9 inputs. |
| `rsaVerify(digest: Md5\|NoAlg\|Sha1\|Sha224\|Sha256\|Sha3224\|Sha3256\|Sha3384\|Sha3512\|Sha384\|Sha512, message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 1000 | Verifies an RSA signature. |
| `rsaVerify_128Kb(digest: Md5\|NoAlg\|Sha1\|Sha224\|Sha256\|Sha3224\|Sha3256\|Sha3384\|Sha3512\|Sha384\|Sha512, message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 750 | Verifies an RSA signature. For message size <= 128Kb. |
| `rsaVerify_16Kb(digest: Md5\|NoAlg\|Sha1\|Sha224\|Sha256\|Sha3224\|Sha3256\|Sha3384\|Sha3512\|Sha384\|Sha512, message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 500 | Verifies an RSA signature. For message size <= 16Kb. |
| `rsaVerify_32Kb(digest: Md5\|NoAlg\|Sha1\|Sha224\|Sha256\|Sha3224\|Sha3256\|Sha3384\|Sha3512\|Sha384\|Sha512, message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 550 | Verifies an RSA signature. For message size <= 32Kb. |
| `rsaVerify_64Kb(digest: Md5\|NoAlg\|Sha1\|Sha224\|Sha256\|Sha3224\|Sha3256\|Sha3384\|Sha3512\|Sha384\|Sha512, message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 625 | Verifies an RSA signature. For message size <= 64Kb. |
| `sigVerify(message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 180 | Verifies a Curve25519 signature. |
| `sigVerify_128Kb(message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 150 | Verifies a Curve25519 signature. For message size <= 128Kb. |
| `sigVerify_16Kb(message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 50 | Verifies a Curve25519 signature. For message size <= 16Kb. |
| `sigVerify_32Kb(message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 64 | Verifies a Curve25519 signature. For message size <= 32Kb. |
| `sigVerify_64Kb(message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 93 | Verifies a Curve25519 signature. For message size <= 64Kb. |
| `sigVerify_8Kb(message: ByteVector, sig: ByteVector, pub: ByteVector): Boolean` | 43 | Verifies a Curve25519 signature. For message size <= 16Kb. |
