class CoingiDepthRange {
  private BigDecimal price;

  private BigDecimal amount;

  public CoingiDepthRange(
      @JsonProperty("price") BigDecimal price, @JsonProperty("amount") BigDecimal amount) {
    this.price = Objects.requireNonNull(price);
    this.amount = Objects.requireNonNull(amount);
  }

  public BigDecimal getPrice() {
    return price;
  }

  public BigDecimal getAmount() {
    return amount;
  }

  @Override
  public boolean equals(final Object o) {<FILL_FUNCTION_BODY>}

  @Override
  public int hashCode() {
    return Objects.hash(price, amount);
  }
}

    if (this == o) return true;

    if (o == null || getClass() != o.getClass()) return false;

    CoingiDepthRange that = (CoingiDepthRange) o;
    return Objects.equals(price, that.price) && Objects.equals(amount, that.amount);
  
<no_super_class>