# Source: src/main/js/wallet/model/MoneroCheckTx.js

    const MoneroCheck = require("./MoneroCheck");
    const BigInteger = require("../../common/biginteger").BigInteger;

    /**
     * Results from checking a transaction key.
     *
     * @extends {MoneroCheck}
     */
    class MoneroCheckTx extends MoneroCheck {

      constructor(state) {
        super(state);
        if (this.state.receivedAmount !== undefined && !(this.state.receivedAmount instanceof BigInteger)) this.state.receivedAmount = BigInteger.parse(this.state.receivedAmount);
      }

      toJson() {
        let json = Object.assign({}, this.state);
        if (this.getReceivedAmount()) json.receivedAmount = this.getReceivedAmount().toString();
        return json;
      }

      inTxPool() {
        return this.state.inTxPool;
      }

      setInTxPool(inTxPool) {
        this.state.inTxPool = inTxPool;
        return this;
      }

      getNumConfirmations() {
        return this.state.numConfirmations;
      }

      setNumConfirmations(numConfirmations) {
        this.state.numConfirmations = numConfirmations;
        return this;
      }

      getReceivedAmount() {
        return this.state.receivedAmount;
      }

      setReceivedAmount(receivedAmount) {
        this.state.receivedAmount = receivedAmount;
        return this;
      }
    }

    module.exports = MoneroCheckTx;