{
  "contractName": "OrganizationRegister",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "name": "fee",
          "type": "uint256"
        },
        {
          "name": "token",
          "type": "address"
        },
        {
          "name": "beneficiary",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_record",
          "type": "address"
        },
        {
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "addOrPromoteAddress",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_hashedParameters",
          "type": "bytes32"
        }
      ],
      "name": "updateParameters",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        },
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "organizationsRegistery",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        },
        {
          "name": "_fee",
          "type": "uint256"
        },
        {
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "setParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        },
        {
          "name": "_fee",
          "type": "uint256"
        },
        {
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "getParametersHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "hashedParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_registry",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_org",
          "type": "address"
        }
      ],
      "name": "OrgAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_registry",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_org",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "Promotion",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "proposalId",
          "type": "bytes32"
        }
      ],
      "name": "NewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a03199091161790556106fe8061003b6000396000f30060606040526004361061007f5763ffffffff60e060020a600035041663025068048114610084578063197275f1146100c75780632ac2af53146100f15780632caf98ca146101075780638da5cb5b1461013e5780638fd631af1461016d57806399cc9e7314610196578063f2fde38b146101bf578063f98e87ba146101de575b600080fd5b341561008f57600080fd5b61009a6004356101f1565b604051928352600160a060020a039182166020840152166040808301919091526060909101905180910390f35b34156100d257600080fd5b6100ef600160a060020a036004358116906024351660443561021e565b005b34156100fc57600080fd5b6100ef600435610410565b341561011257600080fd5b61012c600160a060020a0360043581169060243516610430565b60405190815260200160405180910390f35b341561014957600080fd5b61015161044d565b604051600160a060020a03909116815260200160405180910390f35b341561017857600080fd5b61012c600160a060020a03600435811690602435906044351661045c565b34156101a157600080fd5b61012c600160a060020a0360043581169060243590604435166104e7565b34156101ca57600080fd5b6100ef600160a060020a0360043516610530565b34156101e957600080fd5b61012c6105cb565b6003602052600090815260409020805460018201546002909201549091600160a060020a03908116911683565b6102266106b2565b60036000610233866105d1565b81526020810191909152604090810160002090606090519081016040908152825482526001830154600160a060020a039081166020808501919091526002948501548216838501528882166000908152948152828520918816855252909120549091501580156102a35750805182105b156102ad57600080fd5b8060200151600160a060020a03166323b872dd3383604001518560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561031f57600080fd5b6102c65a03f1151561033057600080fd5b50505060405180515050600160a060020a0380851660009081526002602090815260408083209387168352929052205415156103a75782600160a060020a031684600160a060020a03167fbb755c25de622371a070056e89daca3dffb2591e14bfeaf5a22a5ff538f6430460405160405180910390a35b600160a060020a03808516600081815260026020908152604080832094881680845294909152908190208054860190557fbd26cf001a8e3be5dc9ac9f95c5e8fef2258c1ded9c61814e107db3ce9bbf2ca9085905190815260200160405180910390a350505050565b60005433600160a060020a0390811691161461042b57600080fd5b600155565b600260209081526000928352604080842090915290825290205481565b600054600160a060020a031681565b60008061046a8585856104e7565b600081815260036020526040902060010154909150600160a060020a031615156104df576000818152600360205260409020600181018054600160a060020a0380891673ffffffffffffffffffffffffffffffffffffffff199283161790925586835560029092018054918616919092161790555b949350505050565b60008383836040516c01000000000000000000000000600160a060020a039485168102825260148201939093529216026034820152604801604051809103902090509392505050565b60005433600160a060020a0390811691161461054b57600080fd5b600160a060020a038116151561056057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561061957600080fd5b6102c65a03f1151561062a57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561069257600080fd5b6102c65a03f115156106a357600080fd5b50505060405180519392505050565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820a34dd7a3595d1bad4100267b60a0a98b9f08cae2946a06178423ea05d17816cc0029",
  "deployedBytecode": "0x60606040526004361061007f5763ffffffff60e060020a600035041663025068048114610084578063197275f1146100c75780632ac2af53146100f15780632caf98ca146101075780638da5cb5b1461013e5780638fd631af1461016d57806399cc9e7314610196578063f2fde38b146101bf578063f98e87ba146101de575b600080fd5b341561008f57600080fd5b61009a6004356101f1565b604051928352600160a060020a039182166020840152166040808301919091526060909101905180910390f35b34156100d257600080fd5b6100ef600160a060020a036004358116906024351660443561021e565b005b34156100fc57600080fd5b6100ef600435610410565b341561011257600080fd5b61012c600160a060020a0360043581169060243516610430565b60405190815260200160405180910390f35b341561014957600080fd5b61015161044d565b604051600160a060020a03909116815260200160405180910390f35b341561017857600080fd5b61012c600160a060020a03600435811690602435906044351661045c565b34156101a157600080fd5b61012c600160a060020a0360043581169060243590604435166104e7565b34156101ca57600080fd5b6100ef600160a060020a0360043516610530565b34156101e957600080fd5b61012c6105cb565b6003602052600090815260409020805460018201546002909201549091600160a060020a03908116911683565b6102266106b2565b60036000610233866105d1565b81526020810191909152604090810160002090606090519081016040908152825482526001830154600160a060020a039081166020808501919091526002948501548216838501528882166000908152948152828520918816855252909120549091501580156102a35750805182105b156102ad57600080fd5b8060200151600160a060020a03166323b872dd3383604001518560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561031f57600080fd5b6102c65a03f1151561033057600080fd5b50505060405180515050600160a060020a0380851660009081526002602090815260408083209387168352929052205415156103a75782600160a060020a031684600160a060020a03167fbb755c25de622371a070056e89daca3dffb2591e14bfeaf5a22a5ff538f6430460405160405180910390a35b600160a060020a03808516600081815260026020908152604080832094881680845294909152908190208054860190557fbd26cf001a8e3be5dc9ac9f95c5e8fef2258c1ded9c61814e107db3ce9bbf2ca9085905190815260200160405180910390a350505050565b60005433600160a060020a0390811691161461042b57600080fd5b600155565b600260209081526000928352604080842090915290825290205481565b600054600160a060020a031681565b60008061046a8585856104e7565b600081815260036020526040902060010154909150600160a060020a031615156104df576000818152600360205260409020600181018054600160a060020a0380891673ffffffffffffffffffffffffffffffffffffffff199283161790925586835560029092018054918616919092161790555b949350505050565b60008383836040516c01000000000000000000000000600160a060020a039485168102825260148201939093529216026034820152604801604051809103902090509392505050565b60005433600160a060020a0390811691161461054b57600080fd5b600160a060020a038116151561056057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561061957600080fd5b6102c65a03f1151561062a57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561069257600080fd5b6102c65a03f115156106a357600080fd5b50505060405180519392505050565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820a34dd7a3595d1bad4100267b60a0a98b9f08cae2946a06178423ea05d17816cc0029",
  "sourceMap": "253:3139:24:-;;;837:41;;;;;;;;501:5:35;:18;;-1:-1:-1;;;;;509:10:35;501:18;-1:-1:-1;;;;;;501:18:35;;;;;;253:3139:24;;;;;;",
  "deployedSourceMap": "253:3139:24:-;;;;;;;;;-1:-1:-1;;;253:3139:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;588:46;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;588:46:24;;;;;;;;;;;;;;;;;;;;;;;;;;;2728:662;;;;;;;;;;-1:-1:-1;;;;;2728:662:24;;;;;;;;;;;;;;452:157:27;;;;;;;;;;;;;;511:70:24;;;;;;;;;;-1:-1:-1;;;;;511:70:24;;;;;;;;;;;;;;;;;;;;;;;;;238:20:35;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:35;;;;;;;;;;;;;;1211:441:24;;;;;;;;;;-1:-1:-1;;;;;1211:441:24;;;;;;;;;;;;;1970:182;;;;;;;;;;-1:-1:-1;;;;;1970:182:24;;;;;;;;;;;;;834:169:35;;;;;;;;;;-1:-1:-1;;;;;834:169:35;;;;;345:31:27;;;;;;;;;;;;588:46:24;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;588:46:24;;;;;;:::o;2728:662::-;2829:24;;:::i;:::-;2856:10;:48;2867:36;2895:7;2867:27;:36::i;:::-;2856:48;;;;;;;;;;;;;;;;2829:75;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2829:75:24;;;;;;;;;;;;;;;;;;;;;;2995:31;;;2829:75;2995:31;;;;;;;;;:40;;;;;;;;;;2829:75;;-1:-1:-1;2995:45:24;2994:73;;;;-1:-1:-1;3056:6:24;:10;3046:7;:20;2994:73;2990:113;;;3084:8;;;2990:113;3113:6;:12;;;-1:-1:-1;;;;;3113:25:24;;3139:10;3151:6;:18;;;3171:7;3113:66;;;;;;;;-1:-1:-1;;;3113:66:24;;;;;;-1:-1:-1;;;;;3113:66:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;3193:31:24;;;;;;;:22;:31;;;;;;;;:40;;;;;;;;;;:45;3189:87;;;3268:7;-1:-1:-1;;;;;3250:26:24;3259:7;-1:-1:-1;;;;;3250:26:24;;;;;;;;;;;3189:87;-1:-1:-1;;;;;3286:31:24;;;;;;;:22;:31;;;;;;;;:40;;;;;;;;;;;;;;:51;;;;;;3347:36;;3330:7;;3347:36;;;;;;;;;;;;;2728:662;;;;:::o;452:157:27:-;654:5:35;;640:10;-1:-1:-1;;;;;640:19:35;;;654:5;;640:19;632:28;;;;;;566:16:27;:36;452:157::o;511:70:24:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;238:20:35:-;;;-1:-1:-1;;;;;238:20:35;;:::o;1211:441:24:-;1304:7;1323:18;1344:45;1362:6;1370:4;1376:12;1344:17;:45::i;:::-;1443:1;1403:22;;;:10;:22;;;;;:28;;;1323:66;;-1:-1:-1;;;;;;1403:28:24;:42;1399:220;;;1461:22;;;;:10;:22;;;;;:28;;;:37;;-1:-1:-1;;;;;1461:37:24;;;-1:-1:-1;;1461:37:24;;;;;;;1512:33;;;1559:34;;;;:49;;;;;;;;;;;;1399:220;1635:10;1211:441;-1:-1:-1;;;;1211:441:24:o;1970:182::-;2076:7;2117:6;2125:4;2131:12;2107:37;;;-1:-1:-1;;;;;2107:37:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2099:46;;1970:182;;;;;:::o;834:169:35:-;654:5;;640:10;-1:-1:-1;;;;;640:19:35;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:35;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:35;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:35;-1:-1:-1;;;;;982:16:35;;;;;;;;;;834:169::o;345:31:27:-;;;;:::o;704:191::-;783:7;829;-1:-1:-1;;;;;829:13:27;;:15;;;;;;;;;;;-1:-1:-1;;;829:15:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;809:56:27;;866:4;879:7;809:79;;;;;;;;-1:-1:-1;;;809:79:27;;;;;;-1:-1:-1;;;;;809:79:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;704:191;-1:-1:-1;;;704:191:27:o;253:3139:24:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"./UniversalScheme.sol\";\n\n/**\n * @title A universal organization registry.\n * @dev Organizations can use this scheme to open a registry.\n * Other organizations can then add and promote themselves on this registry.\n */\n\n\ncontract OrganizationRegister is UniversalScheme {\n\n    struct Parameters {\n        uint fee;\n        StandardToken token;\n        address beneficiary;\n    }\n\n    // A mapping from the organization (Avatar) address to the saved data of the organization:\n    mapping(address=>mapping(address=>uint)) public organizationsRegistery;\n\n    mapping(bytes32=>Parameters) public parameters;\n\n    event OrgAdded( address indexed _registry, address indexed _org);\n    event Promotion( address indexed _registry, address indexed _org, uint _amount);\n\n    /**\n     * @dev Constructor\n     */\n    function OrganizationRegister() public {}\n\n    /**\n    * @dev Hash the parameters, save if needed and return the hash value\n    * @param _token -  the token to pay for register or promotion an address.\n    * @param _fee  - fee needed for register an address.\n    * @param _beneficiary  - the beneficiary payment address\n    * @return bytes32 -the parameters hash\n    */\n    function setParameters(StandardToken _token, uint _fee, address _beneficiary) public returns(bytes32) {\n        bytes32 paramsHash = getParametersHash(_token, _fee, _beneficiary);\n        if (parameters[paramsHash].token == address(0)) {\n            parameters[paramsHash].token = _token;\n            parameters[paramsHash].fee = _fee;\n            parameters[paramsHash].beneficiary = _beneficiary;\n        }\n        return paramsHash;\n    }\n\n    /**\n    * @dev Hash the parameters ,and return the hash value\n    * @param _token -  the token to pay for register or promotion an address.\n    * @param _fee  - fee needed for register an address.\n    * @param _beneficiary  - the beneficiary payment address\n    * @return bytes32 -the parameters hash\n    */\n    function getParametersHash(StandardToken _token, uint _fee, address _beneficiary)\n    public pure returns(bytes32)\n    {\n        return (keccak256(_token, _fee, _beneficiary));\n    }\n\n    /**\n     * @dev Adding or promoting an address on the registry.\n     *      An address(record) to add or promote can be organization address or any contract address.\n     *      Adding a record is done by paying at least the minimum required by the registry params.\n     *      Promoting a record is done by paying(adding)amount of token to the registry beneficiary.\n     * @param _avatar The _avatar of the organization which own the registry.\n     * @param _record The address to add or promote.\n     * @param _amount amount to pay for adding or promoting\n     */\n    function addOrPromoteAddress(Avatar _avatar, address _record, uint _amount)\n    public\n    {\n        Parameters memory params = parameters[getParametersFromController(_avatar)];\n        // Pay promotion, if the org was not listed the minimum is the fee:\n        if ((organizationsRegistery[_avatar][_record] == 0) && (_amount < params.fee) ) {\n            revert();\n        }\n\n        params.token.transferFrom(msg.sender, params.beneficiary, _amount);\n        if (organizationsRegistery[_avatar][_record] == 0)\n          OrgAdded(_avatar, _record);\n        organizationsRegistery[_avatar][_record] += _amount;\n        Promotion(_avatar, _record, _amount);\n    }\n}\n",
  "sourcePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/OrganizationRegister.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/OrganizationRegister.sol",
      "exportedSymbols": {
        "OrganizationRegister": [
          8635
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 8448,
        "name": "PragmaDirective",
        "src": "0:24:24"
      },
      {
        "attributes": {
          "SourceUnit": 9586,
          "absolutePath": "/Users/oren/daostack/daostack2/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 8636,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 8449,
        "name": "ImportDirective",
        "src": "26:31:24"
      },
      {
        "attributes": {
          "contractDependencies": [
            9585,
            9604,
            11445
          ],
          "contractKind": "contract",
          "documentation": "@title A universal organization registry.\n@dev Organizations can use this scheme to open a registry.\nOther organizations can then add and promote themselves on this registry.",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            8635,
            9585,
            9604,
            11445
          ],
          "name": "OrganizationRegister",
          "scope": 8636
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 9585,
                  "type": "contract UniversalScheme"
                },
                "id": 8450,
                "name": "UserDefinedTypeName",
                "src": "286:15:24"
              }
            ],
            "id": 8451,
            "name": "InheritanceSpecifier",
            "src": "286:15:24"
          },
          {
            "attributes": {
              "canonicalName": "OrganizationRegister.Parameters",
              "name": "Parameters",
              "scope": 8635,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "fee",
                  "scope": 8458,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 8452,
                    "name": "ElementaryTypeName",
                    "src": "337:4:24"
                  }
                ],
                "id": 8453,
                "name": "VariableDeclaration",
                "src": "337:8:24"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "token",
                  "scope": 8458,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract StandardToken",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "StandardToken",
                      "referencedDeclaration": 11999,
                      "type": "contract StandardToken"
                    },
                    "id": 8454,
                    "name": "UserDefinedTypeName",
                    "src": "355:13:24"
                  }
                ],
                "id": 8455,
                "name": "VariableDeclaration",
                "src": "355:19:24"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "beneficiary",
                  "scope": 8458,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 8456,
                    "name": "ElementaryTypeName",
                    "src": "384:7:24"
                  }
                ],
                "id": 8457,
                "name": "VariableDeclaration",
                "src": "384:19:24"
              }
            ],
            "id": 8458,
            "name": "StructDefinition",
            "src": "309:101:24"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsRegistery",
              "scope": 8635,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => mapping(address => uint256))",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => mapping(address => uint256))"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 8459,
                    "name": "ElementaryTypeName",
                    "src": "519:7:24"
                  },
                  {
                    "attributes": {
                      "type": "mapping(address => uint256)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8460,
                        "name": "ElementaryTypeName",
                        "src": "536:7:24"
                      },
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8461,
                        "name": "ElementaryTypeName",
                        "src": "545:4:24"
                      }
                    ],
                    "id": 8462,
                    "name": "Mapping",
                    "src": "528:22:24"
                  }
                ],
                "id": 8463,
                "name": "Mapping",
                "src": "511:40:24"
              }
            ],
            "id": 8464,
            "name": "VariableDeclaration",
            "src": "511:70:24"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 8635,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 8465,
                    "name": "ElementaryTypeName",
                    "src": "596:7:24"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 8458,
                      "type": "struct OrganizationRegister.Parameters storage pointer"
                    },
                    "id": 8466,
                    "name": "UserDefinedTypeName",
                    "src": "605:10:24"
                  }
                ],
                "id": 8467,
                "name": "Mapping",
                "src": "588:28:24"
              }
            ],
            "id": 8468,
            "name": "VariableDeclaration",
            "src": "588:46:24"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "OrgAdded"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_registry",
                      "scope": 8474,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8469,
                        "name": "ElementaryTypeName",
                        "src": "657:7:24"
                      }
                    ],
                    "id": 8470,
                    "name": "VariableDeclaration",
                    "src": "657:25:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_org",
                      "scope": 8474,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8471,
                        "name": "ElementaryTypeName",
                        "src": "684:7:24"
                      }
                    ],
                    "id": 8472,
                    "name": "VariableDeclaration",
                    "src": "684:20:24"
                  }
                ],
                "id": 8473,
                "name": "ParameterList",
                "src": "655:50:24"
              }
            ],
            "id": 8474,
            "name": "EventDefinition",
            "src": "641:65:24"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "Promotion"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_registry",
                      "scope": 8482,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8475,
                        "name": "ElementaryTypeName",
                        "src": "728:7:24"
                      }
                    ],
                    "id": 8476,
                    "name": "VariableDeclaration",
                    "src": "728:25:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_org",
                      "scope": 8482,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8477,
                        "name": "ElementaryTypeName",
                        "src": "755:7:24"
                      }
                    ],
                    "id": 8478,
                    "name": "VariableDeclaration",
                    "src": "755:20:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_amount",
                      "scope": 8482,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8479,
                        "name": "ElementaryTypeName",
                        "src": "777:4:24"
                      }
                    ],
                    "id": 8480,
                    "name": "VariableDeclaration",
                    "src": "777:12:24"
                  }
                ],
                "id": 8481,
                "name": "ParameterList",
                "src": "726:64:24"
              }
            ],
            "id": 8482,
            "name": "EventDefinition",
            "src": "711:80:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "OrganizationRegister",
              "payable": false,
              "scope": 8635,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8483,
                "name": "ParameterList",
                "src": "866:2:24"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8484,
                "name": "ParameterList",
                "src": "876:0:24"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 8485,
                "name": "Block",
                "src": "876:2:24"
              }
            ],
            "id": 8486,
            "name": "FunctionDefinition",
            "src": "837:41:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 8635,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_token",
                      "scope": 8539,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract StandardToken",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "StandardToken",
                          "referencedDeclaration": 11999,
                          "type": "contract StandardToken"
                        },
                        "id": 8487,
                        "name": "UserDefinedTypeName",
                        "src": "1234:13:24"
                      }
                    ],
                    "id": 8488,
                    "name": "VariableDeclaration",
                    "src": "1234:20:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_fee",
                      "scope": 8539,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8489,
                        "name": "ElementaryTypeName",
                        "src": "1256:4:24"
                      }
                    ],
                    "id": 8490,
                    "name": "VariableDeclaration",
                    "src": "1256:9:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 8539,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8491,
                        "name": "ElementaryTypeName",
                        "src": "1267:7:24"
                      }
                    ],
                    "id": 8492,
                    "name": "VariableDeclaration",
                    "src": "1267:20:24"
                  }
                ],
                "id": 8493,
                "name": "ParameterList",
                "src": "1233:55:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8539,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8494,
                        "name": "ElementaryTypeName",
                        "src": "1304:7:24"
                      }
                    ],
                    "id": 8495,
                    "name": "VariableDeclaration",
                    "src": "1304:7:24"
                  }
                ],
                "id": 8496,
                "name": "ParameterList",
                "src": "1303:9:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        8498
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 8539,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 8497,
                            "name": "ElementaryTypeName",
                            "src": "1323:7:24"
                          }
                        ],
                        "id": 8498,
                        "name": "VariableDeclaration",
                        "src": "1323:18:24"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_StandardToken_$11999",
                                  "typeString": "contract StandardToken"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8558,
                              "type": "function (contract StandardToken,uint256,address) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 8499,
                            "name": "Identifier",
                            "src": "1344:17:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8488,
                              "type": "contract StandardToken",
                              "value": "_token"
                            },
                            "id": 8500,
                            "name": "Identifier",
                            "src": "1362:6:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8490,
                              "type": "uint256",
                              "value": "_fee"
                            },
                            "id": 8501,
                            "name": "Identifier",
                            "src": "1370:4:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8492,
                              "type": "address",
                              "value": "_beneficiary"
                            },
                            "id": 8502,
                            "name": "Identifier",
                            "src": "1376:12:24"
                          }
                        ],
                        "id": 8503,
                        "name": "FunctionCall",
                        "src": "1344:45:24"
                      }
                    ],
                    "id": 8504,
                    "name": "VariableDeclarationStatement",
                    "src": "1323:66:24"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "token",
                              "referencedDeclaration": 8455,
                              "type": "contract StandardToken"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct OrganizationRegister.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8468,
                                      "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 8505,
                                    "name": "Identifier",
                                    "src": "1403:10:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8498,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 8506,
                                    "name": "Identifier",
                                    "src": "1414:10:24"
                                  }
                                ],
                                "id": 8507,
                                "name": "IndexAccess",
                                "src": "1403:22:24"
                              }
                            ],
                            "id": 8508,
                            "name": "MemberAccess",
                            "src": "1403:28:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 8509,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1435:7:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 8510,
                                "name": "Literal",
                                "src": "1443:1:24"
                              }
                            ],
                            "id": 8511,
                            "name": "FunctionCall",
                            "src": "1435:10:24"
                          }
                        ],
                        "id": 8512,
                        "name": "BinaryOperation",
                        "src": "1403:42:24"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "contract StandardToken"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "member_name": "token",
                                      "referencedDeclaration": 8455,
                                      "type": "contract StandardToken"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct OrganizationRegister.Parameters storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8468,
                                              "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
                                              "value": "parameters"
                                            },
                                            "id": 8513,
                                            "name": "Identifier",
                                            "src": "1461:10:24"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8498,
                                              "type": "bytes32",
                                              "value": "paramsHash"
                                            },
                                            "id": 8514,
                                            "name": "Identifier",
                                            "src": "1472:10:24"
                                          }
                                        ],
                                        "id": 8515,
                                        "name": "IndexAccess",
                                        "src": "1461:22:24"
                                      }
                                    ],
                                    "id": 8516,
                                    "name": "MemberAccess",
                                    "src": "1461:28:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8488,
                                      "type": "contract StandardToken",
                                      "value": "_token"
                                    },
                                    "id": 8517,
                                    "name": "Identifier",
                                    "src": "1492:6:24"
                                  }
                                ],
                                "id": 8518,
                                "name": "Assignment",
                                "src": "1461:37:24"
                              }
                            ],
                            "id": 8519,
                            "name": "ExpressionStatement",
                            "src": "1461:37:24"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "uint256"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "member_name": "fee",
                                      "referencedDeclaration": 8453,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct OrganizationRegister.Parameters storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8468,
                                              "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
                                              "value": "parameters"
                                            },
                                            "id": 8520,
                                            "name": "Identifier",
                                            "src": "1512:10:24"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8498,
                                              "type": "bytes32",
                                              "value": "paramsHash"
                                            },
                                            "id": 8521,
                                            "name": "Identifier",
                                            "src": "1523:10:24"
                                          }
                                        ],
                                        "id": 8522,
                                        "name": "IndexAccess",
                                        "src": "1512:22:24"
                                      }
                                    ],
                                    "id": 8523,
                                    "name": "MemberAccess",
                                    "src": "1512:26:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8490,
                                      "type": "uint256",
                                      "value": "_fee"
                                    },
                                    "id": 8524,
                                    "name": "Identifier",
                                    "src": "1541:4:24"
                                  }
                                ],
                                "id": 8525,
                                "name": "Assignment",
                                "src": "1512:33:24"
                              }
                            ],
                            "id": 8526,
                            "name": "ExpressionStatement",
                            "src": "1512:33:24"
                          },
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "member_name": "beneficiary",
                                      "referencedDeclaration": 8457,
                                      "type": "address"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct OrganizationRegister.Parameters storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8468,
                                              "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
                                              "value": "parameters"
                                            },
                                            "id": 8527,
                                            "name": "Identifier",
                                            "src": "1559:10:24"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8498,
                                              "type": "bytes32",
                                              "value": "paramsHash"
                                            },
                                            "id": 8528,
                                            "name": "Identifier",
                                            "src": "1570:10:24"
                                          }
                                        ],
                                        "id": 8529,
                                        "name": "IndexAccess",
                                        "src": "1559:22:24"
                                      }
                                    ],
                                    "id": 8530,
                                    "name": "MemberAccess",
                                    "src": "1559:34:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8492,
                                      "type": "address",
                                      "value": "_beneficiary"
                                    },
                                    "id": 8531,
                                    "name": "Identifier",
                                    "src": "1596:12:24"
                                  }
                                ],
                                "id": 8532,
                                "name": "Assignment",
                                "src": "1559:49:24"
                              }
                            ],
                            "id": 8533,
                            "name": "ExpressionStatement",
                            "src": "1559:49:24"
                          }
                        ],
                        "id": 8534,
                        "name": "Block",
                        "src": "1447:172:24"
                      }
                    ],
                    "id": 8535,
                    "name": "IfStatement",
                    "src": "1399:220:24"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 8496
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 8498,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 8536,
                        "name": "Identifier",
                        "src": "1635:10:24"
                      }
                    ],
                    "id": 8537,
                    "name": "Return",
                    "src": "1628:17:24"
                  }
                ],
                "id": 8538,
                "name": "Block",
                "src": "1313:339:24"
              }
            ],
            "id": 8539,
            "name": "FunctionDefinition",
            "src": "1211:441:24"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 8635,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_token",
                      "scope": 8558,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract StandardToken",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "StandardToken",
                          "referencedDeclaration": 11999,
                          "type": "contract StandardToken"
                        },
                        "id": 8540,
                        "name": "UserDefinedTypeName",
                        "src": "1997:13:24"
                      }
                    ],
                    "id": 8541,
                    "name": "VariableDeclaration",
                    "src": "1997:20:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_fee",
                      "scope": 8558,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8542,
                        "name": "ElementaryTypeName",
                        "src": "2019:4:24"
                      }
                    ],
                    "id": 8543,
                    "name": "VariableDeclaration",
                    "src": "2019:9:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 8558,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8544,
                        "name": "ElementaryTypeName",
                        "src": "2030:7:24"
                      }
                    ],
                    "id": 8545,
                    "name": "VariableDeclaration",
                    "src": "2030:20:24"
                  }
                ],
                "id": 8546,
                "name": "ParameterList",
                "src": "1996:55:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 8558,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 8547,
                        "name": "ElementaryTypeName",
                        "src": "2076:7:24"
                      }
                    ],
                    "id": 8548,
                    "name": "VariableDeclaration",
                    "src": "2076:7:24"
                  }
                ],
                "id": 8549,
                "name": "ParameterList",
                "src": "2075:9:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 8549
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bytes32",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_StandardToken_$11999",
                                      "typeString": "contract StandardToken"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12005,
                                  "type": "function () pure returns (bytes32)",
                                  "value": "keccak256"
                                },
                                "id": 8550,
                                "name": "Identifier",
                                "src": "2107:9:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8541,
                                  "type": "contract StandardToken",
                                  "value": "_token"
                                },
                                "id": 8551,
                                "name": "Identifier",
                                "src": "2117:6:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8543,
                                  "type": "uint256",
                                  "value": "_fee"
                                },
                                "id": 8552,
                                "name": "Identifier",
                                "src": "2125:4:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8545,
                                  "type": "address",
                                  "value": "_beneficiary"
                                },
                                "id": 8553,
                                "name": "Identifier",
                                "src": "2131:12:24"
                              }
                            ],
                            "id": 8554,
                            "name": "FunctionCall",
                            "src": "2107:37:24"
                          }
                        ],
                        "id": 8555,
                        "name": "TupleExpression",
                        "src": "2106:39:24"
                      }
                    ],
                    "id": 8556,
                    "name": "Return",
                    "src": "2099:46:24"
                  }
                ],
                "id": 8557,
                "name": "Block",
                "src": "2089:63:24"
              }
            ],
            "id": 8558,
            "name": "FunctionDefinition",
            "src": "1970:182:24"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "addOrPromoteAddress",
              "payable": false,
              "scope": 8635,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 8634,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3873,
                          "type": "contract Avatar"
                        },
                        "id": 8559,
                        "name": "UserDefinedTypeName",
                        "src": "2757:6:24"
                      }
                    ],
                    "id": 8560,
                    "name": "VariableDeclaration",
                    "src": "2757:14:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_record",
                      "scope": 8634,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 8561,
                        "name": "ElementaryTypeName",
                        "src": "2773:7:24"
                      }
                    ],
                    "id": 8562,
                    "name": "VariableDeclaration",
                    "src": "2773:15:24"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_amount",
                      "scope": 8634,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 8563,
                        "name": "ElementaryTypeName",
                        "src": "2790:4:24"
                      }
                    ],
                    "id": 8564,
                    "name": "VariableDeclaration",
                    "src": "2790:12:24"
                  }
                ],
                "id": 8565,
                "name": "ParameterList",
                "src": "2756:47:24"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 8566,
                "name": "ParameterList",
                "src": "2819:0:24"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        8568
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 8634,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct OrganizationRegister.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 8458,
                              "type": "struct OrganizationRegister.Parameters storage pointer"
                            },
                            "id": 8567,
                            "name": "UserDefinedTypeName",
                            "src": "2829:10:24"
                          }
                        ],
                        "id": 8568,
                        "name": "VariableDeclaration",
                        "src": "2829:24:24"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct OrganizationRegister.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8468,
                              "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 8569,
                            "name": "Identifier",
                            "src": "2856:10:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bytes32",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    9584
                                  ],
                                  "referencedDeclaration": 9584,
                                  "type": "function (contract Avatar) view returns (bytes32)",
                                  "value": "getParametersFromController"
                                },
                                "id": 8570,
                                "name": "Identifier",
                                "src": "2867:27:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8560,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 8571,
                                "name": "Identifier",
                                "src": "2895:7:24"
                              }
                            ],
                            "id": 8572,
                            "name": "FunctionCall",
                            "src": "2867:36:24"
                          }
                        ],
                        "id": 8573,
                        "name": "IndexAccess",
                        "src": "2856:48:24"
                      }
                    ],
                    "id": 8574,
                    "name": "VariableDeclarationStatement",
                    "src": "2829:75:24"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "&&",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "==",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "mapping(address => uint256)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8464,
                                              "type": "mapping(address => mapping(address => uint256))",
                                              "value": "organizationsRegistery"
                                            },
                                            "id": 8575,
                                            "name": "Identifier",
                                            "src": "2995:22:24"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 8560,
                                              "type": "contract Avatar",
                                              "value": "_avatar"
                                            },
                                            "id": 8576,
                                            "name": "Identifier",
                                            "src": "3018:7:24"
                                          }
                                        ],
                                        "id": 8577,
                                        "name": "IndexAccess",
                                        "src": "2995:31:24"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8562,
                                          "type": "address",
                                          "value": "_record"
                                        },
                                        "id": 8578,
                                        "name": "Identifier",
                                        "src": "3027:7:24"
                                      }
                                    ],
                                    "id": 8579,
                                    "name": "IndexAccess",
                                    "src": "2995:40:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 8580,
                                    "name": "Literal",
                                    "src": "3039:1:24"
                                  }
                                ],
                                "id": 8581,
                                "name": "BinaryOperation",
                                "src": "2995:45:24"
                              }
                            ],
                            "id": 8582,
                            "name": "TupleExpression",
                            "src": "2994:47:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "<",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8564,
                                      "type": "uint256",
                                      "value": "_amount"
                                    },
                                    "id": 8583,
                                    "name": "Identifier",
                                    "src": "3046:7:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "fee",
                                      "referencedDeclaration": 8453,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 8568,
                                          "type": "struct OrganizationRegister.Parameters memory",
                                          "value": "params"
                                        },
                                        "id": 8584,
                                        "name": "Identifier",
                                        "src": "3056:6:24"
                                      }
                                    ],
                                    "id": 8585,
                                    "name": "MemberAccess",
                                    "src": "3056:10:24"
                                  }
                                ],
                                "id": 8586,
                                "name": "BinaryOperation",
                                "src": "3046:20:24"
                              }
                            ],
                            "id": 8587,
                            "name": "TupleExpression",
                            "src": "3045:22:24"
                          }
                        ],
                        "id": 8588,
                        "name": "BinaryOperation",
                        "src": "2994:73:24"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    null
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "tuple()",
                                  "type_conversion": false
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        null
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 12015,
                                      "type": "function () pure",
                                      "value": "revert"
                                    },
                                    "id": 8589,
                                    "name": "Identifier",
                                    "src": "3084:6:24"
                                  }
                                ],
                                "id": 8590,
                                "name": "FunctionCall",
                                "src": "3084:8:24"
                              }
                            ],
                            "id": 8591,
                            "name": "ExpressionStatement",
                            "src": "3084:8:24"
                          }
                        ],
                        "id": 8592,
                        "name": "Block",
                        "src": "3070:33:24"
                      }
                    ],
                    "id": 8593,
                    "name": "IfStatement",
                    "src": "2990:113:24"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "transferFrom",
                              "referencedDeclaration": 11853,
                              "type": "function (address,address,uint256) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "token",
                                  "referencedDeclaration": 8455,
                                  "type": "contract StandardToken"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8568,
                                      "type": "struct OrganizationRegister.Parameters memory",
                                      "value": "params"
                                    },
                                    "id": 8594,
                                    "name": "Identifier",
                                    "src": "3113:6:24"
                                  }
                                ],
                                "id": 8597,
                                "name": "MemberAccess",
                                "src": "3113:12:24"
                              }
                            ],
                            "id": 8598,
                            "name": "MemberAccess",
                            "src": "3113:25:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 12011,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 8599,
                                "name": "Identifier",
                                "src": "3139:3:24"
                              }
                            ],
                            "id": 8600,
                            "name": "MemberAccess",
                            "src": "3139:10:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "beneficiary",
                              "referencedDeclaration": 8457,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8568,
                                  "type": "struct OrganizationRegister.Parameters memory",
                                  "value": "params"
                                },
                                "id": 8601,
                                "name": "Identifier",
                                "src": "3151:6:24"
                              }
                            ],
                            "id": 8602,
                            "name": "MemberAccess",
                            "src": "3151:18:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8564,
                              "type": "uint256",
                              "value": "_amount"
                            },
                            "id": 8603,
                            "name": "Identifier",
                            "src": "3171:7:24"
                          }
                        ],
                        "id": 8604,
                        "name": "FunctionCall",
                        "src": "3113:66:24"
                      }
                    ],
                    "id": 8605,
                    "name": "ExpressionStatement",
                    "src": "3113:66:24"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(address => uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8464,
                                      "type": "mapping(address => mapping(address => uint256))",
                                      "value": "organizationsRegistery"
                                    },
                                    "id": 8606,
                                    "name": "Identifier",
                                    "src": "3193:22:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8560,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 8607,
                                    "name": "Identifier",
                                    "src": "3216:7:24"
                                  }
                                ],
                                "id": 8608,
                                "name": "IndexAccess",
                                "src": "3193:31:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8562,
                                  "type": "address",
                                  "value": "_record"
                                },
                                "id": 8609,
                                "name": "Identifier",
                                "src": "3225:7:24"
                              }
                            ],
                            "id": 8610,
                            "name": "IndexAccess",
                            "src": "3193:40:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 8611,
                            "name": "Literal",
                            "src": "3237:1:24"
                          }
                        ],
                        "id": 8612,
                        "name": "BinaryOperation",
                        "src": "3193:45:24"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "tuple()",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3873",
                                      "typeString": "contract Avatar"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8474,
                                  "type": "function (address,address)",
                                  "value": "OrgAdded"
                                },
                                "id": 8613,
                                "name": "Identifier",
                                "src": "3250:8:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8560,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 8614,
                                "name": "Identifier",
                                "src": "3259:7:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8562,
                                  "type": "address",
                                  "value": "_record"
                                },
                                "id": 8615,
                                "name": "Identifier",
                                "src": "3268:7:24"
                              }
                            ],
                            "id": 8616,
                            "name": "FunctionCall",
                            "src": "3250:26:24"
                          }
                        ],
                        "id": 8617,
                        "name": "ExpressionStatement",
                        "src": "3250:26:24"
                      }
                    ],
                    "id": 8618,
                    "name": "IfStatement",
                    "src": "3189:87:24"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "+=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(address => uint256)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8464,
                                      "type": "mapping(address => mapping(address => uint256))",
                                      "value": "organizationsRegistery"
                                    },
                                    "id": 8619,
                                    "name": "Identifier",
                                    "src": "3286:22:24"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 8560,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 8620,
                                    "name": "Identifier",
                                    "src": "3309:7:24"
                                  }
                                ],
                                "id": 8622,
                                "name": "IndexAccess",
                                "src": "3286:31:24"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 8562,
                                  "type": "address",
                                  "value": "_record"
                                },
                                "id": 8621,
                                "name": "Identifier",
                                "src": "3318:7:24"
                              }
                            ],
                            "id": 8623,
                            "name": "IndexAccess",
                            "src": "3286:40:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8564,
                              "type": "uint256",
                              "value": "_amount"
                            },
                            "id": 8624,
                            "name": "Identifier",
                            "src": "3330:7:24"
                          }
                        ],
                        "id": 8625,
                        "name": "Assignment",
                        "src": "3286:51:24"
                      }
                    ],
                    "id": 8626,
                    "name": "ExpressionStatement",
                    "src": "3286:51:24"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3873",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8482,
                              "type": "function (address,address,uint256)",
                              "value": "Promotion"
                            },
                            "id": 8627,
                            "name": "Identifier",
                            "src": "3347:9:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8560,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 8628,
                            "name": "Identifier",
                            "src": "3357:7:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8562,
                              "type": "address",
                              "value": "_record"
                            },
                            "id": 8629,
                            "name": "Identifier",
                            "src": "3366:7:24"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 8564,
                              "type": "uint256",
                              "value": "_amount"
                            },
                            "id": 8630,
                            "name": "Identifier",
                            "src": "3375:7:24"
                          }
                        ],
                        "id": 8631,
                        "name": "FunctionCall",
                        "src": "3347:36:24"
                      }
                    ],
                    "id": 8632,
                    "name": "ExpressionStatement",
                    "src": "3347:36:24"
                  }
                ],
                "id": 8633,
                "name": "Block",
                "src": "2819:571:24"
              }
            ],
            "id": 8634,
            "name": "FunctionDefinition",
            "src": "2728:662:24"
          }
        ],
        "id": 8635,
        "name": "ContractDefinition",
        "src": "253:3139:24"
      }
    ],
    "id": 8636,
    "name": "SourceUnit",
    "src": "0:3393:24"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-02-04T21:57:39.063Z"
}