Questions tagged [require]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
4
votes
2answers
605 views

Why not use require() in place of assert()?

Even though require() is used substantially more than assert(), there are places where assert() gets used. One example would be in the widely adopted SafeMath library by OpenZeppelin: function add(...
4
votes
1answer
206 views

Setting time requirements in Solidity

I want a function to only be able to be called after a certain specific period of time has passed from the contract's inception. Generally, I was using block.number for that. As in: require(block....
4
votes
1answer
19 views

Why do Solidity audits include checks that function address arguments are not equal to 0x0?

I've recently completed an audit for some Solidity contracts, and one of the checks the auditor included for all of the contracts was to make sure that address function arguments are not equal to the ...
4
votes
1answer
415 views

how accurate are gas estimates?

I am currently running some tests on ganache using web3.js connector. Most of my transactions run OK if I supply the same amount of gas that is suggested by web3.eth.estimateGas(), however, one of ...
3
votes
2answers
1k 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&...
3
votes
1answer
130 views

Access require message

I am using JavaScript to run some tests on my solidity contract. Since solidity ^0.4.22 you can have a message in require such as: function Hello { require(msg.sender == 0x001234, "msg.sender ...
3
votes
1answer
37 views

Contract design by contract -> correctness and maximum gas consumption

This question is a general design question that regards contract correctness and the functions I list here are just examples. As I develop on Ethereum, it becomes aparent to me that it might be ...
2
votes
2answers
2k views

Syntax: How do you require a string to be null (or anything but null)?

I want to make sure that when doSomething() is called, the string variable is always populated (that it can't be left blank): function doSomething (string hash) public { require(hash != ...
2
votes
1answer
2k views

Solidity multiple vs single require

One of the functions of my smart contract can only be executed if three conditions are met. At the moment I have a single require which combines all the conditions like this: require(evalCond1() &...
2
votes
1answer
1k views

Custom error message in require() not showing up?

I've got Solidity v0.4.24 And I'm doing this: require(false,"this is a test"); When I run truffle test I get the revert, but I cant see the error message. Any ideas what could be wrong?
2
votes
2answers
42 views

Does the require function need more gas when called with a message?

If I add a message to require as a second parameter, will it increase gas consumption?
2
votes
3answers
444 views

Should I use require in view functions?

When I call a solidity function to get a struct element, is it a best practice to use require and check if the element exists or should I just return the empty values? Without require: function ...
2
votes
1answer
304 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 ...
2
votes
2answers
44 views

Validate bytes16 argument size

I have a function which accepts one bytes16 argument. function start( bytes16 reference ) I have some events which I use to track behaviour, using reference as the index. Everything works ...
2
votes
1answer
276 views

VM Exception while processing transaction: revert message

When a solidity smart contract reverts with a message due to a failure on a require statement, the browser calling the smart contract returns "Error: VM Exception while processing transaction: revert"....
1
vote
4answers
3k views

Unit testing for assert()/require() in Truffle/Solidity

If I write a function like so: function calculate(int x) public returns (int) { require(x > 0); // Do other stuff return x; } How would I write a JavaScript unit test in Truffle ...
1
vote
2answers
79 views

Correct syntax for require required

I am getting following error message with require statement: Error: Wrong argument count for function call: 0 arguments given but expected 1. This function requires a single bytes argument. Use ""...
1
vote
1answer
254 views

How to use require() with stings

I am trying to run this code on remix IDE: pragma solidity ^0.4.24; contract Aa { string public result; function feedData(string _result) public { require(_result = "e" , "...
1
vote
1answer
27 views

Are there any downsides to if…else logic versus rejecting in a function

Pretty much all examples of contract functions I see use the require(...) pattern. If the initial condition is not as expected, an error is thrown and the transaction is reverted. I don't like this ...
1
vote
1answer
62 views

Functions with boolean return type while using require()

I am trying to understand the reasoning for this: (for an online class) mapping (uint => uint) public multiplier; /** * Called by the owner of the TollBoothOperator. * Can be used to update a ...
1
vote
1answer
16 views

How can I ensure a player matches another player's bet?

First, I want someone to send a bet (money) to the contract. Then I want someone to match the original bet. (There are many more safety checks in the contract. I just removed them to keep this as ...
1
vote
2answers
180 views

Read message of require / revert statement in app.js

In my App.js I have called the smart contract function and the require statement in the function is not satisfied, so how do I get the message of that require statement in my App.js?
1
vote
1answer
45 views

A Way Around Restricted Getters

Consider a getter function with a restriction on who can read it, like function getData() public view returns (uint x) { require(msg.sender = '0x123..123'); x = data; } This ...
1
vote
1answer
119 views

How to get require() to accept decimal value of ether in payable functions in Solidity?

On using, require(msg.value == registerFeeMap[msg.sender] /_currentRate) (fractional ETH value calculated) require(msg.value == registerFeeMap[msg.sender]*10**18/ _currentRate) (ETH converted to ...
1
vote
2answers
103 views

How to use function arguments of payable function for require statement?

function createCampaign(uint deposit, address ll) public payable{ dpst = deposit; require(msg.value > (40*dpst)/100 wei); address newCampaign = address((new Campaign).value(msg.value)(...
1
vote
1answer
80 views

Why does this function not need a require statement?

Why does the following function not need a require statment? function transferFrom(address from, address to, uint256 value) public returns (bool) { _allowed[from][msg.sender] = _allowed[from][...
1
vote
1answer
769 views

Test if a map element has been deleted or does not exist?

I have a map of game IDs to game structs in my Solidity contract. I want to test if a game struct for a given ID does not exist or has been deleted. I am using the code below: // The map that maps ...
1
vote
2answers
65 views

transfer back msg.value to caller on error

I have a function with modifier 'payable' in the contract. My understading is, msg.value gets added to the contract's balance and then further code is executed. First question, is this a correct ...
1
vote
1answer
314 views

hardware and software requirements to launch an ERC20 Token

Pardon me I'm new in this. I'm trying to launch my ERC20 token. So What are the hardware and software requirements for an ideal transfers handling server system?
1
vote
0answers
46 views

Require not working on geth private node

I have created this contract to manage a votation: pragma solidity ^0.5.7; contract Votacion{ mapping(uint => address[]) private votosCandidatos; uint[] listaCandidatos; bool abierta; address ...
1
vote
1answer
570 views

Emit event while require statement fails

I would like to be able to log a result of a condition: if(time > 5) { emit Result("time is larger than 5"); } else { emit Result("time is less than 5"); } This will work just fine, but ...
1
vote
2answers
48 views

Check given adders transaction history? [closed]

I've created a voting game on eth blockchain. I would like to make a function, that only address with previous transaction history(not a fresh address) can call. So doesn't allow people to create a ...
1
vote
1answer
290 views

Handling require/assert failure errors correctly from a Node.JS app?

I have a getter function in my smart contract that returns one of the string values in statically defined string array. Upon entry to the function, it does a bounds check on the incoming index using ...
1
vote
0answers
194 views

cannot get return variable(s) in javascript when using require in solidity

I have a function in solidity that returns a few bytes32 variables. I cannot for the life of me access those variables. Can someone please help? function getData() public returns (bytes32, bytes32, ...
1
vote
0answers
269 views

Catch a “require()” in frontend

I was trying to validate a transaction with some conditions on contract level and was wondering if it was possible in any way to give user feedback in the frontend if a require() fails - aka if it ...
0
votes
1answer
77 views

Is there a way to know the REAL msg.sender?

I want to know the real msg.sender of the transaction. Which this means is, if I use truffle console I can change the msg.sender by using {from: another address}. So let's say my address is A, and ...
0
votes
1answer
38 views

Could you explain what this require conditions means in this smart contract

I would like to know what exactly this require condition do in this smart contract: function placeBet(uint betMask, uint modulo, uint commitLastBlock, uint commit, uint8 v, bytes32 r, bytes32 s) ...
0
votes
2answers
663 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": "...
0
votes
1answer
52 views

How do I check If a map entry doesn't exist for a given sender?

I have a map such as: mapping (address => bytes32) private myMap; Later in the code, in a function, I want to ensure my sender already has an entry in that given map. Can I do this? require(!...
0
votes
1answer
198 views

artifact.require() statement with inheritance?

Hi guys my question i very simple. I have this contract: B.sol ... contract A { ... } contract B is A { ... } When i migrate to blockchain my B.sol i need to deploy every single ...
0
votes
1answer
350 views

ERC20 transfer function - Use “if, else” or “require”

Currently, I am planning to implement an ERC20 compliant transfer function in my ERC20 compliant contract as follows: function transfer(address _to, uint256 _amount) public returns (bool success) ...
0
votes
1answer
696 views

Remix Warning : Assert

I am trying to compile a contract on remix and have run into the following warning : Use assert(x) if you never ever want x to be false, not in any circumstance (apart from a bug in your code). ...
0
votes
1answer
297 views

Control structure with truffle (assert and require)

When I'm trying to deploy contracts that contain assert and require using truffle I receive Error: Undeclared identifier. e.g: pragma solidity ^0.4.8; contract Owned{ address public owner = ...
0
votes
1answer
39 views

Mapping didn't storing unique values

I wrote this piece of code with the goal to store unique documents hash. Used mapping to accomplished that. pragma solidity ^0.5.16; contract DocumentHash{ string public documentHash; ...
0
votes
1answer
23 views

Test for Require statement in Truffle

I wrote a function that generate a key value. the function codes is here mapping(string => bool) processedHash; mapping(uint => bool) HashList; function generateHash(uint256 ...
0
votes
1answer
64 views

Always raising “Gas required exceeds allowance or always failing transaction” when the condition of require() is not met

I tried to run the following code to check the error message when the condition of require() is not met. pragma solidity ^0.5.16; ... function addUser(string memory name) public returns (int) { ...
0
votes
2answers
176 views

Check if contract exists in list

I've got a contract which creates another contracts and stores them in a list. How can I check that contract with specific index already exists? import "./User.sol"; contract Main is Ownable { ...
0
votes
1answer
246 views

Expect Error: transaction in Truffle [duplicate]

Im testing wheter a require function does its job by reverting and want to test in within a truffle test. it("The URI should be unique", async () =>{ const dupURI = await token....
0
votes
1answer
237 views

Why wouldn't I use require()?

CodeWars SPOILER I'm trying to learn by doing, and I'm pretty confused. I'm working on a kata for making a coin and sending it to others. My solution fails the test because it says I'm not checking ...
0
votes
3answers
202 views

Require: How to avoid users of my smart contract from losing their ether

I have a smart contract lottery that requires people to send exactly 0.2 ethers to its address in order to participate. In the constructor: ante = 0.2 ether; And in the payable function ...