woodser
6c83fc4cf8
avoid fetching wallet subaddresses individually by caching
2024-01-09 06:59:45 -05:00
woodser
c28ffb70ff
update state from wallet notifications on UserThread
2024-01-09 06:59:45 -05:00
woodser
a6f6f5c00a
protocols skip resending payment sent/received if shut down
2024-01-09 06:59:45 -05:00
woodser
c06a85b929
clear and shut down inactive trades, move more to trade threads
2024-01-06 12:52:21 -05:00
woodser
c14f37b595
invoke main wallet listeners in thread pool
2024-01-06 12:52:21 -05:00
woodser
52a44d020e
update trades on UserThread in TradeManager to fix npe
2024-01-06 12:52:21 -05:00
woodser
0d60df2aa7
refactor trade and connection threading to new ThreadUtils
2024-01-06 12:52:21 -05:00
woodser
497de47965
do not set daemon connection to null on disconnect
2024-01-06 12:52:21 -05:00
woodser
ba8a9ae21d
await external prices on startup
2024-01-06 12:52:21 -05:00
woodser
f8d9c827ea
skip wallet initialization if shut down started
2024-01-06 12:52:21 -05:00
woodser
2ee2b747f9
check for balance before deleting trade wallet
2024-01-06 12:52:21 -05:00
woodser
e7371d1299
process trade state notifications off UserThread
2024-01-04 14:54:15 -05:00
woodser
43bbb29384
try syncing main wallet when height > target height on startup
2024-01-04 14:54:15 -05:00
woodser
0a3736bba0
reprocess trade messages off UserThread
2024-01-04 14:54:15 -05:00
woodser
5d88936600
start main wallet when daemon synced with improved UserThread
2024-01-01 09:05:04 -05:00
woodser
5466689857
set progress listener state in same thread
2024-01-01 09:05:04 -05:00
woodser
7f3fd0af08
finish open offer manager tasks before shut down
2024-01-01 09:05:04 -05:00
woodser
342c212ba8
remove global error handler for taking offer
2024-01-01 09:05:04 -05:00
woodser
fdb24ba9f8
arbitrator sends nack if trade already taken
2024-01-01 09:05:04 -05:00
woodser
c6b1d03283
set price feed state in UserThread
2024-01-01 09:05:04 -05:00
woodser
c55fb927f2
rely on trade state to delete wallet
2023-12-31 10:14:13 -05:00
woodser
3aab3f57b1
set offer state on UserThread
2023-12-31 10:14:13 -05:00
woodser
e160499d30
sync main wallet outside lock on connection changed
2023-12-31 10:14:13 -05:00
woodser
bc4d8fc8c2
split output tx is null while awaiting scheduled tx
2023-12-31 10:14:13 -05:00
woodser
2e86d4a62a
check local connection before switching
2023-12-31 10:14:13 -05:00
woodser
6c2f3ea154
improve trade state reliability
...
update trade state atomically on UserThread
nullify error handling on deposits confirmed message
set trade state before deposit request and relay
add checks before deleting wallet
UserThread.await() detects if on UserThread
2023-12-27 11:20:16 -05:00
woodser
3de4264c4b
increase offer reliability with TTL, refresh period, max attempts
2023-12-24 11:55:47 -05:00
woodser
0d33959eeb
republish offers on dedicated thread for open offer manager
2023-12-22 09:58:29 -05:00
woodser
a1f8f942fc
poll daemon and trade wallets in dedicated lock and prevent queuing
2023-12-22 09:58:29 -05:00
woodser
1dab218d7e
do not shut down connection pool in case account is re-recreated
2023-12-20 07:32:40 -05:00
woodser
c7b8571842
reset timeout timer on progress creating offer
2023-12-20 07:32:40 -05:00
woodser
1df2ab4389
replace AppSetupWithP2PAndDAO with AppSetupWithP2P
2023-12-20 07:32:40 -05:00
woodser
01a57c18f7
support setting custom node in UI with localhost running
2023-12-20 07:32:40 -05:00
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