diff --git a/README.md b/README.md index 8bae342e..93dcfe04 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,12 @@ If transfersEnabled == false, tokens cannot be transferred by the users, however // Allows tokens to be transferred if true or frozen if false function enableTransfers(bool _transfersEnabled) onlyController +## Contract schema + +The contracts provided by this project adopt this relationships indicated in the diagram below. + +![UML schema](./doc/schema.png "Contract schema") + ## Applications diff --git a/doc/schema.png b/doc/schema.png new file mode 100644 index 00000000..c30ceefa Binary files /dev/null and b/doc/schema.png differ diff --git a/doc/uml-schema.txt b/doc/uml-schema.txt new file mode 100644 index 00000000..52c5494f --- /dev/null +++ b/doc/uml-schema.txt @@ -0,0 +1,16 @@ +// Diagram generated from https://yuml.me/diagram/plain/class/draw + +[Owned|+owner: address|Owner(); onlyOwner; changeOwner() onlyOwner] + +[TokenController|proxyPayment();onTransfer();onApprove()] + +[Controlled|+controller: address|Controlled(); onlyController; changeController() onlyController] + +[MiniMeTokenFactory| createCloneToken()] + +[MiniMeToken|+name: string; +decimals: uint8; +symbol: string; +version: string; +parentToken: MiniMeToken; +parentSnapShotBlock: uint; +creationBlock: uint; + transfersEnabled: bool; +tokenFactory: MiniMeTokenFactory; | MiniMeToken(); transfer() : bool; transferFrom() : bool; doTransfer() : bool; balanceOf() : uint256 constant ; approve() : bool; allowance() : uint256 constant; approveAndCall() : bool ; balanceOfAt() : uint constant; totalSupplyAt() : uint constant ; createCloneToken() : address ; generateTokens() : bool onlyController ; destroyTokens() : bool onlyController ; enableTransfers() onlyController ; claimTokens() : onlyController | ClaimedTokens(_token _controller _amount) ; Transfer(_from _to _amount); NewCloneToken(_cloneToken _snapshotBlock); Approval(_owner _spender _amount)]-^[Controlled] + +[MyCampaign|+totalCollected : uint256|MyCampaign(); finalizeFunding(); setVault() : onlyOwner]-^[Owned] +[MyCampaign]-^[TokenController] + +[ApproveAndCallFallBack| receiveApproval()]