JsonValidatorWeight.java

  1. package com.syntifi.casper.sdk.model.era;

  2. import com.fasterxml.jackson.annotation.JsonIgnore;
  3. import com.fasterxml.jackson.annotation.JsonProperty;
  4. import com.syntifi.casper.sdk.annotation.ExcludeFromJacocoGeneratedReport;
  5. import com.syntifi.casper.sdk.model.key.PublicKey;
  6. import lombok.AllArgsConstructor;
  7. import lombok.Builder;
  8. import lombok.Getter;
  9. import lombok.NoArgsConstructor;
  10. import lombok.Setter;

  11. import java.math.BigInteger;

  12. /**
  13.  * Casper block validator weight
  14.  *
  15.  * @author Alexandre Carvalho
  16.  * @author Andre Bertolace
  17.  * @see JsonEraEnd
  18.  * @since 0.0.1
  19.  */
  20. @Getter
  21. @Setter
  22. @Builder
  23. @AllArgsConstructor
  24. @NoArgsConstructor
  25. public class JsonValidatorWeight {

  26.     /**
  27.      * @see PublicKey
  28.      */
  29.     @JsonProperty("public_key")
  30.     private PublicKey publicKey;

  31.     /**
  32.      * Decimal representation of a 512-bit integer
  33.      */
  34.     @JsonIgnore
  35.     private BigInteger weight;

  36.     @JsonProperty("weight")
  37.     @ExcludeFromJacocoGeneratedReport
  38.     protected String getJsonWeight() {
  39.         return this.weight.toString(10);
  40.     }

  41.     @JsonProperty("weight")
  42.     @ExcludeFromJacocoGeneratedReport
  43.     protected void setJsonWeight(String value) {
  44.         this.weight = new BigInteger(value, 10);
  45.     }
  46. }