Giter Site home page Giter Site logo

sftchance / charlie Goto Github PK

View Code? Open in Web Editor NEW
2.0 0.0 2.0 5.5 MB

✨ Charlie is streamlining the onchain governance delegation process with a single click powered by a an embeddable button supporting countless blockchains and tokens.

Home Page: https://trycharlie.xyz

License: Apache License 2.0

HTML 1.81% TypeScript 54.78% CSS 13.77% Solidity 4.17% JavaScript 7.06% Python 18.00% Dockerfile 0.41%
decentralized delegates delegation governance

charlie's Introduction

Charlie: A Modern Delegation Approach

Charlie

Since the beginning of the onchain governance, delegation has remained underutilized resulting in centralized organizations that are controlled by a select few whales.

Charlie is a modern delegation approach that aims to solve this problem by providing a decentralized and fair governance system by streamling the manner in which tokens are delegated to strong representatives.

How it works

Charlie is a simple and intuitive delegation system that allows users to delegate tokens across a range of protocols and networks with the click of a button.

Instead of having to delegate tokens for each protocol individually, users can delegate their tokens to a single representative who will serve as the best proxy ecosystem-wide.

Supported Networks

Currently, you can use Charlie to interact with governance tokens across a range of EVM-compatible networks. These networks include:

  • Ethereum
  • Optimism
  • Polygon
  • Avalanche
  • Arbitrum

Automated Token Aggregation

Charlie is the first delegation system that allows users to delegate tokens across a range of protocols and networks with the click of a button. To do this, it is powered under the hood by Flipside Crypto's Query Engine along with a powerful onchain contract providing a still-decentralized and secure interaction with the system.

The current criteria is applied to all tokens in order to determine if they are eligible for delegation and is as follows:

  • The token must support ERC20Votes.
  • The token must have historical delegations.
    • Automated token detection for Charlie is not designed to seed new tokens, but rather to provide a fair and decentralized governance system for existing tokens.
  • The name and symbol of the token must have a length of 2 or more characters.
    • This is to avoid tokens that are not intended for governance, such as test tokens.
  • The token must be deployed on one of the supported networks.

The full list of tokens supported by automated aggregation can be found at /api/erc20/fixtures/erc20.auto.json.

Adding a Governance Token to Charlie

While Charlie operates with automated aggregation, there may be certain circumstances where a token is not automatically detected. In these cases, you can add the token to the list of supported tokens by following the steps below:

  1. Fork the repository.
  2. Add your token to the list at /api/erc20/fixtures/erc20.manual.json.
  3. Submit a pull request containing your update.

charlie's People

Contributors

masonchain avatar nftchance avatar

Stargazers

 avatar  avatar

charlie's Issues

fetch client

This adds the ability to more seamlessly interface with the API from the frontend as well as handles the logout backing logic when a session has expired.

fix: delegate works only sometimes?

Have not had time to test properly, but sometimes delegation does not actually work. The transaction runs, but the event data is all boofed. I think it's possible we're mishandling the signature data? Need to test more and get reproducing consistently.

Contract multicall and signatures

We need the ability to have a user queue up their tokens and sign the transactions before calling the aggregate multicall on the Charlie.sol contract.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.