Cover V1.6 ✅ Custom Builds, Proxy Controllers, & UI Updates.

In this update, the Cover floodgates are opening for community builds!

Cover
4 min readAug 5, 2022

In this update, we’re expanding Cover’s verification and ownership options by introducing the ability for users to submit their own custom builds, as well as options for submitting builds when a canister is owned by another canister or cycles wallet. ✅

These new features have been added to Cover’s open backend canister and also reflected in a fresh new update to our UI! Take a look for yourself ⤵️

What Are Custom Builds?

Previously, requests for verification through Cover have been done by developers submitting a canister ID and a link to a GitHub repo that should represent the code that’s installed on the provided canister ID.

Cover downloads the code from the provided Github repo and uses our own builder to convert that source code into an executable WASM file. That WASM is run through the same hash function as used by the Internet Computer, and compared to the WASM hash pulled from the submitted canister ID to validate a match.

The main issue with this whole process lies in the flexibility of Cover’s builder. Currently, the builder that Cover provides only supports Rust and Motoko as building types. Without a near unlimited amount of work, our builder can’t possibly be tuned to account for all possible canister build configurations.

This left us with a choice, remain rigid in our build support by only allowing builds to be done through the Cover builder or become more flexible by opening up Cover to accept WASM from anyone’s builder. Evidently, we’ve gone with the latter.

…but wait, is that secure? How do we know that users aren’t being malicious with their builds? Can we trust them as much as the Cover builder?

Trust Assumptions and Cover

Cover was created to be a central source of truth for code on the Internet Computer, and that vision remains the same today.

With the addition of custom builds to Cover, we’ve come to an ethical crossroads on whether you can trust builds run through Cover more than builds run by other third parties. The short answer — you cannot.

The issue lies in the fact that our builder is not run 100% on-chain, yet. As much as the community trusts the Cover team to run builds truthfully, the fact of the matter is that it would not be responsible for us, as a central source of truth, to claim or indicate that builds run through Cover’s current centralized builder are intrinsically more trustworthy than anyone else running a centralized builder.

Instead, with hopes of earning the community’s trust rather than demanding it through smoke and mirrors, we are saying that there is an equal risk of trusting builds from any centralized builders, ours included.

For that reason, we are opening the floodgates to custom builds in Cover. Custom builds will appear no different than builds run through the Cover builder, other than their Canister Type field will appear as Custom.

Other Notable Features

In addition to custom builds, we’ve added the ability to submit canisters that you control via proxy canisters or cycles wallet.

This feature has been implemented at the canister level and included as a new section of the Cover App’s ‘Submit Verification’ form:

UI updates are aplenty in this release. We’ve added icons to the 🚦 indicators to give clarity on verified, pending, and unverified canisters. Also, check out the new configurable auto-refresh settings to stay up to date with canister statuses.

Want to share the Cover status of a canister? You’re in luck, paths now propagate at the end of your links allowing you to redirect to an exact canister (for example, this link specifies the path to Cover’s canister status).

⚠️ Incorrectly entered paths redirect to a 404 error page ⚠️

That’s all from us today!

Have feedback on any of the features from this update, or want to propose some new features of your own? Submit using the new form, or jam with the team in our Discord!

--

--

Cover

A code verification open internet service on the Internet Computer.