Source code for evmos.eip712.staking

from __future__ import annotations

from typing import Final

from evmos.eip712.base import MsgInterface, MsgWithValidatorInterface

MSG_DELEGATE_TYPES: Final = {
    'MsgValue': [
        {'name': 'delegator_address', 'type': 'string'},
        {'name': 'validator_address', 'type': 'string'},
        {'name': 'amount', 'type': 'TypeAmount'},
    ],
    'TypeAmount': [
        {'name': 'denom', 'type': 'string'},
        {'name': 'amount', 'type': 'string'},
    ],
}
"""Types for delegation message."""


[docs]def create_msg_delegate( delegator_address: str, validator_address: str, amount: str, denom: str, ) -> MsgInterface: """Create delegation message.""" return { 'type': 'cosmos-sdk/MsgDelegate', 'value': { 'amount': {'amount': amount, 'denom': denom}, 'delegator_address': delegator_address, 'validator_address': validator_address, }, }
MSG_BEGIN_REDELEGATE_TYPES: Final = { 'MsgValue': [ {'name': 'delegator_address', 'type': 'string'}, {'name': 'validator_src_address', 'type': 'string'}, {'name': 'validator_dst_address', 'type': 'string'}, {'name': 'amount', 'type': 'TypeAmount'}, ], 'TypeAmount': [ {'name': 'denom', 'type': 'string'}, {'name': 'amount', 'type': 'string'}, ], } """Types for redelegation beginning message."""
[docs]def create_msg_begin_redelegate( delegator_address: str, validator_src_address: str, validator_dst_address: str, amount: str, denom: str, ) -> MsgInterface: """Create redelegation beginning message.""" return { 'type': 'cosmos-sdk/MsgBeginRedelegate', 'value': { 'amount': {'amount': amount, 'denom': denom}, 'delegator_address': delegator_address, 'validator_src_address': validator_src_address, 'validator_dst_address': validator_dst_address, }, }
MSG_UNDELEGATE_TYPES: Final = { 'MsgValue': [ {'name': 'delegator_address', 'type': 'string'}, {'name': 'validator_address', 'type': 'string'}, {'name': 'amount', 'type': 'TypeAmount'}, ], 'TypeAmount': [ {'name': 'denom', 'type': 'string'}, {'name': 'amount', 'type': 'string'}, ], } """Types for delegation cancellation message."""
[docs]def create_msg_undelegate( delegator_address: str, validator_address: str, amount: str, denom: str, ) -> MsgInterface: """Create delegation cancellation message.""" return { 'type': 'cosmos-sdk/MsgUndelegate', 'value': { 'amount': {'amount': amount, 'denom': denom}, 'delegator_address': delegator_address, 'validator_address': validator_address, }, }
MSG_WITHDRAW_DELEGATOR_REWARD_TYPES: Final = { 'MsgValue': [ {'name': 'delegator_address', 'type': 'string'}, {'name': 'validator_address', 'type': 'string'}, ], } """Types for delegation reward withdrawal message."""
[docs]def create_msg_withdraw_delegator_reward( delegator_address: str, validator_address: str, ) -> MsgInterface: """Create delegation reward withdrawal message.""" return { 'type': 'cosmos-sdk/MsgWithdrawDelegationReward', 'value': { 'delegator_address': delegator_address, 'validator_address': validator_address, }, }
MSG_WITHDRAW_VALIDATOR_COMMISSION_TYPES: Final = { 'MsgValue': [{'name': 'validator_address', 'type': 'string'}], } """Types for validator commission withdrawal message."""
[docs]def create_msg_withdraw_validator_commission( validator_address: str, ) -> MsgWithValidatorInterface: """Create validator commission withdrawal message.""" return { 'type': 'cosmos-sdk/MsgWithdrawValidatorCommission', 'value': {'validator_address': validator_address}, }
MSG_SET_WITHDRAW_ADDRESS_TYPES: Final = { 'MsgValue': [ {'name': 'delegator_address', 'type': 'string'}, {'name': 'withdraw_address', 'type': 'string'}, ], } """Types for validator withdrawal address setting message."""
[docs]def create_msg_set_withdraw_address( delegator_address: str, withdraw_address: str, ) -> MsgInterface: """Create validator withdrawal address setting message.""" return { 'type': 'cosmos-sdk/MsgModifyWithdrawAddress', 'value': { 'delegator_address': delegator_address, 'withdraw_address': withdraw_address, }, }