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
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
9b4f8046b7
switch to xmr atomic units as native units
2023-03-06 08:53:00 -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
55650c495b
accountService.changePassword() requires old and new password
2023-02-22 08:55:47 -05:00
woodser
e2a8dc702b
show popup for error notifications sent through notification service
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
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
f1b9829b09
remove sender node address and pub key ring from non-mailbox messages
2023-01-21 07:32:36 -05:00
woodser
422819efb4
support actual buyer & seller security deposit in TradeInfo
2023-01-19 19:14:34 -05:00
woodser
435fc164b2
resend deposits confirmed messages until delivered
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
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
31dfdd7710
remove btc fee service
2022-12-16 09:16:11 +00:00
woodser
9aa6bbeff6
must provide fixed price unless using market price
2022-11-26 22:28:30 +00:00
woodser
0d981a2df6
get trade account payloads over grpc, support crypto account forms
2022-11-23 09:42:43 +00: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
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
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
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
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
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
woodser
f464110fb5
update locked -> pending balance
2022-08-17 14:49:49 -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
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
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
50126874a0
add multisig wallet state and wait for multisig to complete
...
refactor trade protocol
2022-07-31 14:51:27 -04:00
woodser
3dcaf67edd
refactor trade protocol latch and timeouts
2022-07-25 22:57:06 -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
e2208355b1
support local, stagenet, and mainnet xmr network configuration ( #335 )
...
remove btc wallet
disable local zmq
2022-07-07 09:10:59 -04:00
woodser
7ad2e20d95
support paxum
2022-06-24 15:46:54 -04:00
woodser
27f4b18330
support uphold
2022-06-24 15:46:54 -04:00
woodser
6dbd1660e5
support faster payments
2022-06-24 15:46:54 -04:00
woodser
d0c02acba1
support sepa instant
2022-06-24 15:46:54 -04:00
woodser
c40938f438
support MoneyGram form api
2022-06-23 11:24:28 -04:00
woodser
faeb9ca8db
refactor payment account form api to support structured, dynamic forms
2022-06-23 11:24:28 -04:00
woodser
88578bed10
general rebase in order to update payment methods and desktop app
...
Co-authored-by: Alva Swanson <alvasw@protonmail.com>
Co-authored-by: andyheko <haoen.ko@gmail.com>
Co-authored-by: Bisq GitHub Admin <51445974+bisq-github-admin-3@users.noreply.github.com>
Co-authored-by: BtcContributor <79100296+BtcContributor@users.noreply.github.com>
Co-authored-by: cd2357 <cd2357@users.noreply.github.com>
Co-authored-by: chimp1984 <chimp1984@gmx.com>
Co-authored-by: Chris Beams <chris@beams.io>
Co-authored-by: Christoph Atteneder <christoph.atteneder@gmail.com>
Co-authored-by: Devin Bileck <603793+devinbileck@users.noreply.github.com>
Co-authored-by: ghubstan <36207203+ghubstan@users.noreply.github.com>
Co-authored-by: Huey <hueydane@gmail.com>
Co-authored-by: Jakub Loucký <jakub.loucky@outlook.cz>
Co-authored-by: jmacxx <47253594+jmacxx@users.noreply.github.com>
Co-authored-by: KanoczTomas <tomas.kanocz@cnl.sk>
Co-authored-by: m52go <735155+m52go@users.noreply.github.com>
Co-authored-by: Marcus0x <marcus0x@xrhodium.org>
Co-authored-by: MarnixCroes <93143998+MarnixCroes@users.noreply.github.com>
Co-authored-by: Martin Harrigan <martinharrigan@gmail.com>
Co-authored-by: MwithM <50149324+MwithM@users.noreply.github.com>
Co-authored-by: sqrrm <sqrrm@users.noreply.github.com>
Co-authored-by: Stan <36207203+ghubstan@users.noreply.github.com>
Co-authored-by: Stephan Oeste <emzy@emzy.de>
Co-authored-by: Steven Barclay <stejbac@gmail.com>
Co-authored-by: WAT <shiido.it@gmail.com>
Co-authored-by: wiz <j@wiz.biz>
Co-authored-by: xyzmaker123 <84982606+xyzmaker123@users.noreply.github.com>
2022-05-28 13:56:29 -04:00
woodser
ca9bdf7c29
set offer trigger price and state from open offer
2022-05-26 09:46:57 -04:00
woodser
ffccf83ac5
support getXmrPrimaryAddress(), getXmrNewSubaddress()
2022-05-16 13:33:07 -04:00
woodser
fa15612586
support scheduling offers with locked funds
2022-05-16 13:33:07 -04:00
woodser
a37df9281e
add supported asset codes to payment methods
2022-05-12 14:05:57 -04:00
woodser
f4120b869d
support getXmrSeed()
2022-05-11 17:03:34 -04:00
woodser
c2f5adac9b
trigger price handled as string, same as price
2022-04-28 11:46:34 -04:00
woodser
2d3043093e
seller state is PAYMENT_RECEIVED or PAYOUT_PUBLISHED after confirming
2022-04-07 14:12:03 -04:00
woodser
730bee3e71
renames in proto and api ( #277 )
...
rename to getNewDepositAddress()
rename trade phase DEPOSIT_CONFIRMED to DEPOSIT_UNLOCKED
rename fiat sent/received to payment sent/received
2022-04-07 10:45:35 -04:00
woodser
32070fbafb
refactor payout protocol to work with or without updated multisig
2022-04-06 11:27:50 -04:00
woodser
bb95b4b1d6
support multithreading in api and protocols
...
close trade wallets while unused for scalability
verify txs do not use unlock height
increase trade init timeout to 60s
2022-04-06 11:27:50 -04:00
duriancrepe
9dfbb0d5a6
Add API functions to start and stop local Monero node
2022-04-04 15:28:54 -04:00
woodser
00765d7b32
Change network version to avoid connecting to bisq nodes ( #275 )
...
Co-authored-by: l0nelyc0w <coinrunner@danwin1210.me>
2022-04-04 14:17:44 -04:00
duriancrepe
2851319e3b
Add API functions to support trade chat ( #257 )
2022-03-09 07:42:48 -05:00
duriancrepe
e7b4627102
Add API functions to open and resolve disputes ( #244 )
...
Co-authored-by: woodser <woodser@protonmail.com>
2022-03-07 12:56:39 -05:00
Randall B
5b038697c3
Add market depth info API call ( #190 )
2022-02-11 18:13:41 -05:00
duriancrepe
e3b9a9962b
Add API functions to initialize Haveno account ( #216 )
...
Co-authored-by: woodser@protonmail.com
2022-02-09 04:39:57 -05:00
Fritz Lumnitz
a3586fdef8
Add monero connections manager
2022-01-28 17:01:32 -05:00
woodser
2715e1bba8
support notification types: trade update, chat message, keep alive
2022-01-17 08:39:53 -05:00
Fritz Lumnitz
800b309a4b
Add notifications listener
2022-01-13 07:56:59 -05:00
l0nelyc0w
c1699795e7
Add API functions to get wallet transfers and withdraw funds
2021-12-31 14:34:37 -05:00
woodser
ce538c5ca6
update copyright headers to Haveno
2021-12-16 13:33:12 -05:00
woodser
7c9c35b1b8
improve error handling in protocol pipelines
...
support getTrades() from grpc api
consistently use timeouts in protocol pipelines
remove trade and repost offer on protocol errors
delete multisig wallet when trade removed
protocol advances on ack messages instead of network onArrived()
re-order protocol class methods to correct order
2021-12-15 13:19:05 -05:00
premek
f27e3e3d1a
Implement getMarketPrices API endpoint
...
- Increase rate limit to 10 calls per second.
- Use the new API also for the getMarketPrice call, this makes the 'Can get market prices' API test pass
2021-11-20 19:41:26 -05:00
woodser
469c47b0c7
add balance to xmr balances
...
reduce trade api rate limiting
offer is set to available
2021-11-20 16:28:49 -05:00
woodser
4dafd57026
use backup arbitrator if signing arbitrator not available
2021-11-18 13:04:25 -05:00
woodser
cd108387a2
restore dispute summary message
2021-11-11 16:21:22 -05:00
l0nelyc0w
cefba8e4b5
remove DAO
...
Co-authored-by: premek <1145361+premek@users.noreply.github.com>
2021-10-20 06:19:52 -04:00
woodser
6e21508a94
add grpc call to get new deposit subaddress
2021-09-21 10:01:20 -04:00
woodser
6798630dfc
filter offers with spent or duplicate funds using key images
...
reserve tx does not remain in arbitrator pool
2021-09-18 15:02:14 -04:00
woodser
b9228585c7
use underscores in grpc.proto for correct camelcase in grpc-web
2021-09-16 09:32:01 -04:00
woodser
2b80385928
int64s use [jstype = JS_STRING] to preserve big ints in javascript
2021-09-15 06:44:52 -04:00
woodser
59f3fc6385
balances include unlocked, locked, reserved offers, reserved trades
2021-09-12 09:38:20 -04:00
woodser
86f7d090b6
implement protocol v2
2021-09-07 11:47:09 -04:00
woodser
9903821b18
Change base networks from btc to xmr, e.g. BTC_REGTEST -> XMR_STAGENET ( #55 )
...
change base networks from btc to xmr, e.g. BTC_REGTEST -> XMR_STAGENET
add xmr seed node files
2021-05-08 13:57:32 -04:00
woodser
a22edd60f8
Haveno
2021-05-04 22:49:48 -04:00
woodser
8a38081c04
Bisq
2021-05-04 20:20:01 -04:00