Skip to main content

Crate neo_types

Crate neo_types 

Source
Expand description

Neo N3 Core Types

This crate provides the core types and data structures for Neo N3 smart contract development.

Structs§

ArrayFullError
An error returned when a NeoArray would exceed NeoArray::MAX_SIZE items.
BigInt
A big signed integer type.
ByteStringFullError
Error returned by NeoByteString::try_push / NeoByteString::try_extend_from_slice when the on-chain MAX_SIZE (1 MiB) would be exceeded.
Hash160
A 20-byte script hash used to identify accounts and contracts on Neo N3.
Hash256
A 32-byte hash used for transaction and block identifiers on Neo N3.
NeoArray
Neo N3 Array type
NeoBoolean
Neo N3 Boolean type
NeoByteString
Neo N3 ByteString type
NeoContractABI
Neo N3 Contract ABI
NeoContractEvent
Neo N3 Contract Event
NeoContractManifest
Neo N3 Contract Manifest
NeoContractMethod
Neo N3 Contract Method
NeoContractParameter
Neo N3 Contract Parameter
NeoContractPermission
Neo N3 Contract Permission
NeoInteger
Neo N3 Integer type (arbitrary precision)
NeoIterator
Neo N3 Iterator type
NeoMap
Neo N3 Map type
NeoStorageContext
Neo N3 Storage Context type
NeoString
Neo N3 String type
NeoStruct
Neo N3 Struct type

Enums§

NeoError
Neo N3 Error type
NeoValue
Neo N3 Value type (union of all Neo types)
RemoveStrictError
Error returned by NeoMap::remove_strict.

Constants§

MAX_NOTIFICATION_SIZE
Max serialised size for a notification (C#: MaxNotificationSize = 1024).
MAX_STACK_SIZE
Max items in a serialised Array/Struct (C#: Limits.MaxStackSize).

Traits§

ContractCaller
Trait for static-method-style cross-contract calls. The L9 call_typed<T> helper invokes a remote contract’s method and decodes the return value into a typed Rust value via the FromNeoValue trait. The default implementation delegates to the existing NeoVMSyscall::contract_call path; contract code that wants a custom transport (e.g. off-chain simulation) can override call_raw and route the value through call_typed.
FromNeoValue
A type that can be deserialised from a NeoVM StackItem / NeoValue. This is the L9 IInteroperable equivalent in the C# devpack: any contract return type (or argument type) implements this trait, enabling NeoContract::call_typed<T> to round-trip the on-chain value into a typed Rust value.
NeoContract
Neo N3 Contract trait
NeoContractEntry
Neo N3 Contract Entry Point
NeoContractMethodTrait
Neo N3 Contract Method trait

Functions§

serialise_array
Serialise a NeoArray<NeoValue> as a NeoVM Array StackItem.
serialise_notification
Serialise a UTF-8 event name + state array as a notification body. The body has the same shape as C# RuntimeNotify expects: [event_name as NeoVM ByteString, state as Array StackItem].
serialise_value
Serialise a single StackItem (used for things like Contract.Call args that aren’t wrapped in an outer array).

Type Aliases§

NeoResult
Neo N3 Result type