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
363f783f30
accurate tx fee estimation based on weight
2022-10-28 08:55:58 -04:00
woodser
416d21a8aa
update to monero-java v0.7.8
2022-10-28 08:55:58 -04: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
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
139896bced
seller resets address entries on payout published
2022-10-02 14:41:24 -04:00
woodser
58aad5e6ae
expect deposits to be confirmed or unlocked when payment sent
2022-10-02 14:41:24 -04:00
woodser
5bd05af890
synchronize price requests
2022-10-02 14:41:24 -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
c153afff67
arbitrator does not share payment account key until after first confirmation ( #457 )
...
use payout address from contract instead of PaymentSentMessage
2022-10-01 07:47:18 -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
woodser
5d45c08744
provide error message if price is unavailable for offer
2022-09-24 08:36:16 -04:00
woodser
c5f5a5af42
process messages on user thread and protocol tasks off user thread
2022-09-24 08:36:07 -04:00
woodser
d698555c9a
trade completion fixes with payment key and multisig hex on confirmation
...
preserve peer multisig hex when arbitrator provides payment key
process payment received using persistent, non-transient data
payout_tx_published_msg represents payment_received_msg after payout
update arbitrator's peer address on payout published
schedule payment account key request after deposit request
2022-09-21 09:00:41 -04:00
woodser
c21ebe6a9d
normalize names of protocol tasks
2022-09-21 09:00:41 -04:00
woodser
0388f283a7
remove open offer from books after deposit request
2022-09-21 09:00:41 -04:00
woodser
1f32fc2cbe
seller decrypts buyer payment info on payment sent
2022-09-21 09:00:41 -04:00
woodser
64925d0137
close arbitrator trade by sending PayoutTxPublishedMessage
2022-09-21 09:00:41 -04:00
duriancrepe
9975d7398b
upgrade to Gradle 7.3.3 ( #439 )
...
* upgrade to Gradle 7.3.3
* add verification hashes for mac and windows
* add verification hash for windows
2022-09-19 08:59:57 -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
erciccione
3b788d1fea
fix typo in trade completed screen
2022-09-17 07:27:19 -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
b95c689190
process payment confirmation messages off main thread
2022-09-02 14:28:00 -04:00
woodser
dbc7ff265a
show wallet transaction dates
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
b291fdae73
fix pub key validation error
2022-08-29 09:29:19 -04:00
woodser
857a1d0be8
fix npe validating pub key
2022-08-18 08:10:42 -04:00
woodser
f869aec688
change terminology from altcoins to cryptocurrencies
2022-08-18 08:10:42 -04:00
woodser
69899c8750
remove zec from main currency list
2022-08-17 14:49:49 -04:00
woodser
f464110fb5
update locked -> pending balance
2022-08-17 14:49:49 -04:00
woodser
cb10a65a83
fix npe in arbitrator when dispute is opened
2022-08-17 14:49:49 -04:00
erciccione
56412b749d
improve some wording across the app
2022-08-17 09:08:21 -04:00
erciccione
2a50350cff
prioritise conneting to our remote node RPC (if no local node)
...
and add credentials
2022-08-15 13:17:02 -04:00
woodser
f9d700074a
cache txs fetched from daemon
2022-08-15 12:03:07 -04:00
woodser
54eee73c04
add mining fee padding to maker and taker reserve txs
2022-08-15 12:03:07 -04:00
woodser
2f1f1a788b
fix issues going offline while completing trades
2022-08-15 12:03:07 -04:00
erciccione
12e3e3507e
add 1 monero stagenet node and 2 haveno seednodes
2022-08-15 12:02:59 -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
erciccione
757c7cf19c
seednodes: update address
2022-08-12 09:09:29 -04:00
woodser
4901808844
fix possible concurrent modification exception
2022-08-09 14:21:38 -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
erciccione
fed7b22c90
pricenode: woodser's patch
2022-08-08 13:46:42 -04:00
woodser
f8f10a4d6b
remove timeout processing payment sent message
2022-08-08 13:46:16 -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
f61fd09127
add grpc error handling for confirming payment sent and received
2022-07-31 14:51:27 -04:00
woodser
608c19a1d0
sync wallet on open
2022-07-29 18:04:47 -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
3f25a756ea
fix legacy app freeze if insufficient funds to schedule offer
2022-07-25 22:57:06 -04:00
woodser
b6783dc732
thaw outputs not reserved for trade or offer on startup
2022-07-18 12:36:24 -04:00
woodser
a80a7eec5f
check state before deleting trade wallet
2022-07-18 12:36:24 -04:00
woodser
477246f8f0
disconnect error handler when trade initialized
2022-07-18 12:36:24 -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
erciccione
e726071841
replace stagenet seednode ( #372 )
2022-07-17 09:58:22 +02:00
woodser
6ca775da1b
reserve correct offer amount based on buy or sell direction
2022-07-16 18:23:02 -04:00
woodser
c97ca852f5
remove btc fee rate from footer
2022-07-16 18:23:02 -04:00
woodser
588270678c
remove seed from terminal
2022-07-16 18:23:02 -04:00
woodser
031f091f69
update trade completion message
2022-07-16 18:23:02 -04:00
woodser
14ada60c25
do not start local node when credentialed local node running
...
rename isMoneroNodeRunning() to isMoneroNodeOnline()
2022-07-16 18:23:02 -04:00
woodser
968a01abe1
handle error during sign offer protocol
2022-07-15 09:35:08 -04:00
woodser
7b355ff70a
reset xmr address entries on offer removed
2022-07-15 09:35:08 -04:00
woodser
f9c5cd1f2c
fix npe if no localhost connection
2022-07-15 09:34:52 -04:00
woodser
59e5f8e79a
fix bug which caused monerod param to be ignored
2022-07-15 09:34:52 -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
003fac3da4
update stagenet explorer
2022-07-15 05:50:35 -04:00
woodser
f36af3a557
update stagenet fee address
2022-07-15 05:50:24 -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
erciccione
7157defea5
edit some text and remove strings of removed entries
2022-07-13 08:15:54 -04:00
woodser
b89c0d720b
buyer exports multisig hex only once during payout
2022-07-12 09:33:24 -04:00
woodser
f2cd9dd570
increase max trade limit for lowest risk payment from 2 to 20 xmr
2022-07-12 09:33:15 -04:00
woodser
defb82d240
treat SELLER_SAW_ARRIVED_PAYMENT_RECEIVED_MSG as payout until refactored
2022-07-12 09:33:00 -04:00
woodser
8980a8ec60
sync wallet when opened
2022-07-12 09:33:00 -04:00
woodser
008210abf6
fix reserved balance = frozen offer outputs + confirmed deposits
2022-07-12 09:33:00 -04:00
woodser
896380218e
set xmr node on startup w/ xmrNode, xmrNodeUsername, and xmrNodePassword
2022-07-10 06:14:52 -04:00
erciccione
3c81558e11
add stagenet seednode
2022-07-08 10:04:09 -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
c28108a4b6
support rolling backup of multisig wallets
2022-06-29 11:17:28 -04:00
woodser
f17c5803b5
stopping wallet rpc instance does not assume to close wallet
2022-06-29 11:17:28 -04:00
woodser
7ad2e20d95
support paxum
2022-06-24 15:46:54 -04:00
woodser
27f4b18330
support uphold
2022-06-24 15:46:54 -04:00
woodser
6dbd1660e5
support faster payments
2022-06-24 15:46:54 -04:00
woodser
d0c02acba1
support sepa instant
2022-06-24 15:46:54 -04:00
woodser
c40938f438
support MoneyGram form api
2022-06-23 11:24:28 -04:00
woodser
faeb9ca8db
refactor payment account form api to support structured, dynamic forms
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
ca9bdf7c29
set offer trigger price and state from open offer
2022-05-26 09:46:57 -04:00
woodser
e33d93eee8
fix npe on startup without monerod connection
2022-05-23 18:23:05 -04:00
woodser
ffccf83ac5
support getXmrPrimaryAddress(), getXmrNewSubaddress()
2022-05-16 13:33:07 -04:00
woodser
fa15612586
support scheduling offers with locked funds
2022-05-16 13:33:07 -04:00
woodser
a37df9281e
add supported asset codes to payment methods
2022-05-12 14:05:57 -04:00
woodser
f4120b869d
support getXmrSeed()
2022-05-11 17:03:34 -04:00
woodser
e4a8aa45e7
update to monero-java v0.7.0
2022-05-10 09:54:37 -04:00
woodser
ded73cad6c
close multisig wallet after seller prepares payment received message
2022-05-06 08:56:29 -04:00
woodser
d87c679f4c
resolve NPE on shutdown before account opened
2022-04-29 13:54:53 -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
woodser
272ae8bfa9
check account open on create crypto payment account ( #281 )
2022-04-12 07:49:40 -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
woodser
fdddc87477
app fully initialized before daemon connection or wallet by default
...
wallet initializes when first connected to get correct height
connect to local node if available and last connection offline
use only one internal daemon in monero node service
2022-04-04 15:28:54 -04:00
duriancrepe
9dfbb0d5a6
Add API functions to start and stop local Monero node
2022-04-04 15:28:54 -04:00
woodser
00765d7b32
Change network version to avoid connecting to bisq nodes ( #275 )
...
Co-authored-by: l0nelyc0w <coinrunner@danwin1210.me>
2022-04-04 14:17:44 -04:00
Christoph Atteneder
e0727f4934
tor v3 formatting and v3 btc nodes from bisq
...
Co-Authored-by: Christoph Atteneder <christoph.atteneder@gmail.com>
Co-Authored-by: Stephan Oeste <emzy@emzy.de>
2022-04-03 12:11:13 -04:00
duriancrepe
2851319e3b
Add API functions to support trade chat ( #257 )
2022-03-09 07:42:48 -05: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
erciccione
07c48a04f5
settings for pricenodes and add our pricenodes
2022-03-06 10:45:18 -05:00
woodser
e91b96227f
support Bitcoin Cash
2022-02-16 11:59:21 -05:00
woodser
45a61ae835
fix bug getting crypto offers caused by base/counter inversion ( #245 )
2022-02-16 10:09:52 -05:00
Randall B
5b038697c3
Add market depth info API call ( #190 )
2022-02-11 18:13:41 -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
woodser
1ae98094f3
stop arbitrator trade initialization timeout ( #238 )
2022-02-08 07:29:30 -05:00
Fritz Lumnitz
a3586fdef8
Add monero connections manager
2022-01-28 17:01:32 -05:00
woodser
2715e1bba8
support notification types: trade update, chat message, keep alive
2022-01-17 08:39:53 -05:00
premek
422267de79
FormattingUtilsTest locale fix
...
This test was failing sometimes (not consistently) on a system with non-en locale. GlobalSettings.setLocale is used in other tests like this
2022-01-14 16:34:12 -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
Fritz Lumnitz
800b309a4b
Add notifications listener
2022-01-13 07:56:59 -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
1b78be689a
maker waits for ack on sign offer request
2022-01-06 15:28:53 -05:00
woodser
253ef8fabe
dispute agent registration uses host name and prevents re-registration
2022-01-06 15:27:07 -05:00
l0nelyc0w
c1699795e7
Add API functions to get wallet transfers and withdraw funds
2021-12-31 14:34:37 -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
7c9c35b1b8
improve error handling in protocol pipelines
...
support getTrades() from grpc api
consistently use timeouts in protocol pipelines
remove trade and repost offer on protocol errors
delete multisig wallet when trade removed
protocol advances on ack messages instead of network onArrived()
re-order protocol class methods to correct order
2021-12-15 13:19:05 -05:00
woodser
dd68760f27
handle errors making or taking offers with insufficient funds
2021-12-08 06:24:35 -05:00
Randall Coding
c7cc810d47
Handle arbitrator giving all payout to one trader
2021-11-22 14:18:49 -05:00
woodser
b6a1d7c652
adjust displayed currencies in desktop app
2021-11-22 08:02:06 -05:00
premek
f27e3e3d1a
Implement getMarketPrices API endpoint
...
- Increase rate limit to 10 calls per second.
- Use the new API also for the getMarketPrice call, this makes the 'Can get market prices' API test pass
2021-11-20 19:41:26 -05:00
woodser
469c47b0c7
add balance to xmr balances
...
reduce trade api rate limiting
offer is set to available
2021-11-20 16:28:49 -05:00
woodser
f08c2036a7
api returns offers for unconfigured payment method
2021-11-19 17:14:21 -05:00
woodser
4dafd57026
use backup arbitrator if signing arbitrator not available
2021-11-18 13:04:25 -05:00
premek
7d21bdf9f3
add config option to specify wallet rpc bind port
2021-11-17 04:55:39 -05:00
woodser
4000fdc1e5
show warnings from wallet disconnect on manual shutdown, not stacktraces
...
quick build haveno apps with `make haveno-apps`
upgrade to monero-java 0.5.8
2021-11-13 12:58:54 -05:00
woodser
cd108387a2
restore dispute summary message
2021-11-11 16:21:22 -05:00
woodser
4d81d98e00
revert price feed changes of #129 due to error when all tests run
...
observing "error applying consumer" in alice console when all tests run
2021-10-30 10:00:40 -04:00