DealState
Keywords: net.corda.finance.contracts.DealState interface
Date: 2023-09-18

net.corda.finance.contracts

## Interface DealState

- All Superinterfaces:
    ContractState, LinearState
  All Known Subinterfaces:
    FixableDealState

      public DealState
      extends LinearState

  Interface representing an agreement that exposes various attributes that are common. Implementing it simplifies implementation of general flows that manipulate many agreement types.

- - ### Constructor Detail

    - #### DealState

          public DealState()

  - ### Method Detail

    - #### generateAgreement

          @NotNull
          TransactionBuilder generateAgreement(@NotNull
                                                        Party notary)

      Generate a partial transaction representing an agreement (command) to this deal, allowing a general deal/agreement flow to generate the necessary transaction for potential implementations.

      TODO: Currently this is the "inception" transaction but in future an offer of some description might be an input state ref

      TODO: This should more likely be a method on the Contract (on a common interface) and the changes to reference a Contract instance from a ContractState are imminent, at which point we can move this out of here.