🌅
Sunrise / Gluon Docs
  • Home
    • 👋Sunrise
  • 📜Learn
    • 🌆Sunrise
      • Proof of Liquidity
      • Fee Abstraction
      • Data Availability
      • Gauges Voting
      • Liquidity Pool
      • Liquidity Incentive
      • Swap
      • TokenConverter
      • Fee
      • Lockup Account
      • Bribes
    • 💴$RISE
      • Allocations
    • 🏦Gluon
    • 💴$GLU
    • 🎓Thesis
      • App chain thesis
      • Interoperability
  • 🛠️Build
    • 🚀Quick Start
    • Client
    • L2 Blockchains
      • Rollkit
        • Sunrise Data
        • Rollkit L2 Chain
      • OP Stack
        • Sunrise Data
        • OP Stack L2 Chain
    • Validators
      • Proof of Data Availability
      • Self Delegation
  • 🏗️Run a Sunrise Node
    • Networks
    • Types of Nodes
      • Consensus
        • Full Consensus Node
        • Validator Node (Genesis)
        • Validator Node
        • Setup Cosmovisor
      • IBC Relayers
    • Resources
      • Upgrade
      • Environment
  • 🏗️Run a Gluon Node
    • Networks
    • Node
      • Validator Node
  • 🔗Links
    • GitHub
    • Discord
    • X (Twitter)
    • Medium
    • dev.to
  • 📓Deprecated (UnUniFi)
    • IBC Channels
    • Security
    • CosmWasm
      • Tutorial
      • Create Project
    • IYA Strategy
      • Interface
      • External CosmWasm chain with IBCHooks
      • External EVM chain with Axelar
    • Frontend
      • Cosmos Client TS
    • Resources
    • Setup ununifid
    • ununifid
      • Basic Commands
      • Module Commands
        • wasm
    • Build a Node
    • Build a Validator Node
    • Setup Cosmovisor
    • Mainnet Upgrades
    • IBC Relayer
Powered by GitBook
On this page
  • x/selfdelegation Msg
  • Self Delegation Proxy Account
  • Query
  • Excute Msg
  • Delegatable Lockup Account
  • Excute Tx
  1. Build
  2. Validators

Self Delegation

Validators can increase their Voting Power by staking $RISE to themselves. This feature is only available for addresses registered as validators, such as MsgCreateValidator.

x/selfdelegation Msg

  1. MsgSelfDelegate

  2. MsgWithdrawSelfDelegationUnbonded

  • MsgSelfDelegate It creates a self-delegation proxy account if one does not exist. $RISE is sent to the proxy account to start delegation.

sunrised tx selfdelegation self-delegate [amount] [flags]
  • MsgWithdrawSelfDelegationUnbonded After Undelegate, after a certain period has expired, and when Unbonded, you can make a withdrawal; $RISE will be refunded to the balance in your account. Undelegate can be done with Proxy Account Tx as described below.

sunrised tx selfdelegation withdraw-self-delegation-unbonded [amount] [flags]

Self Delegation Proxy Account

$RISE self-delegation is processing through the Self Delegation Proxy Account.

When self-delegation takes place, the $RISE is moved to the Proxy Account. The Proxy Account converts the $RISE to $vRISE and acts as your delegator.

Query

Use x/selfdelegation query and find your proxy account.

sunrised q selfdelegation self-delegation-proxy-account-by-owner [your-address]

Excute Msg

  1. MsgUndelegate

  2. MsgWithdrawReward

  3. MsgSend

On CLI, use

sunrised tx accounts execute [proxy-account-address] [execute-msg-type-url] [json-message] [flags]
  • MsgUndelegate Delegation from Proxy Account is cancelled. After a certain amount period, it becomes withdrawable by MsgWithdrawSelfDelegationUnbonded of x/selfdelegation.

  • MsgWithdrawReward Withdraws the delegation reward. Withdrawn rewards can be sent to other accounts via MsgSend.

  • MsgSend Send available funds to other accounts.

sunrise.accounts.self_delegation_proxy.v1.MsgUndelegate

sunrised tx accounts execute sunrise1jpaxtum2vckspj6nqe0pjkk7pxel0avuyz8dehpe87qxk5w0yc5s4qtzul sunrise.accounts.self_delegation_proxy.v1.MsgUndelegate "{\"amount\":\"4000\"}"
message MsgUndelegate {
  option (cosmos.msg.v1.signer) = "sender";
  string sender = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
  // Amount of bond denom
  string amount = 2 [
    (cosmos_proto.scalar) = "cosmos.Int",
    (gogoproto.customtype) = "cosmossdk.io/math.Int",
    (gogoproto.nullable) = false
  ];
}

sunrise.accounts.self_delegation_proxy.v1.MsgWithdrawReward

message MsgWithdrawReward {
  option (cosmos.msg.v1.signer) = "sender";

  string sender = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
  string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"];
}

sunrise.accounts.self_delegation_proxy.v1.MsgSend

message MsgSend {
  option (cosmos.msg.v1.signer) = "sender";

  string sender = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
  string to_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
  repeated cosmos.base.v1beta1.Coin amount = 3 [
    (gogoproto.nullable) = false,
    (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
  ];
}

Delegatable Lockup Account

A self-delegatable lockup account allows validators to self-delegation.

Excute Tx

The following Txs are supported with self-delegatable lockup accounts

  1. MsgSelfDelegate

  2. MsgWithdrawSelfDelegationUnbonded

On CLI, use

sunrised tx accounts execute [account-address] [execute-msg-type-url] [json-message] [flags]

sunrise.accounts.self_delegatable_lockup.v1.MsgSelfDelegate

sunrised tx accounts execute sunrise1jpaxtum2vckspj6nqe0pjkk7pxel0avuyz8dehpe87qxk5w0yc5s4qtzul sunrise.accounts.self_delegatable_lockup.v1.MsgSelfDelegate "{\"amount\":\"4000\"}"
message MsgSelfDelegate {
  string sender = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
  // Amount of fee denom
  string amount = 2 [
    (cosmos_proto.scalar) = "cosmos.Int",
    (gogoproto.customtype) = "cosmossdk.io/math.Int",
    (gogoproto.nullable) = false
  ];
}

sunrise.accounts.self_delegatable_lockup.v1.MsgWithdrawSelfDelegationUnbonded

message MsgWithdrawSelfDelegationUnbonded {
  string sender = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
  // Amount of bond denom
  string amount = 2 [
    (cosmos_proto.scalar) = "cosmos.Int",
    (gogoproto.customtype) = "cosmossdk.io/math.Int",
    (gogoproto.nullable) = false
  ];
}
PreviousProof of Data AvailabilityNextNetworks

Last updated 2 months ago

In Sunrise mainnet, Airdrops and other funds granted by Genesis are locked for a certain period of time as a lockup account. For more details, see .

🛠️
Lockup Account