Skip to content

Commit

Permalink
Update erc-7849.md
Browse files Browse the repository at this point in the history
  • Loading branch information
blockchainDevAmitesh authored Jan 1, 2025
1 parent 341d078 commit 5b28847
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions ERCS/erc-7849.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,31 @@
---
eip: 7849
title: Fungible Token with gas rebates
description: Built-in gas rebates, secure signature validation, and optimized transfer mechanisms.
author: Amitesh Gautam (@blockchainDevAmitesh) <[email protected]>
discussions-to: https://ethereum-magicians.org/t/erc-7849-fungible-token-with-gas-rebates/22356
status: Draft
type: Standards Track
category: ERC
created: 2025-01-01
description: A new fungible token standard with built-in gas rebates, secure signature validation using [EIP-712](https://eips.ethereum.org/EIPS/eip-712), and optimized transfer mechanisms.
---

## Abstract

EIP7849 introduces a new fungible token standard focused on security, efficiency, and interoperability. It extends traditional [ERC-20](https://eips.ethereum.org/EIPS/eip-20) functionality with built-in gas rebates, secure signature validation using [EIP-712](https://eips.ethereum.org/EIPS/eip-712), and optimized transfer mechanisms. The standard includes protections against common attack vectors while maintaining full compatibility with existing token interfaces.
EIP-7849 introduces a new fungible token standard focused on security, efficiency, and interoperability. It extends traditional [ERC-20](./erc-20.md) functionality with built-in gas rebates, secure signature validation using [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md), and optimized transfer mechanisms. The standard includes protections against common attack vectors while maintaining full compatibility with existing token interfaces.

Check failure on line 15 in ERCS/erc-7849.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

the first match of the given pattern must be a link

error[markdown-link-first]: the first match of the given pattern must be a link --> ERCS/erc-7849.md | 15 | EIP-7849 introduces a new fungible token standard focused on security, efficiency, and interoperability. It extends traditional [ERC... | = info: the pattern in question: `(?i)(?:eip|erc)-([0-9])+` = help: see https://ethereum.github.io/eipw/markdown-link-first/

Check failure on line 15 in ERCS/erc-7849.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

non-relative link or image

error[markdown-rel-links]: non-relative link or image --> ERCS/erc-7849.md | 15 | EIP-7849 introduces a new fungible token standard focused on security, efficiency, and interoperability. It extends traditional [ERC... | = help: see https://ethereum.github.io/eipw/markdown-rel-links/

## Motivation

Current fungible token standards lack built-in security features and gas optimization mechanisms. EIP7849 addresses these limitations by incorporating:
Current fungible token standards lack built-in security features and gas optimization mechanisms. EIP-7849 addresses these limitations by incorporating:

Check failure on line 19 in ERCS/erc-7849.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

the first match of the given pattern must be a link

error[markdown-link-first]: the first match of the given pattern must be a link --> ERCS/erc-7849.md | 19 | Current fungible token standards lack built-in security features and gas optimization mechanisms. EIP-7849 addresses these limitatio... | = info: the pattern in question: `(?i)(?:eip|erc)-([0-9])+`
- Native gas rebate system to reduce transaction costs
- [EIP-712](https://eips.ethereum.org/EIPS/eip-712) compliant signatures for gasless approvals
- [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) compliant signatures for gasless approvals

Check failure on line 21 in ERCS/erc-7849.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

non-relative link or image

error[markdown-rel-links]: non-relative link or image --> ERCS/erc-7849.md | 21 | - [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) compliant signatures for gasless approvals |
- Strong security measures against common vulnerabilities
- Efficient state management and error handling

## Specification

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174.

## Token Details

### Core Variables
- `name`: Token name
- `symbol`: Token symbol
Expand All @@ -38,7 +36,7 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S

### Features
- Gas rebate system
- [EIP-712](https://eips.ethereum.org/EIPS/eip-712) signature validation
- [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) signature validation

Check failure on line 39 in ERCS/erc-7849.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

non-relative link or image

error[markdown-rel-links]: non-relative link or image --> ERCS/erc-7849.md | 39 | - [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) signature validation |
- Nonce tracking for replay protection

### Functions
Expand Down Expand Up @@ -86,7 +84,7 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S
- Returns: `bool`

**`permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)`**
- Processes gasless approvals using [EIP-712](https://eips.ethereum.org/EIPS/eip-712) signatures
- Processes gasless approvals using [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) signatures

Check failure on line 87 in ERCS/erc-7849.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

non-relative link or image

error[markdown-rel-links]: non-relative link or image --> ERCS/erc-7849.md | 87 | - Processes gasless approvals using [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) signatures |
- Validates signature and deadline
- No return value

Expand Down Expand Up @@ -128,23 +126,23 @@ Custom errors for common failure cases:

## Rationale

The design choices in EIP7849 prioritize:
The design choices in EIP-7849 prioritize:

Check failure on line 129 in ERCS/erc-7849.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

the first match of the given pattern must be a link

error[markdown-link-first]: the first match of the given pattern must be a link --> ERCS/erc-7849.md | 129 | The design choices in EIP-7849 prioritize: | = info: the pattern in question: `(?i)(?:eip|erc)-([0-9])+`
1. Security through custom error handling and signature validation
2. Gas efficiency via rebate mechanisms
3. Interoperability through standard [EIP-712](https://eips.ethereum.org/EIPS/eip-712) implementation
3. Interoperability through standard [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) implementation

Check failure on line 132 in ERCS/erc-7849.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

non-relative link or image

error[markdown-rel-links]: non-relative link or image --> ERCS/erc-7849.md | 132 | 3. Interoperability through standard [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) implementation |
4. User experience through gasless approvals

## Backwards Compatibility

EIP7849 maintains full backwards compatibility with [ERC-20](https://eips.ethereum.org/EIPS/eip-20) while adding enhanced functionality.
EIP-7849 maintains full backwards compatibility with [ERC-20](./erc-20.md) while adding enhanced functionality.

Check failure on line 137 in ERCS/erc-7849.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

the first match of the given pattern must be a link

error[markdown-link-first]: the first match of the given pattern must be a link --> ERCS/erc-7849.md | 137 | EIP-7849 maintains full backwards compatibility with [ERC-20](./erc-20.md) while adding enhanced functionality. | = info: the pattern in question: `(?i)(?:eip|erc)-([0-9])+`

## Security Considerations

- Implements nonce tracking for signature validation
- Uses custom errors for efficient error handling
- Includes checks against zero-address transfers
- Limits gas rebates to prevent abuse
- Validates [EIP-712](https://eips.ethereum.org/EIPS/eip-712) signatures for permit operations
- Validates [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) signatures for permit operations

Check failure on line 145 in ERCS/erc-7849.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

non-relative link or image

error[markdown-rel-links]: non-relative link or image --> ERCS/erc-7849.md | 145 | - Validates [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) signatures for permit operations |

## Copyright

Expand Down

0 comments on commit 5b28847

Please sign in to comment.