MetaMask / MetaMask/metamask-mobile

Does not allow user to make function calls on a smart contract

Open
#4,577 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
3k
Forks
1.7k
Avg merge
1d 14h
Merged PRs (30d)
669

Description

### **Description**

With the MetaMask desktop extension we can call functions of a smart contract. To call an arbitrary function named “Store” on a smart contract, MetaMask on desktop prompts me like this:

Screen Shot 2022-06-23 at 12 33 24 AM

Screen Shot 2022-06-23 at 12 33 49 AM

MetaMask instantly fills in the transaction hex data for me, which the Ethereum network uses to make the smart contract function call when the transaction is approved.

On MetaMask mobile, however, I have not found a way to make transactions to a smart contract that can call one of its functions. Is this not possible, or am I doing something wrong? I believe that this capability is tremendously important to Dapp developers like myself. Without this capability, MetaMask mobile is incapable of meaningfully interacting with smart contracts.

What I am specifically interested in is the capability of creating a QR code that uses an EIP 681 compliant link, which prompts the scanner of the QR code to use MetaMask Mobile to make a transaction with a certain amount of ETH that calls the function of a smart contract.

Screen Shot 2022-06-23 at 1 44 47 AM

What should occur when this QR code is scanned is that Meta Mask Mobile prompts a transaction that includes hex code, allowing for a function call on a smart contract - just like MetaMask on desktop.

However what happens right now, is that Meta Mask either crashes or ignores the function call and does not allow any hex data to be generated alongside the transaction. An additional issue is that MetaMask mobile doesn’t even allow users to manually input hex data, or rather there is a bug preventing users from doing so.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the reported EIP-681 QR-code flow in MetaMask Mobile, including a smart-contract transaction with calldata, and compare it with the desktop behavior described. Done means scanning the link does not crash or discard the function-call data and presents a transaction for approval; also verify the reported manual hex-input behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
react-native, typescript
Domain
blockchain, mobile
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.