AlphaCOLLAB runs on GenesisL1 mainnet and has had no external audit. Use small amounts.Security notes

COLLAB

Integrations

CIPNFT and GL1F are GenesisL1 protocols that COLLAB works with but does not run. Each DAO keeps its own list of them, its integrations: the GL1F collections whose models it can hold and govern, and the CIPNFT contracts that hold its sealed data. This page is for members who choose or review that list. It explains what an integration is, which ones a DAO starts with, the checks a new one passes, how a vote changes the list, how the interface flags integrations this site does not list, and the outside administrators each one keeps. It ends with what owning data or a model does and does not mean.

Part
Science
Version
COLLAB 2.2.0
Updated
Reading time
10 min

What an integration is

An integration plays a role in the DAO's call policy:

  • a GL1F collection is four contracts that belong together: a model registry, a Model NFT contract, a market and a runtime. Its market is then trusted with the approvals the DAO gives it for its Model NFTs;
  • a CIPNFT contract holds sealed assets. The DAO's key vault works with it, with the DAO's one key.

A DAO uses up to 8 GL1F collections and 8 CIPNFT contracts. Its Models (GL1F) and Sealed data (CIPNFT) proposals act on the contracts in its list, and the rules of a role apply to every contract listed in that role, the DAO's own systems included. There is no global list and no admin: each DAO's list is its own, changed only by its own votes.

The defaults and your own

Every deployment of COLLAB names the integrations it offers in its configuration. COLLAB's deployment on GenesisL1 lists three: GL1F (gl1f.com), GL1F Crypto (crypto.gl1f.com) and CIPNFT (cipnft.com).

  • At creation, the wizard ticks every integration this deployment lists. The founders can leave any out, and can add collections or contracts of their own; see Create a DAO.
  • Your own. A community can build its own systems: a DAO can add a GL1F collection or a CIPNFT contract it deployed itself, by entering its addresses (A collection of the DAO's own, A CIPNFT contract of the DAO's own).
  • Listed or unlisted. An integration is listed by this deployment when this site's configuration names it; the interface then calls it by its name, such as "GL1F Crypto market". Any other is unlisted; see Unlisted integrations. Listing is the site's label, not a review.

The checks when one is added

The DAO's policy contract checks every integration in the same way, listed by the deployment or not. It refuses one whose addresses:

  • are missing, are not contracts, repeat each other or are already in use by this DAO;
  • are the DAO's own contracts or a token it launched;
  • are one of COLLAB's protocol contracts that its factory knows: the factory and its policy builder, wL1, the keyring, the text store, the token launcher, the member airdrop distributor, the DeSciFi factory and router, and the lock factory;
  • are a DeSciFi pool or lock box, or a spender the DAO already approves.

For a GL1F collection it also reads the cross-references: the registry must name the Model NFT contract, the market must trade that NFT, and the runtime must read that registry. The composer checks the same live before you submit ("Its contracts refer to each other.") and, for a CIPNFT contract, that it answers like one ("It answers like a CIPNFT contract.").

The checks cannot tell a real GL1F or CIPNFT contract from a look-alike: a listed contract gets its role's rules, and a listed collection's market is trusted with the DAO's approvals. List only contracts you trust, and find out who runs them first.

Changing the list by vote

A Governance rules proposal's Integrations action adds or removes one integration: choose Add or Remove, then GL1F collection or CIPNFT contract, then one this deployment lists or one of the DAO's own. Governance rules proposals always use the critical rules: "Each change is a critical vote of this DAO; nobody else can change the list." The DAO can remove any integration, the ones this deployment lists included.

Adding a CIPNFT contract takes one proposal that does everything needed, in order:

  1. lists the contract in the call policy;
  2. lets the key vault complete purchases and deliver sold assets there (two module permissions);
  3. accepts the contract's terms, where it asks for it;
  4. registers the DAO's active key there, with its post-quantum key when it has one. When no DAO key is active yet, it registers none; the next key rotation registers the key on every CIPNFT contract the DAO uses.

Within the proposal, the actions after the one that adds the contract already treat it as listed, and if adding it fails when the proposal executes, the whole proposal reverts. The key comes from the key vault's active epoch, read through your wallet's network when you review; compare its fingerprint with the one on the Sealed data tab. See Sealed data with CIPNFT.

Adding a GL1F collection gives its four contracts their roles and makes its market a contract that Models proposals may approve for the DAO's Model NFTs. Removing the collection withdraws that.

Removing an integration moves nothing: the DAO's assets there stay where they are, and they then belong to no proposal type, so treasury rules reach them.

  • A GL1F collection. Models proposals can no longer manage its models. A Treasury spend proposal can revoke both kinds of approval the DAO gave there, for one model and for all of them, which also stops a listing on the removed market from selling. Cancelling the listing itself then takes a Raw transaction, so cancel listings before removing a collection.
  • A CIPNFT contract. Nothing reaches the DAO's sealed assets there: CIPNFT assets cannot be transferred, and the key vault refuses contracts the DAO no longer uses, so no reveal, purchase or sale can happen there. Close the DAO's listings and cancel its offers first. A listing left open cannot complete a sale, and an offer left there is refunded once it expires; anyone can trigger the refund. COLLAB's removal proposal also takes back the key vault's two permissions there. Removing the DAO's last CIPNFT contract stops sealed data until another one is added.
  • A contract that does not answer. A CIPNFT contract that no longer answers for the DAO's key blocks every key rotation while it stays listed. Removing it unblocks rotation, and the same proposal can activate the waiting key epoch (Also activate key epoch … in this proposal).
