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

Standardize deployments and contract data #4

Open
whoabuddy opened this issue May 17, 2024 · 3 comments
Open

Standardize deployments and contract data #4

whoabuddy opened this issue May 17, 2024 · 3 comments

Comments

@whoabuddy
Copy link
Contributor

whoabuddy commented May 17, 2024

After discussing some ideas with @dantrevino about how resources could be presented and applied to ideas in Boom, we want to figure out the best way to represent a company (deployer) and it's associated resources to make external integrations as easy as possible.

  • how can we categorize the types of services provided? for a service provider, or for all in general?

Trait for discovery - but what about a registry? A central place where contracts can be added, categorized, maybe additional info added. Layers are helpful!

@whoabuddy
Copy link
Contributor Author

Expanding on the layers.

Machine to machine services or "simple" deployments would require deploying resource contracts with the specified traits. Once that's done, payments are enabled for invoices, and payment data is on-chain.

If you want to create a "shop" or something that contains some additional metadata, maybe features, etc, then a registry contract could be created that allows someone to register a contract with the trait. It could be open or gated but requires an additional transaction.

@whoabuddy
Copy link
Contributor Author

whoabuddy commented May 30, 2024

Following up on this, we should look at creating a template for a company using executor DAO.

There can be an optional top-level registry that serves a general public purpose like current systems.

The company structure can use the proposal/extension structure to define operations.

If we deploy these per company in an easy way it gives a lot more functionality (and arguably security) than just deploying a set of contracts that share a trait.

Sharing some early thoughts:

  • high-level "registrar" DAO, optional but can help with UI indexing and serve as a trusted source of valid participants
  • company DAO, main engine for running things, can be deployed with access control, token, resources, and more
  • company sub-DAO, can split into departments with different rules, e.g. main DAO transfers small treasury for department to manage independently through a separate governance process
graph LR
    subgraph RegistryStructure
        subgraph CompanyInfo
            direction TB
            A1[Company Name]
            A2[Company Address]
            A3[Company Members]
            A4[Organizer]
            A5[Formation Block]
            A1 --> A2
            A2 --> A3
            A3 --> A4
            A4 --> A5
        end
        subgraph Registration
            direction TB
            B1[Register Company]
            B2[Vote on Approval]
            B1 --> B2
        end
    end
graph LR
    subgraph CompanyStructure
        C[Company]
        subgraph Departments
            D[Research Department]
            E[Writing Department]
        end
        F1[Research Crews]
        F2[Writing Crews]
        G1[Research Tasks]
        G2[Writing Tasks]
        C --> D
        C --> E
        D --> F1
        E --> F2
        F1 --> G1
        F2 --> G2
    end

@whoabuddy whoabuddy changed the title Standardize data returned by contracts Standardize deployments and contract data May 30, 2024
@whoabuddy
Copy link
Contributor Author

How can we integrate this with Wyoming DAO framework?

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

No branches or pull requests

1 participant