Commit graph

872 commits

Author SHA1 Message Date
woodser
02987075d3 remove total mining fee from itemized offer cost 2023-10-13 09:24:19 -04:00
woodser
d65f36f122 fix decimal formatting to US convention (no commas) in offer book 2023-10-12 13:34:31 -04:00
woodser
23c14a496a fix auto correction to < min amount when creating non-fiat offers #688 2023-10-10 16:08:19 -04:00
woodser
222af4768b replace variations of btc with xmr in app resources 2023-10-10 16:08:19 -04:00
woodser
fe543e7c58 update support tab's description; remove DAO 2023-10-10 16:08:19 -04:00
woodser
f2a89108e8 replace bisq.wiki with haveno.exchange/wiki as placeholder 2023-10-10 16:08:19 -04:00
woodser
32a1a49d7e fiat trigger price has 4 decimals by fixing PriceUtil.formatMarketPrice() 2023-10-09 12:51:47 -04:00
woodser
75f5255050 update block explorer preferences for xmr, remove address url 2023-10-05 06:58:16 -04:00
woodser
9aea5e0c58 PaymentAccount.java uses Res.get() instead of hardcoded labels 2023-10-05 06:58:16 -04:00
woodser
9b88b54729 update description and translations for pay by mail info 2023-10-04 06:53:57 -04:00
woodser
057c629629 connectionService.getRefreshPeriodMs() is always positive, add docs 2023-10-04 06:53:57 -04:00
woodser
849a1c9c55 automatically adjust offer and trade amount for grpc fixed-price offers 2023-09-11 05:55:32 -04:00
woodser
4017fa108a support cash at atm over grpc 2023-09-11 05:55:32 -04:00
woodser
77cf67e6f0 start polling for best connection after delay 2023-09-08 13:34:13 -04:00
woodser
da9b251f12 update to monero-java v0.8.6 2023-09-08 13:34:13 -04:00
woodser
f78a9cd907 remove signed offers with common key images 2023-09-05 10:04:08 -04:00
woodser
9c2308f7a3 support goldback (XGB) 2023-09-04 09:14:39 -04:00
woodser
f19bc2ad4b monero wallets switch to tor after initial sync by default 2023-09-03 10:46:32 -04:00
woodser
4cde0103b3 validate payment method id and improve error message 2023-08-30 08:58:56 -04:00
woodser
e6853d2e76 remove account id from revolut 2023-08-30 08:58:56 -04:00
woodser
c46d210822 payment method ids are case insensitive 2023-08-30 08:58:56 -04:00
woodser
6e768acd1b support pay by mail over grpc api 2023-08-30 08:58:56 -04:00
woodser
c634d9d0a6 F2F payment account form has single trade currency 2023-08-30 08:58:56 -04:00
woodser
03a703b183 fix missing dispute summary text by creating new chat message if empty 2023-08-21 14:51:52 -04:00
woodser
8460346feb arbitrator can resolve their disputes after unregistered 2023-08-21 14:51:52 -04:00
woodser
a35f38b76d remove arbitrator chat next steps on dispute closed 2023-08-20 12:05:13 -04:00
woodser
c0a2fb92ec use elevated priority for protocol tx fees 2023-08-20 12:05:13 -04:00
woodser
26c95cb61d update translation: your offer has been created 2023-08-20 12:05:13 -04:00
woodser
ec7bd3aa51 do not use tor for monero connections by default 2023-08-20 12:05:13 -04:00
woodser
5e7b6c2ccd replace links with haveno.exchange domain 2023-08-20 12:05:13 -04:00
woodser
b077d532fa re-enable testStartEditOfferForActiveOffer() 2023-08-20 12:05:13 -04:00
woodser
8985f84d77 update translation: enter password on startup, withdraw, view seed words 2023-08-19 11:45:09 -04:00
woodser
9b873cf149 remove password from logging 2023-08-19 11:45:09 -04:00
woodser
58d8fdafe5 update translation: offer funds will remain in local Haveno wallet 2023-08-19 11:45:09 -04:00
woodser
7a0f1fc4d5 update translation: withdraw or keep funds in wallet 2023-08-19 11:45:09 -04:00
woodser
1dfa19dd84 update translation: detected a Monero node running 2023-08-19 11:45:09 -04:00
woodser
22ddf0999f restart attempts to sync main wallet on init failure 2023-08-18 12:28:12 -04:00
woodser
740374c9db replace LocalBitcoinNode with LocalMoneroNode 2023-08-18 12:28:12 -04:00
woodser
f08735e1e0 arbitrator can re-sign offer 2023-08-17 14:02:12 -04:00
woodser
f842a9856f save only one backup of each wallet 2023-08-17 14:02:12 -04:00
woodser
6d90d458f9 improve error message on withdraw invalid amount 2023-08-17 14:02:12 -04:00
woodser
de7e40e0f0 remove 'danger' from warning on shut down with offers 2023-08-17 14:02:12 -04:00
woodser
9c5d0702ba remove offerFeeTxId from models 2023-08-17 14:02:12 -04:00
woodser
9fb5dfb788 arbitrator verifies offer not signed before 2023-08-16 11:19:00 -04:00
woodser
20f26ea623 reduce penalty fee to trade fee 2023-08-16 11:19:00 -04:00
woodser
f112760432 remove and repost offers if signing arbitrator unregistered 2023-08-16 11:19:00 -04:00
woodser
b2b4706f14 enable editing offers 2023-08-15 14:04:18 -04:00
woodser
cb7d9364e5 check trades, disputes, and offers and add prompt on shut down
Co-authored-by: jmacxx <47253594+jmacxx@users.noreply.github.com>
2023-08-15 14:04:18 -04:00
napoly
3b89212c6f fix junit test failures for subprojects
Co-authored-by: woodser <woodser@protonmail.com>
2023-08-15 07:53:14 -04:00
woodser
4ca5974493 local network uses .localnet binaries for permissions 2023-08-13 15:26:47 -04:00
woodser
b4ddb46f60 always start syncing main wallet after setting connection 2023-08-12 12:42:05 -04:00
woodser
586a2478fc update monero binaries in app directory #655 2023-08-11 10:07:00 -04:00
woodser
3c8c0034d0 refresh offer TTL only if available 2023-08-11 10:07:00 -04:00
woodser
7fc2f5de52 fix npe resuming from standby without monero connection 2023-08-11 10:07:00 -04:00
woodser
34f68c474a don't try to start local node if seed node 2023-08-02 09:44:47 -04:00
woodser
02ba804432 fix link to open default monero wallet from deposit view 2023-08-02 09:44:47 -04:00
woodser
a5663e1411 add deployment guide and support for mainnet 2023-08-02 09:44:47 -04:00
woodser
05520d51a3 expect .address.txt to be missing on mainnet 2023-08-02 09:44:47 -04:00
woodser
5d52366861 --xmrNode starts local node if used last and offline 2023-08-02 09:44:47 -04:00
woodser
a01a6f7f95 drop --mainnet param from monerod startup config 2023-08-02 09:44:47 -04:00
woodser
f9d0bb414e fix npe if no monero connection on startup 2023-08-02 09:44:47 -04:00
woodser
0594fe2dbe remove warning on expected invalid state transition 2023-08-01 06:51:37 -04:00
woodser
141f1fd2db replace 'btc' with 'xmr' in protobuf definition 2023-08-01 06:51:37 -04:00
woodser
2a3c52b943 fix typo 'what we have already' 2023-08-01 06:51:37 -04:00
woodser
26117c2d10 my offers return open offers, improve synchronization 2023-08-01 06:51:37 -04:00
woodser
3aa5fef8ab fix concurrent modification exception in ArbitrationDisputeList 2023-08-01 06:51:37 -04:00
woodser
74b2db7524 improve error logging on shut down 2023-08-01 06:51:37 -04:00
woodser
473100620e refactor monero connection initialization
re-prioritize default connections
monero network status turns red on connection error
remove popup on connection error
remove popup on 0 monero peers which aren't reported
increase main wallet max sync attempts on startup
renames from btc to xmr
2023-08-01 06:51:37 -04:00
woodser
12b6585779 save wallet on same thread to avoid disconnect on awake from standby 2023-08-01 06:51:37 -04:00
woodser
39b8afa528 create split output tx only once on error 2023-08-01 06:51:37 -04:00
woodser
b3c607152d tolerate errors resuming from standby 2023-08-01 06:51:37 -04:00
woodser
a088f685c1 process unposted offers within lock 2023-07-28 08:01:50 -04:00
woodser
900d3a91e1 fix bugs resetting trade payout address entries 2023-07-28 08:01:50 -04:00
woodser
aa36518f69 initialize trades when all services initialized and p2p bootstrapped 2023-07-28 08:01:50 -04:00
woodser
c548fdaf29 shutting down TorNetworkNode invokes callback handler if already complete 2023-07-28 08:01:50 -04:00
woodser
c39c5cf387 synchronize on wallet lock in XmrWalletService 2023-07-26 09:24:29 -04:00
woodser
426d25f78c rename splitOutput to reserveExactAmount 2023-07-26 09:24:29 -04:00
woodser
242bc0e3bb subtract mining fees from destinations in trade protocol
fixes to scheduling and the deposit view
display address usage context
fix npe when price is null
2023-07-26 09:24:29 -04:00
woodser
13d87a32a5 update monero-java (v0.8.0) and monero-project (v0.18.2.2 w/ extensions)
subtract mining fees from payment destinations
optimize wallet rpc calls for periodic refresh from 3 to 1
fixes to saving wallet files
respect frozen outputs
restore from multisig seed (experimental)
2023-07-26 09:24:29 -04:00
woodser
6188905848 deposit view shows 'Balance in XMR' 2023-07-26 09:24:29 -04:00
woodser
fff04dd936 update description to reserve exact amount 2023-07-26 09:24:29 -04:00
woodser
5c814700fb fixes to persisted trades initialization 2023-07-26 09:24:29 -04:00
woodser
9f3b0c96c4 synchronize on trade during initialization 2023-07-26 09:24:29 -04:00
woodser
a1829ee9f3 remove mempool service 2023-07-14 08:30:46 -04:00
woodser
6b6e1e15d4 sync wallet on dispute chat message ack 2023-07-13 05:12:33 -04:00
woodser
7040ce0da0 fix Dispute.getRoleString() with opener context 2023-07-13 05:12:33 -04:00
woodser
5c6ef41511 process unposted offers after app bootstrapped 2023-07-13 05:12:33 -04:00
woodser
290912c333 synchronize on wallet during restart 2023-07-13 05:12:33 -04:00
woodser
2b84c44ef7 remove HRK currency 2023-07-13 05:12:33 -04:00
woodser
079944c934 fix possible npe on connection changed 2023-07-13 05:12:33 -04:00
woodser
c4898a8ec0 Revert "Support for open JDK 20 by updating dependencies"
This reverts commit 5923a34ef9.
2023-07-11 10:15:19 -04:00
napoly
8b7a6945b2 Fix decimal formatting to US conventions 2023-07-10 07:22:52 -04:00
napoly
5923a34ef9 Support for open JDK 20 by updating dependencies 2023-07-10 07:22:29 -04:00
woodser
322bc40d79 hide 0 monero network peers on footer 2023-06-17 14:05:20 -04:00
woodser
b414ac942d fix amounts in trade statistics view 2023-06-17 14:05:20 -04:00
woodser
59c0496d34 show offers as pending, fix offer funding from manual subaddress 2023-06-17 14:05:20 -04:00
woodser
9ee67a046c fix recovery from monerod disconnect 2023-06-17 14:05:20 -04:00
woodser
722b02f4c9 support reserving exact offer amount by splitting output 2023-06-13 09:03:05 -04:00
woodser
0bbb8a4183 swap address entries when app fully initialized 2023-06-13 09:03:05 -04:00
woodser
2ca8ccb1f3 remove message of losing maker fee on removing offer 2023-06-13 09:03:05 -04:00
woodser
37c6f36868 repurpose delete spv button to rescan outputs (hidden w/o implementation) 2023-06-13 09:03:05 -04:00
woodser
06be2a4829 manage monero connections from ui #623
use tor for all monero connections by default
renames from btc to xmr
updated translations
2023-06-06 12:52:41 -04:00
woodser
1faedc8121 clarify how to use cash at atm payment method 2023-06-06 12:52:41 -04:00
woodser
ec49e2f327 rename 'cash by atm' to 'cash at atm' 2023-06-06 12:52:41 -04:00
woodser
9fffd74ddb deposit view shows base address and externally used addresses
update deposit view on new block
avoid extra request to tx pool on deposit view init
2023-06-05 12:49:42 -04:00
woodser
4993dc8a1f show payment details of australian payid and cash by atm
show terms and conditions prompt on cash by atm
2023-06-05 11:33:13 -04:00
woodser
655583477a support cash by atm payment method #626 2023-06-01 08:26:18 -04:00
woodser
92fb41fffa add second seed node 2023-06-01 08:26:09 -04:00
woodser
b90163baa5 fix fee calculation taking offer within range 2023-05-31 08:22:10 -04:00
woodser
0251b49d61 DisputeOpenedMessage accepts null updated multisig hex 2023-05-31 08:22:10 -04:00
woodser
c197ffb282 avoid persisting when maybe sending deposits confirmed message 2023-05-31 08:22:10 -04:00
woodser
f3f1c41b27 traditional currency price to 8 decimals, volume to 4 decimals #621 2023-05-31 08:22:10 -04:00
woodser
69b0d54c7e update payout unlocked state if trade wallet missing 2023-05-31 08:22:10 -04:00
woodser
4aa13bffff getNewAddressEntry() recovers and gets new subaddress if offline 2023-05-25 20:50:42 -04:00
woodser
1c172edb32 refactor non-fiat iso codes 2023-05-25 20:50:42 -04:00
woodser
da0f4f4652 fix language support on changing language 2023-05-25 20:50:42 -04:00
woodser
5aba26ff82 refactor offer tabs to fiat, bitcoin, other (with gold and silver) 2023-05-20 08:38:52 -04:00
woodser
a31b73d676 consistent label for amount of xmr to buy/sell 2023-05-20 08:38:52 -04:00
woodser
65dbb9bd30 remove BTC case from CurrencyUtil 2023-05-17 16:55:48 -04:00
woodser
654435d4dd sign offers with random arbitrator, take trades with least used 2023-05-17 16:55:48 -04:00
woodser
66d3a23ec2 seller publishes trade statistic on deposit response 2023-05-17 16:55:48 -04:00
woodser
a2c2f670da remove instances of 'Haveno DAO' 2023-05-17 16:55:48 -04:00
woodser
1257072211 change 'cash by mail' to 'pay by mail' 2023-05-17 16:55:48 -04:00
woodser
29706339ef add gold and silver, refactor money types to traditional and crypto 2023-05-17 16:55:48 -04:00
napoly
65bc78d3d7 moving away from JUnit 4 completely to JUnit 5 Jupiter 2023-05-17 08:25:09 -04:00
woodser
463e51a184 reduce idle refresh period to 28 minutes to avoid 30 minute timeout 2023-05-02 18:40:59 -04:00
woodser
d1d39e3482 fix erroneous warning in arbitrator about invalid offer signatures 2023-05-02 18:40:59 -04:00
woodser
1b37a0ab9b instruct to stop monero-wallet-rpc on error opening or creating wallet 2023-05-02 18:40:59 -04:00
woodser
ea10093dad instruct to stop monero-wallet-rpc processes on error opening wallet 2023-05-01 14:28:19 -04:00
woodser
a2c0abcbc1 improve reliability of chat messages ack by not using weak listeners 2023-04-30 16:47:14 -04:00
woodser
6030f1dd57 avoid error on resume from standby 2023-04-30 16:47:14 -04:00
woodser
1fdb02bd1f re-send deposits confirmed messages until acked 2023-04-29 07:41:52 -04:00
woodser
5c1cfdcff9 fix refusal to delete wallet backup 2023-04-29 07:41:52 -04:00
woodser
8174ba34d9 log monerod on task runner and wallet poll errors 2023-04-29 07:41:52 -04:00
woodser
4ebf0f7538 ignore payment sent nack if not seller, add logging 2023-04-29 07:41:52 -04:00
woodser
a4109cd4c7 fix log on connection changed 2023-04-26 16:49:23 -04:00
woodser
332da7535d repeatedly acquire trade lock to allow other threads to finish 2023-04-26 13:52:31 -04:00
woodser
605253ef62 must import multisig hex on deposits confirmed or payment sent messages 2023-04-26 13:52:31 -04:00
woodser
ab55f1f54a seller creates new payout tx if error signing buyer's payout tx 2023-04-26 13:52:31 -04:00
woodser
6d2819bde7 improve error handling
show error popup on error initializing trade
instruct to close monero-wallet-rpc on error opening wallets
throw error if trade missing wallet on init or failure to sign payout tx
2023-04-26 13:52:31 -04:00
woodser
4cf6992113 shut down acquires trade lock until no delay so other threads can finish 2023-04-26 13:52:31 -04:00
woodser
5545bcde38 take offer view shows pending trade wallet balance 2023-04-26 13:52:31 -04:00
woodser
3f7489269f fixes after updating connection and message packages 2023-04-26 13:52:31 -04:00
woodser
e0db4528da update p2p connection and message packages
remove inventor and monitor packages

