contract OxToken is MiniMeToken {

    uint256 constant D160 = 0x0010000000000000000000000000000000000000000;

    function OxToken(address _tokenFactory)
            MiniMeToken(
                _tokenFactory,
                0x0,                     // no parent token
                0,                       // no snapshot block number from parent
                "Ox Fina",  // Token name
                3,                       // Decimals
                "OX",                   // Symbol
                false                    // Enable transfers
            ) {}

    // data is an array of uint256s. Each uint256 represents a transfer.
    // The 160 LSB is the destination of the address that wants to be sent
    // The 96 MSB is the amount of tokens that wants to be sent.
    function multiMint(uint256[] data) public onlyController {
        for (uint256 i = 0; i < data.length; i++) {
            address addr = address(data[i] & (D160 - 1));
            uint256 amount = data[i] / D160;

            assert(generateTokens(addr, amount));
        }
    }

}
function multiMint(uint256[] data) public onlyController {
    for (uint256 i = 0; i < data.length; i++) {
        address addr = address(data[i] & (D160 - 1));
        uint256 amount = data[i] / D160;

        assert(generateTokens(addr, amount));
    }
}

// data is an array of uint256s. Each uint256 represents a transfer.
// The 160 LSB is the destination of the address that wants to be sent
// The 96 MSB is the amount of tokens that wants to be sent.