function transferFrom(address miner, address recipient, uint256 amount) public returns (bool) {
        require(amount <= allowed[miner][msg.sender] && amount <= balanceOf(miner));
        require(miners[recipient].lastUpdateTime != 0);
        
        miners[miner].money -= amount * (10**uint(decimals));
        miners[recipient].money += amount * (10**uint(decimals));
        allowed[miner][msg.sender] -= amount * (10**uint(decimals));
        
        emit Transfer(miner, recipient, amount);
        return true;
    }