Skip to content
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

Remove (often unused) contract urls from CodeInfo #540

Closed
ethanfrey opened this issue Jun 14, 2021 · 1 comment · Fixed by #564
Closed

Remove (often unused) contract urls from CodeInfo #540

ethanfrey opened this issue Jun 14, 2021 · 1 comment · Fixed by #564
Milestone

Comments

@ethanfrey
Copy link
Member

Early 2020, we chose to store the builder and url for the code in the CodeInfo to enable easier validation of the code. However, in practice, this is often unfilled or filled with incorrect values. And no tooling has been produced to properly fill it out nor verify contracts using it.

In the meantime, most cosmwasm-plus based contracts now store correct and up-to-date metadata in the contract itself to enable (future) migrations. We could display this in frontend UIs if present and remove the older builder/url fields.

The cw2 spec defines a format and raw storage location for the contract metadata. And you can view this set in many contracts like cw20-base

@alpe alpe added this to the v1.0.0 milestone Jun 15, 2021
@ethanfrey ethanfrey modified the milestones: v1.0.0, v0.18.0 Jul 27, 2021
@webmaster128
Copy link
Member

The information in cw2 are not sufficient to perform reproducible builds because they might be able to define the source code, but not the build tooling. For Contract Info for Migration this info is not needed, but for reproducible builds it is.

Now you could argue if reproducible builds is something wasmd should care about. In the Ethereum ecosystem such information is completely off-chain (Etherscan or https://github.com/ethereum/sourcify). I see that people do not care now. But will they once there is huge impact on the contracts and contracts compete against each other? Will they realize early enough (before upload) that the fields are important and populate them? Or do we need to give them the chance to do that later (off chain)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants