function recharge(string code) public isActive callFromHuman(msg.sender) payable {
        require(msg.value >= minRecharge, "not enough fund");

        string memory _code = coinHolders.getRefCode(msg.sender);
        if (bytes(_code).length > 0) {
            code = _code;
        } else {
            if (!dealers.dealerExisted(code)) {
                code = defaultRefCode;
            }
            coinHolders.setRefCode(msg.sender, code);
        }

        coinHolders.add(msg.sender, msg.value);
        roundIn(msg.value, code);
    }