Skip to main content
7 votes
Accepted

Meta-transaction explanation

To break this down, I'm gonna briefly explain how meta-transactions work, and then I'll explain how it can be decentralized. You must have a private/public keypair Someone creates a 1-of-x multi-sig ...
natewelch_'s user avatar
  • 12.2k
7 votes
Accepted

Understanding OpenZeppelin's Context contract

This question has been asked and answered on the OZ forum here : https://forum.openzeppelin.com/t/help-understanding-contract-context/10579. The _msg.sender and _msg.data functions are in fact ...
clement's user avatar
  • 4,352
4 votes
Accepted

I can't fully understand the usage of nonce in a solidity example

In general, there are two types of accounts in the ethereum. An EOA and contract accounts. EOA are wallets and contract accounts are the accounts that used to store the contracts. When it comes to EOA,...
Ad-h0c's user avatar
  • 978
4 votes

What means relay in ethereum?

Relays are not part of the protocol. They are an emerging pattern for user-facing UI's that simplify user-onboarding by adding flexible payment options for the gas. Users can transfer tokens and ...
Rob Hitchens's user avatar
  • 55.5k
4 votes
Accepted

What is a relayer? (Meta Transactions)

I believe you're talking about 2 different types of relayers. A relayer as a general term is a 3rd party that relays some information from one party to another. In 0x, the relayers are collecting off-...
natewelch_'s user avatar
  • 12.2k
3 votes

send a signed transaction of wallet A using wallet B (to pay for the gas)

A basic Ethereum transaction looks like this: from – the address of the sender, that will be signing the transaction. recipient – the receiving address. If a contract account, the transaction will ...
Wuzhong - Chainstack DevEx's user avatar
3 votes
Accepted

Meta transaction with web3

Meta-transactions are different because if a user signs a transaction and forwards it to a meta-tx relay which broadcasts it to the network (sendRawTransaction()), the signer account would still be ...
Greg Jeanmart's user avatar
2 votes

let user create and sign erc20 transactions but i pay the fees?

Yes! This pattern of transactions is called metatransactions. As you described, your user would sign the transaction, but you would send the transaction to the network via a metatransaction. There ...
Shane Fontaine's user avatar
2 votes

Meta-transaction explanation

The generalization of meta transactions responds to the problem of user onboarding on Ethereum applications. What's the problem with gas? Gas is the execution fee for every operation made on Ethereum. ...
vincentLg's user avatar
  • 281
2 votes

EIP-2771: Is it possible to pay a function with from's eth, not the forwarder contract's eth

