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
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
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
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
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
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
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
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)
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
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