MCPcopy
hub / github.com/canopy-network/canopy / MessageStake

Struct MessageStake

fsm/message.pb.go:111–133  ·  view source on GitHub ↗

MessageStake is the Validator registration message, locking up a certain amount of tokens. Staking as a non-delegate is registering for active participation in the committee(s) consensus process(es), whereas delegate is passive participation that acts as a contribution to which committees are subsid

Source from the content-addressed store, hash-verified

109// protocol. Either the operator or the sender may originate the stake transaction, but the funds are removed from
110// the sender's account
111type MessageStake struct {
112 state protoimpl.MessageState `protogen:"open.v1"`
113 // public_key: the public cryptographic identity of the Validator operator that is unique to a users
114 // secret private key
115 PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"publicKey"` // @gotags: json:"publicKey"
116 // amount: is the amount of tokens to be removed from the sender account and locked as a surety bond against bad
117 // behavior
118 Amount uint64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
119 // committees: is the list of committees the validator is restaking their tokens towards
120 Committees []uint64 `protobuf:"varint,3,rep,packed,name=committees,proto3" json:"committees,omitempty"`
121 // net_address: is the tcp peer-to-peer address of the peer
122 NetAddress string `protobuf:"bytes,4,opt,name=net_address,json=netAddress,proto3" json:"netAddress"` // @gotags: json:"netAddress"
123 // output_address: is the short version of the public key where reward and unstaking funds will be distributed to
124 OutputAddress []byte `protobuf:"bytes,5,opt,name=output_address,json=outputAddress,proto3" json:"outputAddress"` // @gotags: json:"outputAddress"
125 // delegate: signals whether the Validator is a delegate or not
126 Delegate bool `protobuf:"varint,6,opt,name=delegate,proto3" json:"delegate,omitempty"`
127 // compound: signals whether the Validator is auto-compounding or not
128 Compound bool `protobuf:"varint,7,opt,name=compound,proto3" json:"compound,omitempty"`
129 // signer: auto-populated by the state machine to assign the authorized signer who executed the transaction
130 Signer []byte `protobuf:"bytes,8,opt,name=signer,proto3" json:"signer,omitempty"`
131 unknownFields protoimpl.UnknownFields
132 sizeCache protoimpl.SizeCache
133}
134
135func (x *MessageStake) Reset() {
136 *x = MessageStake{}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected