Anybody can create a new clone token of any token using this contract with an initial distribution identical to the original token at a specified block. The address calling the `createCloneToken` function will become the token controller and the token's default settings can be specified in the function call.
All MiniMe Tokens maintain a history of the balance changes that occur during each block. Two calls are introduced to read the totalSupply and the balance of any address at any block in the past.
The controller of the contract can generate/destroy/transfer tokens at its own discretion. The controller can be a regular account, but the intention is for the controller to be another contract that imposes transparent rules on the token's issuance and functionality. The Token Controller is not required for the MiniMe token to function, if there is no reason to generate/destroy/transfer tokens, the token controller can be set to 0x0 and this functionality will be disabled.
For example, a Token Creation contract can be set as the controller of the MiniMe Token and at the end of the token creation period, the controller can be transfered to the 0x0 address, to guarentee that no new tokens will be created.
If isConstant == True, tokens cannot be transfered, however they can still be created or destroyed by the controller. The controller can also toggle this flag.
If this Token contract is used as the base token, then it can easily generate clones of itself at any given block number, which allows for incredibly powerful functionality. Some of the applications that the MiniMe token contract can be used for are: