The tx-broadcast was tied completely to a 'payment' object, this is now
more made into individual parts that can be reused outside of the
'payment' usecase.
This splits the latter class into an abstract baseclass that finds a
server and handshakes with it called ElectronXClient
and then as a subclass the import handler handling doing what it always
did.
The Payment specific methods paymentAmount and paymentAmountFiat are now
made to return the data from the first output and no longer required
there to be exactly one.
This allows these methods to still give useful info in the case of
payment protocol based creation of more complex payment objects.
This takes the concept added some 5 years ago to Electron-Cash and adds
this to Flowee Pay as well.
In a nutshell, it allows a bip21 style payment request to include a
'comment' with the argument op_return_raw
This comment is expected to be a hex-encoded data payload that then will
be added as a single output to the transaction we build to fullfill the
payment request.
As a natural consequence of how uri's work, adding the argument multiple
times will cause multiple outputs to be generated. We check that this
does not exceed the expected max sizing for op-return.
The Tx::Iterator no longer returns the token data as part of the
output-script, but instead sees them as separate tags.
This removes most of the code here, and makes future deeper
support of cashtokens much easier.
THese two countries use the Euro, but unline most Euro
countries they put the currency indicator behind the
numbers.
With Slovenia even avoiding the euro-sign in most places.
This adds the specialization based on the phone set country.
this changes the call for historicalPrice() to now take the (int based)
timestamp as a ref and we change that to the actually found timestamp
upon success.
When we start up we use the last known price information and also fetch
new data.
When the user shows the price details popup before the fetch has
completed, they may be mislead into thinking that they are looking at
current data while they are not.
So this shows a bouncy while we are fetching.
The popup showing details of a certain list-item had the down-side that
the list item we selected was made darker with the rest of the screen,
making it harder to understand the whole info.
This change repeats the clicked item inside the popup in a way that
makes it immediately clear which transaction we are showing details of.
This applies the knowledge learned from mobile to desktop too.
Also set the initially selected import year to 2023 and avoid
long imports for most people.
This changes us to no longer use the exception to find out the
time is before the checkpoint, but instead checks directly.
This was needed since upstream changed to no longer throw since that's
still a bad practice in C++
We check the first block to figure out if the download is actually the
same one we are about to start, and if it is then Pay will not re-
download the part that is already on disk.
We set the UI to change from 'downloading' state to 'processing' state,
and now we give the UI the processor time to actually show this new
state on the screen before we start that processing step.
seems renaming a file that is mapped is not possible on Android, but
remove is. This code now removes the original static headers after we
get an approval of the downloaded file.