Repositories

Repositories

This page describes the repositories that are used in the project and provides links to their source code and readme's for further information.

DAO Webapp

This repository contains the source code of the web application that is used to interact with the DAO. It uses React and Vite, and is written fully in TypeScript.

The live deployment of the web application can be found at https://dao.secureseco.com (opens in a new tab).

For more information, see the page on the DAO webapp architecture.

Documentation Website

This repository contains the source code of the very documentation website you are currently reading. It uses a template (opens in a new tab) for Nextra (opens in a new tab), which is a site generation framework for Next.js (opens in a new tab). It is written in TypeScript and the content for pages is written in MDX (opens in a new tab).

The live deployment of the documentation website can be found at https://docs.secureseco.com (opens in a new tab) (most likely the URL you are currently on).

Diamond Governance

This repository contains the source code of the diamond governance plugin that is used by the DAO. This plugin provides all of the custom functionality that the SecureSECO DAO needs to function on top of the base DAO smart contracts, which are provided by AragonOSx. It uses Hardhat and is written fully in Solidity. Tests for facets are written in TypeScript.

Member Verification

This repository contains the source code of the verification server that is used to verify users for the DAO using third party platforms (currently supports Github (opens in a new tab) and Proof of Humanity (opens in a new tab)). It also contains the smart contract that enables the communication of the verifications to the blockchain, where the data regarding these verifications is stored.

The server component uses Express and is written in TypeScript, while the smart contract is written in Solidity.

Pull Request Merger

This repository contains the source code of the Github PR merger bot that is used to merge PRs on Github. It is used to merge PRs that have been approved by the DAO through a proposal with a merge PR action attached to it. Internally, it will listen to an event on the smart contract that will be triggered by the execution of a proposal containing a merge action, and willl use the Github API (opens in a new tab) to merge the right PR.

The smart contract is written as a facet of the diamond governance plugin, and is written in Solidity. The bot is written in TypeScript and uses Express to set up a server that listens to the smart contract event.

SearchSECO API

This repository contains the source code of the API that is used by the DAO to interact with the SearchSECO database. It enables the monetization of queries and rewarding of SearchSECO miners. It uses Express and is written in TypeScript.

SearchSECO Spider

This repository contains the source code of the SearchSECO spider. The Spider handles the crawling of Github repositories, extracting metadata such as the author and blame data. The Spider returns data about each commit and code block, along with information about any detected vulnerabilities.

SearchSECO Crawler

This repository contains the source code of the SearchSECO crawler. The crawler handles the fetching of repositories from the Github API and adding the URLs of those projects to the database as spider jobs. It will also upload metadata about the project to the database.

SearchSECO Parser

This repository contains the source code of the SearchSECO parser. The parser handles the parsing of code and converts methods into hashes, which will be uploaded to the SearchSECO database by the miner.

SearchSECO Miner

This repository contains the source code of the SearchSECO miner, also known as the SearchSECO controller. It combines the crawler, parser and spider into one application, which can be run to add essentially contribute to the SearchSECO project by adding data to its database. It is writting in TypeScript.

SearchSECO Logger

This repository contains the source code of the logger module used by the SearchSECO miner and its submodules to print to stdout. It is written entirely in TypeScript.

SearchSECO Database API

This repository contains the source code for the TCP client that is used by the SearchSECO miner and its submodules to interact with the SearchSECO database. It is written entirely in TypeScript.