🎙️ Catalyst Voices provides a unified experience and platform including production-ready liquid democracy

Overview

Catalyst Voices

Welcome to the Catalyst Voices mono repo, where we manage and maintain the interconnected projects.

Overview

This monorepo serves as a unified codebase for the Catalyst Voices ecosystem projects. Using a monorepo simplifies our dependency management, streamlines testing, and fosters code sharing.

Getting Started

  1. Clone this repository:
git clone https://github.com/input-output-hk/catalyst-voices.git
cd catalyst-voices
  1. Navigate to individual project folders and follow their respective setup instructions.

Projects

Athena

Athena is our [brief description of what Athena does].

  • Directory: athena
  • Setup: Navigate to ./athena.
  • Documentation: [Link to detailed documentation or Wiki]

Catalyst Voices

Catalyst Voices frontend.

  • Directory: catalyst_voices
  • Setup: Navigate to ./catalyst_voices.
  • Documentation: [Link to detailed documentation or Wiki]

Catalyst Data Gateway

The backend services for Catalyst Voices.

  • Directory: catalyst-voices-backend
  • Setup: Navigate to ./catalyst-gateway.
  • Documentation: [Link to detailed documentation or Wiki]

Catalyst Voices Packages

Shared Flutter and Dart packages used across the Catalyst.

  • Directory: catalyst_voices_packages
  • Setup: Navigate to ./catalyst_voices_packages.
  • Documentation: [Link to detailed documentation or Wiki]

Development

For development guidelines, tooling information, and best practices, see DEVELOPMENT.md.

Contributing

