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 ...
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 ...
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,...
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 ...
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-...
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 ...
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 ...
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 ...
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.
...
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 ...
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/...
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....
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.
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 ...
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....
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. ...
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 ...
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 ...
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.
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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:/...
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.
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
meta-transactions × 73solidity × 17
metamask × 13
transactions × 11
ethers.js × 11
openzeppelin × 9
gas × 8
ether × 7
web3js × 6
signature × 6
blockchain × 5
erc-20 × 5
smart-contract-wallets × 5
eip712 × 5
contract-development × 4
polygon × 4
gnosis-safe × 4
erc2771 × 4
dapps × 3
ethereum-wallet-dapp × 3
fees × 3
opensea × 3
gasless × 3
go-ethereum × 2
remix × 2