-
Notifications
You must be signed in to change notification settings - Fork 148
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
Allow tx without budget #2846
base: privacy-feature
Are you sure you want to change the base?
Allow tx without budget #2846
Conversation
… a command line argument
…g exceptions instead of returning a bool result. Allow updateMintTx and updateBurnTx to ignore the transaction if the owner is someone else
…intTx ignore mints/burns intended for a different user when synchronizing
…returning complete messages occasionaly when getting tx data
…put. Add a simple debug output to inspect the coins of a user
…oy command from utt-wallet-cli
…li. Instead of generating and deploying a config, the configure command will fetch an already deployed configuration by the admin-cli
…tatements in libutt. Fix wallet-cli reading transfer instead of burn response (didn't affect correctness)
…and remove old files
@@ -33,7 +33,7 @@ class Admin { | |||
/// [TODO-UTT] Should be performed by an admin app | |||
/// @brief Deploy a privacy application | |||
/// @return The public configuration of the deployed application | |||
static bool deployApp(Channel& chan, bool budget_policy = true); | |||
static bool deployApp(Channel& chan, bool budget_policy); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this PR also include a change to the wallet app?
as it checks
const size_t budget = getPrivacyBudget();
if (budget < amount) throw std::runtime_error("User has insufficient privacy budget!");```
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't it more elegant to define the non-budget configuration as a budget coin with infinite value?
It will eliminate the need for if - else
on the transaction and will reduce the configuration changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's more elegant for the code but will it be more elegant for the system if we still need to create and manage a 'hidden infinite' budget coin? And how does it reduce the configuration changes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think the option to require a budget should be called 'budget_policy', as a budget policy may include more logic than simply turning the budget requirement on or off. Maybe something like 'require_budget' is a bit more appropriate. Also, I don't think we're ready yet to expose this option in the admin when creating a deployment, there needs to be more discussion how this should actually work and what changes will be needed in the wallets as well. For now we can limit ourselves to add a unit test that validates turning the budget requirement off.
cfe5ba1
to
dbadd68
Compare
Allow a non-budgeted transaction.
The servers validate the budget coin's presence according to a configuration. The client should create the transaction with budget coin also according to the same configuration.
unitests in libutt and client api