status-network-token/contracts/SGT.sol

39 lines
1.2 KiB
Solidity

pragma solidity ^0.4.11;
/*
Copyright 2017, Jarrad Hope (Status Research & Development GmbH)
*/
import "./MiniMeToken.sol";
contract SGT is MiniMeToken {
uint256 constant D160 = 0x0010000000000000000000000000000000000000000;
function SGT(address _tokenFactory)
MiniMeToken(
_tokenFactory,
0x0, // no parent token
0, // no snapshot block number from parent
"Status Genesis Token", // Token name
1, // Decimals
"SGT", // 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));
}
}
}