Liqwid-Labs/agora fork — vote-redeemer-lookup fix
Find a file
Seungheon Oh d2018afd4d Use liqwid-script-export
commit ec70bfd539fe2e27fd48f5f76395400287ac72d7
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Tue Oct 18 18:58:59 2022 -0500

    use LSE

commit 25fff9b3ad1f2dde4cd7cf36977530b06a87d23c
Merge: 01cd3aa 1821dd6
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Tue Oct 18 18:17:45 2022 -0500

    Merge branch 'staging' into seungheonoh/ply

commit 01cd3aa7a235e6fe6658246ca1026fa26dc71a83
Author: Hongrui Fang <chfanghr@gmail.com>
Date:   Tue Oct 11 12:02:03 2022 +0800

    update benchmark

commit a8513244892ce33cfdc9edf8cd501c4985ae8008
Author: Hongrui Fang <chfanghr@gmail.com>
Date:   Tue Oct 11 11:59:22 2022 +0800

    fix tests

commit 20ca40823485c2e2f78253643cf4453ac7b7ddd5
Author: Hongrui Fang <chfanghr@gmail.com>
Date:   Tue Oct 11 11:57:37 2022 +0800

    better import

commit a19fe49424210891bd03db71e4083fc1e0edfd98
Author: Hongrui Fang <chfanghr@gmail.com>
Date:   Tue Oct 11 11:08:20 2022 +0800

    update flake inputs

commit c93b21f1f9441e5c6f54525bf7c6a54757ec36cc
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Mon Oct 10 12:54:12 2022 -0500

    tried to make tests pass

commit 1046ae1237299a33c58b48661bdb6d325a22147e
Merge: 2bf4e36 363bd83
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Mon Oct 10 12:18:48 2022 -0500

    Merge branch 'staging' into seungheonoh/ply

commit 2bf4e3627c1b229f58078695082da85c80efd560
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Mon Oct 10 10:48:36 2022 -0500

    remove junkpile

commit a1dbc9ad9e531fe0d0a0480c4aef9cf9ffa90f1d
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Mon Oct 10 10:47:25 2022 -0500

    versions

commit 4542a06ac733858297d3a48c53368fad19dedc43
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Thu Oct 6 22:57:48 2022 -0500

    script exporting interface

commit 6bd8c1a1d57e4bf9dc25c3068a9c8eae6bf6a19d
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Thu Oct 6 22:58:41 2022 -0500

    fixed tests

commit d3ce2cf95633d336f3e621833677bd5bf10ee2c8
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Sun Oct 2 00:55:18 2022 -0500

    fixed tests

commit 1ae64c9f692652b77b0506013853b2ba44267c65
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Sat Oct 1 13:28:20 2022 -0500

    linker

commit db88cb75c7b74843141ad8ab4e6522b66d0dcfbc
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Sat Oct 1 01:03:50 2022 -0500

    exporting scripts

commit 6389fce28e885a8a7f8669629c266f59c0edb51f
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Sat Oct 1 00:51:49 2022 -0500

    made scripts parameterized on the script level

commit aea1e518a8890550bdebd0e5251da11d915c53a9
Author: Seungheon Oh <seungheon.ooh@gmail.com>
Date:   Wed Sep 28 19:53:29 2022 -0500

    Use `TypedScriptEnvelope` for `Agora.Bootstrap`
2022-10-18 19:02:10 -05:00
agora Use liqwid-script-export 2022-10-18 19:02:10 -05:00
agora-bench remove redundant import Prelude 2022-10-12 00:15:36 +08:00
agora-purescript-bridge Use liqwid-script-export 2022-10-18 19:02:10 -05:00
agora-scripts Use liqwid-script-export 2022-10-18 19:02:10 -05:00
agora-specs Use liqwid-script-export 2022-10-18 19:02:10 -05:00
agora-test remove redundant import Prelude 2022-10-12 00:15:36 +08:00
agora-testlib/Test Use liqwid-script-export 2022-10-18 19:02:10 -05: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.cabal Use liqwid-script-export 2022-10-18 19:02:10 -05:00
bench.csv Use liqwid-script-export 2022-10-18 19:02:10 -05:00
cabal.project remove unused development flag 2022-08-12 19:13:28 +08:00
CHANGELOG.md update changelog 2022-10-18 16:49:58 +08:00
CONTRIBUTING.md Update CONTRIBUTING.md 2022-08-31 18:18:32 -05:00
flake.lock Use liqwid-script-export 2022-10-18 19:02:10 -05:00
flake.nix Use liqwid-script-export 2022-10-18 19:02:10 -05: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 infer system for make ci 2022-08-24 18:33:38 +02: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: