-
Notifications
You must be signed in to change notification settings - Fork 986
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
Amount to transfer is 1000000 when unshielding with disposable-gas-payer
but without gas-spending-key
#3961
Comments
After adding --gas-spending-key, unshielding fails with namadac v0.44.1-5-g7054446 tiago/backport-murisi-masp-fixes too. #3955
And then without --gas-spending-key there is a new error:
|
@Rigorously thanks for the report! It seems like we removed the denomination from a few internal types. I believe this is leading to the issues you are experiencing, we'll try to investigate more in depth |
So from The third issue you encountered I was able to reproduce by forgetting to The second issue you encountered I was instead not able to reproduce. The error message you get comes from a node, so your client was indeed able to produce the tx but it was rejected when evaluated in mempool. There's a chance that error (even though quite generic) could refer to a gas error: could you retry by increasing the gas limit of your tx to something like 300k? If this is not the case then the client just constructed an invalid tx. EDIT Actually, never mind the last suggestion on the gas limit. We have a gas limit protocol param for masp fee payment, so you're likely bounded by that. If you are running a localnet you could try increasing that limit in the |
Alright, makes sense. Reminds me of cases elsewhere where the price of a sold-out product is set to an exorbitant level to prevent people from buying it. But I wonder, what is the rationale behind making gas-spending-key mandatory? I was just asking myself why unshielding should not be done with a disposable-gas-payer and the source as gas-spending-key by default. Then the command becomes simply The docs give the impression that using an implicit account as gas-payer is recommended and disposable-gas-payer is an advanced technique. In practice, using an implicit account to pay the unshielding fees carries the risk of accidentally linking your transparent account to the shielded transaction. Requiring gas-spending-key makes the use of disposable-gas-payer look even more awkward.
I added it because the previous transactions failed. How can there be a different error if the transaction failed? Maybe something changed on the client side, while the network rejected it. I hoped this third observation could give clues to solve the underlying problem.
Good idea! I will try that. |
Instead of increasing the gas limit, I did the opposite. I just had a successful unshielding, then synced, then tried unshielding again with --gas-limit 100. It causes a different error. Therefore, the second issue (which is #3955) is not caused by running out of gas.
|
Ok good so it's not a gas issue. I'll try to investigate further on a local network since the debug information we need is only emitted in the node. To go back to you previous post:
|
This error is due to the gas limit of a masp fee payment being reached. The solution is to increase the respective protocol parameter's value. |
This issue can be closed when we fix the insufficient balance errors that are gas limit errors in disguise. |
Using v0.44.1-5-g7054446 tiago/backport-murisi-masp-fixes
Maybe the gas unit in the error has changed to micronam?
Nevertheless, the source owns 96.75 nam, so the error should not be triggered in the first place.
The text was updated successfully, but these errors were encountered: