Skip to content

Latest commit

 

History

History
25 lines (21 loc) · 700 Bytes

unnecessary-libraries.md

File metadata and controls

25 lines (21 loc) · 700 Bytes

Unnecessary Libraries

Libraries are often only imported for a small number of uses, meaning that they can contain a significant amount of code that is redundant to your contract. If you can safely and effectively implement the functionality imported from a library within your contract, it is optimal to do so.

import './SafeMath.sol' as SafeMath;

// redundant library
contract SafeAddition {
  function safeAdd(uint a, uint b) public pure returns(uint) {
    return SafeMath.add(a, b);
  }
}
// w/o library
contract SafeAddition {
  function safeAdd(uint a, uint b) public pure returns(uint) {
    uint c = a + b;
    require(c >= a, "Addition overflow");
    return c;
  }
}