# Functions
CheckIntegerSize checks that the value size doesn't exceed the VM limit for Interer.
DecodeBinary decodes the previously serialized Item from the given reader.
DecodeBinaryProtected is similar to DecodeBinary but allows Interop and Invalid values to be present (making it symmetric to EncodeBinaryProtected).
DeepCopy returns a new deep copy of the provided item.
Deserialize decodes the Item from the given byte slice.
DeserializeConvertible deserializes Convertible from a slice of bytes.
DeserializeLimited returns Item deserialized from the given byte slice.
EncodeBinary encodes the given Item into the given BinWriter.
EncodeBinaryProtected encodes the given Item into the given BinWriter.
FromJSON decodes an Item from JSON.
FromJSONWithTypes deserializes an item from typed-json representation.
FromString returns stackitem type from the string.
IsValidMapKey checks whether it's possible to use the given Item as a Map key.
Make is like TryMake, but panics if conversion isn't possible.
NewArray returns a new Array object.
NewBigInteger returns an new BigInteger object.
NewBool returns an new Bool object.
NewBuffer returns a new Buffer object.
NewByteArray returns an new ByteArray object.
NewInterop returns a new Interop object.
NewMap returns a new Map object.
NewMapWithValue returns a new Map object filled with the specified value without value validation.
NewPointer returns a new pointer on the specified position.
NewPointerWithHash returns a new pointer on the specified position of the specified script.
NewSerializationContext returns reusable stack item serialization context.
NewStruct returns a new Struct object.
Serialize encodes the given Item into a byte slice.
SerializeConvertible serializes Convertible into a slice of bytes.
SerializeLimited encodes the given Item into a byte slice using custom limit to restrict the maximum serialized number of elements.
ToJSON encodes Item to JSON.
ToJSONWithTypes serializes any stackitem to JSON in a lossless way.
ToString converts an Item to a string if it is a valid UTF-8.
TryMake tries to make an appropriate stack item from the provided value.
# Constants
This block defines all known stack item types.
This block defines all known stack item types.
This block defines all known stack item types.
This block defines all known stack item types.
This block defines all known stack item types.
CompatIntegerPrec is the maximum precision allowed for big.Integer parsing by the C# node before the Basilisk hardfork.
This block defines all known stack item types.
This block defines all known stack item types.
This block defines all known stack item types.
This block defines all known stack item types.
MaxAllowedInteger is the maximum integer allowed to be encoded.
MaxBigIntegerSizeBits is the maximum size of a BigInt item in bits.
MaxByteArrayComparableSize is the maximum allowed length of a ByteArray for Equals method.
MaxClonableNumOfItems is the maximum number of items that can be cloned in structs.
MaxComparableNumOfItems is the maximum number of items that can be compared for structs.
MaxDeserialized is the maximum number one deserialized item can contain (including itself).
MaxIntegerPrec is the maximum precision allowed for big.Integer parsing.
MaxJSONDepth is the maximum allowed nesting level of an encoded/decoded JSON.
MaxKeySize is the maximum size of a map key.
MaxSerialized is the maximum number one serialized item can contain (including itself).
MaxSize is the maximum item size allowed in the VM.
This block defines all known stack item types.
This block defines all known stack item types.
# Variables
ErrInvalidConversion is returned upon an attempt to make an incorrect conversion between item types.
ErrInvalidType is returned upon attempts to deserialize some unknown item type.
ErrInvalidValue is returned when an item value doesn't fit some constraints during serialization or deserialization.
ErrReadOnly is returned on attempt to modify immutable stack item.
ErrRecursive is returned upon an attempt to serialize some recursive stack item (like an array including an item with the reference to the same array).
ErrTooBig is returned when an item exceeds some size constraints, like the maximum allowed integer value of the number of elements in an array.
ErrTooDeep is returned when JSON encoder/decoder goes beyond MaxJSONDepth in its processing.
ErrUnserializable is returned upon an attempt to serialize some item that can't be serialized (like Interop item or Pointer).
# Structs
Array represents a new Array object.
Interop represents interop data on the stack.
Map represents a Map object.
MapElement is a key-value pair of StackItems.
Null represents null on the stack.
Pointer represents a VM-level instruction pointer.
SerializationContext is a serialization context.
Struct represents a struct on the stack.
# Interfaces
Convertible is something that can be converted to/from Item.
Equatable describes a special value of Interop that can be compared with value of some other Interop that implements Equatable.
Immutable is an interface supported by compound types (Array, Map, Struct).
Item represents the "real" value that is pushed on the stack.
# Type aliases
BigInteger represents a big integer on the stack.
Bool represents a boolean Item.
Buffer represents a Buffer stack item.
ByteArray represents a byte array on the stack.
Type represents a type of the stack item.