Skip to main content

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!

info

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 a bool error
  • If _a + _b do not overflow, it should return the sum and an error of false
  • If _a + _b overflow, it should return 0 as the sum, and an error of true

Subtractor

A function called subtractor. It must:

  • Accept two uint arguments, called _a and _b
  • Return a uint difference and a bool error
  • If _a - _b does not underflow, it should return the difference and an error of false
  • If _a - _b underflows, it should return 0 as the difference, and an error of true
We use cookies and similar technologies on our websites to enhance and tailor your experience, analyze our traffic, and for security and marketing. You can choose not to allow some type of cookies by clicking . For more information see our Cookie Policy.