@Test public void stateErrors() throws Exception { PaymentChannelClientState channelState = makeClientState(wallet, myKey, serverKey, COIN.multiply(10), 20); assertEquals(PaymentChannelClientState.State.NEW, channelState.getState()); try { channelState.getContract(); fail(); } catch (IllegalStateException e) { // Expected. } try { channelState.initiate(); fail(); } catch (InsufficientMoneyException e) { } }
assertTrue(client.state().getState() == PaymentChannelClientState.State.CLOSED);
break; assertEquals(PaymentChannelClientState.State.NEW, clientState.getState()); clientState.initiate(null, new PaymentChannelClient.DefaultClientChannelProperties() { @Override assertEquals(getInitialClientState(), clientState.getState()); assertEquals(PaymentChannelClientState.State.SAVE_STATE_IN_WALLET, clientState.getState()); clientState.fakeSave(); assertEquals(PaymentChannelClientState.State.PROVIDE_MULTISIG_CONTRACT_TO_SERVER, clientState.getState()); assertEquals(PaymentChannelV1ClientState.State.READY, clientState.getState()); assertEquals(2, multisigContract.getOutputs().size()); // One multi-sig, one change. Script script = multisigContract.getOutput(0).getScriptPubKey();
assertEquals(PaymentChannelClientState.State.NEW, clientState.getState()); clientState.initiate(); assertEquals(getInitialClientState(), clientState.getState()); refund = clientV2State().getRefundTransaction(); assertEquals(PaymentChannelClientState.State.SAVE_STATE_IN_WALLET, clientState.getState()); clientState.fakeSave(); assertEquals(PaymentChannelClientState.State.PROVIDE_MULTISIG_CONTRACT_TO_SERVER, clientState.getState()); assertEquals(PaymentChannelClientState.State.READY, clientState.getState()); assertEquals(2, multisigContract.getOutputs().size()); // One multi-sig, one change. Script script = multisigContract.getOutput(0).getScriptPubKey(); assertEquals(PaymentChannelClientState.State.CLOSED, clientState.getState());
assertEquals(PaymentChannelClientState.State.NEW, clientState.getState()); assertEquals(CENT.divide(2), clientState.getTotalValue()); clientState.initiate(); assertEquals(getInitialClientState(), clientState.getState()); assertEquals(PaymentChannelClientState.State.SAVE_STATE_IN_WALLET, clientState.getState()); clientState.fakeSave(); assertEquals(PaymentChannelClientState.State.PROVIDE_MULTISIG_CONTRACT_TO_SERVER, clientState.getState()); assertEquals(PaymentChannelClientState.State.READY, clientState.getState()); assertEquals(2, multisigContract.getOutputs().size()); // One multi-sig, one change. Script script = multisigContract.getOutput(0).getScriptPubKey();
assertEquals(PaymentChannelClientState.State.NEW, clientState.getState()); try { clientState.initiate(); Transaction.MIN_NONDUST_OUTPUT.subtract(Coin.SATOSHI).add(Transaction.REFERENCE_DEFAULT_MIN_TX_FEE), EXPIRE_TIME); assertEquals(PaymentChannelClientState.State.NEW, clientState.getState()); try { clientState.initiate(); assertEquals(PaymentChannelClientState.State.NEW, clientState.getState()); assertEquals(getInitialClientState(), clientState.getState()); assertEquals(PaymentChannelClientState.State.NEW, clientState.getState()); clientState.initiate(); assertEquals(Transaction.REFERENCE_DEFAULT_MIN_TX_FEE.multiply(2), clientState.getRefundTxFees()); assertEquals(getInitialClientState(), clientState.getState()); assertEquals(PaymentChannelClientState.State.SAVE_STATE_IN_WALLET, clientState.getState()); clientState.fakeSave(); assertEquals(PaymentChannelClientState.State.PROVIDE_MULTISIG_CONTRACT_TO_SERVER, clientState.getState()); assertEquals(PaymentChannelClientState.State.READY, clientState.getState());
assertEquals(PaymentChannelClientState.State.NEW, clientState.getState()); clientState.initiate(); assertEquals(getInitialClientState(), clientState.getState()); refund = clientV2State().getRefundTransaction(); assertEquals(PaymentChannelClientState.State.SAVE_STATE_IN_WALLET, clientState.getState()); clientState.fakeSave(); assertEquals(PaymentChannelClientState.State.PROVIDE_MULTISIG_CONTRACT_TO_SERVER, clientState.getState()); assertEquals(PaymentChannelClientState.State.READY, clientState.getState()); assertEquals(2, multisigContract.getOutputs().size()); // One multi-sig, one change. Script script = multisigContract.getOutput(0).getScriptPubKey();
assertEquals(PaymentChannelClientState.State.NEW, clientState.getState()); clientState.initiate(); assertEquals(getInitialClientState(), clientState.getState()); assertEquals(PaymentChannelClientState.State.SAVE_STATE_IN_WALLET, clientState.getState()); clientState.fakeSave(); assertEquals(PaymentChannelClientState.State.PROVIDE_MULTISIG_CONTRACT_TO_SERVER, clientState.getState());