nxt.addons

## Class AbstractContract<InvocationData,ReturnedData>

- java.lang.Object
- - nxt.addons.AbstractContract<InvocationData,ReturnedData>

- All Implemented Interfaces:
    Contract<InvocationData,ReturnedData>
  Direct Known Subclasses:
    AllForOnePayment, AllowedActions, ChildToParentExchange, ContractWithInnerInterface, DatabaseAccess, DistributedRandomNumberGenerator, ForbiddenActions, ForgingReward, GetRandomNumber, HelloWorld, HelloWorldForwarder, IgnisArdorRates, LeaseRenewal, LiberlandCitizenRegistry, NewAccountFaucet, PropertyBasedLottery, RandomPayment, SplitPayment

      public abstract class AbstractContract<InvocationData,ReturnedData>
      extends java.lang.Object
      implements Contract<InvocationData,ReturnedData>

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractContract()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T extends TransactionResponse> boolean` | `isDuplicate(T myTransaction, java.util.List<T> existingUnconfirmedTransactions)`
    `JO` | `processBlock(BlockContext context)`
    `ReturnedData` | `processInvocation(DelegatedContext context, InvocationData data)`
    `JO` | `processRequest(RequestContext context)`
    `JO` | `processTransaction(TransactionContext context)`
    `JO` | `processVoucher(VoucherContext context)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface nxt.addons.Contract

      `minProductVersion`

- - ### Constructor Detail

    - #### AbstractContract

          public AbstractContract()

  - ### Method Detail

    - #### processBlock

          public JO processBlock(BlockContext context)

      Specified by:
        `processBlock` in interface `Contract<InvocationData,ReturnedData>`

    - #### processTransaction

          public JO processTransaction(TransactionContext context)

      Specified by:
        `processTransaction` in interface `Contract<InvocationData,ReturnedData>`

    - #### processRequest

          public JO processRequest(RequestContext context)

      Specified by:
        `processRequest` in interface `Contract<InvocationData,ReturnedData>`

    - #### processVoucher

          public JO processVoucher(VoucherContext context)

      Specified by:
        `processVoucher` in interface `Contract<InvocationData,ReturnedData>`

    - #### processInvocation

          public ReturnedData processInvocation(DelegatedContext context,
                                                InvocationData data)

      Specified by:
        `processInvocation` in interface `Contract<InvocationData,ReturnedData>`

    - #### isDuplicate

          public <T extends TransactionResponse> boolean isDuplicate(T myTransaction,
                                                                     java.util.List<T> existingUnconfirmedTransactions)

      Specified by:
        `isDuplicate` in interface `Contract<InvocationData,ReturnedData>`