class CoinbaseTransactionInfoResult implements CoinbaseTransactionInfo {

    private final String id;
    private final Date createdAt;
    private final CoinbaseMoney amount;
    private final boolean request;
    private final CoinbaseTransactionStatus status;
    private final CoinbaseUser sender;
    private final CoinbaseUser recipient;
    private final String recipientAddress;
    private final String notes;
    private final String transactionHash;
    private final String idempotencyKey;

    private CoinbaseTransactionInfoResult(
        @JsonProperty("id") final String id,
        @JsonProperty("created_at") @JsonDeserialize(using = ISO8601DateDeserializer.class)
            final Date createdAt,
        @JsonProperty("amount") final CoinbaseMoney amount,
        @JsonProperty("request") final boolean request,
        @JsonProperty("status") final CoinbaseTransactionStatus status,
        @JsonProperty("sender") final CoinbaseUserInfo sender,
        @JsonProperty("recipient") final CoinbaseUserInfo recipient,
        @JsonProperty("recipient_address") final String recipientAddress,
        @JsonProperty("notes") final String notes,
        @JsonProperty("hsh") final String transactionHash,
        @JsonProperty("idem") final String idempotencyKey) {

      this.id = id;
      this.createdAt = createdAt;
      this.amount = amount;
      this.request = request;
      this.status = status;
      this.sender = new CoinbaseUser(sender);
      this.recipient = new CoinbaseUser(recipient);
      this.recipientAddress = recipientAddress;
      this.notes = notes;
      this.transactionHash = transactionHash;
      this.idempotencyKey = idempotencyKey;
    }

    @Override
    public String getId() {

      return id;
    }

    @Override
    public Date getCreatedAt() {

      return createdAt;
    }

    @Override
    public CoinbaseMoney getAmount() {

      return amount;
    }

    @Override
    public boolean isRequest() {

      return request;
    }

    @Override
    public CoinbaseTransactionStatus getStatus() {

      return status;
    }

    @Override
    public CoinbaseUser getSender() {

      return sender;
    }

    @Override
    public CoinbaseUser getRecipient() {

      return recipient;
    }

    @Override
    public String getRecipientAddress() {

      return recipientAddress;
    }

    @Override
    public String getNotes() {

      return notes;
    }

    @Override
    public String getTransactionHash() {

      return transactionHash;
    }

    @Override
    public String getIdempotencyKey() {

      return idempotencyKey;
    }

    @Override
    public String toString() {<FILL_FUNCTION_BODY>}
  }


      return "CoinbaseTransactionInfoResult [id="
          + id
          + ", createdAt="
          + createdAt
          + ", amount="
          + amount
          + ", request="
          + request
          + ", status="
          + status
          + ", sender="
          + sender
          + ", recipient="
          + recipient
          + ", recipientAddress="
          + recipientAddress
          + ", notes="
          + notes
          + ", transactionHash="
          + transactionHash
          + ", idempotencyKey="
          + idempotencyKey
          + "]";
    
<methods>public List<java.lang.String> getErrors() ,public boolean isSuccess() ,public java.lang.String toString() <variables>private final non-sealed List<java.lang.String> errors,private final non-sealed boolean success