AOSSIE-Org / AOSSIE-Org/Agora-Blockchain

Issue: Centralized LINK Token Pool and Lack of Expenditure Tracking

Abierto
#152 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
97
Forks
199
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

## Description
The current implementation of the CCIPSender contract has a centralized liquidity pool of LINK tokens for all whitelisted elections.
![Image](https://github.com/user-attachments/assets/dfb659f4-78c0-4bd8-b948-d86751e17e3f)
This design has the following issues:
### Centralized Liquidity Pool:
- All elections share a single pool of LINK tokens, which can lead to resource exhaustion if one election consumes a disproportionate amount of tokens.

- There is no mechanism to track or limit LINK token expenditure per election.
### No Replenishment Mechanism:
Once the LINK tokens in the contract are exhausted, there is no built-in way to replenish them, making the contract non-functional until the owner manually adds more tokens.

### Lack of Transparency:
There is no way to track how many LINK tokens are spent by each election, making it difficult to identify resource-intensive elections.

## Proposed Solution

### 1. Per-Election LINK Token Tracking:
- Introduce a mapping to track the LINK token balance for each election separately.
- Ensure that each election can only spend the LINK tokens allocated to it.
- Allow elections to replenish their LINK token balance by depositing more tokens.

### 2. Cross chain voter pays additional charges
In this approach, the responsibility of paying cross-chain voting fees is shifted from the election owner to the voter. The voter pays the required link tokens . This eliminates the need for the election owner to manage LINK tokens and reduces their interference in the process.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.