@@ -0,0 +1,1584 @@
+package org.ethereum.core;%0A%0Aimport java.util.concurrent.Future;%0A%0A/**%0A * Keeps the track of Transaction execution steps%0A * Initially the result is null when the transaction is not yet%0A * propagated to the PendingState%0A * Then it can subsequently produce several pending results%0A * when transaction is not yet included to a block but executed%0A * on top of imported blocks%0A * Finally it should contain the result when the transaction is%0A * included to a mined block. Note that there could be several%0A * final states when the transaction is included into several%0A * blocks on different chain forks%0A * Also the transaction might not be included into any block%0A * under certain circumstances%0A *%0A * Created by Anton Nashatyrev on 14.04.2016.%0A */%0Apublic interface TransactionResult %7B%0A%0A    Transaction getTransaction();%0A%0A    /**%0A     * Returns the latest available execution result.%0A     * May return null if transaction is not yet handled by the PendingState%0A     */%0A    TransactionInfo getLatestResult();%0A%0A    /**%0A     * Returns future pending result(s) and mined block result(s)%0A     */%0A    Future%3CTransactionInfo%3E getNextResult();%0A%0A    /**%0A     * Returns future mined block result(s)%0A     */%0A    Future%3CTransactionInfo%3E getNextBlockResult();%0A%0A    /**%0A     * Returns the future result when the transaction is confirmed by confirmationBlocksCount%0A     * blocks.%0A     * I.e. when there at least confirmationBlocksCount blocks mined on the main chain%0A     * after the block which contains this transaction%0A     */%0A    Future%3CTransactionInfo%3E getConfirmedResult(int confirmationBlocksCount);%0A%7D%0A

Add TransactionResult concept