Commit graph

118 commits

Author SHA1 Message Date
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