└── contracts └── BasicMath.sol /contracts/BasicMath.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | pragma solidity ^0.8.7; 3 | 4 | contract BasicMath { 5 | 6 | function adder(uint _a, uint _b) external pure returns (uint sum, bool error) { 7 | unchecked{ 8 | sum = _a + _b; 9 | if(sum >= _a || sum >= _b){ 10 | return (sum, false); 11 | } else{ 12 | return (0, true); 13 | } 14 | 15 | } 16 | } 17 | 18 | function subtractor(uint _a, uint _b) external pure returns (uint difference, bool error) { 19 | unchecked{ 20 | difference = _a - _b; 21 | if(difference <= _a){ 22 | return (difference, false); 23 | } else{ 24 | return (0, true); 25 | } 26 | 27 | } 28 | } 29 | } --------------------------------------------------------------------------------