com.jelurida.ardor.contracts

## Class RandomPayment

- java.lang.Object
- - nxt.addons.AbstractContract
  - - com.jelurida.ardor.contracts.RandomPayment

- All Implemented Interfaces:
    Contract

      public class RandomPayment
      extends AbstractContract

  Sample contract which receives amount from the trigger transaction and returns a random amount between 0 and twice the received amount. Warning: This design is inappropriate for gambling applications. The reason is that users can trigger this contract using a phased transaction and later not approve the trigger and response transactions in case they do not like the results. For a better approach to gambling application see the AllForOnePayment sample contract.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RandomPayment()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `JO` | `processTransaction(TransactionContext context)` Process a payment transaction and send back random amount to the sender

    - ### Methods inherited from class nxt.addons.AbstractContract

      `isDuplicate, processBlock, processInvocation, processRequest, processVoucher`

    - ### 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

    - #### RandomPayment

          public RandomPayment()

  - ### Method Detail

    - #### processTransaction

          public JO processTransaction(TransactionContext context)

      Process a payment transaction and send back random amount to the sender
      Specified by:
        `processTransaction` in interface `Contract`
      Overrides:
        `processTransaction` in class `AbstractContract`
      Parameters:
        `context` - contract context