This is not possible with native ETH, as you cannot "pull" ETH from another account, and only the account sending a transaction can send ETH. Even if you use WETH (ETH wrapped as an ERC20 ...
Richard's user avatar
  • 5,079
2 votes

How to enable meta-transactions for Polygon contract

UPDATE: I have followed the instructions here: https://docs.opensea.io/docs/polygon-basic-integration#meta-transactions and here: https://github.com/ProjectOpenSea/meta-transactions/blob/main/...
Edvard's user avatar
  • 71
2 votes

Is it possible to integrate GSN OpenGSN v2 meta-transactions into Gnosis Safe smart contracts?

I am not pretty sure how to integrate open gsn2 into a Gnosis Safe contract, yet Safe has released the relay-kit that uses Gelato Relay under the hood to sponsor the transaction going through the safe....
donoso.eth's user avatar
  • 1,523
2 votes
Accepted

Smart Contract for Gasless ERC-20 Transfers

You're thinking in the right direction. Do check Uniswap's Permit2 contract, it takes this direction to also support tokens that don't natively support EIP2612.
Madhav Madhusoodanan's user avatar
1 vote

If a contract does not explicitly implement ERC-2771 can Meta-transaction work with it?

Yeah if the target contract doesn't integrate ERC2771 you can't spoof the msg.sender. I want to gain access to the tokens in my contract but if I send gas to this compromised address to do a ...
0xSanson's user avatar
  • 3,729
1 vote

Smart Contract for Gasless ERC-20 Transfers

but I want to support pre-existing ERC-20 tokens that don't have such a method Not possible. However you might be able to do it with ERC-4337 account abstraction. There are no widespread examples yet....
Mikko Ohtamaa's user avatar
1 vote

Using meta transactions and a smart contract that creates contracts, how can I affect who the contract creator is?

The answer, after consulting several different forums and then thinking deeply about how this works, is that you cannot change the apparent from address for a transaction in the way I was thinking. ...
Paul Spencer's user avatar
1 vote
Accepted

How to sign a meta-transaction using ethers?

The way you sign a message using ethers is with function _signTypedData, like this: await signer._signTypedData(data.domain, newTypes, data.message); Keep in mind that you don't need EIP712Domain in ...
Falcon Stakepool's user avatar
1 vote
Accepted

Error when trying to send meta-transaction

I found that the error is happening in this line of code, inside buildRequest function: const nonce = await forwarder.getNonce(input.from).then((nonce: any) => nonce.toString()); It seems that the ...
Falcon Stakepool's user avatar
1 vote
Accepted

Error after adding ERC2771Context and MinimalForwarder to smart contract to support meta-transactions

Problem was that I was inheriting Ownable before ERC2771Context. As Ownable uses Context and Context defines _msgSender(), you must inherit ERC2771Context BEFORE Ownable in your smart contracts.
Falcon Stakepool's user avatar
1 vote

Error after adding ERC2771Context and MinimalForwarder to smart contract to support meta-transactions

Did you set the address of the minimalforwarder as a constructor parameter in your contract's deploy script? If not please pass the address of the minimal forwarder contract as a constructor argument ...
Praveen M's user avatar
1 vote

How to broadcast a signed transaction and cover gas?

You're trying to break a protocol level constraint. MetaTx are indeed signed transactions where the relay is willing to pay for gas. There is no way for the broadcaster to avoid it. There are a number ...
Rob Hitchens's user avatar
  • 55.5k
1 vote
Accepted

send a signed transaction of wallet A using wallet B (to pay for the gas)

as Wuzhong said, it's not possible to send another wallets transaction, so i decided to approve my pool wallet once, by sending just enough ETH to the wallet to do the approval and then set the ...
Mostafa's user avatar
  • 51
1 vote
Accepted

ERC720 token is minted to relayer contract's address instead of _msgSender() with biconomy SDK

You shouldn't use _msgSender() when working with Biconomy because they call the contract for you and their address would always be the msg.sender so you have to structure the function so that it ...
Godspower Eze's user avatar
1 vote

send a signed transaction of wallet A using wallet B (to pay for the gas)

Unfortunately, what you tried to do in your second method is not possible. You can't use another wallet to pay for the gas of a transaction signed by a different wallet. The first method is the good ...
Mario Yahuarcani Salinas's user avatar
1 vote

Can Account Abstraction eliminate the need for relayers?

EIP-4337 aims to create a standard framework for achieving account abstraction with a permissionless and decentralized network. As DiveInto mentioned the network consists of bundlers, who accept ...
John Rising's user avatar
1 vote

Can Account Abstraction eliminate the need for relayers?

in EIP-4337, the role of the Relayer in meta-tx is replaced by Bundler. They are similar but different. Since there are several implementations of meta-tx, like: GSN, biconomy, infura tx and many ...
DiveInto's user avatar
  • 490
1 vote
Accepted

Does gnosis-safe support meta-transactions?

It's not possible via the UI, but there's a gas refund mechanism on the contract level. Basically you can create a transaction and tell the safe to refund gas for executing. But still the gas has to ...
Kristina Mayman's user avatar
1 vote

cannot withdraw usdt out from metamask to bybit

Since each Ethereum transaction requires computational resources to execute, each transaction requires a fee. Gas refers to the fee required to conduct a transaction on Ethereum successfully. you ...
Surbhi Audichya's user avatar
1 vote
Accepted

Meta transactions on ethereum

Meta transactions are a tricky topic for beginners but kudos for going for it. OpenZeppelin is no longer maintaining Gas Station Network. Check opengsn documentation for latest version. Github: https:/...
Bigbrotha's user avatar
  • 791
1 vote

MetaMask transaction popup opens on another computer

This is not an issue with metamask, I think you need to try removing the browser-sync from the node-modules.
jakky's user avatar
  • 11

Only top scored, non community-wiki answers of a minimum length are eligible