John Newbery 6d07c62322 Return correct error codes in bumpfee().
The bumpfee() RPC was returning misleading or incorrect error codes
(for example RPC_INVALID_ADDRESS_OR_KEY when the transaction was not
BIP125 replacable). This commit fixes those error codes:

- RPC_INVALID_ADDRESS_OR_KEY if an invalid address was provided:
    - Invalid change address given
- RPC_INVALID_PARAMETER if a single (non-address/key) parameter is incorrect
    - confTarget and totalFee options should not both be set.
    - Invalid confTarget
    - Insufficient totalFee (cannot be less than required fee)
- RPC_WALLET_ERROR for any other error
    - Transaction has descendants in the wallet
    - Transaction has descendants in the mempool
    - Transaction has been mined, or is conflicted with a mined transaction
    - Transaction is not BIP 125 replaceable
    - Transaction has already been bumped
    - Transaction contains inputs that don't belong to the wallet
    - Transaction has multiple change outputs
    - Transaction does not have a change output
    - Fee is higher than maxTxFee
    - New fee rate is less than the minimum fee rate
    - Change output is too small.

This commit also updates the test cases to explicitly test the error code.
2017-03-07 16:45:09 -05:00
..
2017-01-27 21:22:35 +01:00
2016-12-01 16:14:45 -08:00
2016-12-12 11:08:47 -08:00
2017-01-27 21:22:35 +01:00
2017-02-17 17:27:18 +01:00
2017-01-27 21:22:35 +01:00
2017-01-14 21:45:32 +01:00
2017-02-17 15:28:28 -08:00
2017-02-23 01:06:04 -05:00
2017-01-27 21:22:35 +01:00
2016-06-27 18:17:27 +02:00
2017-01-27 21:22:35 +01:00
2017-01-27 21:22:35 +01:00