MetaMask / MetaMask/eth-method-registry

Need a better way to represent arguments that are tuples

Open
#7 0 comments 0 reactions 0 assignees View on GitHub
team-wallet-framework
Dominant language
JavaScript
Stars
22
Forks
14
PR merge metrics
No merged PRs in 30d

Description

Encodings of contract arguments can include tuples (and tuples within tuples, etc.)

An example signature: `fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)`

After https://github.com/danfinlay/eth-method-registry/pull/6, we represent the arguments in the tuple flatly, on equal level to the other args. This could be misleading if the tuple was representing a struct, for example.

We will need to improve this, but I am not sure what the correct representation of the tuples should be.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the tuple argument representation introduced in pull request #6 and trace how the example fillOrder signature is encoded. Decide and document a hierarchical representation for tuples, including nested tuples and struct-like arguments; done means tuple boundaries are preserved instead of being flattened ambiguously.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, solidity
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.