Skip to content

feat(abstract-eth): add zama token consolidation support#9079

Open
MohammedRyaan786 wants to merge 1 commit into
masterfrom
CHALO-606
Open

feat(abstract-eth): add zama token consolidation support#9079
MohammedRyaan786 wants to merge 1 commit into
masterfrom
CHALO-606

Conversation

@MohammedRyaan786

@MohammedRyaan786 MohammedRyaan786 commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

TICKET: CHALO-606

This pull request adds support for building, validating, encoding, and decoding a new transaction type: flushing ERC-7984 tokens from a V4 forwarder contract to its parent wallet. The changes introduce new builder methods, validation logic, and ABI encoding/decoding utilities to handle this flow, ensuring correct transaction construction and classification.

ERC-7984 Forwarder Flush Transaction Support:

  • Added new interface FlushERC7984ForwarderTokenData in iface.ts to represent the data required for ERC-7984 forwarder flush transactions.
  • Introduced builder methods and private fields in TransactionBuilder for handling ERC-7984 forwarder flush parameters (tokenContractAddress, encryptedHandle, parentAddress), including validation logic and a transaction builder method. [1] [2] [3] [4] [5] [6]
  • Updated transaction deserialization and validation logic to support the new transaction type, ensuring correct extraction and checking of all required fields. [1] [2]

ABI Encoding/Decoding Enhancements:

  • Added functions in zamaUtils.ts to encode and decode the flush transaction calldata, including wrapping/unwrapping the callFromParent and confidentialTransfer calls. [1] [2]
  • Updated imports and utility logic to support the new encoding/decoding flows, including new constants for method selectors and parameter types. [1] [2] [3]

Transaction Classification Improvements:

  • Enhanced transaction type classification logic to detect the new ERC-7984 forwarder flush transaction by inspecting nested calldata.

Decoding Utilities:

  • Added a function to decode flush transaction calldata into its component fields for use in deserialization and validation.

These changes collectively enable robust support for ERC-7984 forwarder flush transactions in the Abstract-ETH module, with proper encoding, decoding, validation, and transaction building.

@linear-code

linear-code Bot commented Jun 22, 2026

Copy link
Copy Markdown

CHALO-606

@MohammedRyaan786 MohammedRyaan786 marked this pull request as ready for review June 22, 2026 15:54
@MohammedRyaan786 MohammedRyaan786 requested review from a team as code owners June 22, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant