-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Autoconfirm XMR trade if tx check was validated by proof service (using tx private key) #4378
Conversation
Main part missing is the XMR proof service request processing. I did not get the service compiled yet, so could not test response data and error conditions. Further it is missing a "news badge" and popup to guide the user to the new feature. Only basic dev tested so far. Anyone welcome to pick the project up from here as I might not have time soon to continue.
The Codacy/PR Quality Review complaints are about code which is not finished as the service is not available yet. |
I have a test setup of the monero exploerer running: Example API call: |
I started work in a copy of your branch. The plan is to address the TODO items in the code then look at some of the extra features described above. |
@jmacxx Thanks for picking the PR up! One more (small) feature we should add:
I think we should have at least 2 services running (@Emzy has it already, @wiz signaled that he is interested to run as well one) and require the request to both and that both results are matching. |
I've been testing, attempting to force the "unconfirmed" scenario where we wait to ping again the API. But the tx proof service we're using reports a match instantly for the transaction, even before 1 block confirmation. I'd imagine we would want to wait the standard 10 blocks before announcing that the tx is confirmed.
So this may be an issue. Maybe we need to use the other api from @moneroexamples: api/outputsblocks. I will try that & report back. [edit:]
[edit2:]
I will test it out once monerod has synced. ⏳ [edit3:] |
@chimp1984 How does this look for settings? (GUI & protobuf representation)
|
Thanks for the info. This is quite more advances as I had in mind. I guess that will require a small sub UI to not blow up the settings too much. Maybe an new tab? Specially if its designed for extending to other altcoins. The coin selection would create new setting entries for each coin. It would have a similar structure like the account UI (list of entries with details view on selection and create/delete buttons). The amountUsed and reset button are not totally clear to me. Reset that currently used amount? But what time interval or is it counting up and reset is only way to clear it? Then its a bit annoying as user need to maintain that manually... Regaring other altcoins: |
Thanks for the feedback - the complexities you mentioned were my mis-interpreting the requirements. I have changed them to simplify,
Not sure how worth-while it will be to implement other alt-coins since they are barely traded and the overhead in addition to coding would be for ops to run trusted explorer APIs & blockchains for each coin. For now I opted to keep it simple especially with the GUI: just autoconf for XMR. Thanks to @moneroexamples the API now includes the confirmation count so Bisq app waits until the relevant number have been received. @Emzy if you have time, could you update to the latest master branch of Code checked into my branch is functional but still needs cleaning up:
I will continue to address the above, just wanted to post the progress update. At this point it is functionally ready to be tried out or reviewed if anyone wishes to do so. |
I agree regarding Altcoins. Running the explorers can easily become expensive and is not justified by trade volumes. UI looks good! I think that way we can squeeze it into existing settings. Maybe a separtor and a headline would be good to keep it distinct from other options. The comma separated list is a good idea, no need for more complex UI for now. We can fill it up with the existing nodes and the user can edit it with own node if wanted. Ah great that @moneroexamples was so fast!!! I would love to try it out but will be probably busy with non Bisq work over the next days/weeks. But will see when I find time. |
Yes, I'm very happy to host any nodes you want, but the idea of automatically releasing funds based on what TTPs say is a bit against the security model of Bisq, isn't it? |
Optionality exists:
|
@Emzy any chance you can upgrade your testing service to latest master? moneroexamples/onion-monero-blockchain-explorer@395d8f4 |
It's updated to master. |
Close as superseded by #4421 |
Implements bisq-network/proposals#86
Main concept:
DATA_RELAY_NODE_OPERATOR
for that role. It runs over Tor by default so we avoid exit nodes.Main part missing is the XMR proof service request processing. I did not get the service compiled and running yet, so could not test response data and error conditions.
Further it is missing a "news badge" and popup to guide the user to the new feature.
Currently there is no indication at the last trade step the the trade was "auto confirmed". I guess that would be a good addition to show some icon or text info.
We also should log the result from the service for security reasons. Multiple services with parallel requests which must match would be good to reduce risk that a service get compromised.
Another idea is to add a trade amount threshold so that the autocomfirm is only used for trades up to that limit. That would make it easier to users to navigate risk exposure.
Anyone welcome to take over the project from here as I might not have time soon to continue.