std

package
v0.97.1-pre Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2021 License: MIT Imports: 2 Imported by: 22

Documentation

Overview

Package std provides 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 string to a number in a given base. Base should be either 10 or 16. It uses `atoi` method of StdLib native contract.

func Atoi10 added in v0.95.0

func Atoi10(s string) int

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

func Base58CheckDecode added in v0.95.1

func Base58CheckDecode(b []byte) []byte

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

func Base58CheckEncode added in v0.95.1

func Base58CheckEncode(b []byte) string

Base58CheckEncode calls `base58CheckEncode` method of StdLib native contract and encodes 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 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 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 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 given byte slice into a base64 string and returns byte representation of this string.

func Deserialize

func Deserialize(b []byte) interface{}

Deserialize calls `deserialize` method of StdLib native contract and unpacks 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 a given base to string. Base should be either 10 or 16. It uses `itoa` method of StdLib native contract.

func Itoa10 added in v0.95.0

func Itoa10(num int) string

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

func JSONDeserialize

func JSONDeserialize(data []byte) interface{}

JSONDeserialize deserializes 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 interface{}) []byte

JSONSerialize serializes 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 map[type1]type2 -> json object with string keys marshaled as strings (not base64).

func MemoryCompare added in v0.95.0

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 added in v0.95.0

func MemorySearch(mem, pattern []byte) int

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

func MemorySearchIndex added in v0.95.0

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

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

func MemorySearchLastIndex added in v0.95.0

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

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

func Serialize

func Serialize(item interface{}) []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 storage or pass into Notify and then Deserialize them on the next run or in the external event receiver.

func StringSplit added in v0.95.0

func StringSplit(s, sep string) []string

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

func StringSplitNonEmpty added in v0.95.0

func StringSplitNonEmpty(s, sep string) []string

StringSplitNonEmpty splits s by occurrences of 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