Commit graph

5710 commits

Author SHA1 Message Date
ghubstan
c3f5669cf8
Add api method createcryptopaymentacct
This change supports creation of BSQ BLOCKCHAIN payment method accounts.

- Added proto message defs to grpc.proto.
- Added grpc server boilerplate to GrpcPaymentAccountsService.
- Added server impl to CoreApi, CorePaymentAccountsService.
- Added createcryptopaymentacct-help.txt.
- Added CLI side support for new api method.
- Added opt parsing unit tests to OptionParsersTest.

This is the 1st PR in a series, with the goal of supporting the BTC/BSQ trading
pair.  Support for other crypto currency payment accounts will be added later.
2021-03-25 18:36:26 -03:00
Christoph Atteneder
4290613973
Merge pull request #5347 from jmacxx/fee_validation_allow_old_param
Fee validation leniency using old DAO param values
2021-03-24 09:58:02 +01:00
jmacxx
e9b3b9ac1f
Review changes for Disputes GUI
highlight trade period end using an appropriate CSS alert style
system messages to show in chat unread message count
2021-03-23 23:02:21 -05:00
jmacxx
f85667b55a
Fee validation leniency using old DAO param values 2021-03-23 15:32:01 -05:00
jmacxx
fb1f5855bd
Pop-up warning for trading with risky payment methods 2021-03-22 14:45:53 -05:00
sqrrm
9c40a641f3
Merge pull request #5337 from ghubstan/01-fix-api-encrypted-walletappsetup
Fix API startup's wallet.init failure when wallet is encrypted
2021-03-22 12:36:13 +01:00
sqrrm
520b6481f4
Revert "Lower tolerated small amount"
This reverts commit 99123b7297.
2021-03-22 11:12:10 +01:00
ghubstan
d819e91b0c
Fix method name and error msg 2021-03-20 19:18:40 -03:00
ghubstan
cfd52cdb8c
Remove log statement, add comment 2021-03-20 18:48:01 -03:00
ghubstan
6913e82f74
Fix typo 2021-03-20 18:47:21 -03:00
ghubstan
838595cb03
Set WalletsManager key if missing
This change sets the WalletsManager key the first time `unlockwallet` is called.
This is necessary because the key cannot be set during api daemon startup, as it
normally is at UI startup.  See commit eb15fda229.
2021-03-20 18:38:33 -03:00
ghubstan
eb15fda229
Block UI popups in api startup's encrypted wallet init
Running the UI's walletPasswordHandler during wallet initialization will fail
and block wallet initialization.  This change ensures an encrypted wallet
does not trigger a walletPasswordHandler.run() if isApiUser=true during startup.
2021-03-20 18:22:52 -03:00
sqrrm
53f42c4885
Merge pull request #5303 from ghubstan/03-add-long-running-trade-test
Add LongRunningTradesTest to apitest
2021-03-19 12:20:00 +01:00
sqrrm
59a0cc41dc
Merge pull request #5302 from ghubstan/02-modify-txinfo
Avoid NPE due to null fee while wrapping tx in TxInfo
2021-03-19 12:05:09 +01:00
sqrrm
1c3fc41c33
Merge pull request #5294 from ghubstan/01-fix-takeoffer-err-handling
Improve takeoffer error handing
2021-03-19 11:55:18 +01:00
ghubstan
67252642c7
Disambiguate payment acct json form's "country" field
Make it clear the user needs to enter a two letter country code
in json form's "country" field, not a country name.

The json form's field name was not changed to "countryCode" in
this change for the following reason:

The API's payment account forms are dynamically generated using
reflection, and PaymentAccount class hierarchy @Setter methods
determine which form fields are included or excluded.  Reflection
and @Setter methods are also used when reading completed json
forms, to set the field values on a new PaymentAccount instance
before it is persisted.

