digraph G {
graph [ ratio = "auto", page = "100", compound =true, bgcolor = "#2e3e56" ];
node [ style = "filled", fillcolor = "#edad56", color = "#edad56", penwidth =3 ];
edge [ color = "#fcfcfc", penwidth =2, fontname = "helvetica Neue Ultra Light" ];
subgraph "clusterPresale" {
graph [ label = "Presale", color = "#445773", fontcolor = "#f0f0f0", style = "rounded", bgcolor = "#445773" ];
"Presale.initialize" [ label = "initialize", color = "#ffbdb9", fillcolor = "#ffbdb9" ];
"Presale.open" [ label = "open", color = "#ffbdb9", fillcolor = "#ffbdb9" ];
"Presale.contribute" [ label = "contribute", color = "brown", fillcolor = "#ffbdb9" ];
"Presale.refund" [ label = "refund", color = "#ffbdb9", fillcolor = "#ffbdb9" ];
"Presale.close" [ label = "close", color = "#ffbdb9", fillcolor = "#ffbdb9" ];
"Presale.contributionToTokens" [ label = "contributionToTokens", color = "#FF9797", fillcolor = "#FF9797" ];
"Presale.state" [ label = "state" ];
"Presale._timeSinceOpen" [ label = "_timeSinceOpen" ];
"Presale._setOpenDate" [ label = "_setOpenDate" ];
"Presale._setVestingDatesWhenOpenDateIsKnown" [ label = "_setVestingDatesWhenOpenDateIsKnown" ];
"Presale._open" [ label = "_open" ];
"Presale._contribute" [ label = "_contribute" ];
"Presale._refund" [ label = "_refund" ];
"Presale._close" [ label = "_close" ];
"Presale._transfer" [ label = "_transfer" ];
"Presale.isContract" [ label = "isContract" ];
"Presale.initialized" [ label = "initialized" ];
"Presale.getTimestamp64" [ label = "getTimestamp64" ];
}
subgraph "clusterTokenManager" {
graph [ label = "TokenManager", color = "#e8726d", fontcolor = "#f0f0f0", style = "rounded,dashed", bgcolor = "#3b4b63" ];
"TokenManager.token" [ label = "token" ];
"TokenManager.issue" [ label = "issue" ];
"TokenManager.assignVested" [ label = "assignVested" ];
"TokenManager.getVesting" [ label = "getVesting" ];
"TokenManager.revokeVesting" [ label = "revokeVesting" ];
"TokenManager.burn" [ label = "burn" ];
}
subgraph "cluster_value" {
graph [ label = "_value", color = "#e8726d", fontcolor = "#f0f0f0", style = "rounded,dashed", bgcolor = "#3b4b63" ];
"_value.mul" [ label = "mul" ];
"_value.sub" [ label = "sub" ];
}
subgraph "clusteropenDate" {
graph [ label = "openDate", color = "#e8726d", fontcolor = "#f0f0f0", style = "rounded,dashed", bgcolor = "#3b4b63" ];
"openDate.add" [ label = "add" ];
}
subgraph "clustertotalRaised" {
graph [ label = "totalRaised", color = "#e8726d", fontcolor = "#f0f0f0", style = "rounded,dashed", bgcolor = "#3b4b63" ];
"totalRaised.add" [ label = "add" ];
"totalRaised.mul" [ label = "mul" ];
}
subgraph "clustergoal" {
graph [ label = "goal", color = "#e8726d", fontcolor = "#f0f0f0", style = "rounded,dashed", bgcolor = "#3b4b63" ];
"goal.sub" [ label = "sub" ];
}
subgraph "clusterERC20" {
graph [ label = "ERC20", color = "#e8726d", fontcolor = "#f0f0f0", style = "rounded,dashed", bgcolor = "#3b4b63" ];
"ERC20.balanceOf" [ label = "balanceOf" ];
"ERC20.allowance" [ label = "allowance" ];
"ERC20.totalSupply" [ label = "totalSupply" ];
"ERC20.safeTransfer" [ label = "safeTransfer" ];
"ERC20.safeTransferFrom" [ label = "safeTransferFrom" ];
}
subgraph "clusterPPM" {
graph [ label = "PPM", color = "#e8726d", fontcolor = "#f0f0f0", style = "rounded,dashed", bgcolor = "#3b4b63" ];
"PPM.sub" [ label = "sub" ];
}
subgraph "clusterIAragonFundraisingController" {
graph [ label = "IAragonFundraisingController", color = "#e8726d", fontcolor = "#f0f0f0", style = "rounded,dashed", bgcolor = "#3b4b63" ];
"IAragonFundraisingController.openTrading" [ label = "openTrading" ];
}
subgraph "cluster_to" {
graph [ label = "_to", color = "#e8726d", fontcolor = "#f0f0f0", style = "rounded,dashed", bgcolor = "#3b4b63" ];
"_to.transfer" [ label = "transfer" ];
}
"Presale.initialize";
"Presale.isContract";
"Presale.initialized";
"TokenManager.token";
"Presale._setOpenDate";
"Presale.open";
"Presale.state";
"Presale._open";
"Presale.contribute";
"Presale._contribute";
"Presale.refund";
"Presale._refund";
"Presale.close";
"Presale._close";
"Presale.contributionToTokens";
"_value.mul";
"Presale.getTimestamp64";
"Presale._timeSinceOpen";
"Presale._setVestingDatesWhenOpenDateIsKnown";
"openDate.add";
"totalRaised.add";
"goal.sub";
"_value.sub";
"ERC20.balanceOf";
"ERC20.allowance";
"Presale._transfer";
"TokenManager.issue";
"TokenManager.assignVested";
"TokenManager.getVesting";
"TokenManager.revokeVesting";
"TokenManager.burn";
"totalRaised.mul";
"ERC20.totalSupply";
"PPM.sub";
"IAragonFundraisingController.openTrading";
"_to.transfer";
"ERC20.safeTransfer";
"ERC20.safeTransferFrom";
"Presale.initialize" -> "Presale.isContract" [ color = "#1bc6a6" ];
"Presale.initialize" -> "Presale.isContract" [ color = "#1bc6a6" ];
"Presale.initialize" -> "Presale.isContract" [ color = "#1bc6a6" ];
"Presale.initialize" -> "Presale.isContract" [ color = "#1bc6a6" ];
"Presale.initialize" -> "Presale.initialized" [ color = "#1bc6a6" ];
"Presale.initialize" -> "TokenManager.token" [ color = "white" ];
"Presale.initialize" -> "Presale._setOpenDate" [ color = "#1bc6a6" ];
"Presale.open" -> "Presale.state" [ color = "#1bc6a6" ];
"Presale.open" -> "Presale._open" [ color = "#1bc6a6" ];
"Presale.contribute" -> "Presale.state" [ color = "#1bc6a6" ];
"Presale.contribute" -> "Presale._contribute" [ color = "#1bc6a6" ];
"Presale.refund" -> "Presale.state" [ color = "#1bc6a6" ];
"Presale.refund" -> "Presale._refund" [ color = "#1bc6a6" ];
"Presale.close" -> "Presale.state" [ color = "#1bc6a6" ];
"Presale.close" -> "Presale._close" [ color = "#1bc6a6" ];
"Presale.contributionToTokens" -> "_value.mul" [ color = "white" ];
"Presale.state" -> "Presale.getTimestamp64" [ color = "#1bc6a6" ];
"Presale.state" -> "Presale._timeSinceOpen" [ color = "#1bc6a6" ];
"Presale._timeSinceOpen" -> "Presale.getTimestamp64" [ color = "#1bc6a6" ];
"Presale._setOpenDate" -> "Presale.getTimestamp64" [ color = "#1bc6a6" ];
"Presale._setOpenDate" -> "Presale._setVestingDatesWhenOpenDateIsKnown" [ color = "#1bc6a6" ];
"Presale._setVestingDatesWhenOpenDateIsKnown" -> "openDate.add" [ color = "white" ];
"Presale._setVestingDatesWhenOpenDateIsKnown" -> "openDate.add" [ color = "white" ];
"Presale._open" -> "Presale._setOpenDate" [ color = "#1bc6a6" ];
"Presale._open" -> "Presale.getTimestamp64" [ color = "#1bc6a6" ];
"Presale._contribute" -> "totalRaised.add" [ color = "white" ];
"Presale._contribute" -> "goal.sub" [ color = "white" ];
"Presale._contribute" -> "_value.sub" [ color = "white" ];
"Presale._contribute" -> "ERC20.balanceOf" [ color = "white" ];
"Presale._contribute" -> "ERC20.allowance" [ color = "white" ];
"Presale._contribute" -> "Presale._transfer" [ color = "#1bc6a6" ];
"Presale._contribute" -> "Presale.contributionToTokens" [ color = "#1bc6a6" ];
"Presale._contribute" -> "TokenManager.issue" [ color = "white" ];
"Presale._contribute" -> "TokenManager.assignVested" [ color = "white" ];
"Presale._contribute" -> "totalRaised.add" [ color = "white" ];
"Presale._refund" -> "Presale._transfer" [ color = "#1bc6a6" ];
"Presale._refund" -> "TokenManager.getVesting" [ color = "white" ];
"Presale._refund" -> "TokenManager.revokeVesting" [ color = "white" ];
"Presale._refund" -> "TokenManager.burn" [ color = "white" ];
"Presale._close" -> "totalRaised.mul" [ color = "white" ];
"Presale._close" -> "Presale._transfer" [ color = "#1bc6a6" ];
"Presale._close" -> "ERC20.balanceOf" [ color = "white" ];
"Presale._close" -> "Presale._transfer" [ color = "#1bc6a6" ];
"Presale._close" -> "ERC20.totalSupply" [ color = "white" ];
"Presale._close" -> "PPM.sub" [ color = "white" ];
"Presale._close" -> "TokenManager.issue" [ color = "white" ];
"Presale._close" -> "TokenManager.assignVested" [ color = "white" ];
"Presale._close" -> "IAragonFundraisingController.openTrading" [ color = "white" ];
"Presale._transfer" -> "_to.transfer" [ color = "white" ];
"Presale._transfer" -> "ERC20.safeTransfer" [ color = "white" ];
"Presale._transfer" -> "ERC20.safeTransferFrom" [ color = "white" ];
rankdir=LR
node [shape=plaintext]
subgraph cluster_01 {
label = "Legend";
key [label=<
Internal Call |
External Call |
Defined Contract |
Undefined Contract |
>]
key2 [label=<>]
key:i1:e -> key2:i1:w [color="#1bc6a6"]
key:i2:e -> key2:i2:w [color="white"]
}
}