Source code for evmos.eip712.validator

from __future__ import annotations

from typing import Final

from evmos.constants import NOT_MODIFY
from evmos.eip712.base import MsgInterface

MSG_EDIT_VALIDATOR_TYPES: Final = {
    "TypeDescription": [
        {"name": "moniker", "type": "string"},
        {"name": "identity", "type": "string"},
        {"name": "website", "type": "string"},
        {"name": "security_contact", "type": "string"},
        {"name": "details", "type": "string"},
    ],
    "MsgValue": [
        {"name": "description", "type": "TypeDescription"},
        {"name": "validator_address", "type": "string"},
        {"name": "commission_rate", "type": "string"},
        {"name": "min_self_delegation", "type": "string"},
    ],
}
"""Types for validator editing message."""


[docs] def create_msg_edit_validator( *, moniker: str | None, identity: str | None, website: str | None, security_contact: str | None, details: str | None, validator_address: str, commission_rate: int | str | None = None, min_self_delegation: int | str | None = None, ) -> MsgInterface: """Create validator editing message.""" return { "type": "cosmos-sdk/MsgEditValidator", "value": { "description": { "moniker": moniker or NOT_MODIFY, "identity": identity or NOT_MODIFY, "website": website or NOT_MODIFY, "security_contact": security_contact or NOT_MODIFY, "details": details or NOT_MODIFY, }, "validator_address": validator_address, "commission_rate": str(commission_rate or "<nil>"), "min_self_delegation": str(min_self_delegation or "<nil>"), }, }