Source code for stellar_sdk.xdr.set_options_result_code

# This is an automatically generated file.
# DO NOT EDIT or your changes may be overwritten
from __future__ import annotations

import base64
import json
from enum import IntEnum

from xdrlib3 import Packer, Unpacker

_SET_OPTIONS_RESULT_CODE_MAP = {
    0: "success",
    -1: "low_reserve",
    -2: "too_many_signers",
    -3: "bad_flags",
    -4: "invalid_inflation",
    -5: "cant_change",
    -6: "unknown_flag",
    -7: "threshold_out_of_range",
    -8: "bad_signer",
    -9: "invalid_home_domain",
    -10: "auth_revocable_required",
}
_SET_OPTIONS_RESULT_CODE_REVERSE_MAP = {
    "success": 0,
    "low_reserve": -1,
    "too_many_signers": -2,
    "bad_flags": -3,
    "invalid_inflation": -4,
    "cant_change": -5,
    "unknown_flag": -6,
    "threshold_out_of_range": -7,
    "bad_signer": -8,
    "invalid_home_domain": -9,
    "auth_revocable_required": -10,
}
__all__ = ["SetOptionsResultCode"]


[docs] class SetOptionsResultCode(IntEnum): """ XDR Source Code:: enum SetOptionsResultCode { // codes considered as "success" for the operation SET_OPTIONS_SUCCESS = 0, // codes considered as "failure" for the operation SET_OPTIONS_LOW_RESERVE = -1, // not enough funds to add a signer SET_OPTIONS_TOO_MANY_SIGNERS = -2, // max number of signers already reached SET_OPTIONS_BAD_FLAGS = -3, // invalid combination of clear/set flags SET_OPTIONS_INVALID_INFLATION = -4, // inflation account does not exist SET_OPTIONS_CANT_CHANGE = -5, // can no longer change this option SET_OPTIONS_UNKNOWN_FLAG = -6, // can't set an unknown flag SET_OPTIONS_THRESHOLD_OUT_OF_RANGE = -7, // bad value for weight/threshold SET_OPTIONS_BAD_SIGNER = -8, // signer cannot be masterkey SET_OPTIONS_INVALID_HOME_DOMAIN = -9, // malformed home domain SET_OPTIONS_AUTH_REVOCABLE_REQUIRED = -10 // auth revocable is required for clawback }; """ SET_OPTIONS_SUCCESS = 0 SET_OPTIONS_LOW_RESERVE = -1 SET_OPTIONS_TOO_MANY_SIGNERS = -2 SET_OPTIONS_BAD_FLAGS = -3 SET_OPTIONS_INVALID_INFLATION = -4 SET_OPTIONS_CANT_CHANGE = -5 SET_OPTIONS_UNKNOWN_FLAG = -6 SET_OPTIONS_THRESHOLD_OUT_OF_RANGE = -7 SET_OPTIONS_BAD_SIGNER = -8 SET_OPTIONS_INVALID_HOME_DOMAIN = -9 SET_OPTIONS_AUTH_REVOCABLE_REQUIRED = -10 def pack(self, packer: Packer) -> None: packer.pack_int(self.value) @classmethod def unpack(cls, unpacker: Unpacker) -> SetOptionsResultCode: value = unpacker.unpack_int() return cls(value) def to_xdr_bytes(self) -> bytes: packer = Packer() self.pack(packer) return packer.get_buffer() @classmethod def from_xdr_bytes(cls, xdr: bytes) -> SetOptionsResultCode: unpacker = Unpacker(xdr) result = cls.unpack(unpacker) remaining = len(xdr) - unpacker.get_position() if remaining != 0: raise ValueError(f"Unexpected trailing {remaining} bytes in XDR data") return result def to_xdr(self) -> str: xdr_bytes = self.to_xdr_bytes() return base64.b64encode(xdr_bytes).decode() @classmethod def from_xdr(cls, xdr: str) -> SetOptionsResultCode: xdr_bytes = base64.b64decode(xdr.encode()) return cls.from_xdr_bytes(xdr_bytes) def to_json(self) -> str: return json.dumps(self.to_json_dict()) @classmethod def from_json(cls, json_str: str) -> SetOptionsResultCode: return cls.from_json_dict(json.loads(json_str)) def to_json_dict(self) -> str: return _SET_OPTIONS_RESULT_CODE_MAP[self.value] @classmethod def from_json_dict(cls, json_value: str) -> SetOptionsResultCode: return cls(_SET_OPTIONS_RESULT_CODE_REVERSE_MAP[json_value])