Instead of marking a function as `public` in `TokenDivider`, consider marking it as `external` if it is not used internally.
```javacript
@> function getBalanceOf(address user, address token) public view returns(uint256) {
@> function getErc20TotalMintedAmount(address erc20) public view returns(uint256) {
@> function getErc20InfoFromNft(address nft) public view returns(ERC20Info memory) {
@> function getOrderPrice(address seller, uint256 index) public view returns(uint256 price) {
```
Make them `external` instead of `public`.
```diff
- function getBalanceOf(address user, address token) public view returns(uint256) {
+ function getBalanceOf(address user, address token) external view returns(uint256) {
- function getErc20TotalMintedAmount(address erc20) public view returns(uint256) {
+ function getErc20TotalMintedAmount(address erc20) external view returns(uint256) {
- function getErc20InfoFromNft(address nft) public view returns(ERC20Info memory) {
+ function getErc20InfoFromNft(address nft) external view returns(ERC20Info memory) {
- function getOrderPrice(address seller, uint256 index) public view returns(uint256 price) {
+ function getOrderPrice(address seller, uint256 index) external view returns(uint256 price) {
```