CountryBasedPaymentAccount subclasses have a country field and a
@Setter, not a countryCode field, hence this shortcut to informing
the user the country field value is a country-code.
2021-03-18 16:14:28 -03:00
Christoph Atteneder
d34a73276e
Merge pull request #5326 from sqrrm/lower-deposit
Lower min deposit to 0.001 BTC
2021-03-18 19:02:24 +01:00
ghubstan
dc4f730605
Validate paymentAccountId in createAndPlaceOffer 2021-03-18 14:46:28 -03:00
sqrrm
e6b7c88bed
Lower min deposit to 0.001 BTC
Lower min refund to half of min deposit as it doesn't make sense to have
a higher min refund than the min deposit.
2021-03-18 13:44:05 +01:00
jmacxx
47ad4219e2
Merge branch 'master' into mempool_check_maker_tx 2021-03-17 16:26:38 -05:00
jmacxx
9fcd65f320
Validate maker/taker fees using mempool lookup
apply @chimp1984 patch.txt code review suggestions
taker tx check moved to trade step 2, after confirmation
solve issue with calculating expected fees for unconfirmed tx
resolve conflict with PR5207 (Disputes UI)
check new offers after 1 block; check Json string not null; warn -> info
remove unused parameter
remove debugging log.warn message
2021-03-17 16:23:18 -05:00
jmacxx
8dd2328b03
handle case where bitcoind chain height is stale
improve description of chain height display
2021-03-17 16:00:57 -05:00
Christoph Atteneder
9270398fb3
Merge pull request #5207 from jmacxx/improve_dispute_chat
Improve chat functionality of mediation/arbitration
2021-03-17 09:38:35 +01:00
Christoph Atteneder
16230c7723
Merge pull request #5316 from chimp1984/add-pay-from-bsq-wallet-button
Add pay from BSQ wallet button
2021-03-17 09:35:09 +01:00
Christoph Atteneder
033ec325d2
Merge pull request #5318 from sqrrm/lower-unsigned-size
Lower tolerated small amount
2021-03-17 09:27:02 +01:00
sqrrm
99123b7297
Lower tolerated small amount
Split tolerated amount for placing offers with unsigned accounts
and tolerated amount for taking offers.
2021-03-16 13:07:42 +01:00
chimp1984
2702a7eff4
Add button to buyers trade step 2 view in case of a BSQ
trade to fill in the amount and address to the BSQ send view.
2021-03-15 17:58:05 -05:00
jmacxx
ad4927a666
code review changes requested by @ripcurlx
renamed alertCountProperty to badgeCountProperty
changed the badge counting policy so that the count of chat messages does not contribute to the badge number, but merely the presence of chat messages, and/or the new flag.
show an explanatory message when trader is not allowed to close own dispute ticket
removed some comments and code that were accidentally included from PR5160
renamed variable tpe to tradePeriodEnd
renamed variable cptyName to counterpartyName
clear the new badge on double-click of dispute tablerow
2021-03-15 17:24:00 -05:00
chimp1984
80c23883c8
Add popup for summary of trade history 2021-03-15 16:30:11 -05:00
ghubstan
8783889c36
Fix api getfundingaddresses bug
This change uses recently added walletService.isAddressUnused to ensure
the api's CoreWalletsService creates an unused address if none exists.

- grpc.proto:  Add bool isAddressUnused field to message AddressBalanceInfo.
- AddressBalanceInfo:  Adjust AddressBalanceInfo proto wrapper.
- CoreWalletsService:  Use walletService.isAddressUnused in getFundingAddresses.
- GrpcClient:  Adjust to modified AddressBalanceInfo.
- TableFormat, ColumnHeaderConstants:  Add 'Is Used' column to getfundingaddresses output.

Note: bugfix is out of scope for this PR, but the test case helped expose this bug.
2021-03-15 16:15:06 -03:00
chimp1984
b421605345
Add formatCoin method with appendCode param
Remove @NotNull annotation (unnecessary verbose, default is non null, if null then we annotate with @Nullable)
2021-03-15 11:07:12 -05:00
ghubstan
98c6a8ee67
Merge branch '01-fix-takeoffer-err-handling' into 02-modify-txinfo 2021-03-15 11:20:16 -03:00
ghubstan
1d56d79457
Refactor takeoffer reply proto & ErrorMessageHandler
- Add description msg TakeOfferReply proto, and fromProto method
  to core.offer.enum AvailabilityResult.  The description field
  maps a client usable error message to the enum.