We welcome contributions from the community! Please read our CONTRIBUTING for guidelines on how to contribute.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Comments
  • feat: Move event-db crate

    feat: Move event-db crate

    • ctalyst-core feature/poem-migration-start version of the event-db crate was moved. It is just a plain copy of the crate with minor fixes to pass the cargo build. Earthly targets and files do not work right now, they will be fixed in the next PRs
    • added workspace dependecies, version, edition, authors.
    review me 
    opened by Mr-Leshiy 3
  • 🛠️ [TASK] : Migrate event-db crate from catalyst-core repo

    🛠️ [TASK] : Migrate event-db crate from catalyst-core repo

    Summary

    Need to move event-db crate from catalyst-core repo

    Description

    Move event-db crate from catalyst-core repo https://github.com/input-output-hk/catalyst-core/tree/main/src/event-db. Move just the code and basically fix compilation issues

    enhancement 
    opened by Mr-Leshiy 1
  • Add On Pull Request Job

    Add On Pull Request Job

    Integrate an 'On Pull Request' CI/CD job to automatically trigger a series of predefined checks and tests every time a pull request is created or updated.

    When a PR is submitted, the job must detect any code changes in Rust or Dart (conditionally), run appropriate checks such as linting and formatting, builds, and collect code coverage.

    opened by minikin 1
  • feat(rust): Adds Rust CI/CD and Refactors Cataylst gateway to be passing (minus unit tests).

    feat(rust): Adds Rust CI/CD and Refactors Cataylst gateway to be passing (minus unit tests).

    Description

    Thanks for contributing to the project! Please fill out this template to help us review your changes.

    This is currently linked to a pre-release of the rust tooling defined in catalyst-ci.
    That will be changed in a separate PR once the upstream code merges.

    Related Issue(s)

    List the issue numbers related to this pull request.

    • Closes: https://github.com/input-output-hk/catalyst-core/pull/538
    • Closes: https://github.com/input-output-hk/catalyst-voices/issues/41
    • Closes: https://github.com/input-output-hk/catalyst-voices/issues/43
    • Closes: https://github.com/input-output-hk/catalyst-voices/issues/44
    • Closes: https://github.com/input-output-hk/catalyst-voices/issues/39

    Description of Changes

    • Add Earthly defined Rust CI Runners following convention agreed with @jmgilman
    • Refactors Cat-Data-Service into the first iteration of Catalyst Gateway
    • Makes all lints pass at the new strict levels. Code builds.

    Breaking Changes

    Tests currently do not pass since they are blocked on refactoring the DB setup.

    See:

    • https://github.com/input-output-hk/catalyst-voices/issues/68
    • #46
    • #47
    • #48
    • #49

    This should still be merged even with the tests broken, and they can be corrected in a followup.

    Please confirm the following checks

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] New and existing unit tests pass locally with my changes
    • [x] Any dependent changes have been merged and published in downstream module
    enhancement review me 
    opened by stevenj 0
  • chore(frontend): update flutter to 3.13.8

    chore(frontend): update flutter to 3.13.8

    Description

    • update flutter to 3.13.8

    Related Issue(s)

    • none

    Breaking Changes

    • no

    Please confirm the following checks

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] I have added tests that prove my fix is effective or that my feature works
    • [x] New and existing unit tests pass locally with my changes
    • [x] Any dependent changes have been merged and published in downstream module
    opened by minikin 0
  • feat: add code owners, update project dic

    feat: add code owners, update project dic

    Description

    • add code owners

    Related Issue(s)

    Closes #8

    Please confirm the following checks

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] I have added tests that prove my fix is effective or that my feature works
    • [x] New and existing unit tests pass locally with my changes
    • [x] Any dependent changes have been merged and published in downstream module
    review me 
    opened by minikin 0
  • docs: Add openapi as a known word to the project dictionary

    docs: Add openapi as a known word to the project dictionary

    Description

    cat-data-service did not spellcheck properly. openapi is not a known word.

    Related Issue(s)

    None

    Description of Changes

    Add it to the project dictionary.

    Breaking Changes

    None

    Please confirm the following checks

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] I have added tests that prove my fix is effective or that my feature works
    • [x] New and existing unit tests pass locally with my changes
    • [x] Any dependent changes have been merged and published in downstream module
    opened by stevenj 0
  • feat: Migrate `cat-data-service` crate from catalyst-core

    feat: Migrate `cat-data-service` crate from catalyst-core

    Description

    Migrate cat-data-service crate from catalyst-core repo to this one.

    Related Issue(s)

    Closes #37

    Description of Changes

    • Move cat-data-service crate.
    • Fix spell and markdown issues.
    • Move all dependencies as a workspace dependencies.

    Please confirm the following checks

    • [ ] My code follows the style guidelines of this project
    • [ ] I have performed a self-review of my code
    • [ ] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [ ] My changes generate no new warnings
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] New and existing unit tests pass locally with my changes
    • [ ] Any dependent changes have been merged and published in downstream module
    review me 
    opened by Mr-Leshiy 0
  • 🛠️ [TASK] : Ensure `cat-gateway` is properly building its deployable container in CI

    🛠️ [TASK] : Ensure `cat-gateway` is properly building its deployable container in CI

    Summary

    Setup the Earthly docker target to build a deployable contaienr for the cat-gateway service.

    Description

    This needs to ensure it follows the requirements of SRE and integrates appropriately with our standard CI workflows. The container also needs to be able to be deployed locally for local test purposes.

    opened by stevenj 0
  • 🛠️ [TASK] : Ensure `cat-gateway` passes Clippy pedantic lints and Documentation checks.

    🛠️ [TASK] : Ensure `cat-gateway` passes Clippy pedantic lints and Documentation checks.

    Summary

    All Rust code needs to pass Linting quality checks, ensure cat-gateway can pass.

    Description

    If clippy lints or doc checks are not yet running in CI, then this task will include adding those lint checks. Clippy linting level is the be pedantic, with as many pedantic.

    This ticket also includes enabling cargo doc checks:

    RUSTDOCFLAGS=-D rustdoc::invalid_codeblock_attributes -D rustdoc::invalid_html_tags -D rustdoc::invalid_rust_codeblocks -D rustdoc::bare_urls -D rustdoc::broken-intra-doc-links -D missing_docs -D rustdoc::missing_crate_level_docs
    
    opened by stevenj 0
  • 🛠️ [TASK] : Ensure Markdown and Spelling lints pass after `cat-data-service` migration

    🛠️ [TASK] : Ensure Markdown and Spelling lints pass after `cat-data-service` migration

    Summary

    Ensure code conforms the the necessary repo wide quality checks.

    Description

    This is to ensure the code is of the same quality as the rest of the repository it is being merged into.

    opened by stevenj 0
  • Feature/message endpoint

    Feature/message endpoint

    Description

    Thanks for contributing to the project! Please fill out this template to help us review your changes.

    Related Issue(s)

    List the issue numbers related to this pull request.

    e.g., Closes #123, Resolves #456 Fixes #367

    Description of Changes

    Provide a clear and concise description of what the pull request changes.

    Breaking Changes

    Describe any breaking changes and the impact.

    Screenshots

    If applicable, add screenshots to help explain your changes.

    Related Pull Requests

    If applicable, list any related pull requests.

    e.g., #123, #456

    Please confirm the following checks

    • [ ] My code follows the style guidelines of this project
    • [ ] I have performed a self-review of my code
    • [ ] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [ ] My changes generate no new warnings
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] New and existing unit tests pass locally with my changes
    • [ ] Any dependent changes have been merged and published in downstream module
    enhancement 
    opened by saibatizoku 0
  • feat:  cat-gateway must be resiliant in the face of DB schema changes

    feat: cat-gateway must be resiliant in the face of DB schema changes

    Description

    Ensure DB Schema mismatch between the service and DB does not cause the service to fail.

    Related Issue(s)

    List the issue numbers related to this pull request.

    Resolves https://github.com/input-output-hk/catalyst-voices/issues/46

    Description of Changes

    Modifies GET api/health/ready to validate that not only is the database connected, but that the schema version is the one the application expects.

    Please confirm the following checks

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [x] New and existing unit tests pass locally with my changes
    • [x] Any dependent changes have been merged and published in downstream module
    enhancement 
    opened by saibatizoku 0
  • feat(fragments-endpoints): Add /fragments and /fragments/statuses compatibility endpoints

    feat(fragments-endpoints): Add /fragments and /fragments/statuses compatibility endpoints

    Description

    This PR adds the /fragments and /fragments/statuses compatibility endpoints.

    • [x] Endpoint code
    • [ ] Documentation

    Related Issue(s)

    Closes #55 Closes #56

    Please confirm the following checks

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my code
    • [ ] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] New and existing unit tests pass locally with my changes
    • [x] Any dependent changes have been merged and published in downstream module
    draft 
    opened by FelipeRosa 0
  • feature: poc flutter integration tests

    feature: poc flutter integration tests

    Description

    Validation of integration tests across multiple platforms using a single codebase.

    Related Issue(s)

    #85

    Description of Changes

    TODO

    Breaking Changes

    No

    Screenshots

    TODO

    Please confirm the following checks

    • [x] My code follows the style guidelines of this project
    • [x] I have performed a self-review of my code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] I have added tests that prove my fix is effective or that my feature works
    • [x] New and existing unit tests pass locally with my changes
    • [x] Any dependent changes have been merged and published in downstream module
    draft 
    opened by minikin 0
  • feat: Add earthly `cat-gateway/event-db` initial setup

    feat: Add earthly `cat-gateway/event-db` initial setup

    Description

    Added earthly docker target for building a docker image and applying all migrations and historic/test data init. Added earthly check target to test that the docker image has been build properly and migrations have been applied.

    Related Issue(s)

    Closes #82

    opened by Mr-Leshiy 0
Owner
Input Output
Input Output
Marinde Anchor-Based, first on mainnet, liquid-staking-program and mSOL->SOL swap pool

marinade-anchor Marinade-finance liquid staking program for the Solana blockchain Audits & Code Review Kudelski Security: https://marinade.finance/Kud

Marinade.Finance 42 Dec 11, 2022
A wallet library for Elements / Liquid written in Rust!

EDK Elements Dev Kit A modern, lightweight, descriptor-based wallet library for Elements / Liquid written in Rust! Inspired by BDK for Elements & Liqu

luca vaccaro 11 Dec 11, 2021
Eternally liquid. Forward compatible. Nested, conditional, & Multi-resourced NFTs.

RMRK Substrate Rust Setup First, complete the basic Rust setup instructions. Run Use Rust's native cargo command to build and launch the template node

RMRK Team 67 Dec 25, 2022
Terra liquid staking derivative

Terra liquid staking derivative. Of the community, by the community, for the community.

null 36 Dec 6, 2022
Create Bitcoin double-spend discouraging bonds on Liquid.

doubletake A tool for creating Bitcoin double-spend punishment bonds on Liquid. WARNING: Don't use this tool for real use cases yet. There are still a

Steven Roose 5 Aug 12, 2023
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Cossack Labs 1.6k Dec 30, 2022
Unified directories for different use cases of an application, providing standard directories for local development, when run as service or when run by a user.

