Source code for genlayer.vm.public_abi

# This file is auto-generated. Do not edit!

# fmt: off

from enum import IntEnum, StrEnum
import typing


class ResultCode(IntEnum):
	RETURN = 0
	USER_ERROR = 1
	VM_ERROR = 2
	INTERNAL_ERROR = 3


[docs] class StorageType(IntEnum): DEFAULT = 0 LATEST_FINAL = 1 LATEST_NON_FINAL = 2
class EntryKind(IntEnum): MAIN = 0 SANDBOX = 1 CONSENSUS_STAGE = 2 class _MemoryLimiterConsts(typing.NamedTuple): TABLE_ENTRY: int = 64 FILE_MAPPING: int = 256 FD_ALLOCATION: int = 96 memory_limiter_consts: typing.Final = _MemoryLimiterConsts() class _RootOffsets(typing.NamedTuple): CONTRACT: int = 0 CODE: int = 1 LOCKED_SLOTS: int = 2 UPGRADERS: int = 3 MAJOR: int = 4 root_offsets: typing.Final = _RootOffsets() class _TopLimits(typing.NamedTuple): NONDET_BLOCKS: int = 4096 LOCKED_SLOTS: int = 256 UPGRADERS: int = 32 VM_RECURSION: int = 512 WEB_REQUEST_MIN_SPACE: int = 65536 WEB_RENDER_MIN_SPACE: int = 134217728 MAX_FDS: int = 1024 top_limits: typing.Final = _TopLimits() class SpecialMethod(StrEnum): GET_SCHEMA = '#get-schema' ERRORED_MESSAGE = '#error' class _VmErrorOomRam: @staticmethod def val() -> 'VmError': return VmError('OOM RAM') @staticmethod def table() -> 'VmError': return VmError('OOM RAM table') @staticmethod def memory() -> 'VmError': return VmError('OOM RAM memory') @staticmethod def limit() -> 'VmError': return VmError('OOM RAM limit') class _VmErrorOom: @staticmethod def storage() -> 'VmError': return VmError('OOM storage') @staticmethod def receipt() -> 'VmError': return VmError('OOM receipt') @staticmethod def ram() -> '_VmErrorOomRam': return _VmErrorOomRam() class _VmErrorInvalidContractWasm: @staticmethod def validating() -> 'VmError': return VmError('invalid_contract wasm validating') @staticmethod def linking() -> 'VmError': return VmError('invalid_contract wasm linking') @staticmethod def entrypoint() -> 'VmError': return VmError('invalid_contract wasm entrypoint') class _VmErrorInvalidContract: @staticmethod def val() -> 'VmError': return VmError('invalid_contract') @staticmethod def absent_runner_comment() -> 'VmError': return VmError('invalid_contract absent_runner_comment') @staticmethod def not_utf8_text() -> 'VmError': return VmError('invalid_contract not_utf8_text') @staticmethod def malformed_runner() -> 'VmError': return VmError('invalid_contract malformed_runner') @staticmethod def wasm() -> '_VmErrorInvalidContractWasm': return _VmErrorInvalidContractWasm() class _VmErrorExitCode: @staticmethod def val_i32(v: int) -> 'VmError': return VmError(f'exit_code {v}') class _VmErrorWasmTrap: @staticmethod def val_str(v: str) -> 'VmError': return VmError(f'wasm_trap {v}') class _VmErrorHost: @staticmethod def val_str(v: str) -> 'VmError': return VmError(f'host {v}') class VmError: __slots__ = ('value',) def __init__(self, value: str): self.value = value def __str__(self) -> str: return self.value @staticmethod def timeout() -> 'VmError': return VmError('timeout') @staticmethod def absent_leader_nondet_output() -> 'VmError': return VmError('absent_leader_nondet_output') @staticmethod def exit_code() -> '_VmErrorExitCode': return _VmErrorExitCode() @staticmethod def wasm_trap() -> '_VmErrorWasmTrap': return _VmErrorWasmTrap() @staticmethod def oom() -> '_VmErrorOom': return _VmErrorOom() @staticmethod def invalid_contract() -> '_VmErrorInvalidContract': return _VmErrorInvalidContract() @staticmethod def host() -> '_VmErrorHost': return _VmErrorHost() EVENT_MAX_TOPICS: typing.Final[int] = 4