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