Commit Graph

701 Commits

Author SHA1 Message Date
woodser
f162cad439 handle connection change on dedicated thread, other thread improvements 2023-12-20 07:32:40 -05:00
woodser
b1f8411641 check local connection after setting 2023-12-20 07:32:40 -05:00
woodser
dffb676f4e reset address entries for open offer on error taking offer 2023-12-20 07:32:40 -05:00
woodser
30e199c56e shut down trades before main wallet to finish processing 2023-12-20 07:32:40 -05:00
woodser
e6775f3b58 move processing off UserThread for smoother experience 2023-12-18 13:45:04 -05:00
woodser
e11d65c038 check and extend timeout after taker creates reserve tx 2023-12-18 13:45:04 -05:00
woodser
48d902b58d close trader dispute ticket on payout published 2023-12-18 13:45:04 -05:00
woodser
c42471191a refactor trade state TRADE_COMPLETED to boolean 2023-12-18 13:45:04 -05:00
woodser
fd4e4d3917 remove warning that wallet is not synced when idling 2023-12-16 15:20:36 -05:00
woodser
66a152c888 close open dispute on preparing payment received message 2023-12-16 15:20:36 -05:00
woodser
26ea53883c republish offers awaits prices and runs off UserThread 2023-12-16 15:20:36 -05:00
woodser
dbd8db0e88 set open offer's reserve tx fields once known and repost if invalid 2023-12-16 15:20:36 -05:00
woodser
2e13bc0051 update translation: Taking offer: X% 2023-12-14 12:03:47 -05:00
woodser
c9a79888c8 change message when daemon synced and update translations 2023-12-14 12:03:47 -05:00
woodser
94eae8f945 add (via clearnet) to connection status 2023-12-14 12:03:47 -05:00
woodser
acfb4ae4c5 log price provider 2023-12-14 12:03:47 -05:00
woodser
c7277187c5 fix cycling through price providers 2023-12-11 09:06:20 -05:00
woodser
d8ac901d4a call wallet.sync() on startup after background sync with progress 2023-12-10 16:08:45 -05:00
woodser
74cfd474ad clear basic trade process data on payout unlocked 2023-12-10 16:08:45 -05:00
woodser
948be8ce29 rename trade getPayoutAmount() to getPayoutAmountBeforeCost() 2023-12-10 16:08:45 -05:00
woodser
7bfba15109 do not resend deposits confirmed message after payout published 2023-12-10 16:08:45 -05:00
woodser
0c149b780f mark dispute closed per ticket and sync for payout on ack 2023-12-10 16:08:45 -05:00
woodser
3730773006 replace BigInteger.valueOf(0) with BigInteger.ZERO 2023-12-10 16:08:45 -05:00
woodser
cd89b8bf15 update translations for startup syncs 2023-12-10 16:08:45 -05:00
woodser
41ed01dbde update translation: Connecting to Haveno network 2023-12-10 16:08:45 -05:00
woodser
8800d9ea46 set buyer and seller payout tx fee and amount, fix csv export #720 2023-12-10 16:08:45 -05:00
woodser
846a8634e5 process mailbox messages in sequential order per trade 2023-12-05 08:49:09 -05:00
woodser
da8474a0f4 fix npe when connection is null 2023-12-05 08:49:09 -05:00
woodser
38bbfafcbb show wallet sync progress on startup 2023-12-02 10:06:11 -05:00
woodser
f5d82df477 hide reserved subaddresses in deposit view 2023-11-29 20:31:00 -05:00
woodser
84c08e4c36 show that wallet is syncing on startup 2023-11-29 20:31:00 -05:00
woodser
9fb22f6d1f reset startup timeout on sync progress 2023-11-29 20:31:00 -05:00
woodser
9957aa6256 check that wallet is synced within tolerance 2023-11-28 11:48:25 -05:00
woodser
7b9773e3c6 update translation: chain not synced popup 2023-11-27 14:01:34 -05:00
woodser
644bb72957 rename services and objects from Monero to Xmr for consistency 2023-11-26 11:10:49 -05:00
napoly
497f987541 fix csv export by avoiding null pointer with ZERO 2023-11-26 11:10:37 -05:00
woodser
d094997666 show daemon sync progress on startup then sync wallet 2023-11-25 14:46:44 -05:00
woodser
846b278b5d set and display current monerod height instead of target 2023-11-24 13:31:48 -05:00
woodser
27bf72d432 poll local node for faster switching 2023-11-24 13:31:48 -05:00
woodser
3d0b8c0b09 process mailbox messages on main thread on startup 2023-11-21 13:01:10 -05:00
woodser
cfaca6e0d8 fetch txs on startup to fix balance with 0 conf PaymentReceivedMsg 2023-11-21 13:01:10 -05:00
woodser
013924b141 don't send payment sent message back to buyer 2023-11-21 13:01:10 -05:00
woodser
fc396f7478 fix peer deleting unique payment sent, received, dispute messages 2023-11-21 13:01:10 -05:00
woodser
5fc67ec65a fix app hanging after connection change with parallel handling 2023-11-19 14:31:03 -05:00
woodser
f6f4fb014e stop polling trade wallet after marking shut down started 2023-11-17 12:13:27 -05:00
woodser
5294baf949 reset timeout timer after maker sends sign offer request 2023-11-17 12:13:27 -05:00
woodser
83352ec1e3 set or clear connection error message on each daemon poll 2023-11-17 12:13:27 -05:00
woodser
0bc5300a27 synchronize on wallet while importing multisig hex 2023-11-16 10:15:13 -05:00
woodser
9eea422c9e sync main wallet on payout to update pending balance 2023-11-16 10:15:13 -05:00
woodser
35be468de0 fixes to warning when wallet is too far behind daemon 2023-11-16 10:15:13 -05:00
woodser
9ca263927f fix typo in logging 2023-11-15 07:13:41 -05:00
woodser
dd71423d95 fix concurrent modification exception when trades added to main view 2023-11-15 07:13:41 -05:00
woodser
f9afd44345 synchronize on wallet lock getting address entries 2023-11-15 07:13:41 -05:00
woodser
e2369480b2 loser pays mining fee on resolve dispute with custom amount 2023-11-15 07:13:41 -05:00
woodser
51d5f0e1d3 synchronize wallet poll and stop polling on shut down started 2023-11-15 07:13:41 -05:00
woodser
fd0bf23867 fix npe on first start with offline --xmrNode 2023-11-13 15:40:51 -05:00
woodser
606b2cef23 resume syncing wallet after applying proxy uri change 2023-11-13 15:40:51 -05:00
woodser
9b79faf29a increase max trade limit to 64 xmr 2023-11-12 06:03:45 -05:00
woodser
af38f82406 document signing accounts in deployment guide, minor fixes 2023-11-12 06:03:45 -05:00
woodser
5c9a6b9ed6 move redundant deposit tx from ProcessModel to getSelf().getDepositTx() 2023-11-10 15:58:58 -05:00
woodser
74b0e42dae remove getFeePerVbyte() for btc 2023-11-10 15:58:58 -05:00
woodser
4cc2d7d112 trade history casts trade to get security deposit when available 2023-11-03 10:27:37 -04:00
woodser
8a89be1636 fix too much precision calculating security deposit 2023-11-03 10:27:37 -04:00
woodser
0f7ace7326 fix adjusting amounts by smallest volume increments 2023-11-03 10:27:37 -04:00
woodser
4749d286da re-enable posting offers above new account limits 2023-11-03 10:27:37 -04:00
woodser
4df59bc546 update translation: Confirmed in X block(s) -> X confirmation(s) 2023-11-01 14:41:21 -04:00
woodser
2839f33696 do not update peer node address on dispute opened 2023-11-01 14:41:21 -04:00
woodser
9d5ea3db4c adjust amount by smallest volume increments 2023-11-01 14:41:21 -04:00
woodser
23525d89ee security deposit is based on trade amount 2023-10-31 17:56:34 -04:00
woodser
f261a38cce fix adjustment < min amount creating offers 2023-10-31 17:56:34 -04:00
woodser
4f5f82bf0f fix xag and xau names inverted 2023-10-29 14:13:42 -04:00
woodser
ed93096a4b arbitrator reserved trade amount = 0 2023-10-29 14:13:42 -04:00
woodser
8f8d653871 replace trade.getBuyerSecurityDeposit() w/ getBuyer().getSecurityDeposit() 2023-10-29 14:13:42 -04:00
woodser
7592d8fbca fix payment sent ack after offline: 'Cannot get peer's pub key ring' 2023-10-29 14:13:42 -04:00
woodser
3450f3799e process ack on DepositsConfirmedMessage from peer with changed address 2023-10-29 14:13:42 -04:00
woodser
05e2d925f0 fix incorrect deposit amount for range trades
improve display of reserved and pending balances by adjusting
support subtracting fee from buyer and/or seller on dispute resolution
validate trade amount is within offer amount
expose maker's split output tx fee
expose security deposit received from buyer and seller
2023-10-28 14:45:33 -04:00
woodser
0294062312 parse commas in xmr amounts to decimal 2023-10-18 05:58:45 -04:00
woodser
4217424c6e update translations: remove DAO from signature verification 2023-10-18 05:58:45 -04:00
woodser
df34b2e534 remove {4} from itemized offer cost in german translation 2023-10-13 10:10:15 -04:00
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