Basic Functions Exercise
Each module in this course will contain exercises in which you are given a specification for a contract without being given specific instructions on how to build the contract. You must use what you've learned to figure out the best solution on your own!
Once you've learned how to deploy your contracts to a test network, you'll be given the opportunity to submit your contract address for review by an onchain unit test. If it passes, you'll receive an NFT pin recognizing your accomplishment.
You'll deploy and submit this contract in the next module.
The following exercise asks you to create a contract that adheres to the following stated specifications.
Contract
Create a contract called BasicMath
. It should not inherit from any other contracts and does not need a constructor. It should have the following two functions:
Adder
A function called adder
. It must:
- Accept two
uint
arguments, called_a
and_b
- Return a
uint
sum
and abool
error
- If
_a
+_b
do not overflow, it should return thesum
and anerror
offalse
- If
_a
+_b
overflow, it should return0
as thesum
, and anerror
oftrue
Subtractor
A function called subtractor
. It must:
- Accept two
uint
arguments, called_a
and_b
- Return a
uint
difference
and abool
error
- If
_a
-_b
does not underflow, it should return thedifference
and anerror
offalse
- If
_a
-_b
underflows, it should return0
as thedifference
, and anerror
oftrue