Questions tagged [revert-opcode]

Questions about Solidity's `revert()` or the REVERT opcode.

Filter by
Sorted by
Tagged with
0
votes
0answers
9 views

Can't get revert reason (TransactionRevertedWithoutReason)

I'm making some tests on kovan network to execute a flash swap on uniswap. But for now I have reduce my probleme to this : // SPDX-License-Identifier: MIT pragma solidity 0.6.12; pragma experimental ...
0
votes
0answers
11 views

How to avoid preflight check

How to avoid preflight transaction execution check in wallets like metamask? I want too see my revert message on chain explorer, is this possible to fix preflight check on smartcontract side?
3
votes
0answers
17 views

How to bubble up a custom error in Solidity?

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
1answer
84 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
1answer
34 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
1answer
47 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
1answer
69 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
1answer
159 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
1answer
185 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
2answers
79 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
0answers
15 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
1answer
18 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
1answer
43 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 ...
0
votes
0answers
99 views

Transaction has been reverted by the EVM - How to deduce the revert reason in this case?

I get this error when I call a function that changes the state of the smart contract from the frontend: Error: Transaction has been reverted by the EVM: { "blockHash": "...
2
votes
1answer
324 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
1answer
359 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
1answer
695 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
2answers
470 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?
2
votes
1answer
355 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
0answers
144 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
0answers
27 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(...
5
votes
2answers
5k 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
0answers
66 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
1answer
79 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(); // ...
5
votes
1answer
321 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 ...
0
votes
1answer
1k 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 => ...
1
vote
3answers
2k 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
1answer
148 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
0answers
71 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
1answer
929 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
1answer
71 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); } ...
0
votes
2answers
3k 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": "...
10
votes
1answer
4k 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
1answer
45 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 ...
0
votes
2answers
285 views

Does reverted transactions considered as mined transactions?

I want to know if a reverted transaction is considered as mined one ? this is mean nonce should be incremented
1
vote
2answers
618 views

How to decode error response from contact

When calling a contract function that I expect to fail by invoking revert, I receive the following JSON-RPC response: { "jsonrpc": "2.0", "id": 1, "result": "...
0
votes
0answers
32 views

Cann't send token with looping function

Sorry, I'm a newbie on ERC721 token. Please help. I have deployed ERC721 contract in the localhost testnet. I use looping function for mint token and it works. But when I use looping function for ...
3
votes
0answers
74 views

How do I check transaction status using go-ethereum simulated back-end?

Using the go-ethereum simulated backend, I would like to: 1) Instantly commit a transaction so that it either succeeds or reverts in a given simulated blockchain. So far I'm using sim.Commit() to ...
0
votes
0answers
42 views

Revert() workflow in re-entrancy vulnerablity?

I am studying the following code contract Mutex { bool locked; modifier noReentrancy() { require(!locked); locked = true; _; locked = false; } function f(unit256 amount) public ...
5
votes
2answers
1k views

forward revert message from low level solidity call

I'm working on a proxy contract that will perform calls as follows: bool success; bytes memory returndata; (success, returndata) = _to.call.value(_value)(_data); require(success); this works great, ...
1
vote
0answers
33 views

Assert after critical instruction

I've seen a particular code style, where after any "critical" state modification operation, a check is done in order to assess the true good result of the operation. Something like: uint _count = ...
2
votes
1answer
551 views

How to handle require/revert/assert errors properly

I'm trying to find an easy pattern to revert/rollback a write transaction. The first idea was to log a GenericErrorEvent but then I noticed that it will never be emited if any require/revert/assert ...
1
vote
1answer
123 views

why use up all the gasLimit when use assembly and revert together?

try to call erc20 token's transferFrom() using assembly(to save some gas), code like this: pragma solidity ^0.4.24; contract TestAssemblyAndRevert { function test(address from, address to, ...
2
votes
1answer
166 views

Ether in ERC-20 transactions?

I have one contract that I give tokens from a ERC20 contract implemantation. When I call the balanceOf function from the Token conract. Response me that I have x Tokens. Nice !! But when I try to ...
4
votes
3answers
1k views

Is there a way to capture the require / revert failure reason?

In my contract, I have a bunch of checking at the start of a public function. It looks something like this: require ( prx < 1e18, "Value prx too high") require ( prx != 0, "Value prx cannot be ...
3
votes
2answers
432 views

Does a string message increase the gas usage of a `require` statement?

In solc 0.4.22 onward, it is possible to provide a string message containing details about the error that will be passed back to the caller (in require, assert and revert statements). Does the gas ...
2
votes
1answer
430 views

Recently upgraded Solc and Web3. Transactions with zero addresses now reverting with "invalid address" message?

I recently upgraded Web3JS and Solc. Now every time I pass a zero address to a Solidity contact method the transaction reverts with an "invalid address" message. This message appears to be coming ...
5
votes
3answers
3k views

How to catch solidity contract revert message using web3j

Is there any way to catch solidity revert message like Remix Javascript VM in web3j Revert message(Remix) transact to Erecruitment.issueNewAdmitCard errored: VM error: revert. revert The ...
0
votes
1answer
447 views

Is it safe to call revert() instead of returning a value?

I have the following piece of code: function func() public returns (bool) { if (some condition on msg.sender) { do some stuff return true; } revert(); } The compiler (0.4....
4
votes
1answer
665 views

Getting transaction receipt with a reverted transaction to determine how much gas was used?

In web3.js, if a revert occurs, it doesn't give a receipt along with it. I want to determine how much gas was actually used after a revert. In 1.0, I can't even get the tx hash from the event ...