Support new bip21 param in url at Cashtab's send screen. Parse it as a bip21 query string.
**Background**
Cashtab supports tx requests from webapps by parsing tx information from URL params.
CurrentlyBefore this diff, only `address` and `value` are supported. PayButton and cashtab-components use this approach.
Ultimately, should migrate to only supporting bip21, asAfter this can set address, amount, and optionally much more.s diff, However we should maintainwe continue to support for the legacy approach until it is not required by PayButton or cashtab-components`address` and `value` params in a backwards compatible way.
The various cases to handle here are unfortunately somewhat complex (bip21 or legacy? if legacy, do you have only value and not address?**Future**
We should migrate to only supporting bip21 param. is legacy valid?All new webapp features should be added through this param, are legacy params duplicated?)which is flexible and has a well-defined spec. However,There is no spec for the legacy Cashtab approach. automated integration testsWe should maintain support for how specific inputs are rendethe legacy approach until it is not required are straightforward to add for this featureby PayButton or cashtab-components.
Will be able to simplify once users have migrated to the bip21 approach**Reviewer notes**
The various cases to handle in this diff are unfortunately somewhat complex (bip21 or legacy? if legacy, do you have only value and not address? is legacy valid? are legacy params duplicated?). However, automated integration tests for how specific inputs are rendered are straightforward to add for this feature. Simplification should be achieved by deprecating support for legacy params when feasible.