[ecash-wallet, ecash-lib] Support chained XEC txs for XEC-only actions that would otherwise exceed the broadcast size limit
Summary:
Support automatic creation of "chained" txs to split up XEC-only Actions that would exceed MAX_TX_SERSIZE if built in a single tx.
This diff allows app developers to send XEC to an arbitrary number of recipients. It is useful for app payment use cases where the number of recipients of a payment may not be known beforehand. For example, an airdrop of XEC to token holders, where the number of token holders and their holdings changes over time, but payments should occur at fixed intervals.
We do not run into this constraint often. But the existing airdrop calculator in Cashtab should properly use this method, as attempting an XEC airdrop to holdres of any token with a few thousand holders would otherwise cause a MAX_TX_SERSIZE error.
Test Plan: npm test, CI
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D18867