---
tags: Product
---
# Boost/Minion Subgraph Integration
## Minion factory
We need a factory or series of factories to generate the minion contracts.
- 'Deploy' events to emit relevant data
- related moloch contract address
- new minion address
- 'type' or 'boost' to indicate use case?
- might need to derive this if we have to have a separate factories for each usecase/boost
- forged minions might have extra data associated - see transmutation factory
Minimal event
```
emit Deployment(
moloch,
minion,
boost
);
```
Transmutation factory event for reference
```
emit Deployment(
_moloch,
_distributionToken,
minion,
transmutation,
trust
);
```
#### can we limit the number of these or will we need one for each 'type'?
- Basic minion
- Forged minions
#### will need to deploy these for all networks
## Supergraph
We can add a data source for each factory to listen for the 'Deploy' events.
1. Add a Minion entity, it's id will be the minion contract address
- type and/or boost fields can be used as some sort of indicator if the minion as a specific use case or is a general minion.
```
type Minion @entity {
id: ID!
molochAddress: Bytes!
moloch: Moloch!
type: String!
type: String!
}
```
2. Connect to the Moloch entity
```
type Moloch @entity {
id: ID!
...
minions: [Minion!]!
}
```
3. Proposal submission/processing events in the moloch can now look at the address the proposals are coming from to identify if it is one of the minions and populate proposal metadata accordingly.
- Likely couple this with anything else we want to add to the details json like we are doing with minion/transmutation proposals now.
## Boost subgraph
If more complex data is needed, or if other events need to be tracked on the new minion we can build off the existing transmutation subgraph:
https://thegraph.com/explorer/subgraph/odyssy-automaton/daohaus-transmutation
1. Add data sources for each factory to register the minion
2. Add template data source to listen to the other minion events
#### This will be on a case by case basis
#### Notes
Kovan Factory 0xf46D5825e451f30540eaeDe3Dba31236a9e84a0f
quickdao 9000 minion 0x36473d5bbfa176733898019245a603d915171b7c
api to get abi
blockscout
https://blockscout.com/poa/xdai/api?module=contract&action=getabi&address=0x65d96f0DCD65dFbF6835807A2fDc5ba39fC273aA
etherscan
https://api.etherscan.io/api?module=contract&action=getabi&address=0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413&apikey=YourApiKeyToken