Ride V9 Functions#

Note

Generated from node-scala commit 104ddc70e8 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 9. 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 9 has 223 built-in functions and operators, counting each overload separately: 9 are new in V9 and 30 cost a different amount than in V8. 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 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.

calculateDelay(generator: Address, balance: Int): Int

1

Calculates mining delay using Fair PoS calculator.

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

2

Drops the first n bytes of an array of bytes. Was 6 in V8.

dropRight(xs: ByteVector, number: Int): ByteVector

2

Drops the first n bytes of an array of bytes. Was 6 in V8.

size(byteVector: ByteVector): Int

1

Returns the size of an array of bytes.

take(xs: ByteVector, number: Int): ByteVector

2

Takes the first n bytes from an array of bytes. Was 6 in V8.

takeRight(xs: ByteVector, number: Int): ByteVector

2

Takes the last n bytes from an array of bytes. Was 6 in V8.

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

1

Converts an string to an integer.

parseBigIntValue(n: String): BigInt

1

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

1

Converts an array of bytes to an big integer.

toBigInt(n: ByteVector, off: Int, size: Int): BigInt

1

Converts an array of bytes to an big integer.

toBigInt(n: Int): BigInt

1

Converts an integer to an integer.

toBytes(n: BigInt): ByteVector

1

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

4

Decodes Base16 string to an array of bytes. Was 10 in V8.

fromBase16String_1C(str: String): ByteVector

1

Decodes Base16 string to an array of bytes. New in V9.

fromBase58String(str: String): ByteVector

1

Decodes Base58 string to an array of bytes.

fromBase64String(str: String): ByteVector

12

Decodes Base64 string to an array of bytes. Was 40 in V8.

fromBase64String_1C(str: String): ByteVector

1

Decodes Base64 string to an array of bytes. New in V9.

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

36

SHA-256 hash function. Was 118 in V8.

sha256_128Kb(bytes: ByteVector): ByteVector

32

SHA-256 hash function. For array with size <= 128Kb. Was 93 in V8.

sha256_16Kb(bytes: ByteVector): ByteVector

5

SHA-256 hash function. For array with size <= 16Kb. Was 12 in V8.

sha256_32Kb(bytes: ByteVector): ByteVector

9

SHA-256 hash function. For array with size <= 32Kb. Was 23 in V8.

sha256_64Kb(bytes: ByteVector): ByteVector

17

SHA-256 hash function. For array with size <= 64Kb. Was 47 in V8.

toBase16String(bytes: ByteVector): String

4

Encodes array of bytes to Base16 string. Was 10 in V8.

toBase16String_1C(bytes: ByteVector): String

1

Encodes array of bytes to Base16 string. New in V9.

toBase58String(bytes: ByteVector): String

3

Encodes array of bytes to Base58 string.

toBase64String(bytes: ByteVector): String

3

Encodes array of bytes to Base64 string. Was 35 in V8.

toBase64String_1C(bytes: ByteVector): String

1

Encodes array of bytes to Base64 string. New in V9.

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

2

Gets a binary value from a list of data entries by index. Was 4 in V8.

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

2

Extract data by index (fail on error). Was 4 in V8.

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

2

Gets a boolean value from a list of data entries by index. Was 4 in V8.

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

2

Extract data by index (fail on error). Was 4 in V8.

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

2

Gets integer from a list of data entries by index. Was 4 in V8.

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

2

Extract data by index (fail on error). Was 4 in V8.

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

2

Gets a string value from a list of data entries by index. Was 4 in V8.

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

2

Extract data by index (fail on error). Was 4 in V8.

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.

fill(length: Int, element: T): List[T]

2

Creates the new list containing the given number of elements. New in V9.

getElement(arr: List[T], pos: Int): T

1

Gets an element from a list by index. Was 2 in V8.

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

6

Returns the maximum of the list.

max(list: List[Int]): Int

3

Returns the maximum of the list.

median(arr: List[BigInt]): BigInt

35

Returns the median of the list.

median(arr: List[Int]): Int

20

Returns the median of the list.

min(list: List[BigInt]): BigInt

6

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]

1

Removes the element at given index from the list and returns new list. Was 4 in V8.

replaceByIndex(list: List[T], index: Int, element: T): List[T]

1

Replaces the element at given index in the list and returns new list. Was 4 in V8.

size(arr: List[T]): Int

1

Returns the size of a list. Was 2 in V8.

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

1

Calculate big modulo.

%(a: Int, b: Int): Int

1

Calculate modulo.

*(a: BigInt, b: BigInt): BigInt

1

Multiply big integers.

*(a: Int, b: Int): Int

1

Multiply integers.

+(a: BigInt, b: BigInt): BigInt

1

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

1

Change integer sign.

-(a: BigInt, b: BigInt): BigInt

1

Subtract big integers.

-(n: Int): Int

1

Change integer sign.

-(a: Int, b: Int): Int

1

Subtract integers.

/(a: BigInt, b: BigInt): BigInt

1

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

1

Check if integer greater comparison.

>(a: Int, b: Int): Boolean

1

Check if integer greater comparison.

>=(a: BigInt, b: BigInt): Boolean

1

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

2

Drops the first n characters of a string. Was 20 in V8.

dropRight(xs: String, number: Int): String

2

Drops the last n characters of a string. Was 20 in V8.

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.

replaceAll(str: String, target: String, replacement: String): String

2

Replaces all of the occurrences of the substring in the given string. New in V9.

replaceFirst(str: String, target: String, replacement: String): String

2

Replaces the first occurrence of the substring in the given string. New in V9.

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

2

Takes the first n characters from a string. Was 20 in V8.

takeRight(xs: String, number: Int): String

2

Takes the last n characters from a string. Was 20 in V8.

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

3

Calculates the Merkle root hash for transactions of block. Was 30 in V8.

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.

p256Verify(message: ByteVector, signature: ByteVector, publicKey: ByteVector): Boolean

43

Verifies a P-256 signature. New in V9.

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.

validateCertificateChain(certificateChain: List[ByteVector], crls: List[ByteVector], timestamp: Int): ByteVector

43

Validates TDX certificate chain. New in V9.