Commit graph

14258 commits

Author SHA1 Message Date
sqrrm
94995da39a
Revert "Lower tolerated small amount"
This reverts commit 99123b7297.
2021-03-22 11:37:49 +01:00
ghubstan
1bf2fd7642
Validate paymentAccountId in createAndPlaceOffer 2021-03-19 21:24:32 +01:00
ghubstan
344f1613d1
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-19 21:24:26 +01:00
ghubstan
afe1e67504
Add bot convenience: getMyOffersSortedByDate(String currencyCode) 2021-03-19 21:24:12 +01:00
ghubstan
34403e7e3f
Add convenience (get all offers, both directions), and make sorter public 2021-03-19 21:23:59 +01:00
ghubstan
e963391a87
Print trade info to console after successful trade 2021-03-19 21:21:09 +01:00
ghubstan
39cda43208
Add LongRunningTradesTest
This new api testcase can run long series' of regtest trades by looping
over modified TakeBuyBTCOfferTest and TakeSellBTCOfferTest cases.  The
purpose is to help reproduce problems and isolate bugs Bisq's core and
api layers.

LongRunningTradesTest is not enabled by default;  it will not run in a
default test environment (such a Travis CI).  Enviornment variable
LONG_RUNNING_TRADES_TEST_ENABLED must exist for the test to run.
The env variable can be set in a bash shell before running the test
case in a shell (using a gradle command), or the environment variable can
be set in an Intellij test launcher's Evironment variables field.

The modifed (short running) TakeBuyBTCOfferTest and TakeSellBTCOfferTest
cases run as before.

Changes include:

- Add static boolean isLongRunningTest to AbstractOfferTest.

- Add looping control Supplier maxTradeStateAndPhaseChecks to AbstractTradeTest.
  It uses the isLongRunningTest flag in the superclass to help define the
  wait times for trade state/phase changes during short and long running tests.

- Made AbstractTradeTest assert(true, trade.isDepositPublished) conditional upon
  isLongRunningTest value.  Long running trade test asserts have to be looser due
  to increasing latency of wallet, offer and trade operations in the server as the
  trade counts increase.

- Overload ApiTestCase#startSupportingApps with additional flag:
  startSupportingAppsInDebugMode. Default is false.  This makes
  starting background apps in debug mode a bit more convenient
  and self explanatory.
2021-03-19 21:21:02 +01:00
ghubstan
2bd6d72c40
Avoid NPE due to null fee while wrapping tx in TxInfo
Add debugging convenience to core.api.model.TxInfo.
2021-03-19 21:19:42 +01:00
ghubstan
9b62a005df
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-19 19:38:03 +01:00
ghubstan
c58366090f
Derive AvailabilityResult from Task errorMessage 2021-03-19 19:37:41 +01:00
ghubstan
56345a2256
Add missing grpc exception catch blocks 2021-03-19 19:37:31 +01:00
ghubstan
8f32aa06c5
Convert AvailabilityResult to error msg when takeoffer fails 2021-03-19 19:37:21 +01:00
ghubstan
14215a1fbd
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-19 19:37:10 +01:00
ghubstan
7683569abf
Inject CoreContext into OpenOfferManager, adjust test 2021-03-19 19:37:00 +01:00
ghubstan
d747acc567
Adjust protos for takeoffer error handing
- Add PRICE_CHECK_FAILED to enum AvailabilityResult.
- Add enum AvailabilityResult to TakeOfferReply message.
2021-03-19 19:36:48 +01:00
ghubstan
0b22c98802
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 20:34:10 +01:00
Christoph Atteneder
3cf1f53e4f
Update translations for v1.6.0 2021-03-18 19:20:53 +01:00
Christoph Atteneder
378fd026bf
Bump version number for v1.6.0 2021-03-18 19:19:26 +01:00
Christoph Atteneder
c8d01a2d4c
Merge pull request #5328 from ghubstan/01-apidoc-changes-for-ripcurlx
Improve apitest docs
2021-03-18 19:15:09 +01: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
14b2bc2544
Make codacy happy (I hope) 2021-03-18 14:49:57 -03:00
ghubstan
f732983d6c
Make multi-line bash command copy/pastable from rendered md 2021-03-18 14:20:47 -03:00
ghubstan
514e7b74ce
Refactor, include section about running on mainnet 2021-03-18 13:22:31 -03:00
ghubstan
ec65c010f7
Don't be polite 2021-03-18 13:12:32 -03:00
ghubstan
d07a26d560
Add missing withdrawfunds options 2021-03-18 12:58:26 -03:00
ghubstan
d3b5e1ee4b
Alternate ports to improve api/protocol guide 2021-03-18 12:56:18 -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
Christoph Atteneder
87d8f5f28a
Merge pull request #5160 from jmacxx/mempool_check_maker_tx
Verify maker & taker fee transactions via Mempool lookup
2021-03-17 22:38:54 +01:00
jmacxx
47ad4219e2
Merge branch 'master' into mempool_check_maker_tx 2021-03-17 16:26:38 -05:00
Christoph Atteneder
3b897085b1
Merge pull request #5325 from jmacxx/fix_not_synced_bitcoind
Prevent trading when not connected to the Bitcoin network
2021-03-17 22:25:37 +01: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
38cdea740b
Merge pull request #5323 from wallclockbuilder/patch-4
Update commands for mediator/refund agent
2021-03-17 10:23:25 +01: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
Mawueli Kofi Adzoe
baa2f2bd9b
Update commands for mediator/refund agent
Commands are flipped in the documentation.
CMD+D for Mediator
CMD+N for Refund Agent
2021-03-17 00:26:25 -07:00
jmacxx
f93f202f8d
process icon use GAVEL 2021-03-16 19:33:29 -05:00
jmacxx
ae9e6dad59
double-click opens chat window 2021-03-16 07:23:23 -05: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
Christoph Atteneder
64ab053b1b
Merge pull request #5315 from chimp1984/improve-portfolio-history
Improve portfolio history
2021-03-16 11:03:29 +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
chimp1984
1e593205d7
Fix taker trade fee amount.
We need to use fee from trade not from offer
2021-03-15 11:34:37 -05:00
chimp1984
e2a99a988a
Fix incorrect taker trade fee.
We had only displayed the fee for 1 tx, but taker pays 3 times that fee.
The real miner fee is a bit higher in case we used BSQ as we add the
burned BSQ to miner fee, we ignore that small difference as it would
add more complexity and for that use case it't not that important to
be exact.
2021-03-15 11:15:21 -05:00
chimp1984
5327657806
Various improvements to make make work with csv data easier
Separate volume with currency (add new column for currency)
Separate trade fee in btc and bsq, remove currency from value
Replace "-" with empty string

Improve detection of bsq fee tx. Previous version was more complicate
and would not have covered case where BSQ fee input matches exactly
required fee so not BSQ output would have been created.
2021-03-15 11:12:57 -05: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
Christoph Atteneder
6148b610a0
Merge pull request #5231 from BtcContributor/bankidcopy
Fix copy of BankName value + BranchId/BankId
2021-03-12 09:54:00 +01:00
jmacxx
35f6ea2508
color of new badge should be red 2021-03-11 11:36:21 -06:00