[explorer] Support multi-token transactions
Summary:
The explorer was built under the assumption that every transaction only has one token ID. However, ALP allows multiple different tokens in one transaction, and even SLP can have arbitrarily many different tokens as inputs.
This diff adds support for transactions with multiple tokens:
- By showing a list of token IDs along with the transaction ID (instead of just one token ID)
- Shows "Multi eToken Transaction" if there are multiple tokens in the transaction (instead of just showing the first token ticker)
- Shows a token_info_table for each involved token (not just the first one)
- Shows the correct input / output token ticker and icon (instead of always showing the first token ticker + icon, which is incorrect)
Otherwise, the behavior is unchanged.
Depends on D16662.
Test Plan:
- cargo run
- Ensure txs are rendered correctly, e.g. 99d965ef70ac5c620906b72d7900721aea35295bf613aefe9f7ef91c83039a71, which now shows token inputs correctly
Reviewers: #bitcoin_abc, PiRK
Reviewed By: #bitcoin_abc, PiRK
Subscribers: PiRK
Differential Revision: https://reviews.bitcoinabc.org/D16666