-
Notifications
You must be signed in to change notification settings - Fork 402
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
Simpler upload/instantiate flow for permissioned chains #840
Comments
The gov proposal content is persisted within the proposal in cosmos-sdk. In order to have reasonable gas costs on voting, we need to reduce the content payload. The proposed solution addresses this well. Also the Instantiate permissions rules make sense for me. There is the additional case where the chain permissions are changed to a more restrictive state after the upload. Like before "everybody" becomes "Nobody". How should this be handled? I was thinking if we could end up with lot's of garbage wasm on chain easily that are never instantiated when following this proposal. Inactive gov proposals are deleted at some point. |
I mentioned something similar here #785 (comment) |
I would vote with A. You could have already instantiated it 100s of times before. If a permission less chain becomes permissioned, we don't want to freeze all the existing codes automatically. But you could have a proposal to freeze them explicitly. |
Yeah, there are lots of ways to get garbage data on chain. Lots of ibc client updates do this pretty well also. |
A proposed solution to solve #761
Once #796 is merged, governance can adjust the instantiation config after the fact.
Since voting on the actual "store wasm" is a huge blob and lots of gas, I could imagine using that to achieve a much simpler process for permissioned contracts.
This would replace the current flow:
There is one last little gotcha... We currently allow the user to override the DefaultInstantiatePermssion upon code upload, so they could easily bypass control 2. However, if we make one change, this would work:
If InstantiatePermission is set on CodeUpload, it must be equal to or stricter than the default
This is a very minor change, but coupled with #796 we should solve many of the usability issues around uploading contracts on permsisioned CosmWasm chains.
The text was updated successfully, but these errors were encountered: