Liqwid-Labs/agora fork — vote-redeemer-lookup fix
Find a file
2023-03-10 23:54:18 +08:00
.github fix syntax error in pr template 2022-11-02 00:48:14 +08:00
agora encode data as list instead of constr wherever we can 2023-03-10 23:48:40 +08:00
agora-bench use liqwid-nix 2.0 2022-12-08 17:28:26 +01:00
agora-purescript-bridge Use liqwid-script-export 2022-10-18 19:02:10 -05:00
agora-scripts use DoTracing to reduce size 2023-02-28 20:31:37 +01:00
agora-specs add regression tests for inline GAT datum hashing 2023-02-13 16:20:23 +08:00
agora-test remove redundant import Prelude 2022-10-12 00:15:36 +08:00
agora-testlib/Test use liqwid-nix 2.0 2022-12-08 17:28:26 +01:00
docs/diagrams get rid of redundant docs, update README a little 2022-09-16 16:13:27 +02:00
.gitignore Initialised skeleton for treasury 2022-03-01 12:53:39 +00:00
.hlint.yaml initial commit 2022-01-13 00:06:37 +01:00
Agora audit report-v1.0.pdf Add files via upload 2022-12-07 09:39:31 -05:00
agora.cabal add qc test for phashDatum 2023-01-27 00:35:46 +08:00
bench.csv update benchmark 2023-03-10 23:50:27 +08:00
cabal.project remove unused development flag 2022-08-12 19:13:28 +08:00
CHANGELOG.md update changelog 2023-03-10 23:54:18 +08:00
CONTRIBUTING.md update CONTRIBUTING.md 2022-10-31 13:42:47 +01:00
flake.lock bump liqwid-nix and liqwid-libs 2023-01-27 16:00:22 +01:00
flake.nix bump liqwid-nix and liqwid-libs 2023-01-27 16:00:22 +01:00
fourmolu.yaml initial commit 2022-01-13 00:06:37 +01:00
hie.yaml add proposalDatumValid 2022-04-27 12:51:01 +02:00
LICENSE add stubbed out test suite, CHANGELOG, LICENSE 2022-01-13 16:31:00 +01:00
Makefile fix make ci 2023-01-20 18:01:51 +08:00
README.md Update README.md 2022-10-14 16:09:43 -04:00

Agora 🏛️

Agora is a set of Plutus scripts that compose together to form a governance system.

What is Agora

Goals:

  • Agora aims to reduce duplication in Liqwid and XplorerDAO and to serve as a one-size-fits-all governance library for projects on the Cardano blockchain.
  • Agora aims to be modular and flexible for specific needs but presents an opinionated architecture.

Non-goals:

  • Agora is not a DAO. It doesn't have tokenomics or even a token. It is simply a library for governance.
  • Agora doesn't aim to provide any primitive tools for Plutus that are not governance-specific. For this, see liqwid-plutarch-extra.

Project setup

An up to date version of the Nix package manager (>=2.3) is required to build this project. For information on how to install, see the NixOS website. Important: see also this section on binary caches.

Open a development shell with nix develop and build the project with cabal build. Those pained by the need to remember to enter a Nix shell may consider using nix-direnv.

agora-scripts HTTP export server

To use scripts in a frontend, you can use the agora-scripts executable which allows you to query them on-demand.

The CTL repo agora-offchain already has the setup prepared for this feature.

In order to run the server, simply run the following command:

cabal run agora-scripts -- --enable-cors-middleware

Documentation

Documentation for Agora is hosted on Notion. You can find the specs here.

Using Agora for your protocol

If you are a protocol wanting to use Agora, read Using Agora.

Contributing

Please read CONTRIBUTING.md. Additionally, please follow the Git policy when contributing to this project.

Overview of components

Road-map

v1

  • Governor
  • Treasury
  • Stakes
  • Proposals
  • Effects

v2

  • Flexible scripts using TxT pattern integrated with governance
  • Different voting mechanisms

Available support channels info

You can find help, more information and ongoing discusion about the project here: