Commit Graph

559 Commits

Author SHA1 Message Date
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