- Adjust GrpcErrorMessageHandler to add AvailabilityResult.description()
  to takeoffer reply.

- Refactor (split up) GrpcClient's takeOffer.  Add getTakeOfferReply()
  to give clients a chance to make choices based on the reply's
  AvailabilityResult when the takeoffer command did not result in a
  trade. (Some errors are fatal, some not.)
2021-03-15 11:17:09 -03:00
ghubstan
64d4c311fb
Avoid NPE due to null fee while wrapping tx in TxInfo
Add debugging convenience to core.api.model.TxInfo.
2021-03-14 12:08:13 -03:00
ghubstan
4a68773cfc
Merge branch 'master' into 01-fix-takeoffer-err-handling 2021-03-14 11:52:40 -03:00
sqrrm
edbac95f7c
Merge pull request #5292 from ghubstan/00-fix-corecontext-usage
Fix singleton CoreContext usage
2021-03-11 17:24:55 +01:00
Christoph Atteneder
0e6ce20453
Merge pull request #5216 from huey735/rename-summary-notes-category
Rename summary notes "Seller not responding"  category
2021-03-11 17:01:56 +01:00
Christoph Atteneder
caac1b4c1e
Merge pull request #5272 from BtcContributor/fixbackupbutton
Fix Set Password text button
2021-03-11 16:07:26 +01:00
BtcContributor
2c945b0c40
change text and navigation 2021-03-11 15:55:47 +01:00
sqrrm
a1939f92e6
Merge pull request #5222 from ripcurlx/fix-key-shortcut-documentation
Fix key shortcut documentation when using CMD+Y
2021-03-11 11:55:53 +01:00
Christoph Atteneder
7394da5462
Merge pull request #5206 from jmacxx/improve_mediation_tools
Improve mediation tools / logging.
2021-03-11 11:49:58 +01:00
Christoph Atteneder
43b8f0afbf
Merge pull request #5209 from JaredBoone/master
Changes "Verify result" to "Check signature"
2021-03-11 09:36:44 +01:00
ghubstan
d0590d93a9
Adjust grpc & core services to new takeoffer error handling
- GrpcErrorMessageHandler  A new ErrorMessageHandler implementation
  to get around the api specific problem of having to use Task
  ErrorMessageHandlers that build task error messages for the UI.

- GrpcExceptionHandler  A new method for working with the
  ErrorMessageHandler interface.

- GrpcTradesService, CoreApi, CoreTradesService:  Ajdusted takeoffer
  error handling to give a failure reason provided by the new
  GrpcErrorMessageHandler.
2021-03-10 14:16:15 -03:00
ghubstan
067a5c7a08
Inject CoreContext into OpenOfferManager, adjust test 2021-03-10 14:15:59 -03:00
ghubstan
5c097d3bcf
Adjust protos for takeoffer error handing
- Add PRICE_CHECK_FAILED to enum AvailabilityResult.
- Add enum AvailabilityResult to TakeOfferReply message.
2021-03-10 14:15:29 -03:00
sqrrm
eabb173767
Add NGN as a default currency 2021-03-10 14:41:28 +01:00
ghubstan
58100fda6a
Fix singleton CoreContext usage
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.
2021-03-10 08:26:14 -03:00
sqrrm
463f87b39e
Merge pull request #5284 from ghubstan/07-validate-paymentacct-n-new-offer
Validate offer <-> payment-acct in createoffer
2021-03-09 16:51:56 +01:00
ghubstan
2161c936f1
Adjust canceloffer to getmyoffer bugfix (commit d6c79fc) 2021-03-08 16:36:01 -03:00
ghubstan
d6c79fca70
Filter out 'my' offers from 'available' offers 2021-03-08 16:26:16 -03:00