UniDirs Unified directories for different use cases of an application, providing standard directories for local development, when run as service or wh

Dominik Nakamura 3 Sep 30, 2022
Open source Rust implementation of the Witnet decentralized oracle protocol, including full node and wallet backend 👁️🦀

witnet-rust is an open source implementation of the Witnet Decentralized Oracle Network protocol written in Rust. Components witnet-rust implements ma

The Witnet Project 155 Nov 21, 2022
Aya is an eBPF library for the Rust programming language, built with a focus on developer experience and operability.

Aya API docs | Chat | Aya-Related Projects Overview eBPF is a technology that allows running user-supplied programs inside the Linux kernel. For more

null 1.5k Jan 6, 2023
reth-indexer reads directly from the reth db and indexes the data into a postgres database all decoded with a simple config file and no extra setup alongside exposing a API ready to query the data.

reth-indexer reth-indexer reads directly from the reth db and indexes the data into a postgres database all decoded with a simple config file and no e

Josh Stevens 306 Jul 12, 2023
Dank - The Internet Computer Decentralized Bank - A collection of Open Internet Services - Including the Cycles Token (XTC)

Dank - The Internet Computer Decentralized Bank Dank is a collection of Open Internet Services for users and developers on the Internet Computer. In t

Psychedelic 56 Nov 12, 2022
A contract to lock fungible tokens with a given vesting schedule including cliffs.

Fungible Token Lockup contract Features A reusable lockup contract for a select fungible token. Lockup schedule can be set as a list of checkpoints wi

null 15 Dec 16, 2022
This is an experiment in designing a distributed connected garden experience.

This is an experiment in designing a distributed connected garden experience. It started as an implementation of a blockchain, but has moved on to be a bit more than that. There is no proof of work like a cryptocurrency, but plays with the idea of a distributed consensus-building system.

Greg Tatum 4 Feb 28, 2022
WASM wrapper of mozjpeg, ready for the browser

mozjpeg-wasm This library wraps mozjpeg-sys and exposes a few functions to perform decoding, encoding and simple transformation on JPEG images using m

Tommaso 25 Nov 17, 2022
De-chained Ready-to-play ink! playground

DRink! Dechained Ready-to-play ink! playground drink.mp4 What is DRink? DRink! aims providing support for ink! developers. It comes in two parts: drin

Cardinal 9 Jun 23, 2023
A fresh FRAME-based Substrate node, ready for hacking

Substrate Node Template A fresh FRAME-based Substrate node, ready for hacking ?? Getting Started Follow the steps below to get started with the Node T

Web 3 | Mobile | Blockchain Full Stack Engineer 6 Jun 23, 2023
Making composability with the Zeta DEX a breeze, FuZe provides CPI interfaces and sample implementations for on-chain program integration.

Zeta FuZe ?? Zeta FuZe FuZe is Zeta's cross-program integration ecosystem. This repository contains the Zeta Cross Program Invocation (CPI) interface

Zeta 39 Aug 27, 2022
Nym provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous transactions using blinded, re-randomizable, decentralized credentials.

The Nym Privacy Platform The platform is composed of multiple Rust crates. Top-level executable binary crates include: nym-mixnode - shuffles Sphinx p

Nym 653 Dec 26, 2022
Cloup is a template manager that provides the files you desire when you need them, written in Rust.

cloup cloup is a template manager that delivers the files you desire when you need them, written in rust you no longer need to locate your previous pr

Benjamin Akar 62 Dec 5, 2022