After GrpcServer builds a gRPC server instance, it calls injected
CoreContext#setApiUser(true). The same, singleton CoreContext object
is injected into CoreService constructors, which use the coreContext#
isApiUser value (set true by the server builder) to set their own class
level boolean isApiUser fields.
When CoreContext was added, I was fooled by the correct behavior I
saw while stepping through the server debugger. But now I see that
the correct boolean value in CoreContext is only available after
CoreService constructors have finished instantiating themselves -
- not in time.
In this change, the CoreContext becomes a class level final field
in CoreServices, and the correct coreContex.isApiUser value is available
in the CoreService methods.
If a new account has a trading currency, assign it as the selected trading currency.
Also fixed a payment acct console formatting issue (left justify the ccy code).
These changes make tradeCurrencies a required twise acct form field.
Addresses issue https://github.com/bisq-network/bisq/issues/5281
- Added comment to PaymentAccountForm about special 'tradeCurrencies' field handling.
- Added support for Transferwise 'tradeCurrencies' to PaymentAccountTypeAdapter.
- Added instance of isTransferwiseAccount check to PaymentAccount.
- Added methods to CurrencyUtil to convert comma delimited code list to TradeCurrency list.
- Added methods to ReflectionUtil for getting fields and methods on class.
- Added required field check to CorePaymentAccountsService.
- Added CreatePaymentAccount test cases.
This change prohibits creation of new offers with incompatible payment
accounts with the api.
- PaymentAccountUtil
Renamed isAnyTakerPaymentAccountValidForOffer -> isAnyPaymentAccountValidForOffer.
Renmaed isTakerPaymentAccountValidForOffer -> isPaymentAccountValidForOffer.
Deleted commented code.
- PaymentAccounts: Adjusted to PaymentAccountUtil method name changes.
- OfferFilter: Adjusted to PaymentAccountUtil method name changes.
- OfferBookViewModelTest: Adjusted to PaymentAccountUtil method name changes.
- Add CoreOffersService#verifyPaymentAccountIsValidForOffer
- ValidateCreateOfferTest, OfferTest: Added test cases.
prevent write to disk before it is called.
In case the user started Bisq 2 times, the second process
would have called the flushAllDataToDisk at shutdown and
overwrote data from the running app.