Commit Graph

272 Commits

Author SHA1 Message Date
woodser
60dc4901e4 move trade wallet management functions from XmrWalletService to Trade
persist security deposits in TradePeer
set deposit tx and reserved key images when deposit tx created
listen to account service in trade manager
2023-02-07 14:31:03 -05:00
woodser
aafb47e2ce UI cleanup, can confirm payment sent and received after dispute opened
show buyer and seller trade fee in dispute summary window
remove "Error polling trade wallet warning" if disconnected
show notification when dispute opened or closed in legacy app
resolve disputes under Support > Arbitration, hide other views
show "support ticket opened" when dispute request is acked
rename all variations of TradingPeer to TradePeer
rename "payment started" to "payment sent" for consistency
2023-02-07 14:31:03 -05:00
napoly
a50e151c98 reduce debug logs for apache http client 2023-02-07 11:42:31 -05:00
woodser
15d2c24a82 reprocess payout messages on error to improve resilience
reprocess on curved schedule, restart, or connection change
invalid messages are nacked using IllegalArgumentException
disputes are considered open by ack on chat message
don't show trade completion screen until payout published
cannot confirm payment sent/received while disconnected from monerod
add operation manual w/ instructions to manually open dispute
close account before deletion
fix popup with error "still unconfirmed after X hours" for arbitrator
misc refactoring and cleanup
2023-02-02 15:23:48 -05:00
woodser
a0235c8ebd
add date and key images to SignedOffer
arbitrator retains failed trades after reserve tx received
legacy ui shows trade details including reserve tx, with or w/o contract
fix npe searching arbitrator tickets due to null payment accounts
synchronize offer book list items
fix npe before key image poller initialized
2023-01-26 08:26:22 -05:00
woodser
a49611a234 verify payout & dispute payout tx fees are within range of recreated tx 2023-01-16 16:27:15 -05:00
woodser
9260cf53ee verify arbitrator signature when dispute closed 2023-01-16 11:35:09 -05:00
woodser
cd7f176e2b fix 'trade not found' bug caused by open offer being spent
do not remove open offer with spent funds if reserved for trade
fix concurrent modification exception
2023-01-15 10:58:45 -05:00
woodser
308f6e8077 handle errors initializing trade after deposits requested
offer remains valid until trade initialized
delete maker and taker trades on error after deposits requested
schedule trade deletion if unfunded after timeout or startup
DepositResponse supports error message to confirm failure
show deposit tx ids in trade details window
2023-01-13 07:26:01 -05:00
woodser
646380bc7a minimum support for account witness verification & storage based on bisq
verify peer witness data and share with arbitrator for signing
arbitrator can sign witness hash, owner pub key (see developer-guide.md)
taker signs offer id nonce in SendOfferAvailabilityRequest
maker signs deposit tx hash in SendSignContractRequest
buyer verifies witness with payload on deposit confirmation
seller verifies witness with payload on payment sent message
add synchronization to User paymentAccountsAsObservable and elsewhere
2023-01-11 08:54:37 -05:00
woodser
2c3dabfbf7 recover from error closing dispute, show payout confirmation w/ tx fee 2022-12-30 18:49:07 +00:00
woodser
48baa1e602 use actual security deposits in dispute resolution 2022-12-30 18:49:07 +00:00
woodser
f2892d5157 close open disputes on trade completion 2022-12-27 12:56:36 +00:00
woodser
2d7654b8d7 verify maker and taker fees 2022-12-27 12:56:36 +00:00
woodser
1c6d4cec83 cache incoming txs to improve performance of funds tab 2022-12-23 16:21:24 +00:00
woodser
ad17228b38 separate withdraw tx fee and amount in ui 2022-12-23 08:53:26 +00:00
woodser
06c2ce432b take offer funded from available balance 2022-12-21 23:40:28 +00:00
woodser
e8242612b2 update haveno support links to monero.social, update unconfirmed warning 2022-12-21 15:29:12 +00:00
woodser
3a50397a61 remove taker fee tx check on pending trades initialized 2022-12-21 08:33:59 +00:00
woodser
e4046bd84e fix dispute and trader chat button and states
ui can open dispute after payment sent
ui indicates if dispute opened by self or peer
2022-12-21 08:33:59 +00:00
woodser
f13e1ec610 cannot open dispute until both deposits confirmed and available 2022-12-20 10:14:46 +00:00
woodser
05ba2ce305 show step progress while initializing trade 2022-12-19 11:26:19 +00:00
woodser
03b26fa423 fix visual dividers in offer detail windows 2022-12-18 18:50:46 +00:00
woodser
31dfdd7710 remove btc fee service 2022-12-16 09:16:11 +00:00
woodser
9fda20f88b update to new xmr price server api
remove timestamp data structure
2022-12-16 09:16:11 +00:00
woodser
2dc5481101 adjust QR code size and resolution 2022-12-04 14:38:22 +00:00
woodser
dd0a307a84 support funding make or take offer directly
QR code encodes payment URI
security deposit absorbs miner fee up to 5%
use binary search to maximize security deposit and minimize dust
show itemized funding popup on create offer
2022-12-04 14:38:22 +00:00
napoly
bd70b935e4 P2P status indicator with update prompt
Co-authored-by: jmacxx <47253594+jmacxx@users.noreply.github.com>
Co-authored-by: Christoph Atteneder <christoph.atteneder@gmail.com>
2022-12-01 10:14:07 +00:00
napoly
4cbc511bbd fix buyer trade info payout transaction ID hide if empty 2022-11-23 14:26:26 +00:00
napoly
27fdf87e84 fix dispute deposit transaction IDs in legacy UI 2022-11-23 09:55:35 +00:00
woodser
0d981a2df6 get trade account payloads over grpc, support crypto account forms 2022-11-23 09:42:43 +00:00
napoly
1f61e82946 fix transaction IDs in legacy UI trade info views 2022-11-13 07:45:25 -05:00
woodser
4fb62d8669 fix confirmation progress in ui
fix my role label to show during trade initialization
support arbitrator role label
2022-11-07 08:26:30 -05:00
woodser
247087ef46 refactor arbitration protocol
add dispute states and open/close messages routed through arbitrator
both traders publish dispute payout tx, winner is default
verify signatures of payment sent and received messages
seller sends deposit confirmed message to arbitrator
buyer sends payment sent message to arbitrator
arbitrator slows trade wallet sync rate after deposits confirmed
various refactoring, fixes, and cleanup
2022-11-07 08:26:30 -05:00
woodser
f36dde2857 refactor payout protocol
send payment key & multisig hex on deposit confirm for resilience
support payout published, confirmed, unlocked states
keep trade wallets open throughout trade
close and delete trade wallets when payout unlocks
arbitrator idles trade wallets after deposits confirm (1/hour)
2022-10-27 08:06:18 -04:00
woodser
e79450f65e fix trade is in an invalid state warning
Co-authored-by: duriancrepe <duriancrepe@protonmail.com>
2022-10-17 11:22:01 -04:00
duriancrepe
2eb275281e fix packageInstallers for all platforms 2022-10-12 10:42:34 -04:00
erciccione
868e6dabbb remove notarization process from gradle
Bisq commit 854c6218b3

