INNER CODE UNIT · Python

_stdin_for

WMAL/kodachios · Kodachi-OS-10-stable/open/dock/lib/kodachi_direct.py:645

def _stdin_for(binding, stdin_values):
    names = binding["stdinParameters"]
    if not names:
        if stdin_values not in (None, b"", ""):
            raise DirectContractError("stdin was supplied to an operation that forbids it")
        return None
    if isinstance(stdin_values, bytearray):
        if len(stdin_values) > 65536:
            raise DirectContractError("confidential stdin exceeds 65536 bytes")
        return stdin_values
    if not isinstance(stdin_values, dict):
        raise DirectContractError(
            "required stdin must have one mutable bytearray owner")
    missing = [name for name in names
               if not isinstance(stdin_values.get(name), bytearray)]
    if missing:
        raise DirectContractError("required stdin value(s) are absent: " + ", ".join(missing))
    payload = bytearray()

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…