Skip to content

Commit

Permalink
Adding USDT as gas currency (#419)
Browse files Browse the repository at this point in the history
* Added proposal

* Delete CGPs/cgp-0128/alfajores.json

* updated addresses
  • Loading branch information
martinvol authored Mar 28, 2024
1 parent 718eb0f commit 80bc453
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 0 deletions.
51 changes: 51 additions & 0 deletions CGPs/cgp-0128.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
cgp: 128
title: Enable USDT as Gas Currency
date-created: 2024-03-28
author: Martín Volpe (@martinvol), Pavel Hornak (@pahor167), Subha Subramanian
status: PROPOSED
discussions-to: https://forum.celo.org/t/draft-making-usdt-a-gas-fee-currency-on-celo/7686
governance-proposal-id: 169
date-executed:
---

## Overview

This proposal seeks support for adding USDT as a gas fee currency on Celo.

Tether tokens support and empower growing ventures and innovation throughout the blockchain space. Tether tokens have grown in popularity over the past few years, and are a pivotal stablecoin with high adoption worldwide.
USDT’s growing popularity in many parts of the world makes USDT a very viable stablecoin with which to pay gas fees. The use of USDT stablecoins as gas fee currency simplifies the transaction experience for USDT holders by eliminating the need for the user to acquire and hold other specific tokens in order to pay for gas. Celo would therefore like to propose enabling USDT as a gas currency for the Celo blockchain. We believe that USDT as a gas currency represents a great opportunity to onboard new users to Celo, by having a simplified user experience for payments and financial transactions powered by one of the most used stablecoins in the world as a gas token.

USDT uses [Celo's Token Adapter Pattern](https://docs.celo.org/protocol/transaction/erc20-transaction-fees#tokens-with-adapters).

## Proposed Changes

Fill out the following template for each transaction in the proposal.

1. Mapping CELO/cUSD rate to CELO/USDT
- Destination: SortedOracles.setEquivalentToken
- Data: address token = USDT Adapter address (`0x0e2a3e05bc9a16f5292a6170456a710cb89c6f72`), address equivalentToken = cUSD address (`0x765DE816845861e75A25fCA122bb6898B8B1282a`)
- Value: 0
2. Enable USDT as gas currency
- Destination: FeeCurrencyWhitelist.addToken
- Data: address token = USDT adapter tokenAddress = USDT Adapter address (`0x0e2a3e05bc9a16f5292a6170456a710cb89c6f72`)
- Value: 0

## Verification

To fetch the proposal on-chain, query the proposal with the latest Celo CLI version:

`$ celocli governance:show --proposalID 169 --node https://forno.celo.org`

The two key addresses to verify are:
* USDT adapter address: This is a contract deployed by Tether that enables compatibility with Celo 18 decimals standard. The contract is verified on CeloScan: https://celoscan.io/address/0x0e2a3e05bc9a16f5292a6170456a710cb89c6f72#code.
* cUSD address: Can be queried with `celocli network:contracts -n https://forno.celo.org`. It is called "StableToken".

## Risks

This proposal is considered low risk as USDT is considered a very stable token with deep liquidity. Additionally, there is precedent for dollar stablecoins being used as gas currencies in Celo, with cUSD (which is backed by bridged USDT among other tokens).

## Useful Links

* Tether website: https://tether.to
* Tether USDT announcement: https://tether.to/en/tether-token-usdt-to-launch-on-celo/
19 changes: 19 additions & 0 deletions CGPs/cgp-0128/mainnet.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[
{
"contract": "SortedOracles",
"function": "setEquivalentToken",
"args": [
"0x0e2a3e05bc9a16f5292a6170456a710cb89c6f72",
"0x765DE816845861e75A25fCA122bb6898B8B1282a"
],
"value": "0"
},
{
"contract": "FeeCurrencyWhitelist",
"function": "addToken",
"args": [
"0x0e2a3e05bc9a16f5292a6170456a710cb89c6f72"
],
"value": "0"
}
]

0 comments on commit 80bc453

Please sign in to comment.