std

package
v0.0.0-...-9a38360 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2024 License: MIT Imports: 2 Imported by: 22

Documentation

Overview

Package std provides an interface to StdLib native contract. It implements various useful conversion functions.

Index

Constants

View Source
const Hash = "\xc0\xef\x39\xce\xe0\xe4\xe9\x25\xc6\xc2\xa0\x6a\x79\xe1\x44\x0d\xd8\x6f\xce\xac"

Hash represents StdLib contract hash.

Variables

This section is empty.

Functions

func Atoi

func Atoi(s string, base int) int

Atoi converts a string to a number in the given base. Base should be either 10 or 16. It uses `atoi` method of StdLib native contract.

func Atoi10

func Atoi10(s string) int

Atoi10 converts a string to a number in base 10. It uses `atoi` method of StdLib native contract.

func Base58CheckDecode

func Base58CheckDecode(b []byte) []byte

Base58CheckDecode calls `base58CheckDecode` method of StdLib native contract and decodes thr given base58 string with a checksum represented as a byte slice into a new byte slice.

func Base58CheckEncode

func Base58CheckEncode(b []byte) string

Base58CheckEncode calls `base58CheckEncode` method of StdLib native contract and encodes the given byte slice into a base58 string with checksum and returns byte representation of this string.

func Base58Decode

func Base58Decode(b []byte) []byte

Base58Decode calls `base58Decode` method of StdLib native contract and decodes the given base58 string represented as a byte slice into a new byte slice.

func Base58Encode

func Base58Encode(b []byte) string

Base58Encode calls `base58Encode` method of StdLib native contract and encodes the given byte slice into a base58 string and returns byte representation of this string.

func Base64Decode

func Base64Decode(b []byte) []byte

Base64Decode calls `base64Decode` method of StdLib native contract and decodes the given base64 string represented as a byte slice into byte slice.

func Base64Encode

func Base64Encode(b []byte) string

Base64Encode calls `base64Encode` method of StdLib native contract and encodes the given byte slice into a base64 string and returns byte representation of this string.

func Deserialize

func Deserialize(b []byte) any

Deserialize calls `deserialize` method of StdLib native contract and unpacks a previously serialized value from a byte slice, it's the opposite of Serialize.

func Itoa

func Itoa(num int, base int) string

Itoa converts num in the given base to a string. Base should be either 10 or 16. It uses `itoa` method of StdLib native contract.

func Itoa10

func Itoa10(num int) string

Itoa10 converts num in base 10 to a string. It uses `itoa` method of StdLib native contract.

func JSONDeserialize

func JSONDeserialize(data []byte) any

JSONDeserialize deserializes a value from json. It uses `jsonDeserialize` method of StdLib native contract. It performs deserialization as follows:

strings -> []byte (string) from base64
integers -> (u)int* types
null -> interface{}(nil)
arrays -> []interface{}
maps -> map[string]interface{}

func JSONSerialize

func JSONSerialize(item any) []byte

JSONSerialize serializes a value to json. It uses `jsonSerialize` method of StdLib native contract. Serialization format is the following: []byte -> base64 string bool -> json boolean nil -> Null string -> base64 encoded sequence of underlying bytes (u)int* -> integer, only value in -2^53..2^53 are allowed []interface{} -> json array []any -> json array map[type1]type2 -> json object with string keys marshaled as strings (not base64).

func MemoryCompare

func MemoryCompare(s1, s2 []byte) int

MemoryCompare is similar to bytes.Compare: The result will be 0 if a==b, -1 if a < b, and +1 if a > b. It uses `memoryCompare` method of StdLib native contract.

func MemorySearch

func MemorySearch(mem, pattern []byte) int

MemorySearch returns the index of the first occurrence of the val in the mem. If not found, -1 is returned. It uses `memorySearch` method of StdLib native contract.

func MemorySearchIndex

func MemorySearchIndex(mem, pattern []byte, start int) int

MemorySearchIndex returns the index of the first occurrence of the val in the mem starting from the start. If not found, -1 is returned. It uses `memorySearch` method of StdLib native contract.

func MemorySearchLastIndex

func MemorySearchLastIndex(mem, pattern []byte, start int) int

MemorySearchLastIndex returns the index of the last occurrence of the val in the mem ending before start. If not found, -1 is returned. It uses `memorySearch` method of StdLib native contract.

func Serialize

func Serialize(item any) []byte

Serialize calls `serialize` method of StdLib native contract and serializes any given item into a byte slice. It works for all regular VM types (not ones from interop package) and allows to save them in the storage or pass them into Notify and then Deserialize them on the next run or in the external event receiver.

func StrLen

func StrLen(s string) int

StrLen returns length of the string in Utf- characters. It uses `strLen` method of StdLib native contract.

func StringSplit

func StringSplit(s, sep string) []string

StringSplit splits s by occurrences of the sep. It uses `stringSplit` method of StdLib native contract.

func StringSplitNonEmpty

func StringSplitNonEmpty(s, sep string) []string

StringSplitNonEmpty splits s by occurrences of the sep and returns a list of non-empty items. It uses `stringSplit` method of StdLib native contract.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL