The trade simulation scripts check that bitcoind, seed node,
arbitration node, and bob & alice nodes are running at startup,
but the bash pgrep command used to find the PIDs does not work on
OSX (my darwin20), so an adjustment was made to the env script to
find java PIDs with ps and awk if running on OSX.
Two additonal startup checks were added: make sure the script is
running on supported OS (Linux or OSX), and bitcoin-cli is in
the PATH.
Also removed usage error text about registering dispute agents.
The scripts do that now.
Adds countryCode to AmazonGiftCardAccountPayload
Account upgrade done at startup => Eurozone accounts will prompt for country.
Trade buyer step 2 prompts use of the appropriate Amazon website for buying gift card.
There is no need to simulate the time it takes between
receiving a 'payment sent' msg and having funds (fiat) deposited
in the seller's bank account. But there is need to explain
that in the script.
We cannot use a listener at RequestDataManager as the order
is not defined if doing so.
So we use P2PService as our controlling entity to call
further clients in the correct order.
We cannot use a listener at RequestDataManager as the order
is not defined if doing so.
So we use P2PService as our controlling entity to call
further clients in the correct order.
Undo the earlier simplification changes to getTransactionConfidence,
which preserved its original but broken behaviour. Fix the original
stream pipeline so that each matching tx input maps to the confidence of
the connected parent tx (if any), not the child tx. In this way, it
correctly considers parent tx confidences when determining the most
recent confidence of all the matching inputs & outputs.
Before it was simply feeding a repeating list of identical objects into
getMostRecentConfidence, via the erroneous line:
.map(o -> tx.getConfidence())
(Also add a missing @Nullable annotation & make getMostRecentConfidence
private instead of protected.)
Finally, simplify BisqWalletListener.onTransactionConfidenceChanged, by
no longer feeding a singleton list into getMostRecentConfidence whose
element is already a return value of that method, as that is a no-op.
The codacy issue "$/${} is unnecessary on arithmetic variables"
seems to not apply to $(echo $((1 + $RANDOM % 10))), but we
try another syntax to make her happy.
The script demonstrats a way to always keep one offer in the market.
As soon as the offer is taken and the trade is completed, another
offer is placed.
Code duplication needs to be reduced as new scripts are added.
- Refactor the createpaymentacct functions.
The steps required to create a payment account are still
displayed, but only for Alice, not Bob.
- Treat the trade protocol simulation as an atomic function.
This will reduce 'main' simulation script size as new
ones are added.
Do not attempt to create an offer if the server wallet is
unavailable. And if the wallet is encrypted, do not attempt
to create an offer if the wallet is not unlocked.
Added .gitignore line for apitest dao-setup files. Regtest/DAO
setup files downloaded during a build should not be tracked by git,
nor saved in the repo. These are the files downloaded, unzipped
and installed by the gradle task installDaoSetup:
$ ./gradlew clean build :apitest:installDaoSetup
Ensure the trade statistics list in TradesChartsView doesn't go stale
upon new stats arrivals, by moving a fillList() call from the currency
combobox onChangeConfirmed event handler to the selectedTradeStatistics
(TradesChartsViewModel field) listener.
Also avoid unnecessary use of an ObservableList as a temporary variable.
Add a nested class of lazy fields to (Deposit|Transactions)ListItem,
together with an associated memoised Supplier, lazyFieldsSupplier, which
initialises them all the first time any one of them is requested. Move
the txConfidenceIndicator & tooltip fields to this class, so that they
are only loaded when the given address/tx row is displayed in the
deposit/transactions views, respectively.
This prevents a minor bottleneck, as profiling indicates that creating a
tooltip for each tx confidence indicator in the list is quite expensive
and takes up around half the rendering time. (There may be 1000's of txs
or addresses in an old wallet.)