Co-authored-by: Alva Swanson <alvasw@protonmail.com>
Co-authored-by: Alejandro García <117378669+alejandrogarcia83@users.noreply.github.com>
Co-authored-by: jmacxx <47253594+jmacxx@users.noreply.github.com>
Co-authored-by: HenrikJannsen <boilingfrog@gmx.com>
2023-04-26 13:52:31 -04:00
woodser
52d74c1654 do not send deposits confirmed message if shut down started 2023-04-24 23:11:19 -04:00
woodser
a0bc57c893 walletAndNetworkReady does not wait for sufficient broadcast peers 2023-04-24 23:11:19 -04:00
woodser
e0929653af refactor trade init error handling, fix deadlock in offer book service
wait min of 1 min and 1 conf before deleting trade with fund request
2023-04-24 23:11:19 -04:00
woodser
a7ab31d44e save and back up trade wallets off thread at key steps 2023-04-24 23:11:19 -04:00
woodser
37e812dead remove XmrTxProofService 2023-04-24 23:11:19 -04:00
woodser
33147e1c7c use BUYER_SENT_PAYMENT_SENT_MSG when peers see payment sent message
use SELLER_RECEIVED_PAYMENT_SENT_MSG only for ack to buyer
2023-04-24 23:11:19 -04:00
woodser
7e8e145c85 resend payment sent msg until ack, payment received msg if not published
improve payment confirmation states in ui
2023-04-23 07:24:16 -04:00
woodser
aea831bafd log warning on missing trade wallet 2023-04-23 07:24:16 -04:00
woodser
0c3761b172 handle response from offer availibility check off thread 2023-04-23 07:24:16 -04:00
woodser
567ef6784d tradeManager error handling uses getOpenTradeByUid() 2023-04-23 07:24:16 -04:00
woodser
1d17330487 continue initializing trades on error 2023-04-23 07:24:16 -04:00
woodser
b33f53f9a5 add error message if improperly registered seednode 2023-04-23 07:24:16 -04:00
woodser
427c762620 progress notifications during take offer are more frequent and reliable 2023-04-18 16:50:16 -04:00
woodser
cffbfa8aaa rename clearXchange to zelle 2023-04-18 16:50:16 -04:00
woodser
2afa5d761d improve stability on tor, refactor startup and shut down
refactor startup sequence to improve message reliability
refactor shut down sequence to finish processing messages
reduce monerod requests to improve slow tor connections
refactor trade wallet polling
monero node service uses default data directory unless local
connections service checks connection by polling daemon
connections service supports getRefreshPeriodMs and shutting down
add make config: monerod-stagenet-custom
fix bugs in key image polling
force stop wallet on deletion
trade manager initializes persisted trades on data received
support hardcoding monero log level and request stack traces
remove xmrAddress from Arbitrator model
fix formatting of MoneroWalletRpcManager
2023-04-17 10:11:32 -04:00
erciccione
64949b4912 add second pricenode 2023-04-13 05:48:39 -04:00
woodser
f0fafeb2f7 fix provisioning error by using Arrays.asList instead of List.of 2023-04-12 09:41:27 -04:00
woodser
1b753e4f29 stability fixes on tor
optimize when multisig info imported
fetch updates for tx progress indicators off main thread
add synchronization locks
refactor address entry management
add totalTxFee to process model
prevent same user from taking same offer at same time
set refresh rate to 30s for tor
2023-04-07 21:27:39 -04:00
woodser
b9524bd19e initialize persisted trades when all services initialized 2023-04-06 11:08:49 -04:00
woodser
11f1d75f27 fixed difficulty 400 2023-04-06 11:08:49 -04:00
woodser
fd69f4250b support tor connection to monero network through monero-java
cleanup startup routine for stability
remove call to `get_connections`
increase wallet startup timeout to 1 hour
increase app startup timeout to 5 minutes
skip checkstyle in make commands
2023-04-06 11:08:49 -04:00
erciccione
0a4ccc85fd change priority of haveno's stageent monero node to 2 2023-04-05 07:24:30 -04:00
erciccione
c0908dd4c2 update seednodes and monero stagenet node for test-network 2023-04-01 08:22:43 -04:00
napoly
4bef95172c Update Signed Offers view in legacy UI 2023-03-20 13:21:36 -04:00
napoly
3b8f19c4ce Removing star and unused imports with checkstyle 2023-03-19 15:03:24 -04:00
woodser
cf8de0843e initialize wallet after p2p network ready 2023-03-14 17:08:38 -04:00
woodser
e369487457 improve reliability of wallet initialization by starting with connection
avoid redundant call to start syncing
2023-03-14 17:08:38 -04:00
woodser
4650003838 use byte[] for signatures instead of strings 2023-03-12 12:08:50 -04:00
woodser
ead70751dc add trader id to SignedOffer 2023-03-12 12:08:50 -04:00
woodser
19d83749eb show progress percent while taking offer 2023-03-12 12:08:50 -04:00
woodser
60341002fd prevent non-terminating BigDecimal division 2023-03-10 05:47:55 -05:00
woodser
47f3d98597 remove unused fields from TradePeer and Contract
fix concurrent modification exception applying prices to trade stats
standardize offer fee tx ids (unused)
2023-03-10 05:47:55 -05:00
woodser
a16b03bb5c increase penalty fee to security deposit 2023-03-10 05:47:55 -05:00
woodser
8ea556fa4f do not process trade messages if trade already failed
start monero-wallet-rpc without connection
add logging
2023-03-10 05:47:55 -05:00
woodser
5b8f9237ce rename core package from btc to xmr 2023-03-08 11:39:10 -05:00
woodser
e71f9a54ac remove unused messages and fields from protobuf models
rename BitcoinModule to MoneroModule
change to HavenoUtils.formatXmr(...)
remove "_as_long" postfix from models
2023-03-08 11:39:10 -05:00
woodser
1a1fb130c0 rename all packages and other names from bisq to haveno 2023-03-08 11:37:33 -05:00
woodser
ab0b9e3b77 transition Balances to use native xmr atomic units 2023-03-07 08:33:56 -05:00
woodser
74cd910705 handle trade events during initialization 2023-03-07 08:33:56 -05:00
woodser
b18e9ad4bf fix Res.get() warning on pmt confirmation w/ "Preparing confirmation..." 2023-03-07 08:33:56 -05:00
woodser
f91db182d8 desktop app creates offers with floating market price 2023-03-07 08:33:56 -05:00
woodser
369e562362 increase minimum trade amount to 0.1 XMR 2023-03-06 08:53:00 -05:00
woodser
9b4f8046b7 switch to xmr atomic units as native units 2023-03-06 08:53:00 -05:00
woodser
ab94b2d6fa fix concurrent modification exception fetching disputes 2023-03-06 08:53:00 -05:00
woodser
17d94f346c log warning on refusal to delete backup wallet 2023-03-04 16:19:59 -05:00
woodser
1809e34aaa only import multisig hex on dispute closed if wallet exists after sync 2023-03-04 16:19:59 -05:00
woodser
ed0f458bc4 support broadcasting maker and taker reserve txs in legacy ui
Co-authored-by: niyid <neeyeed@gmail.com>
2023-03-04 08:35:51 -05:00
woodser
34b79e779b remove extraneous errors on daemon disconnect, one warning per 5 minutes 2023-02-27 09:26:58 -05:00
woodser
05b259bd55 add fields to SignedOffer: trade amount, maker fee, reserve tx miner fee 2023-02-27 09:26:58 -05:00
woodser
4dde53f0e8 support password prompt in legacy ui
Co-authored-by: niyid <neeyeed@gmail.com>
2023-02-27 09:19:59 -05:00
woodser
99653fe40d account service checks that password is at least 8 characters 2023-02-26 11:01:21 -05:00
woodser
b585e0f105 import multisig hex on every update and before creating payout txs 2023-02-26 08:35:50 -05:00
woodser
6dca11f471 arbitrator sends original unsigned payout tx if published
synchronize on trade when processing dispute messages
2023-02-26 08:35:50 -05:00
woodser
17ac09fa4d only sync wallet if not published on dispute closed 2023-02-24 12:06:47 -05:00
woodser
487d371a2d only republish offers with reserved key images 2023-02-24 10:51:13 -05:00
woodser
1d46818732 getMyOffers() does not require asset code 2023-02-24 10:51:13 -05:00
woodser
ce579b78ca arbitrator sends same dispute payout tx to both peers on resolve w/ grpc
fix npe in trade.get*DepositTx()
2023-02-24 09:58:33 -05:00
woodser
55650c495b accountService.changePassword() requires old and new password 2023-02-22 08:55:47 -05:00
woodser
86511b4e21 synchronize closed and failed trade managers 2023-02-21 11:12:57 -05:00
woodser
28c07e966b fetch maker and taker txs from wallet then daemon 2023-02-21 11:12:57 -05:00
woodser
8820a87286 arbitrator always includes dispute payout tx
sync wallet before processing
remove extraneous wallet syncs
2023-02-21 11:09:48 -05:00
woodser
8ec76aa1cd set isInitialized after initialization, add isShutDown flag to Trade
fix bug opening wallet while shutting down
2023-02-15 10:59:02 -05:00
napoly
a2f0792799 reject payment accounts with duplicate names 2023-02-13 10:13:12 -05:00
woodser
e2a8dc702b show popup for error notifications sent through notification service 2023-02-11 16:50:32 -05:00
woodser
88f0ad543a sync idle trades once in background after active trades 2023-02-11 16:50:32 -05:00
woodser
0c4ce623a7 arbitrator syncs idle trade wallet when payout confirmed and unlocked
refuse to delete trade wallet if balance > dust
2023-02-11 16:50:32 -05:00
woodser
b69a7c1b48 use thread pool to cap sync concurrency in setDaemonConnection() 2023-02-11 16:50:32 -05:00
woodser
190003b5ba migrate to DisputeValidation
Co-authored-by: HenrikJannsen <boilingfrog@gmx.com>
2023-02-11 16:50:32 -05:00
woodser
6f16a5ee92 remove unused protobuf fields
remove TraderSignedWitnessMessage
remove tx fee from offer and trade
set dispute's disputePayoutTxId when payout observed
synchronize access to PersistenceManager.persistNow()
fix concurrent modification exception in OfferBookChartView
2023-02-11 16:50:32 -05:00
woodser
0372af663a synchronize access to account age witness maps to fix missing hash 2023-02-09 08:48:45 -05:00
woodser
5feb487039 arbitrator deletes signed offer when key image confirmed spent 2023-02-07 14:31:14 -05:00
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
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
882f1c070a fetch deposit txs unless cached and confirmed 2023-01-24 14:02:41 -05:00
woodser
23393bb4b8 resend dispute closed message with payout tx on updated multisig info
advance dispute state if progress
SupportManager processes messages in order
re-arrange domain initialization to fix null pub key in DisputeManager
2023-01-24 14:02:41 -05:00
woodser
533639bd19 send dispute closed messages independently 2023-01-24 14:02:41 -05:00
woodser
e6baf0260a delete backup wallets if confirmed unfunded 2023-01-24 14:02:41 -05:00
woodser
9877ba87a4 delete and restore account restarts application automatically
added standard input to keepalive loop for issuing commands to daemon