The integrations builder of the composer
Adding an integration with a Governance rules proposal

Unlisted integrations

A collection or contract that this deployment does not list is called "Unlisted GL1F collection" or "Unlisted CIPNFT contract", never by the name it gives itself, with its addresses. Nobody vouches for an unlisted integration.

  • Adding one, the composer says: "COLLAB checked only how its contracts answer and refer to each other. It cannot vouch for their code, their fees or who controls them: read the outside admin keys below and the contracts' source before voting."
  • In reviews, every GL1F or CIPNFT call on an unlisted contract is flagged, and an approval of the DAO's Model NFTs warns when its spender is not the model's own market.
  • In the treasury, its assets carry an Unlisted badge: "This deployment does not list it: the DAO added it by its own vote. Settings shows who controls its contracts."
  • Before a transaction to an unlisted integration, your wallet's own network must confirm that the DAO's policy gives that address its role; otherwise nothing is sent. A dishonest RPC endpoint therefore cannot point a transaction at a contract of its choosing.

Outside admin keys

COLLAB's own contracts, the six of each DAO and the shared ones, have no owner and no admin key. The protocols a DAO integrates are different: their administrators sit outside the DAO and keep powers over those contracts, and so over the DAO's assets there. The DAO's Settings section lists each integration under Integrations, and for each one, under Outside admin keys, the account that holds each key today, read live (with a pending new owner, "Handing over to …, once accepted"), what it can do and what it cannot.

For the code COLLAB knows, Settings lists these powers:

Integration and keyIt canIt cannot
GL1F, registry ownerDelete any model and burn its Model NFT, the DAO's included. Replace the Model NFT contract the registry trusts, at any time: whoever then holds a model's token in the new contract controls that model, its pricing, access plans, keys and deletion. Set the fees for registering new models, which are paid to the owner. Add licences, choose the default licence and publish new terms for new models. Hand the role to any account at once.Move the DAO's Model NFTs: the Model NFT contract has no owner. Change a model's pricing, access plans or keys while the registry trusts the same Model NFT contract.
GL1F, market ownerSet the listing fee, which is paid to the owner. Cancel any listing, the DAO's included. Hand the role to any account at once.Move or sell the DAO's Model NFTs, or change the price of a listing.
GL1F Crypto, registry ownerSet the fees for registering new models; they stay in the registry until anyone burns them. Add licences to the catalogue, enable or disable them for new models, and name a later version of a licence, which model holders may then move their models to. Publish new terms for new models. Hand the role to another account, which takes over once it accepts.Delete models: GL1F Crypto has no admin deletion. Replace the Model NFT contract: it was set once, for good. Withdraw fees, or change a model's licence, pricing, access plans or keys.
GL1F Crypto, market ownerSet the listing fee; it stays in the market until anyone burns it. Cancel any listing, the DAO's included. Hand the role to another account, which takes over once it accepts.Withdraw fees, or move or sell the DAO's Model NFTs.
CIPNFT, adminSet the mint fees and withdraw the fees collected. Set the longest offer period and the lowest offer price for new offers and listings, the DAO's included. Publish new terms, which the DAO must accept before it mints again. Hand the role to any account at once.Touch escrowed offers: they go only to the seller or back to the buyer. Move, decrypt or burn the DAO's sealed assets.

The Model NFT and runtime contracts of these collections have no admin key.

In short, these powers can make the DAO's actions cost more, cancel its listings or stop it minting until it accepts new terms, and on GL1F a model the DAO owns can be deleted or put under another Model NFT contract. For an unlisted integration, or a listed one whose code COLLAB does not recognise, COLLAB cannot say what its administrators can do: Settings names every owner or admin its contracts answer to, with "Anything its code allows", and its code decides the rest. Read that code before you add it.

Data, models and IP rights

Holding a CIPNFT or a Model NFT is not, by itself, owning the intellectual property in it. A CIPNFT gives the DAO control of the encrypted data and of the key that opens it; a Model NFT gives control of a model's on-chain settings, listings and earnings. Who owns the research, the data or the model as intellectual property, and what others may do with it, is decided by law and by agreements: contributor and employment agreements, data-use agreements, licences and the DAO's constitution. Where a collection records a licence for each model, as GL1F Crypto does, that licence states the terms the model is offered under; it does not replace the agreements behind it.

Make those agreements before data or models enter the DAO, and record them in the constitution or in documents it refers to. A reveal, a declassification or a more open licence gives access that cannot be taken back.

The Integrations card in Settings

Under Integrations ("Outside contracts this DAO chose"), the DAO's Settings show each integration with:

  • its name and Listed by this deployment, or Unlisted with a warning to check who controls its contracts;
  • how many models or sealed assets the treasury holds there, and, for a CIPNFT contract, whether the DAO's key is registered on it;
  • for a GL1F collection, a live check that its registry, Model NFT, market and runtime still point to each other;
  • its contract addresses and Outside admin keys;
  • Propose removing it, with what removing leaves behind.

Add an integration offers Propose adding … for each integration this deployment lists that the DAO does not use yet, and Add your own GL1F collection and Add your own CIPNFT contract.