Comments (6)
Can you check the logic around this line in TumblerController.InputsAsync:
if (txOutResponse.Result.Value("confirmations") <= 0)
...etc
It looks like the exception is only thrown if both conditions are met whereas it seems that it should throw if either one or both are met.
from walletwasabi.
In TumberController.Status:
I think using:
Version = "1"
instead of
Version = "v1"
would be better as we can do > checks within the client easier.
from walletwasabi.
In TumblerController.CoinJoin we currently throw an exception if Alice has already asked for the CoinJoin transaction.
Would it not be ok to let an Alice request this > once?
What if their client quits during the process for some reason? We could make it possible to restart the client, reload the guid (assuming we have saved it locally) and rejoin the CoinJoin at the signing phase.
... just an idea.
from walletwasabi.
@wintercooled The logic is good, my comment was not clear. I modified the comment.
The point is, if the input registered is unconfirmed, then it's only acceptable if it's part of a previous successful CoinJoin.
// Check if inputs are unconfirmed, if so check if they are part of previous CoinJoin
if (txOutResponse.Result.Value<int>("confirmations") <= 0)
{
if (!Global.CoinJoinStore.Transactions
.Any(x => x.State == CoinJoinTransactionState.Succeeded && x.Transaction.GetHash() == op.Hash))
{
throw new ArgumentException("Provided input is not confirmed, nor spends a previous CJ transaction");
}
}
from walletwasabi.
Version = "1"
Ok, I was thinking of this myself, too. Fixed.
from walletwasabi.
Would it not be ok to let an Alice request this > once?
The reason is, because I don't want to get DoSd. If it becomes a problem we can do that, I'd keep it this way for now.
We could make it possible to restart the client, reload the guid (assuming we have saved it locally) and rejoin the CoinJoin at the signing phase.
If it'd be needed that'd mean we failed. Signing phase should happen close to instantly.
from walletwasabi.
Related Issues (20)
- [VDG] Self transfer Preview Transaction and Transaction Details issues
- `FailFastTransactionSigningTimeout` is too short HOT 4
- `OutputRegistrationTimeout` and `TransactionSigningTimeout` in status are misleading HOT 2
- TOR takes long time to recover HOT 2
- [VDG] Destination addresses for incoming transactions HOT 3
- Wallet wrongly relies on `OutputRegistationTimeout` and `TransactionSigningTimeout`
- Wallet Coins: single click acts as double click in SelectionCheckBox
- Missing permissions for Flatpak HOT 3
- Convert regression tests to use a builder pattern
- Cannot See UTXO / Coin Selection screen (CTRL C D) HOT 9
- GUI Rants HOT 5
- Publish prison related constants in status
- history, balance and privacy progress tile values always jump after wallet load with "SkipSynchronization": true HOT 2
- Normal and HW Wallet icon got switched up HOT 5
- Refactor welcome screens logic HOT 1
- Allow user to disable auto-cj when importing a wallet HOT 2
- Test vectors for v2.0.4 HOT 5
- "Insufficient funds eligible for coinjoin" message is misleading/confusing when coins are unconfirmed
- TurboSync: Follow-up ideas HOT 13
- Warn users before spending unconfirmed coinjoin utxos HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from walletwasabi.