Co-authored-by: duriancrepe <duriancrepe@protonmail.com>
2023-01-24 08:25:59 -05:00
woodser
350d2d5398 fix error changing wallet password from default password
HavenoUtils.executeTasks() throws exception from any tasks
2023-01-21 07:32:36 -05:00
woodser
f1b9829b09 remove sender node address and pub key ring from non-mailbox messages 2023-01-21 07:32:36 -05:00
woodser
932854d7b2 fix persistence of isDepositsConfirmedMessagesDelivered in ProcessModel 2023-01-19 19:14:34 -05:00
woodser
422819efb4 support actual buyer & seller security deposit in TradeInfo 2023-01-19 19:14:34 -05:00
woodser
b745eaccd4 improve tx verification
verify sufficient security deposit which may absorb tx fee
payout binary search applies tolerance to security deposit
verify payouts sum to wallet balance
verify custom winner amount <= wallet balance
2023-01-19 19:14:34 -05:00
woodser
7f26119515 check peer date while initializing trade instead of deposits confirmed 2023-01-16 16:27:15 -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
435fc164b2 resend deposits confirmed messages until delivered 2023-01-15 10:58:45 -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
266d129462 don't delete wallet backup if possibly funded
support new trade state: PUBLISH_DEPOSIT_TX_REQUEST_FAILED
2023-01-15 10:58:45 -05:00
woodser
a8114e147d change log warning to info on error fetching from price provider 2023-01-14 07:37:53 -05:00
woodser
5db80eac17 resend payment sent/received messages on startup if not arrived 2023-01-14 07:37:53 -05:00
woodser
21fcdc7e00 use unique deterministic ids for mailbox messages 2023-01-14 07:37:53 -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
963d92478d overwrite dispute agent with same address 2023-01-11 08:54:37 -05:00
woodser
be88f57e09 don't warn if trade wallet is null on poll 2023-01-11 08:54:37 -05:00
woodser
39f86817e0 fetch prices on same thread if 0 delay 2023-01-10 08:32:44 -05:00
woodser
3e0473719b currency util uses uppercase currency code 2023-01-10 08:32:44 -05:00
woodser
9d3855ad2e synchronize open offers to fix concurrent modification exception 2023-01-02 17:05:09 +00: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
c5f6aeb4cc sync and save wallet when closing ticket, fix NPE 2022-12-27 12:56:36 +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
eae3060c63 start seednode with monerod address to resolve warning
initialize connection immediately if monerod address given
2022-12-23 16:21:24 +00:00
woodser
1c6d4cec83 cache incoming txs to improve performance of funds tab 2022-12-23 16:21:24 +00:00
woodser
a21628ad0d grpc offer info returns atomic units 2022-12-23 16:21:24 +00:00
woodser
fb1b8f8bd8 PriceFeedService.requestAllPrices() cycles providers and updates cache 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
11c3a786c9 update price server links 2022-12-22 09:35:27 +00:00
woodser
06c2ce432b take offer funded from available balance 2022-12-21 23:40:28 +00:00
woodser
2b7beff84e remove "Returning balance for subaddress" printout 2022-12-21 15:29:12 +00:00
woodser
e8242612b2 update haveno support links to monero.social, update unconfirmed warning 2022-12-21 15:29:12 +00:00
woodser
67a8ac1236 dispute can be opened after 1d (mainnet), 30m (stagenet), or 1m (local) 2022-12-21 15:29:12 +00:00
woodser
a3f0543e4f remove redundant MAX_FIAT_STAGENET_XMR 2022-12-21 15:29:12 +00:00
woodser
e5cf2f8429 fix potential double spend by locking wallet when thawing outputs 2022-12-21 15:29:12 +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
e85682e635 fix resolved dispute chat message 2022-12-20 10:14:46 +00:00
woodser
38864d71ff implement batch key image polling for offer book in background 2022-12-19 11:26:09 +00:00
napoly
1adf7bd73f
avoid redundant wallet backups, max 10 backups (#505)
Co-authored-by: woodser <woodser@protonmail.com>
2022-12-18 15:15:55 +00:00
napoly
217e7e03a2 dockerize deamons with docker compose 2022-12-16 15:01:58 +00:00
woodser
f11c816cda enforce trade limit over grpc 2022-12-16 09:24:53 +00:00
woodser
31dfdd7710 remove btc fee service 2022-12-16 09:16:11 +00:00
woodser
3314eac881 stability improvements
synchronize timeout timer
fix concurrent modification exceptions
use wallet lock when saving multisig wallets
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
napoly
13b5d123bb increase fiat trade limit to 2 XMR 2022-12-15 21:41:27 +00:00
napoly
3ba106d466 fix wallet rpc initialization 2022-12-04 17:20:40 +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
woodser
a2929035bc only update balances if not terminated 2022-11-28 15:28:40 +00:00
woodser
a408b0e7ae trade initialization defers opening and syncing wallet if idling 2022-11-28 15:28:40 +00:00
woodser
7ca3b8cee1 re-send payment sent/received messages on startup if not arrived 2022-11-28 15:28:40 +00:00
woodser
e20e23dbc5 stop initializing trades on shutdown 2022-11-28 15:28:40 +00:00
woodser
7062fa9e79 message handlers return synchronously 2022-11-28 15:28:40 +00:00
woodser
a266fab6ec process mailbox messages in order 2022-11-28 15:28:40 +00:00
woodser
456ef912ed delete trade wallet on error if deposit not requested 2022-11-26 22:28:30 +00:00
woodser
79db2bc0af arbitrator submits deposit txs and checks result before relaying 2022-11-26 22:28:30 +00:00
woodser
9aa6bbeff6 must provide fixed price unless using market price 2022-11-26 22:28:30 +00:00
woodser
9c5fdb5d4a finish processing PaymentReceivedMessage 2022-11-24 14:25:55 +00:00
woodser
4c7075b0bd set payout tx hash on payment received unless unlocked 2022-11-24 12:33:00 +00:00
napoly
d3949614c6 reject creating crypto payment account with invalid currency code or address 2022-11-24 11:34:22 +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
d9f2ce425f improve performance by pre-fetching txs for subaddress queries 2022-11-07 08:26:30 -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
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
woodser
68e0bba6ac only print when outputs first confirm 2021-10-30 10:00:40 -04:00
woodser
728760bbc2 support price feed for btc and other cryptos
add btc and remove xmr from market price map
closes #125
2021-10-24 09:23:15 -04:00
woodser
ed4394dc5d set payment account trade currency
closes #115
2021-10-24 09:23:15 -04:00
l0nelyc0w
cefba8e4b5 remove DAO
Co-authored-by: premek <1145361+premek@users.noreply.github.com>
2021-10-20 06:19:52 -04:00
erciccione
a74fac9646 use makefile for quick installation and deployment
- update docs/installing.md
- edit WalletConfig.java to point to monero-wallet-rpc in .localnet
- remove monerod and monero-wallet-rpc from .gitignore
2021-10-13 08:05:31 -04:00
woodser
b72db7f20d onTakeOffer() invokes result handler after trade completely initialized 2021-09-21 10:01:20 -04:00
woodser
f8fa838a9b open trades in parallel on startup 2021-09-21 10:01:20 -04:00