Co-Authored-by: Christoph Atteneder <christoph.atteneder@gmail.com>
2022-10-06 09:25:18 -04:00
woodser
79021dc9c6 revert getters for peer and arbitrator node addresses to avoid NPEs 2022-10-04 15:35:01 -04:00
woodser
767f4cf8c0 reset address entries of taker's offer model when done
fixes the "outdated addressEntry" warning
2022-10-04 15:35:01 -04:00
woodser
dc9c04759f listen for published payout tx
fix "Swapping pending OFFER_FUNDING" warning
move payout tx from TradingPeer to Trade
2022-10-02 14:41:24 -04:00
woodser
5fbc41946e
refactor node addresses and pub key rings to TradingPeer (#460) 2022-10-01 13:29:38 -04:00
woodser
93472b9759
fixes based on refactored tests (#454)
log trade id with error
open dispute chat on user thread
fix null arbitrator signature by copying offer payload before modifying
2022-09-29 09:46:21 -04:00
DomPro11
6209c9578a
fix color scheme of offer book in market view (#443) 2022-09-24 08:36:47 -04:00
woodser
c5f5a5af42 process messages on user thread and protocol tasks off user thread 2022-09-24 08:36:07 -04:00
woodser
c21ebe6a9d normalize names of protocol tasks 2022-09-21 09:00:41 -04:00
jmacxx
6d8305c891 Prevent UI trading actions when there are no P2P connections. 2022-09-17 07:52:56 -04:00
woodser
3f5fe671cd decrypt payment info after confirmation for double spend protection
retrieve decryption key from arbitrator if peer fails to send
2022-09-17 07:28:04 -04:00
woodser
355a6146b6 add confirmed trade state 2022-09-17 07:28:04 -04:00
woodser
a51aeeb484 offer book view checks for invalid signer or signature
merge OfferFilter into OfferFilterService
2022-09-17 07:26:12 -04:00
woodser
dbc7ff265a show wallet transaction dates 2022-09-02 14:28:00 -04:00
woodser
24a8ecea2b funds tab shows num confirmations per receive address 2022-09-02 14:28:00 -04:00
woodser
3da228750f fix jfx error on offer book added 2022-09-02 14:28:00 -04:00
woodser
526a1b5f37 fix "Funds needed: .123 XMR (null)" bug 2022-08-17 14:49:49 -04:00
woodser
db6367c656 remove badge on support and settings tabs on startup 2022-08-17 14:49:49 -04:00
woodser
f464110fb5 update locked -> pending balance 2022-08-17 14:49:49 -04:00
woodser
c32550997d fix jfx error in SpreadView 2022-08-17 14:49:49 -04:00
erciccione
3e305b1ca6 trade agreement: add note at the top and change bisq -> haveno 2022-08-17 09:08:40 -04:00
erciccione
56412b749d improve some wording across the app 2022-08-17 09:08:21 -04:00
woodser
6fbfef029e fix price disappearing when first payment account created 2022-08-15 13:16:49 -04:00
woodser
f9d700074a cache txs fetched from daemon 2022-08-15 12:03:07 -04:00
woodser
3727d12ef6
select online, registered, and least used arbitrator (#400)
support registering and unregistering arbitrators over grpc
maker always sends InitTradeRequest to arbitrator
share original contract for comparision
remove backup arbitator from model
cleanup trade states
2022-08-13 09:47:33 -04:00
woodser
250f4be626 update confirming payment sent/received message 2022-08-12 08:23:39 -04:00
woodser
cebdef31c0 only remove trade if not in funded state
track sent vs seen deposit request state
cleanup trade phases
2022-08-09 14:21:38 -04:00
woodser
3753a42023 update to monero-project v0.18.0.0, monero-java v0.7.2 2022-08-08 13:45:46 -04:00
woodser
333b7421f5 cleanup trade states, consolidate protocol tasks, remove old tasks 2022-07-31 14:51:27 -04:00
woodser
3d43ae1f20 confirm payment sent and received off main thread 2022-07-31 14:51:27 -04:00
woodser
50126874a0 add multisig wallet state and wait for multisig to complete
refactor trade protocol
2022-07-31 14:51:27 -04:00
woodser
a5f457d8e9 fetch prices repeatedly when run as daemon 2022-07-29 18:04:35 -04:00
woodser
a3a5b96c06 stagenet deployment fixes
execute protocol tasks off main thread
fix confirmation progress indicators
fix expected unlock height
process sign contract request after contract signature requested
deposit listener only advances trade state
2022-07-28 14:35:40 -04:00
woodser
3dcaf67edd refactor trade protocol latch and timeouts 2022-07-25 22:57:06 -04:00
woodser
a8c99ddad9 fix offer book view for other cryptos 2022-07-25 22:57:06 -04:00
woodser
b4fe0f0ee6 handle timeout in trade initialization with protocol latch 2022-07-18 12:36:24 -04:00
woodser
83b8616f6f handle timeout during place offer protocol 2022-07-18 12:36:24 -04:00
woodser
20915ac15e set version to 0.0.1 2022-07-16 18:23:02 -04:00
woodser
031f091f69 update trade completion message 2022-07-16 18:23:02 -04:00
woodser
13d567b724 remove reserved and locked funds tabs 2022-07-15 09:06:26 -04:00
woodser
e17b0f8ec8 remove input selection from withdraw view 2022-07-15 09:06:26 -04:00
woodser
fb3745c6df support funding tabs: receive, send, transactions 2022-07-15 09:06:26 -04:00
woodser
c71c61d1bb support wallet seed tab showing seed phrase
disable wallet info tab
2022-07-15 09:06:26 -04:00
woodser
83c5d505c3 fix blank page when redirected to national currencies tab 2022-07-15 09:06:16 -04:00
woodser
7738d4fa1a show both deposit tx ids 2022-07-13 18:09:50 -04:00
woodser
7945514c46 unfreeze funds if error during creating offer
fix jfx error
2022-07-13 18:09:42 -04:00
woodser
4a171c9baa
cap stagenet fiat offers to 1 xmr until trade credits supported (#355) 2022-07-13 18:09:19 -04:00
woodser
31b0f4e184 remove popups
todo: remove entries from displayStrings.properties
2022-07-12 09:33:08 -04:00
erciccione
5ecd0e5a86 visual ui changes for test network
- change part of color scheme to haveno's colors
- testnet haveno logo at splash screen
2022-07-11 10:14:37 -04:00
woodser
e2208355b1
support local, stagenet, and mainnet xmr network configuration (#335)
remove btc wallet
disable local zmq
2022-07-07 09:10:59 -04:00
woodser
f17c5803b5 stopping wallet rpc instance does not assume to close wallet 2022-06-29 11:17:28 -04:00
woodser
faeb9ca8db refactor payment account form api to support structured, dynamic forms 2022-06-23 11:24:28 -04:00
woodser
341ae2bef0 fix NPE selecting Western Union in legacy app 2022-06-23 11:24:28 -04:00
woodser
88578bed10 general rebase in order to update payment methods and desktop app
Co-authored-by: Alva Swanson <alvasw@protonmail.com>
Co-authored-by: andyheko <haoen.ko@gmail.com>
Co-authored-by: Bisq GitHub Admin <51445974+bisq-github-admin-3@users.noreply.github.com>
Co-authored-by: BtcContributor <79100296+BtcContributor@users.noreply.github.com>
Co-authored-by: cd2357 <cd2357@users.noreply.github.com>
Co-authored-by: chimp1984 <chimp1984@gmx.com>
Co-authored-by: Chris Beams <chris@beams.io>
Co-authored-by: Christoph Atteneder <christoph.atteneder@gmail.com>
Co-authored-by: Devin Bileck <603793+devinbileck@users.noreply.github.com>
Co-authored-by: ghubstan <36207203+ghubstan@users.noreply.github.com>
Co-authored-by: Huey <hueydane@gmail.com>
Co-authored-by: Jakub Loucký <jakub.loucky@outlook.cz>
Co-authored-by: jmacxx <47253594+jmacxx@users.noreply.github.com>
Co-authored-by: KanoczTomas <tomas.kanocz@cnl.sk>
Co-authored-by: m52go <735155+m52go@users.noreply.github.com>
Co-authored-by: Marcus0x <marcus0x@xrhodium.org>
Co-authored-by: MarnixCroes <93143998+MarnixCroes@users.noreply.github.com>
Co-authored-by: Martin Harrigan <martinharrigan@gmail.com>
Co-authored-by: MwithM <50149324+MwithM@users.noreply.github.com>
Co-authored-by: sqrrm <sqrrm@users.noreply.github.com>
Co-authored-by: Stan <36207203+ghubstan@users.noreply.github.com>
Co-authored-by: Stephan Oeste <emzy@emzy.de>
Co-authored-by: Steven Barclay <stejbac@gmail.com>
Co-authored-by: WAT <shiido.it@gmail.com>
Co-authored-by: wiz <j@wiz.biz>
Co-authored-by: xyzmaker123 <84982606+xyzmaker123@users.noreply.github.com>
2022-05-28 13:56:29 -04:00
woodser
fa15612586 support scheduling offers with locked funds 2022-05-16 13:33:07 -04:00
woodser
e4a8aa45e7 update to monero-java v0.7.0 2022-05-10 09:54:37 -04:00
woodser
716f62797d register arbitrator from api and use throughout trade 2022-04-28 11:46:34 -04:00
woodser
c2f5adac9b trigger price handled as string, same as price 2022-04-28 11:46:34 -04:00
duriancrepe
5b38eab716
Encrypt persisted data using password protected symmetric key (#279) 2022-04-12 07:49:30 -04:00
woodser
2d3043093e seller state is PAYMENT_RECEIVED or PAYOUT_PUBLISHED after confirming 2022-04-07 14:12:03 -04:00
woodser
730bee3e71
renames in proto and api (#277)
rename to getNewDepositAddress()
rename trade phase DEPOSIT_CONFIRMED to DEPOSIT_UNLOCKED
rename fiat sent/received to payment sent/received
2022-04-07 10:45:35 -04:00
woodser
32070fbafb refactor payout protocol to work with or without updated multisig 2022-04-06 11:27:50 -04:00
woodser
bb95b4b1d6 support multithreading in api and protocols
close trade wallets while unused for scalability
verify txs do not use unlock height
increase trade init timeout to 60s
2022-04-06 11:27:50 -04:00
duriancrepe
e7b4627102
Add API functions to open and resolve disputes (#244)
Co-authored-by: woodser <woodser@protonmail.com>
2022-03-07 12:56:39 -05:00
duriancrepe
e3b9a9962b
Add API functions to initialize Haveno account (#216)
Co-authored-by: woodser@protonmail.com
2022-02-09 04:39:57 -05:00
l0nelyc0w
06cd07157c
fix legacy tab (#233) 2022-02-07 08:14:45 -05:00
woodser
7b6b92d894 update to monero-java 0.6.0 with api updates & connection manager fixes 2022-01-14 16:33:56 -05:00
woodser
9059974725 remove dependency on local BTC node
Co-authored-by: premek <1145361+premek@users.noreply.github.com>
2022-01-06 15:29:14 -05:00
woodser
e8cc3d20f5 update more names from bisq* to haveno* 2021-12-20 11:47:17 -05:00
woodser
ce538c5ca6 update copyright headers to Haveno 2021-12-16 13:33:12 -05:00
woodser
1be8e53ee9 rename classes and executables from Bisq* to Haveno* 2021-12-16 13:33:12 -05:00
woodser
4dafd57026 use backup arbitrator if signing arbitrator not available 2021-11-18 13:04:25 -05:00
woodser
cd108387a2 restore dispute summary message 2021-11-11 16:21:22 -05:00
premek
d9762b06d1 fix About Haveno title in settings
the string was renamed previously probably by batch find & replace
2021-10-24 09:22:48 -04:00
l0nelyc0w
cefba8e4b5 remove DAO
Co-authored-by: premek <1145361+premek@users.noreply.github.com>
2021-10-20 06:19:52 -04:00
woodser
6798630dfc filter offers with spent or duplicate funds using key images
reserve tx does not remain in arbitrator pool
2021-09-18 15:02:14 -04:00
woodser
86f7d090b6 implement protocol v2 2021-09-07 11:47:09 -04:00
woodser
be2a71b9b5 increase trade limits by factor of 10
popup warning displays effective trade limit
2021-05-23 19:00:47 -04:00
premek
2be32fcb8d display actual XMR amount in offerFromUnsignedAccount warning instead of hardcoded 0.01 BTC 2021-05-22 14:43:42 -04:00
woodser
55f62f92dd
sync notifications to FX thread only in desktop app (#60)
daemon starting and stopping without exceptions
2021-05-09 11:14:58 -04:00
Přemek Vyhnal
afe46ebe26
replace bisq logo with haveno logo (#57)
change the splash screen progressbar from green to orange
2021-05-08 20:10:13 -04:00
woodser
9903821b18
Change base networks from btc to xmr, e.g. BTC_REGTEST -> XMR_STAGENET (#55)
change base networks from btc to xmr, e.g. BTC_REGTEST -> XMR_STAGENET

add xmr seed node files
2021-05-08 13:57:32 -04:00
woodser
01f183b7a7 fix fiat trades by changing base currency to xmr #7 2021-05-04 22:50:24 -04:00
woodser
a22edd60f8 Haveno 2021-05-04 22:49:48 -04:00
woodser
8a38081c04 Bisq 2021-05-04 20:20:01 -04:00