{
  "contractName": "DigmToken",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x06fdde03"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x095ea7b3"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x18160ddd"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "from",
          "type": "address"
        },
        {
          "name": "to",
          "type": "address"
        },
        {
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x23b872dd"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x313ce567"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "addedValue",
          "type": "uint256"
        }
      ],
      "name": "increaseAllowance",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x39509351"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x70a08231"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x95d89b41"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "subtractedValue",
          "type": "uint256"
        }
      ],
      "name": "decreaseAllowance",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xa457c2d7"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "to",
          "type": "address"
        },
        {
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xa9059cbb"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xdd62ed3e"
    },
    {
      "inputs": [
        {
          "name": "_auth",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor",
      "signature": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event",
      "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event",
      "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "burn",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x42966c68"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xa0712d68"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_address",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "mintTo",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x449a52f8"
    }
  ],
  "bytecode": "0x60c0604052600460808190527f4449474d0000000000000000000000000000000000000000000000000000000060a090815261003c9190816100e1565b506040805180820190915260048082527f4449474d000000000000000000000000000000000000000000000000000000006020909201918252610081916005916100e1565b506006805460ff1916601217905534801561009b57600080fd5b50604051602080610d8e833981018060405260208110156100bb57600080fd5b505160038054600160a060020a031916600160a060020a0390921691909117905561017c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012257805160ff191683800117855561014f565b8280016001018555821561014f579182015b8281111561014f578251825591602001919060010190610134565b5061015b92915061015f565b5090565b61017991905b8082111561015b5760008155600101610165565b90565b610c038061018b6000396000f3fe6080604052600436106100cf5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d4578063095ea7b31461015e57806318160ddd146101ab57806323b872dd146101d2578063313ce56714610215578063395093511461024057806342966c6814610279578063449a52f8146102a557806370a08231146102de57806395d89b4114610311578063a0712d6814610326578063a457c2d714610350578063a9059cbb14610389578063dd62ed3e146103c2575b600080fd5b3480156100e057600080fd5b506100e96103fd565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012357818101518382015260200161010b565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016a57600080fd5b506101976004803603604081101561018157600080fd5b50600160a060020a03813516906020013561048b565b604080519115158252519081900360200190f35b3480156101b757600080fd5b506101c0610509565b60408051918252519081900360200190f35b3480156101de57600080fd5b50610197600480360360608110156101f557600080fd5b50600160a060020a0381358116916020810135909116906040013561050f565b34801561022157600080fd5b5061022a6105d8565b6040805160ff9092168252519081900360200190f35b34801561024c57600080fd5b506101976004803603604081101561026357600080fd5b50600160a060020a0381351690602001356105e1565b34801561028557600080fd5b506102a36004803603602081101561029c57600080fd5b5035610691565b005b3480156102b157600080fd5b506102a3600480360360408110156102c857600080fd5b50600160a060020a038135169060200135610739565b3480156102ea57600080fd5b506101c06004803603602081101561030157600080fd5b5035600160a060020a03166107e2565b34801561031d57600080fd5b506100e96107fd565b34801561033257600080fd5b506102a36004803603602081101561034957600080fd5b5035610858565b34801561035c57600080fd5b506101976004803603604081101561037357600080fd5b50600160a060020a0381351690602001356108fd565b34801561039557600080fd5b50610197600480360360408110156103ac57600080fd5b50600160a060020a038135169060200135610948565b3480156103ce57600080fd5b506101c0600480360360408110156103e557600080fd5b50600160a060020a038135811691602001351661095e565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104835780601f1061045857610100808354040283529160200191610483565b820191906000526020600020905b81548152906001019060200180831161046657829003601f168201915b505050505081565b6000600160a060020a03831615156104a257600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60025490565b600160a060020a0383166000908152600160209081526040808320338452909152812054610543908363ffffffff61098916565b600160a060020a038516600090815260016020908152604080832033845290915290205561057284848461099e565b600160a060020a0384166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60065460ff1681565b6000600160a060020a03831615156105f857600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461062c908363ffffffff610a6b16565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600354604080517fced3fb9c0000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163ced3fb9c91602480820192602092909190829003018186803b1580156106f557600080fd5b505afa158015610709573d6000803e3d6000fd5b505050506040513d602081101561071f57600080fd5b5051151561072c57600080fd5b6107363382610a84565b50565b600354604080517fced3fb9c0000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163ced3fb9c91602480820192602092909190829003018186803b15801561079d57600080fd5b505afa1580156107b1573d6000803e3d6000fd5b505050506040513d60208110156107c757600080fd5b505115156107d457600080fd5b6107de8282610b2d565b5050565b600160a060020a031660009081526020819052604090205490565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104835780601f1061045857610100808354040283529160200191610483565b600354604080517fced3fb9c0000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163ced3fb9c91602480820192602092909190829003018186803b1580156108bc57600080fd5b505afa1580156108d0573d6000803e3d6000fd5b505050506040513d60208110156108e657600080fd5b505115156108f357600080fd5b6107363382610b2d565b6000600160a060020a038316151561091457600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461062c908363ffffffff61098916565b600061095533848461099e565b50600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60008282111561099857600080fd5b50900390565b600160a060020a03821615156109b357600080fd5b600160a060020a0383166000908152602081905260409020546109dc908263ffffffff61098916565b600160a060020a038085166000908152602081905260408082209390935590841681522054610a11908263ffffffff610a6b16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082820183811015610a7d57600080fd5b9392505050565b600160a060020a0382161515610a9957600080fd5b600254610aac908263ffffffff61098916565b600255600160a060020a038216600090815260208190526040902054610ad8908263ffffffff61098916565b600160a060020a038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b600160a060020a0382161515610b4257600080fd5b600254610b55908263ffffffff610a6b16565b600255600160a060020a038216600090815260208190526040902054610b81908263ffffffff610a6b16565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505056fea165627a7a7230582037560d7487e50a8f66326b660babd7746c442bf03a040dbdee6303e3048a38090029",
  "deployedBytecode": "0x6080604052600436106100cf5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d4578063095ea7b31461015e57806318160ddd146101ab57806323b872dd146101d2578063313ce56714610215578063395093511461024057806342966c6814610279578063449a52f8146102a557806370a08231146102de57806395d89b4114610311578063a0712d6814610326578063a457c2d714610350578063a9059cbb14610389578063dd62ed3e146103c2575b600080fd5b3480156100e057600080fd5b506100e96103fd565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012357818101518382015260200161010b565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016a57600080fd5b506101976004803603604081101561018157600080fd5b50600160a060020a03813516906020013561048b565b604080519115158252519081900360200190f35b3480156101b757600080fd5b506101c0610509565b60408051918252519081900360200190f35b3480156101de57600080fd5b50610197600480360360608110156101f557600080fd5b50600160a060020a0381358116916020810135909116906040013561050f565b34801561022157600080fd5b5061022a6105d8565b6040805160ff9092168252519081900360200190f35b34801561024c57600080fd5b506101976004803603604081101561026357600080fd5b50600160a060020a0381351690602001356105e1565b34801561028557600080fd5b506102a36004803603602081101561029c57600080fd5b5035610691565b005b3480156102b157600080fd5b506102a3600480360360408110156102c857600080fd5b50600160a060020a038135169060200135610739565b3480156102ea57600080fd5b506101c06004803603602081101561030157600080fd5b5035600160a060020a03166107e2565b34801561031d57600080fd5b506100e96107fd565b34801561033257600080fd5b506102a36004803603602081101561034957600080fd5b5035610858565b34801561035c57600080fd5b506101976004803603604081101561037357600080fd5b50600160a060020a0381351690602001356108fd565b34801561039557600080fd5b50610197600480360360408110156103ac57600080fd5b50600160a060020a038135169060200135610948565b3480156103ce57600080fd5b506101c0600480360360408110156103e557600080fd5b50600160a060020a038135811691602001351661095e565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104835780601f1061045857610100808354040283529160200191610483565b820191906000526020600020905b81548152906001019060200180831161046657829003601f168201915b505050505081565b6000600160a060020a03831615156104a257600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60025490565b600160a060020a0383166000908152600160209081526040808320338452909152812054610543908363ffffffff61098916565b600160a060020a038516600090815260016020908152604080832033845290915290205561057284848461099e565b600160a060020a0384166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b60065460ff1681565b6000600160a060020a03831615156105f857600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461062c908363ffffffff610a6b16565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600354604080517fced3fb9c0000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163ced3fb9c91602480820192602092909190829003018186803b1580156106f557600080fd5b505afa158015610709573d6000803e3d6000fd5b505050506040513d602081101561071f57600080fd5b5051151561072c57600080fd5b6107363382610a84565b50565b600354604080517fced3fb9c0000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163ced3fb9c91602480820192602092909190829003018186803b15801561079d57600080fd5b505afa1580156107b1573d6000803e3d6000fd5b505050506040513d60208110156107c757600080fd5b505115156107d457600080fd5b6107de8282610b2d565b5050565b600160a060020a031660009081526020819052604090205490565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104835780601f1061045857610100808354040283529160200191610483565b600354604080517fced3fb9c0000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163ced3fb9c91602480820192602092909190829003018186803b1580156108bc57600080fd5b505afa1580156108d0573d6000803e3d6000fd5b505050506040513d60208110156108e657600080fd5b505115156108f357600080fd5b6107363382610b2d565b6000600160a060020a038316151561091457600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461062c908363ffffffff61098916565b600061095533848461099e565b50600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60008282111561099857600080fd5b50900390565b600160a060020a03821615156109b357600080fd5b600160a060020a0383166000908152602081905260409020546109dc908263ffffffff61098916565b600160a060020a038085166000908152602081905260408082209390935590841681522054610a11908263ffffffff610a6b16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082820183811015610a7d57600080fd5b9392505050565b600160a060020a0382161515610a9957600080fd5b600254610aac908263ffffffff61098916565b600255600160a060020a038216600090815260208190526040902054610ad8908263ffffffff61098916565b600160a060020a038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b600160a060020a0382161515610b4257600080fd5b600254610b55908263ffffffff610a6b16565b600255600160a060020a038216600090815260208190526040902054610b81908263ffffffff610a6b16565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505056fea165627a7a7230582037560d7487e50a8f66326b660babd7746c442bf03a040dbdee6303e3048a38090029",
  "sourceMap": "218:27:6:-;169:1026;218:27;;169:1026;218:27;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;251:29:6;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;286:26:6;;;-1:-1:-1;;286:26:6;310:2;286:26;;;405:61;5:2:-1;;;;30:1;27;20:12;5:2;405:61:6;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;405:61:6;557:17:1;:67;;-1:-1:-1;;;;;;557:67:1;-1:-1:-1;;;;;557:67:1;;;;;;;;;169:1026:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;169:1026:6;;;-1:-1:-1;169:1026:6;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
  "deployedSourceMap": "169:1026:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;218:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;218:27:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;218:27:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2735:238:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2735:238:16;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2735:238:16;;;;;;;;;;;;;;;;;;;;;;;;;;;936:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;936:89:16;;;;;;;;;;;;;;;;;;;;3436:294;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3436:294:16;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3436:294:16;;;;;;;;;;;;;;;;;;286:26:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;286:26:6;;;;;;;;;;;;;;;;;;;;;;;4233:317:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4233:317:16;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4233:317:16;;;;;;;;;583:89:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;583:89:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;583:89:6;;;;;1086:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1086:107:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1086:107:6;;;;;;;;;1234:104:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1234:104:16;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1234:104:16;-1:-1:-1;;;;;1234:104:16;;;251:29:6;;8:9:-1;5:2;;;30:1;27;20:12;5:2;251:29:6;;;;788:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;788:89:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;788:89:6;;;5058:327:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5058:327:16;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5058:327:16;;;;;;;;;1962:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1962:137:16;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1962:137:16;;;;;;;;;1669:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1669:129:16;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1669:129:16;;;;;;;;;;;218:27:6;;;;;;;;;;;;;;;-1:-1:-1;;218:27:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2735:238:16:-;2800:4;-1:-1:-1;;;;;2824:21:16;;;;2816:30;;;;;;2866:10;2857:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;2857:29:16;;;;;;;;;;;;:37;;;2909:36;;;;;;;2857:29;;2866:10;2909:36;;;;;;;;;;;-1:-1:-1;2962:4:16;2735:238;;;;:::o;936:89::-;1006:12;;936:89;:::o;3436:294::-;-1:-1:-1;;;;;3560:14:16;;3515:4;3560:14;;;:8;:14;;;;;;;;3575:10;3560:26;;;;;;;;:37;;3591:5;3560:37;:30;:37;:::i;:::-;-1:-1:-1;;;;;3531:14:16;;;;;;:8;:14;;;;;;;;3546:10;3531:26;;;;;;;:66;3607:26;3540:4;3623:2;3627:5;3607:9;:26::i;:::-;-1:-1:-1;;;;;3648:54:16;;3675:14;;;;:8;:14;;;;;;;;3663:10;3675:26;;;;;;;;;;;3648:54;;;;;;;3663:10;;3648:54;;;;;;;;;;;;-1:-1:-1;3719:4:16;3436:294;;;;;:::o;286:26:6:-;;;;;;:::o;4233:317:16:-;4313:4;-1:-1:-1;;;;;4337:21:16;;;;4329:30;;;;;;4411:10;4402:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;4402:29:16;;;;;;;;;;:45;;4436:10;4402:45;:33;:45;:::i;:::-;4379:10;4370:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;4370:29:16;;;;;;;;;;;;:77;;;4462:60;;;;;;4370:29;;4462:60;;;;;;;;;;;-1:-1:-1;4539:4:16;4233:317;;;;:::o;583:89:6:-;770:17:1;;:49;;;;;;808:10;770:49;;;;;;-1:-1:-1;;;;;770:17:1;;;;:37;;:49;;;;;;;;;;;;;;;:17;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;770:49:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;770:49:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;770:49:1;762:58;;;;;;;;640:25:6;646:10;658:6;640:5;:25::i;:::-;583:89;:::o;1086:107::-;770:17:1;;:49;;;;;;808:10;770:49;;;;;;-1:-1:-1;;;;;770:17:1;;;;:37;;:49;;;;;;;;;;;;;;;:17;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;770:49:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;770:49:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;770:49:1;762:58;;;;;;;;1163:23:6;1169:8;1179:6;1163:5;:23::i;:::-;1086:107;;:::o;1234:104:16:-;-1:-1:-1;;;;;1315:16:16;1289:7;1315:16;;;;;;;;;;;;1234:104::o;251:29:6:-;;;;;;;;;;;;;;;-1:-1:-1;;251:29:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;788:89;770:17:1;;:49;;;;;;808:10;770:49;;;;;;-1:-1:-1;;;;;770:17:1;;;;:37;;:49;;;;;;;;;;;;;;;:17;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;770:49:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;770:49:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;770:49:1;762:58;;;;;;;;845:25:6;851:10;863:6;845:5;:25::i;5058:327:16:-;5143:4;-1:-1:-1;;;;;5167:21:16;;;;5159:30;;;;;;5241:10;5232:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;5232:29:16;;;;;;;;;;:50;;5266:15;5232:50;:33;:50;:::i;1962:137::-;2023:4;2039:32;2049:10;2061:2;2065:5;2039:9;:32::i;:::-;-1:-1:-1;2088:4:16;1962:137;;;;:::o;1669:129::-;-1:-1:-1;;;;;1767:15:16;;;1741:7;1767:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;1669:129::o;1205:145:14:-;1263:7;1290:6;;;;1282:15;;;;;;-1:-1:-1;1319:5:14;;;1205:145::o;5599:256:16:-;-1:-1:-1;;;;;5686:16:16;;;;5678:25;;;;;;-1:-1:-1;;;;;5732:15:16;;:9;:15;;;;;;;;;;;:26;;5752:5;5732:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;5714:15:16;;;:9;:15;;;;;;;;;;;:44;;;;5784:13;;;;;;;:24;;5802:5;5784:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;5768:13:16;;;:9;:13;;;;;;;;;;;;:40;;;;5823:25;;;;;;;5768:13;;5823:25;;;;;;;;;;;;;5599:256;;;:::o;1431:145:14:-;1489:7;1520:5;;;1543:6;;;;1535:15;;;;;;1568:1;1431:145;-1:-1:-1;;;1431:145:14:o;6687:263:16:-;-1:-1:-1;;;;;6761:21:16;;;;6753:30;;;;;;6809:12;;:23;;6826:5;6809:23;:16;:23;:::i;:::-;6794:12;:38;-1:-1:-1;;;;;6863:18:16;;:9;:18;;;;;;;;;;;:29;;6886:5;6863:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;6842:18:16;;:9;:18;;;;;;;;;;;:50;;;;6907:36;;;;;;;6842:9;;6907:36;;;;;;;;;;;6687:263;;:::o;6198:::-;-1:-1:-1;;;;;6272:21:16;;;;6264:30;;;;;;6320:12;;:23;;6337:5;6320:23;:16;:23;:::i;:::-;6305:12;:38;-1:-1:-1;;;;;6374:18:16;;:9;:18;;;;;;;;;;;:29;;6397:5;6374:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;6353:18:16;;:9;:18;;;;;;;;;;;:50;;;;6418:36;;;;;;;6353:18;;:9;;6418:36;;;;;;;;;;6198:263;;:::o",
  "source": "pragma solidity ^0.5.0;\n\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\nimport \"../base/Authorizable.sol\";\n\n/** @title DigmToken\n    @author Freydal\n*/\ncontract DigmToken is ERC20, Authorizable {\n\n    string public name = \"DIGM\";\n    string public symbol = \"DIGM\";\n    uint8 public decimals = 18;\n\n    /** @dev Deploy a new ERC20 Token\n        @notice Deploy a new ERC20 Token\n    */\n    constructor(address _auth) Authorizable(_auth) public {\n    }\n\n    /** @dev Burn tokens\n        @notice Burn tokens\n        @param amount Number of tokens to destroy.\n    */\n    function burn(uint amount) public isAuthorized {\n        _burn(msg.sender, amount);\n    }\n\n    /** @dev Mint tokens\n        @notice Mint tokens\n        @param amount Number of tokens to create.\n    */\n    function mint(uint amount) public isAuthorized {\n        _mint(msg.sender, amount);\n    }\n\n    /** @dev Mint tokens to specified address\n        @notice Mint tokens to specified address\n        @param _address Address to receive tokens.\n        @param amount Number of tokens to create.\n    */\n    function mintTo(address _address, uint amount) public isAuthorized {\n        _mint(_address, amount);\n    }\n}\n",
  "sourcePath": "/Users/freydal/IdeaProjects/ParadigmContracts/internal/contracts/lib/DigmToken.sol",
  "ast": {
    "absolutePath": "/Users/freydal/IdeaProjects/ParadigmContracts/internal/contracts/lib/DigmToken.sol",
    "exportedSymbols": {
      "DigmToken": [
        712
      ]
    },
    "id": 713,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 644,
        "literals": [
          "solidity",
          "^",
          "0.5",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:6"
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol",
        "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol",
        "id": 645,
        "nodeType": "ImportDirective",
        "scope": 713,
        "sourceUnit": 4446,
        "src": "25:63:6",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/freydal/IdeaProjects/ParadigmContracts/internal/contracts/base/Authorizable.sol",
        "file": "../base/Authorizable.sol",
        "id": 646,
        "nodeType": "ImportDirective",
        "scope": 713,
        "sourceUnit": 103,
        "src": "89:34:6",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 647,
              "name": "ERC20",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4445,
              "src": "191:5:6",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC20_$4445",
                "typeString": "contract ERC20"
              }
            },
            "id": 648,
            "nodeType": "InheritanceSpecifier",
            "src": "191:5:6"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 649,
              "name": "Authorizable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 102,
              "src": "198:12:6",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Authorizable_$102",
                "typeString": "contract Authorizable"
              }
            },
            "id": 650,
            "nodeType": "InheritanceSpecifier",
            "src": "198:12:6"
          }
        ],
        "contractDependencies": [
          102,
          4445,
          4514
        ],
        "contractKind": "contract",
        "documentation": "@title DigmToken\n@author Freydal",
        "fullyImplemented": true,
        "id": 712,
        "linearizedBaseContracts": [
          712,
          102,
          4445,
          4514
        ],
        "name": "DigmToken",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 653,
            "name": "name",
            "nodeType": "VariableDeclaration",
            "scope": 712,
            "src": "218:27:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 651,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "218:6:6",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "4449474d",
              "id": 652,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "239:6:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_1f4d1cdded476695e904ae04fd99c8827420ef88c1e2129345e9a0051d92cb31",
                "typeString": "literal_string \"DIGM\""
              },
              "value": "DIGM"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 656,
            "name": "symbol",
            "nodeType": "VariableDeclaration",
            "scope": 712,
            "src": "251:29:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 654,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "251:6:6",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "4449474d",
              "id": 655,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "274:6:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_1f4d1cdded476695e904ae04fd99c8827420ef88c1e2129345e9a0051d92cb31",
                "typeString": "literal_string \"DIGM\""
              },
              "value": "DIGM"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 659,
            "name": "decimals",
            "nodeType": "VariableDeclaration",
            "scope": 712,
            "src": "286:26:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 657,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "286:5:6",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3138",
              "id": 658,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "310:2:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_18_by_1",
                "typeString": "int_const 18"
              },
              "value": "18"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 667,
              "nodeType": "Block",
              "src": "459:7:6",
              "statements": []
            },
            "documentation": "@dev Deploy a new ERC20 Token\n@notice Deploy a new ERC20 Token",
            "id": 668,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 664,
                    "name": "_auth",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 661,
                    "src": "445:5:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 665,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 663,
                  "name": "Authorizable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 102,
                  "src": "432:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_Authorizable_$102_$",
                    "typeString": "type(contract Authorizable)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "432:19:6"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 662,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 661,
                  "name": "_auth",
                  "nodeType": "VariableDeclaration",
                  "scope": 668,
                  "src": "417:13:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 660,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "417:7:6",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "416:15:6"
            },
            "returnParameters": {
              "id": 666,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "459:0:6"
            },
            "scope": 712,
            "src": "405:61:6",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 681,
              "nodeType": "Block",
              "src": "630:42:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 676,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4569,
                          "src": "646:3:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 677,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "646:10:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 678,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 670,
                        "src": "658:6:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 675,
                      "name": "_burn",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4402,
                      "src": "640:5:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 679,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "640:25:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 680,
                  "nodeType": "ExpressionStatement",
                  "src": "640:25:6"
                }
              ]
            },
            "documentation": "@dev Burn tokens\n@notice Burn tokens\n@param amount Number of tokens to destroy.",
            "id": 682,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 673,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 672,
                  "name": "isAuthorized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 101,
                  "src": "617:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "617:12:6"
              }
            ],
            "name": "burn",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 671,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 670,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 682,
                  "src": "597:11:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 669,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "597:4:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "596:13:6"
            },
            "returnParameters": {
              "id": 674,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "630:0:6"
            },
            "scope": 712,
            "src": "583:89:6",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 695,
              "nodeType": "Block",
              "src": "835:42:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 690,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4569,
                          "src": "851:3:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 691,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "851:10:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 692,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 684,
                        "src": "863:6:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 689,
                      "name": "_mint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4360,
                      "src": "845:5:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 693,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "845:25:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 694,
                  "nodeType": "ExpressionStatement",
                  "src": "845:25:6"
                }
              ]
            },
            "documentation": "@dev Mint tokens\n@notice Mint tokens\n@param amount Number of tokens to create.",
            "id": 696,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 687,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 686,
                  "name": "isAuthorized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 101,
                  "src": "822:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "822:12:6"
              }
            ],
            "name": "mint",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 685,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 684,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 696,
                  "src": "802:11:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 683,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "802:4:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "801:13:6"
            },
            "returnParameters": {
              "id": 688,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "835:0:6"
            },
            "scope": 712,
            "src": "788:89:6",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 710,
              "nodeType": "Block",
              "src": "1153:40:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 706,
                        "name": "_address",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 698,
                        "src": "1169:8:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 707,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 700,
                        "src": "1179:6:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 705,
                      "name": "_mint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4360,
                      "src": "1163:5:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 708,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1163:23:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 709,
                  "nodeType": "ExpressionStatement",
                  "src": "1163:23:6"
                }
              ]
            },
            "documentation": "@dev Mint tokens to specified address\n@notice Mint tokens to specified address\n@param _address Address to receive tokens.\n@param amount Number of tokens to create.",
            "id": 711,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 703,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 702,
                  "name": "isAuthorized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 101,
                  "src": "1140:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1140:12:6"
              }
            ],
            "name": "mintTo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 701,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 698,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 711,
                  "src": "1102:16:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 697,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1102:7:6",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 700,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 711,
                  "src": "1120:11:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 699,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1120:4:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1101:31:6"
            },
            "returnParameters": {
              "id": 704,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1153:0:6"
            },
            "scope": 712,
            "src": "1086:107:6",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 713,
        "src": "169:1026:6"
      }
    ],
    "src": "0:1196:6"
  },
  "legacyAST": {
    "absolutePath": "/Users/freydal/IdeaProjects/ParadigmContracts/internal/contracts/lib/DigmToken.sol",
    "exportedSymbols": {
      "DigmToken": [
        712
      ]
    },
    "id": 713,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 644,
        "literals": [
          "solidity",
          "^",
          "0.5",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:6"
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol",
        "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol",
        "id": 645,
        "nodeType": "ImportDirective",
        "scope": 713,
        "sourceUnit": 4446,
        "src": "25:63:6",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/freydal/IdeaProjects/ParadigmContracts/internal/contracts/base/Authorizable.sol",
        "file": "../base/Authorizable.sol",
        "id": 646,
        "nodeType": "ImportDirective",
        "scope": 713,
        "sourceUnit": 103,
        "src": "89:34:6",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 647,
              "name": "ERC20",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4445,
              "src": "191:5:6",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC20_$4445",
                "typeString": "contract ERC20"
              }
            },
            "id": 648,
            "nodeType": "InheritanceSpecifier",
            "src": "191:5:6"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 649,
              "name": "Authorizable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 102,
              "src": "198:12:6",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Authorizable_$102",
                "typeString": "contract Authorizable"
              }
            },
            "id": 650,
            "nodeType": "InheritanceSpecifier",
            "src": "198:12:6"
          }
        ],
        "contractDependencies": [
          102,
          4445,
          4514
        ],
        "contractKind": "contract",
        "documentation": "@title DigmToken\n@author Freydal",
        "fullyImplemented": true,
        "id": 712,
        "linearizedBaseContracts": [
          712,
          102,
          4445,
          4514
        ],
        "name": "DigmToken",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 653,
            "name": "name",
            "nodeType": "VariableDeclaration",
            "scope": 712,
            "src": "218:27:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 651,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "218:6:6",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "4449474d",
              "id": 652,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "239:6:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_1f4d1cdded476695e904ae04fd99c8827420ef88c1e2129345e9a0051d92cb31",
                "typeString": "literal_string \"DIGM\""
              },
              "value": "DIGM"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 656,
            "name": "symbol",
            "nodeType": "VariableDeclaration",
            "scope": 712,
            "src": "251:29:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 654,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "251:6:6",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "4449474d",
              "id": 655,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "274:6:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_1f4d1cdded476695e904ae04fd99c8827420ef88c1e2129345e9a0051d92cb31",
                "typeString": "literal_string \"DIGM\""
              },
              "value": "DIGM"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 659,
            "name": "decimals",
            "nodeType": "VariableDeclaration",
            "scope": 712,
            "src": "286:26:6",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 657,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "286:5:6",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3138",
              "id": 658,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "310:2:6",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_18_by_1",
                "typeString": "int_const 18"
              },
              "value": "18"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 667,
              "nodeType": "Block",
              "src": "459:7:6",
              "statements": []
            },
            "documentation": "@dev Deploy a new ERC20 Token\n@notice Deploy a new ERC20 Token",
            "id": 668,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 664,
                    "name": "_auth",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 661,
                    "src": "445:5:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 665,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 663,
                  "name": "Authorizable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 102,
                  "src": "432:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_Authorizable_$102_$",
                    "typeString": "type(contract Authorizable)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "432:19:6"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 662,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 661,
                  "name": "_auth",
                  "nodeType": "VariableDeclaration",
                  "scope": 668,
                  "src": "417:13:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 660,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "417:7:6",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "416:15:6"
            },
            "returnParameters": {
              "id": 666,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "459:0:6"
            },
            "scope": 712,
            "src": "405:61:6",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 681,
              "nodeType": "Block",
              "src": "630:42:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 676,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4569,
                          "src": "646:3:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 677,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "646:10:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 678,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 670,
                        "src": "658:6:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 675,
                      "name": "_burn",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4402,
                      "src": "640:5:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 679,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "640:25:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 680,
                  "nodeType": "ExpressionStatement",
                  "src": "640:25:6"
                }
              ]
            },
            "documentation": "@dev Burn tokens\n@notice Burn tokens\n@param amount Number of tokens to destroy.",
            "id": 682,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 673,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 672,
                  "name": "isAuthorized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 101,
                  "src": "617:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "617:12:6"
              }
            ],
            "name": "burn",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 671,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 670,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 682,
                  "src": "597:11:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 669,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "597:4:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "596:13:6"
            },
            "returnParameters": {
              "id": 674,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "630:0:6"
            },
            "scope": 712,
            "src": "583:89:6",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 695,
              "nodeType": "Block",
              "src": "835:42:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 690,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4569,
                          "src": "851:3:6",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 691,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "851:10:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 692,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 684,
                        "src": "863:6:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 689,
                      "name": "_mint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4360,
                      "src": "845:5:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 693,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "845:25:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 694,
                  "nodeType": "ExpressionStatement",
                  "src": "845:25:6"
                }
              ]
            },
            "documentation": "@dev Mint tokens\n@notice Mint tokens\n@param amount Number of tokens to create.",
            "id": 696,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 687,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 686,
                  "name": "isAuthorized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 101,
                  "src": "822:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "822:12:6"
              }
            ],
            "name": "mint",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 685,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 684,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 696,
                  "src": "802:11:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 683,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "802:4:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "801:13:6"
            },
            "returnParameters": {
              "id": 688,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "835:0:6"
            },
            "scope": 712,
            "src": "788:89:6",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 710,
              "nodeType": "Block",
              "src": "1153:40:6",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 706,
                        "name": "_address",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 698,
                        "src": "1169:8:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 707,
                        "name": "amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 700,
                        "src": "1179:6:6",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 705,
                      "name": "_mint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4360,
                      "src": "1163:5:6",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 708,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1163:23:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 709,
                  "nodeType": "ExpressionStatement",
                  "src": "1163:23:6"
                }
              ]
            },
            "documentation": "@dev Mint tokens to specified address\n@notice Mint tokens to specified address\n@param _address Address to receive tokens.\n@param amount Number of tokens to create.",
            "id": 711,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 703,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 702,
                  "name": "isAuthorized",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 101,
                  "src": "1140:12:6",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1140:12:6"
              }
            ],
            "name": "mintTo",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 701,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 698,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 711,
                  "src": "1102:16:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 697,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1102:7:6",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 700,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 711,
                  "src": "1120:11:6",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 699,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1120:4:6",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1101:31:6"
            },
            "returnParameters": {
              "id": 704,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1153:0:6"
            },
            "scope": 712,
            "src": "1086:107:6",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 713,
        "src": "169:1026:6"
      }
    ],
    "src": "0:1196:6"
  },
  "compiler": {
    "name": "solc",
    "version": "0.5.0+commit.1d4f565a.Emscripten.clang"
  },
  "networks": {
    "3": {
      "events": {
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event",
          "signature": "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0"
        },
        "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "from",
              "type": "address"
            },
            {
              "indexed": true,
              "name": "to",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "Transfer",
          "type": "event",
          "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
        },
        "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "owner",
              "type": "address"
            },
            {
              "indexed": true,
              "name": "spender",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "Approval",
          "type": "event",
          "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
        }
      },
      "links": {},
      "address": "0x1513EFDA5170c8B1eC168bFB238278EeaA3B114e",
      "transactionHash": "0x5a3cae81259921a3617548258d9b4e42545668c204fbfd76ca2ddf41688f123e"
    },
    "6174": {
      "events": {
        "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "from",
              "type": "address"
            },
            {
              "indexed": true,
              "name": "to",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "Transfer",
          "type": "event",
          "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
        },
        "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "name": "owner",
              "type": "address"
            },
            {
              "indexed": true,
              "name": "spender",
              "type": "address"
            },
            {
              "indexed": false,
              "name": "value",
              "type": "uint256"
            }
          ],
          "name": "Approval",
          "type": "event",
          "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
        }
      },
      "links": {},
      "address": "0x0265E7d1B094787Cb13174E18a1CEfc41279A6c9",
      "transactionHash": "0xec80c914c706a4f29708d39183ceb687e77656939def58f7cd43531242dd4405"
    }
  },
  "schemaVersion": "3.0.2",
  "updatedAt": "2019-04-04T17:37:22.882Z",
  "devdoc": {
    "author": "Freydal",
    "methods": {
      "allowance(address,address)": {
        "details": "Function to check the amount of tokens that an owner allowed to a spender.",
        "params": {
          "owner": "address The address which owns the funds.",
          "spender": "address The address which will spend the funds."
        },
        "return": "A uint256 specifying the amount of tokens still available for the spender."
      },
      "approve(address,uint256)": {
        "details": "Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729",
        "params": {
          "spender": "The address which will spend the funds.",
          "value": "The amount of tokens to be spent."
        }
      },
      "balanceOf(address)": {
        "details": "Gets the balance of the specified address.",
        "params": {
          "owner": "The address to query the balance of."
        },
        "return": "An uint256 representing the amount owned by the passed address."
      },
      "burn(uint256)": {
        "details": "Burn tokens",
        "params": {
          "amount": "Number of tokens to destroy."
        }
      },
      "constructor": {
        "details": "Deploy a new ERC20 Token"
      },
      "decreaseAllowance(address,uint256)": {
        "details": "Decrease the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To decrement allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol Emits an Approval event.",
        "params": {
          "spender": "The address which will spend the funds.",
          "subtractedValue": "The amount of tokens to decrease the allowance by."
        }
      },
      "increaseAllowance(address,uint256)": {
        "details": "Increase the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol Emits an Approval event.",
        "params": {
          "addedValue": "The amount of tokens to increase the allowance by.",
          "spender": "The address which will spend the funds."
        }
      },
      "mint(uint256)": {
        "details": "Mint tokens",
        "params": {
          "amount": "Number of tokens to create."
        }
      },
      "mintTo(address,uint256)": {
        "details": "Mint tokens to specified address",
        "params": {
          "_address": "Address to receive tokens.",
          "amount": "Number of tokens to create."
        }
      },
      "totalSupply()": {
        "details": "Total number of tokens in existence"
      },
      "transfer(address,uint256)": {
        "details": "Transfer token for a specified address",
        "params": {
          "to": "The address to transfer to.",
          "value": "The amount to be transferred."
        }
      },
      "transferFrom(address,address,uint256)": {
        "details": "Transfer tokens from one address to another. Note that while this function emits an Approval event, this is not required as per the specification, and other compliant implementations may not emit the event.",
        "params": {
          "from": "address The address which you want to send tokens from",
          "to": "address The address which you want to transfer to",
          "value": "uint256 the amount of tokens to be transferred"
        }
      }
    },
    "title": "DigmToken"
  },
  "userdoc": {
    "methods": {
      "burn(uint256)": {
        "notice": "Burn tokens"
      },
      "constructor": "Deploy a new ERC20 Token",
      "mint(uint256)": {
        "notice": "Mint tokens"
      },
      "mintTo(address,uint256)": {
        "notice": "Mint tokens to specified address"
      }
    }
  }
}