Skip to content

Commit

Permalink
Increase gas price (#469)
Browse files Browse the repository at this point in the history
* Added alfajores proposal

* Added example tx hash

* Fixed date format
  • Loading branch information
martinvol authored Aug 19, 2024
1 parent 1e0b1ac commit 759d360
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 0 deletions.
72 changes: 72 additions & 0 deletions CGPs/cgp-0145.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
cgp: 145
title: Increase minimum gas threshold to 25000000000 gwei
date-created: 2024-08-06
author: Martín Volpe (@martinvol)
status: DRAFT
discussions-to:
governance-proposal-id:
date-executed:
---

### Proposal Overview

We propose to increase gas_price_minimum_(lower_bound) so that the gas of a simple ERC20 transaction, paid in stablecoins, costs around 0.1 cents or USD 0.001. Note that transactions paid in stablecoins use slightly more gas than standard ERC20 transactions.

This has previously been attempted with [CGP 66](https://github.com/celo-org/governance/blob/277ae3cb52e8bbb0e7f74c819b9b09f738f4bbd0/CGPs/cgp-0066.md), but as the value of CELO has shifted, as well as how much gas is needed to a cUSD transfer changed, it is required to update the parameters. The option to pay for gas with USDC and USDT has been added since then as well.

Definitions of terms used and an overall explanation of the setup can be found in [CGP 66](https://github.com/celo-org/governance/blob/277ae3cb52e8bbb0e7f74c819b9b09f738f4bbd0/CGPs/cgp-0066.md).

Please note:
* This increase only impacts the base fee, meaning that the validator rewards from gas remain unaltered.
* We are confident this increase addresses the issues we discuss under _Rationale_, while at the same time the proposed fees are so low that they should not interfere with most use of the blockchain.

### Rationale

This proposal builds on the rationale of [CGP 66](TBD), where the effort was to keep gas cost for cUSD at $0.01 for a transfer paid for cUSD itself. Since then, it's been made possible to pay gas with USDC and USDT and the total cost for a tx has reduced considerably. These are gas costs of transfers of those tokens on mainnet at the time of writing:

cUSD
Example tx hash: 0x485e1aaab931ff206dbdd3994ae76a2e0f890f6d91ddf1405c76549b41ca32e3
Cost: 0.000237143493845625 cUSD
USDC:
Example tx hash: 0x45b84acb1f440509b85d8ab942e489c28427751a3cf55f558a6bf8f7df8aeea2
Cost: 0.000240841172077479
USDT:
Example tx hash:
0x2310021513441c5ba42b028f907732510143d9e3e23d03719830a4b5cbd8d32d
Cost: 0.000237139846444008


After this change is implemented, the most expensive stable asset transfer will cost $0.00120420586.

Please note that these numbers are illustrative, smart contracts are complex and how much gas a transfer takes may vary depending on many factors. The actual cost of gas is also volatile, affected also by the value of CELO and network usage.

### Testing

This change has already been deployed to alfajores, you can see a test transaction here where the gas for a stable asset was 0.1 cent of cUSD. Here's an example tx hash: [0x36d33d45a5a1c4c2a20fef6ba6e771569c361ae0152fd2dc198043150f49d398](https://alfajores.celoscan.io/tx/0x36d33d45a5a1c4c2a20fef6ba6e771569c361ae0152fd2dc198043150f49d398)

## Proposed Changes


1. Setting a new gas price minimum
- Destination: GasPriceMinimum.setGasPriceMinimumFloor
- Data: ["25000000000"]
- Value: 0

## Verification

Current GasPriceMinimum floor can be fetched with:

`celocli network:parameters --node https://forno.celo.org`

The proposal can be fetched with:

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

The proposed number should be 5x higher than the current gas price.

## Useful Links

* Forum Post
* Forum Post for previous gas price minimum modification https://forum.celo.org/t/increase-of-minimum-gas-fee/4616
* Celo Docs: Gas Pricing https://docs.celo.org/protocol/transaction/gas-pricing
10 changes: 10 additions & 0 deletions CGPs/cgp-0145/alfajores.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[
{
"contract": "GasPriceMinimum",
"function": "setGasPriceMinimumFloor",
"args": [
"25000000000"
],
"value": "0"
}
]

0 comments on commit 759d360

Please sign in to comment.