Questions tagged [revert-opcode]
Questions about Solidity's `revert()` or the REVERT opcode.
102
questions
0
votes
0
answers
23
views
How to call the exchange method on a Curve Pool?
I can't for the life of me figure out where I'm going wrong. I'm trying to write a simple swap inside my contract for the curve pool at this mainnet address: https://etherscan.io/address/...
0
votes
1
answer
31
views
Warning! Error encountered during contract execution [invalid opcode: opcode 0x29 not defined]
hello every one hope you are doing fine.
i was trying to communicate with my smart contract which is deployed on the goeril test network but i m facing this error
Warning! Error encountered during ...
0
votes
0
answers
44
views
OPCODES How is work "CODECOPY"?
Somebody could explain how CODECOPY works in practice ? There is only one sample in evm.playground but I dont understand above-mentioned sample. Could you give me another concrete sample (with ...
0
votes
1
answer
122
views
My call to contract method not throw error but stuck, why?
when I call a contract method, which should revert and throw error:
Contract souce code:
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@...
0
votes
0
answers
93
views
Please Help ValueError: execution reverted: VM Exception while processing transaction: revert
Hi am learning brownie fundme What I tried to do here, is use brownie to deploy a contract(FundMe) using ganache-local then after running (deploy.py),i write a new script fund_and_withdraw.py i got ...
0
votes
2
answers
73
views
How to use truffle-assertions to check if a constructor will revert?
Say I have a contract:
contract Reverts{
constructor(param1){
require(param1);
}
}
If param1 is false, the constructor should fail and revert state.
truffle-assertions allows me to ...
0
votes
1
answer
156
views
Reentrancy Ethernaut Challenge
I have been trying to pass the Reentrancy attack challenge of Ethernaut. Hence, I am creating this issue to ask help from anybody who knows where is the problem coming from.
First of all, here is the ...
1
vote
2
answers
75
views
Smart contract is not available on the blockchain during the constructor call
I have the following sample code:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
import '@openzeppelin/contracts/token/ERC20/IERC20.sol';
import '@openzeppelin/contracts/token/ERC20/ERC20....
1
vote
1
answer
43
views
VM Exception while processing transaction: revert — Transferring ether from EOA to contract account
Problem summary
I get the following error whenever I try transferring ether from an EOA(externally owned account) to a contract account in one of my functions as seen below. I am currently using the ...
1
vote
1
answer
871
views
Is there a way to add all revert error strings to an ethers js interface?
According to this tool if a contract call has a revert message that starts with the signature 0x08c379a0 then the error message is in the format Error(string) i.e. a standard revert error string(e.g. ...
4
votes
3
answers
2k
views
When should I use `require` vs custom `revert` errors?
This applies only to solidity ^0.8 and onward.
Let's say I have a function like this:
function withdraw() external {
(bool success, ) = payable(msg.sender).call{value: address(this).balance}("&...
0
votes
1
answer
189
views
Understanding revert with array of contracts
I have the following solidity file:
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
error MustBeOwner();
error BookDoesNotExist();
// book contract
contract Book {
...
1
vote
1
answer
280
views
Brownie: TransactionReceipt from a reverted tx inside a script
In the Brownie-documentation it says:
Debugging Tools
When using the console, transactions that revert still return a TransactionReceipt object. This object provides access to various attributes and ...
0
votes
1
answer
262
views
I want to limit the amount of ethers sent to a smart contract
I am a kinda newbie to this, so please excuse my questions.
MY FIRST QUESTION:
I am creating a simple ICO using a simple smart contract. I want to set a limit for people to send ETH to this smart ...
0
votes
1
answer
126
views
How to reject an address from entering a lottery if that person has already entered
I am programming a lottery. I am storing the players (addresses) who enter in a public array, and I only want a person to be able to enter ONCE per lottery. Meaning if they have sent in the required ...
0
votes
1
answer
113
views
Method works on local but fails on Ropsten [closed]
Trying to debug this transaction (it's a large one that deploys a contract) that works on local but fails on ropsten.
First, it said
Error: cannot estimate gas; transaction may fail or may require ...
1
vote
1
answer
837
views
What is the layout of returndata from returndatacopy opcode?
I am attempting to perform operations on returned data from delegatecall opcode using a similar familiar proxy pattern:
assembly {
let ptr := mload(0x40) // load empty memory address pointer
...
0
votes
1
answer
85
views
Calling another contract that reverts
If i call a function from another contract(using interface), and that function has require statement that reverts... will my function break, or will it continue to execute?
So the question is... will ...
0
votes
1
answer
182
views
ERROR: transact to Lottery.(receive) errored: VM error: revert
I have been developing a personal project and I am getting this error:
transact to Lottery.(receive) errored: VM error: revert.
Can someone help me?
// SPDX-License-Identifier: GPL-3.0
pragma ...
11
votes
2
answers
2k
views
How to bubble up a custom error when using DELEGATECALL?
Solidity v0.8.4 introduced custom errors:
error Unauthorized();
Say I have contract A which delegate calls to contract B. The latter reverts with the custom error defined above. How can I bubble that ...
1
vote
1
answer
2k
views
Force function execution
I have an approve method.
function approve(address spender, uint value) public returns(bool){
if (msg.sender==_owner){
allowance[msg.sender][spender] = value;
emit ...
0
votes
1
answer
510
views
Approve fail [execution reverted]
Novadays we can see a lot of scamcoins on bsc.
Why do all approve transactions fail?
smart contract link.
I thought all reverts preventing transaction execution. But here we can see error messages in ...
0
votes
1
answer
633
views
BSC Transaction revert but no reason
I encountered a problem. My contract occasionally has execution exceptions, but there is no error prompt. I read the VM trace and found the following errors, but I don't understand why. Can someone ...
0
votes
1
answer
252
views
Failing to fill 0x quote
I'm trying to fill a quote that I get from the 0x API:
const qs = createQueryString({
sellToken: 'TUSD',
buyToken: 'WETH',
sellAmount: BigInt(882693 * 10 ** 18)
});
..but the transaction ...
0
votes
1
answer
1k
views
QuickSwap transaction reverts on Polygon
I'm attempting to swap USDC for DAI using Web3JS and QuickSwap on Polygon, but the transaction always reverts and I have no idea why. I have tried different value amounts in the transaction without ...
0
votes
1
answer
877
views
Fail with error 'TransferHelper: TRANSFER_FROM_FAILED', all gas used up
I'm trying to buy some CHY with USDT on Uniswap main net, fails with error 'TransferHelper: TRANSFER_FROM_FAILED',
This is my failed tx link.
This is a successful tx link from someone else.
I notice ...
0
votes
2
answers
474
views
Why is transaction reverting with custom smart contract?
I have deployed a smart contract to the Polygon Mumbai Testnet (it shouldn't really matter where I deployed it).
When sending a transaction to call a function on this contract, the transaction fails, ...
3
votes
0
answers
58
views
Is EVM vulnerable to denial of service with out of gas in call to other contract?
if I call a function in a sub-contract and it runs out of gas, the gas is not completely consumed. Instead, it is returned to the calling contract.
Could that be a vulnerability for a denial of ...
0
votes
1
answer
210
views
Aave Flashloan `reverted with reason '73'`
I'm getting an error when attempting to execute an Aave V2 Flashloan within a Hardhat-mocha test while connected to a fork of the Kovan network. It's unclear to me what revert reason "73" ...
1
vote
1
answer
284
views
Why doesn't the shift operation revert on overflow in Solidity ^0.8.0?
Take the following function:
solidity ^0.8.0;
function foo(uint256 x) external pure returns (uint256) {
uint256 y = x << 255;
return y;
}
If you set x = 2, the result is 2**256, which ...
2
votes
1
answer
913
views
Do all Ethereum networks return the revert reasons as a "message" field?
I noticed that reverted transactions on Kovan don't include the revert reason. I'm getting the generic "Reverted"/ "VM execution error."
Is Koval special in this regard? I know ...
1
vote
2
answers
805
views
I am having an error when I interact with my smart contract
first of all here are the codes
var web3 = new Web3(Web3.givenProvider);
var contractInstance;
var x = 0
$(document).ready(function() {
window.ethereum.enable().then(function(accounts){
...
0
votes
1
answer
2k
views
abi.decode with pragma experimental ABIEncoderV2 reverts with nested array
I have a function with a parameter of bytes calldata that needs to be decoded to a struct, but the call reverts in assembly. I believe the issue has something to do with the nested array. I have ...
3
votes
2
answers
1k
views
Gas refunds via “Self-destruct” prior to a revert()
In a transaction that eventually calls revert(), if prior to the revert we have SELFDESTRUCT some contracts and thus received a gas refund, does the gas refund also get reverted?
4
votes
1
answer
2k
views
How to get require() error message?
I can see the error message on Etherscan.
But I can't find it in getTransactionRecept().
Is there any special settings that I need set in my Genesis.json before I can see it?
2
votes
1
answer
293
views
UnhandledPromiseRejectionWarning: Error: nonce generation function failed or private key is invalid in Ganache
In Go I am using go-ethereum to read data from the ethereum smart contract. My smart contract is maintained with truffle.
I am trying to fetch candidate information based on candidate id. I have a ...
0
votes
0
answers
80
views
Is there a way to get revert message by my client?
I have a smart contract with this simple function:
function addUser( string memory _username, string memory _nome, string memory _cognome, string memory _email) public isOwner() {
require(bytes(...
7
votes
2
answers
15k
views
How to get reason revert using web3.eth.call
I have a smart contract with required message and pretend to use the required/validation message in front end.
require(bytes(hashAlreadyRegistered[hash]).length == 0, "Hash already registered&...
0
votes
0
answers
161
views
Is there a way to know if a Solidity method will revert?
I have some solidity methods in my contract, and when i make a send in web3.js i would like to know if there is a way to know if the functions are going to revert by using call.
Per-example , in ...
3
votes
1
answer
239
views
What is the purpose of a `// dev:` comment after a revert or require statement?
What does it mean when a Solidity contract includes a comment starting with // dev: after a revert or require statement?
For example:
contract Example {
function greet(){
revert(); // ...
6
votes
1
answer
2k
views
How to catch a `revert()` error using Brownie?
I am using Brownie to develop my smart contracts, which helps me to intract with the smart contracts, please see doc.
When my call Example.greet() is there any way to return the error message and act ...
1
vote
1
answer
2k
views
While testing wrap & unwrap of ETH to WETH on Kovan ,however the wrap function is fine but unwrap func fails,is anything wrong in my approach?
trx fails at
& debug at tenderly
pragma solidity 0.5.12;
contract WETH9_
{
mapping (address => uint) public balanceOf;
mapping (address => mapping (address => ...
6
votes
5
answers
7k
views
How can I get the revert reason of a call in Solidity so that I can use it in the same on-chain transaction?
I want to get the revert reason of a failed call and then use that revert reason in the same on-chain transaction. Is this possible?
2
votes
1
answer
413
views
On Etherscan, what is the difference between a failed transaction that says 'Reverted' and one that says 'Execution Reverted'?
On Etherscan, a failed transaction will provide a reason for failure. This can be Reverted, Out of Gas, Bad instruction, etc.
However, there seems to be an inconsistent message on different testnets. ...
2
votes
0
answers
108
views
How to know the reason of transaction's reversion in parity?
I am testing ERC20 USDT contract locally with parity. I imported contract to my private testnet and manually generated raw transaction that calls "transfer" method of contract. I send it to the node ...
0
votes
1
answer
2k
views
Transfer ERC20 Token - Encountered during contract execution [Reverted]
When trying to sent some ERC20 Token from wallet getting following error:
Warning! Error encountered during contract execution [Reverted]
This error returned when i call transferFrom()( I made ...
1
vote
1
answer
283
views
Payable constructor gives revert message
I am trying to execute the following contract on remixe IDE:
pragma solidity ^0.5.4;
contract GuessTheNumberChallenge {
constructor() public payable {
require(msg.value == 1 ether);
}
...
1
vote
2
answers
6k
views
How to diagnose a "Error: Transaction has been reverted by the EVM"?
This the error intercepted from my javascript, using web3.js
Error: Transaction has been reverted by the EVM:
{
"blockHash": "...
21
votes
1
answer
14k
views
Is it possible to perform a try-catch in Solidity?
Does Solidity support try-catch functionality? If so, how does it work? What are the limitations?
0
votes
1
answer
90
views
Trying to get array size but it reverts
I wanted to get array length by getter function, but it keeps reverts. But I have no idea why it's reverting. Here is my code.
struct ItemAddress {
uint8 sendNatCd;
uint8 rcvNatCd;
uint16 ...