Additional testing scenarios to add to integration tests:
Deposit, iterative self transfer. Client performs self transfer to itself iteratively until the locktime reaches the current blockheight, the withdraw.
Deposit, repeat send. After deposit, client sends to new (randomly generated) ml address (repeats transfer-sender) 1000 times, then transfer-sender to same wallet and transfer-receiver.
Transfer-sender after transfer-receiver: one wallet sends, second wallet receives. Original wallet tries transfer-sender again - should receive error.
Interruption of transfer-sender.
Interruption of transfer-reciever.
Deposit of 1000 coins in same wallet, and transfer each one 1000 times.
Successful test - all transfers complete within batch_time complete.
One party doesn't compete transfer-receiver before the timeout. Both wallets should be able to repeat transfer-sender and transfer-receiver back to new addresses without error, after the timeout.
Second party performs transfer-sender with incorrect or missing batch-id. First party should still receive OK.
First party performs transfer-sender without batch_id.
Additional testing scenarios to add to integration tests: