nimiq/transaction/staking_data
Types
pub type Blake2bHash =
  BitArrayLength: 285 bytes
pub type BlsPublicKey =
  BitArrayLength: 95 bytes
pub type BlsSignature =
  BitArraypub type IncomingStakingData {
  CreateValidator(
    signing_key: public_key.PublicKey,
    voting_key: BitArray,
    reward_address: address.Address,
    signal_data: option.Option(BitArray),
    proof_of_knowledge: BitArray,
    proof: signature_proof.SignatureProof,
  )
  UpdateValidator(
    new_signing_key: option.Option(public_key.PublicKey),
    new_voting_key: option.Option(BitArray),
    new_reward_address: option.Option(address.Address),
    new_signal_data: option.Option(option.Option(BitArray)),
    new_proof_of_knowledge: option.Option(BitArray),
    proof: signature_proof.SignatureProof,
  )
  DeactivateValidator(
    validator_address: address.Address,
    proof: signature_proof.SignatureProof,
  )
  ReactivateValidator(
    validator_address: address.Address,
    proof: signature_proof.SignatureProof,
  )
  RetireValidator(proof: signature_proof.SignatureProof)
  CreateStaker(
    delegation: option.Option(address.Address),
    proof: signature_proof.SignatureProof,
  )
  AddStake(staker_address: address.Address)
  UpdateStaker(
    new_delegation: option.Option(address.Address),
    reactivate_all_stake: Bool,
    proof: signature_proof.SignatureProof,
  )
  SetActiveStake(
    new_active_balance: coin.Coin,
    proof: signature_proof.SignatureProof,
  )
  RetireStake(
    retire_stake: coin.Coin,
    proof: signature_proof.SignatureProof,
  )
}Constructors
- 
          CreateValidator( signing_key: public_key.PublicKey, voting_key: BitArray, reward_address: address.Address, signal_data: option.Option(BitArray), proof_of_knowledge: BitArray, proof: signature_proof.SignatureProof, )Arguments- proof
- 
                This proof is signed with the validator cold key, which will become the validator address. 
 
- 
          UpdateValidator( new_signing_key: option.Option(public_key.PublicKey), new_voting_key: option.Option(BitArray), new_reward_address: option.Option(address.Address), new_signal_data: option.Option(option.Option(BitArray)), new_proof_of_knowledge: option.Option(BitArray), proof: signature_proof.SignatureProof, )Arguments- proof
- 
                This proof is signed with the validator cold key. 
 
- 
          DeactivateValidator( validator_address: address.Address, proof: signature_proof.SignatureProof, )Arguments- proof
- 
                This proof is signed with the validator warm key. 
 
- 
          ReactivateValidator( validator_address: address.Address, proof: signature_proof.SignatureProof, )Arguments- proof
- 
                This proof is signed with the validator warm key. 
 
- 
          RetireValidator(proof: signature_proof.SignatureProof)Arguments- proof
- 
                This proof is signed with the validator cold key. 
 
- 
          CreateStaker( delegation: option.Option(address.Address), proof: signature_proof.SignatureProof, )
- 
          AddStake(staker_address: address.Address)
- 
          UpdateStaker( new_delegation: option.Option(address.Address), reactivate_all_stake: Bool, proof: signature_proof.SignatureProof, )
- 
          SetActiveStake( new_active_balance: coin.Coin, proof: signature_proof.SignatureProof, )
- 
          RetireStake( retire_stake: coin.Coin, proof: signature_proof.SignatureProof, )
pub type OutgoingStakingData {
  DeleteValidator
  RemoveStake
}Constructors
- 
          DeleteValidator
- 
          RemoveStake
Values
pub fn deserialize(
  buf: BitArray,
) -> Result(#(IncomingStakingData, BitArray), String)pub fn deserialize_all(
  buf: BitArray,
) -> Result(IncomingStakingData, String)pub fn from_int(
  value: Int,
) -> Result(OutgoingStakingData, String)pub fn serialize(
  builder: bytes_tree.BytesTree,
  data: IncomingStakingData,
) -> bytes_tree.BytesTreepub fn serialize_to_bits(data: IncomingStakingData) -> BitArraypub fn to_hex(data: IncomingStakingData) -> Stringpub fn to_int(data: OutgoingStakingData) -> Int