{
  "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": "LogNewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a03199091161790556106fe8061003b6000396000f30060606040526004361061007f5763ffffffff60e060020a600035041663025068048114610084578063197275f1146100c75780632ac2af53146100f15780632caf98ca146101075780638da5cb5b1461013e5780638fd631af1461016d57806399cc9e7314610196578063f2fde38b146101bf578063f98e87ba146101de575b600080fd5b341561008f57600080fd5b61009a6004356101f1565b604051928352600160a060020a039182166020840152166040808301919091526060909101905180910390f35b34156100d257600080fd5b6100ef600160a060020a036004358116906024351660443561021e565b005b34156100fc57600080fd5b6100ef600435610410565b341561011257600080fd5b61012c600160a060020a0360043581169060243516610430565b60405190815260200160405180910390f35b341561014957600080fd5b61015161044d565b604051600160a060020a03909116815260200160405180910390f35b341561017857600080fd5b61012c600160a060020a03600435811690602435906044351661045c565b34156101a157600080fd5b61012c600160a060020a0360043581169060243590604435166104e7565b34156101ca57600080fd5b6100ef600160a060020a0360043516610530565b34156101e957600080fd5b61012c6105cb565b6003602052600090815260409020805460018201546002909201549091600160a060020a03908116911683565b6102266106b2565b60036000610233866105d1565b81526020810191909152604090810160002090606090519081016040908152825482526001830154600160a060020a039081166020808501919091526002948501548216838501528882166000908152948152828520918816855252909120549091501580156102a35750805182105b156102ad57600080fd5b8060200151600160a060020a03166323b872dd3383604001518560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561031f57600080fd5b6102c65a03f1151561033057600080fd5b50505060405180515050600160a060020a0380851660009081526002602090815260408083209387168352929052205415156103a75782600160a060020a031684600160a060020a03167fbb755c25de622371a070056e89daca3dffb2591e14bfeaf5a22a5ff538f6430460405160405180910390a35b600160a060020a03808516600081815260026020908152604080832094881680845294909152908190208054860190557fbd26cf001a8e3be5dc9ac9f95c5e8fef2258c1ded9c61814e107db3ce9bbf2ca9085905190815260200160405180910390a350505050565b60005433600160a060020a0390811691161461042b57600080fd5b600155565b600260209081526000928352604080842090915290825290205481565b600054600160a060020a031681565b60008061046a8585856104e7565b600081815260036020526040902060010154909150600160a060020a031615156104df576000818152600360205260409020600181018054600160a060020a0380891673ffffffffffffffffffffffffffffffffffffffff199283161790925586835560029092018054918616919092161790555b949350505050565b60008383836040516c01000000000000000000000000600160a060020a039485168102825260148201939093529216026034820152604801604051809103902090509392505050565b60005433600160a060020a0390811691161461054b57600080fd5b600160a060020a038116151561056057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561061957600080fd5b6102c65a03f1151561062a57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561069257600080fd5b6102c65a03f115156106a357600080fd5b50505060405180519392505050565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a723058202d1d7f5c38a57493a2b7712b966ad30b296ae1c86dcdea32fd93bba0f951b4b70029",
  "deployedBytecode": "0x60606040526004361061007f5763ffffffff60e060020a600035041663025068048114610084578063197275f1146100c75780632ac2af53146100f15780632caf98ca146101075780638da5cb5b1461013e5780638fd631af1461016d57806399cc9e7314610196578063f2fde38b146101bf578063f98e87ba146101de575b600080fd5b341561008f57600080fd5b61009a6004356101f1565b604051928352600160a060020a039182166020840152166040808301919091526060909101905180910390f35b34156100d257600080fd5b6100ef600160a060020a036004358116906024351660443561021e565b005b34156100fc57600080fd5b6100ef600435610410565b341561011257600080fd5b61012c600160a060020a0360043581169060243516610430565b60405190815260200160405180910390f35b341561014957600080fd5b61015161044d565b604051600160a060020a03909116815260200160405180910390f35b341561017857600080fd5b61012c600160a060020a03600435811690602435906044351661045c565b34156101a157600080fd5b61012c600160a060020a0360043581169060243590604435166104e7565b34156101ca57600080fd5b6100ef600160a060020a0360043516610530565b34156101e957600080fd5b61012c6105cb565b6003602052600090815260409020805460018201546002909201549091600160a060020a03908116911683565b6102266106b2565b60036000610233866105d1565b81526020810191909152604090810160002090606090519081016040908152825482526001830154600160a060020a039081166020808501919091526002948501548216838501528882166000908152948152828520918816855252909120549091501580156102a35750805182105b156102ad57600080fd5b8060200151600160a060020a03166323b872dd3383604001518560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561031f57600080fd5b6102c65a03f1151561033057600080fd5b50505060405180515050600160a060020a0380851660009081526002602090815260408083209387168352929052205415156103a75782600160a060020a031684600160a060020a03167fbb755c25de622371a070056e89daca3dffb2591e14bfeaf5a22a5ff538f6430460405160405180910390a35b600160a060020a03808516600081815260026020908152604080832094881680845294909152908190208054860190557fbd26cf001a8e3be5dc9ac9f95c5e8fef2258c1ded9c61814e107db3ce9bbf2ca9085905190815260200160405180910390a350505050565b60005433600160a060020a0390811691161461042b57600080fd5b600155565b600260209081526000928352604080842090915290825290205481565b600054600160a060020a031681565b60008061046a8585856104e7565b600081815260036020526040902060010154909150600160a060020a031615156104df576000818152600360205260409020600181018054600160a060020a0380891673ffffffffffffffffffffffffffffffffffffffff199283161790925586835560029092018054918616919092161790555b949350505050565b60008383836040516c01000000000000000000000000600160a060020a039485168102825260148201939093529216026034820152604801604051809103902090509392505050565b60005433600160a060020a0390811691161461054b57600080fd5b600160a060020a038116151561056057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561061957600080fd5b6102c65a03f1151561062a57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561069257600080fd5b6102c65a03f115156106a357600080fd5b50505060405180519392505050565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a723058202d1d7f5c38a57493a2b7712b966ad30b296ae1c86dcdea32fd93bba0f951b4b70029",
  "sourceMap": "253:3139:22:-;;;837:41;;;;;;;;501:5:33;:18;;-1:-1:-1;;;;;509:10:33;501:18;-1:-1:-1;;;;;;501:18:33;;;;;;253:3139:22;;;;;;",
  "deployedSourceMap": "253:3139:22:-;;;;;;;;;-1:-1:-1;;;253:3139:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;588:46;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;588:46:22;;;;;;;;;;;;;;;;;;;;;;;;;;;2728:662;;;;;;;;;;-1:-1:-1;;;;;2728:662:22;;;;;;;;;;;;;;455:157:25;;;;;;;;;;;;;;511:70:22;;;;;;;;;;-1:-1:-1;;;;;511:70:22;;;;;;;;;;;;;;;;;;;;;;;;;238:20:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:33;;;;;;;;;;;;;;1211:441:22;;;;;;;;;;-1:-1:-1;;;;;1211:441:22;;;;;;;;;;;;;1970:182;;;;;;;;;;-1:-1:-1;;;;;1970:182:22;;;;;;;;;;;;;834:169:33;;;;;;;;;;-1:-1:-1;;;;;834:169:33;;;;;345:31:25;;;;;;;;;;;;588:46:22;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;588:46:22;;;;;;:::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:22;;;;;;;;;;;;;;;;;;;;;;2995:31;;;2829:75;2995:31;;;;;;;;;:40;;;;;;;;;;2829:75;;-1:-1:-1;2995:45:22;2994:73;;;;-1:-1:-1;3056:6:22;:10;3046:7;:20;2994:73;2990:113;;;3084:8;;;2990:113;3113:6;:12;;;-1:-1:-1;;;;;3113:25:22;;3139:10;3151:6;:18;;;3171:7;3113:66;;;;;;;;-1:-1:-1;;;3113:66:22;;;;;;-1:-1:-1;;;;;3113:66:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;3193:31:22;;;;;;;:22;:31;;;;;;;;:40;;;;;;;;;;:45;3189:87;;;3268:7;-1:-1:-1;;;;;3250:26:22;3259:7;-1:-1:-1;;;;;3250:26:22;;;;;;;;;;;3189:87;-1:-1:-1;;;;;3286:31:22;;;;;;;:22;:31;;;;;;;;:40;;;;;;;;;;;;;;:51;;;;;;3347:36;;3330:7;;3347:36;;;;;;;;;;;;;2728:662;;;;:::o;455:157:25:-;654:5:33;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;569:16:25;:36;455:157::o;511:70:22:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;238:20:33:-;;;-1:-1:-1;;;;;238:20:33;;:::o;1211:441:22:-;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:22;:42;1399:220;;;1461:22;;;;:10;:22;;;;;:28;;;:37;;-1:-1:-1;;;;;1461:37:22;;;-1:-1:-1;;1461:37:22;;;;;;;1512:33;;;1559:34;;;;:49;;;;;;;;;;;;1399:220;1635:10;1211:441;-1:-1:-1;;;;1211:441:22:o;1970:182::-;2076:7;2117:6;2125:4;2131:12;2107:37;;;-1:-1:-1;;;;;2107:37:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2099:46;;1970:182;;;;;:::o;834:169:33:-;654:5;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:33;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:33;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:33;-1:-1:-1;;;;;982:16:33;;;;;;;;;;834:169::o;345:31:25:-;;;;:::o;707:191::-;786:7;832;-1:-1:-1;;;;;832:13:25;;:15;;;;;;;;;;;-1:-1:-1;;;832:15:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;812:56:25;;869:4;882:7;812:79;;;;;;;;-1:-1:-1;;;812:79:25;;;;;;-1:-1:-1;;;;;812:79:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;707:191;-1:-1:-1;;;707:191:25:o;253:3139:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::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": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/OrganizationRegister.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/OrganizationRegister.sol",
      "exportedSymbols": {
        "OrganizationRegister": [
          7519
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 7332,
        "name": "PragmaDirective",
        "src": "0:24:22"
      },
      {
        "attributes": {
          "SourceUnit": 8466,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 7520,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7333,
        "name": "ImportDirective",
        "src": "26:31:22"
      },
      {
        "attributes": {
          "contractDependencies": [
            8465,
            8484,
            10301
          ],
          "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": [
            7519,
            8465,
            8484,
            10301
          ],
          "name": "OrganizationRegister",
          "scope": 7520
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 8465,
                  "type": "contract UniversalScheme"
                },
                "id": 7334,
                "name": "UserDefinedTypeName",
                "src": "286:15:22"
              }
            ],
            "id": 7335,
            "name": "InheritanceSpecifier",
            "src": "286:15:22"
          },
          {
            "attributes": {
              "canonicalName": "OrganizationRegister.Parameters",
              "name": "Parameters",
              "scope": 7519,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "fee",
                  "scope": 7342,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 7336,
                    "name": "ElementaryTypeName",
                    "src": "337:4:22"
                  }
                ],
                "id": 7337,
                "name": "VariableDeclaration",
                "src": "337:8:22"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "token",
                  "scope": 7342,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract StandardToken",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "StandardToken",
                      "referencedDeclaration": 10855,
                      "type": "contract StandardToken"
                    },
                    "id": 7338,
                    "name": "UserDefinedTypeName",
                    "src": "355:13:22"
                  }
                ],
                "id": 7339,
                "name": "VariableDeclaration",
                "src": "355:19:22"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "beneficiary",
                  "scope": 7342,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 7340,
                    "name": "ElementaryTypeName",
                    "src": "384:7:22"
                  }
                ],
                "id": 7341,
                "name": "VariableDeclaration",
                "src": "384:19:22"
              }
            ],
            "id": 7342,
            "name": "StructDefinition",
            "src": "309:101:22"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsRegistery",
              "scope": 7519,
              "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": 7343,
                    "name": "ElementaryTypeName",
                    "src": "519:7:22"
                  },
                  {
                    "attributes": {
                      "type": "mapping(address => uint256)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7344,
                        "name": "ElementaryTypeName",
                        "src": "536:7:22"
                      },
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 7345,
                        "name": "ElementaryTypeName",
                        "src": "545:4:22"
                      }
                    ],
                    "id": 7346,
                    "name": "Mapping",
                    "src": "528:22:22"
                  }
                ],
                "id": 7347,
                "name": "Mapping",
                "src": "511:40:22"
              }
            ],
            "id": 7348,
            "name": "VariableDeclaration",
            "src": "511:70:22"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 7519,
              "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": 7349,
                    "name": "ElementaryTypeName",
                    "src": "596:7:22"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 7342,
                      "type": "struct OrganizationRegister.Parameters storage pointer"
                    },
                    "id": 7350,
                    "name": "UserDefinedTypeName",
                    "src": "605:10:22"
                  }
                ],
                "id": 7351,
                "name": "Mapping",
                "src": "588:28:22"
              }
            ],
            "id": 7352,
            "name": "VariableDeclaration",
            "src": "588:46:22"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "OrgAdded"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_registry",
                      "scope": 7358,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7353,
                        "name": "ElementaryTypeName",
                        "src": "657:7:22"
                      }
                    ],
                    "id": 7354,
                    "name": "VariableDeclaration",
                    "src": "657:25:22"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_org",
                      "scope": 7358,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7355,
                        "name": "ElementaryTypeName",
                        "src": "684:7:22"
                      }
                    ],
                    "id": 7356,
                    "name": "VariableDeclaration",
                    "src": "684:20:22"
                  }
                ],
                "id": 7357,
                "name": "ParameterList",
                "src": "655:50:22"
              }
            ],
            "id": 7358,
            "name": "EventDefinition",
            "src": "641:65:22"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "Promotion"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_registry",
                      "scope": 7366,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7359,
                        "name": "ElementaryTypeName",
                        "src": "728:7:22"
                      }
                    ],
                    "id": 7360,
                    "name": "VariableDeclaration",
                    "src": "728:25:22"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_org",
                      "scope": 7366,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7361,
                        "name": "ElementaryTypeName",
                        "src": "755:7:22"
                      }
                    ],
                    "id": 7362,
                    "name": "VariableDeclaration",
                    "src": "755:20:22"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_amount",
                      "scope": 7366,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 7363,
                        "name": "ElementaryTypeName",
                        "src": "777:4:22"
                      }
                    ],
                    "id": 7364,
                    "name": "VariableDeclaration",
                    "src": "777:12:22"
                  }
                ],
                "id": 7365,
                "name": "ParameterList",
                "src": "726:64:22"
              }
            ],
            "id": 7366,
            "name": "EventDefinition",
            "src": "711:80:22"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "OrganizationRegister",
              "payable": false,
              "scope": 7519,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7367,
                "name": "ParameterList",
                "src": "866:2:22"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7368,
                "name": "ParameterList",
                "src": "876:0:22"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 7369,
                "name": "Block",
                "src": "876:2:22"
              }
            ],
            "id": 7370,
            "name": "FunctionDefinition",
            "src": "837:41:22"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 7519,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_token",
                      "scope": 7423,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract StandardToken",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "StandardToken",
                          "referencedDeclaration": 10855,
                          "type": "contract StandardToken"
                        },
                        "id": 7371,
                        "name": "UserDefinedTypeName",
                        "src": "1234:13:22"
                      }
                    ],
                    "id": 7372,
                    "name": "VariableDeclaration",
                    "src": "1234:20:22"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_fee",
                      "scope": 7423,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 7373,
                        "name": "ElementaryTypeName",
                        "src": "1256:4:22"
                      }
                    ],
                    "id": 7374,
                    "name": "VariableDeclaration",
                    "src": "1256:9:22"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 7423,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7375,
                        "name": "ElementaryTypeName",
                        "src": "1267:7:22"
                      }
                    ],
                    "id": 7376,
                    "name": "VariableDeclaration",
                    "src": "1267:20:22"
                  }
                ],
                "id": 7377,
                "name": "ParameterList",
                "src": "1233:55:22"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7423,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7378,
                        "name": "ElementaryTypeName",
                        "src": "1304:7:22"
                      }
                    ],
                    "id": 7379,
                    "name": "VariableDeclaration",
                    "src": "1304:7:22"
                  }
                ],
                "id": 7380,
                "name": "ParameterList",
                "src": "1303:9:22"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        7382
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 7423,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 7381,
                            "name": "ElementaryTypeName",
                            "src": "1323:7:22"
                          }
                        ],
                        "id": 7382,
                        "name": "VariableDeclaration",
                        "src": "1323:18:22"
                      },
                      {
                        "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_$10855",
                                  "typeString": "contract StandardToken"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7442,
                              "type": "function (contract StandardToken,uint256,address) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 7383,
                            "name": "Identifier",
                            "src": "1344:17:22"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7372,
                              "type": "contract StandardToken",
                              "value": "_token"
                            },
                            "id": 7384,
                            "name": "Identifier",
                            "src": "1362:6:22"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7374,
                              "type": "uint256",
                              "value": "_fee"
                            },
                            "id": 7385,
                            "name": "Identifier",
                            "src": "1370:4:22"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7376,
                              "type": "address",
                              "value": "_beneficiary"
                            },
                            "id": 7386,
                            "name": "Identifier",
                            "src": "1376:12:22"
                          }
                        ],
                        "id": 7387,
                        "name": "FunctionCall",
                        "src": "1344:45:22"
                      }
                    ],
                    "id": 7388,
                    "name": "VariableDeclarationStatement",
                    "src": "1323:66:22"
                  },
                  {
                    "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": 7339,
                              "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": 7352,
                                      "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 7389,
                                    "name": "Identifier",
                                    "src": "1403:10:22"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7382,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 7390,
                                    "name": "Identifier",
                                    "src": "1414:10:22"
                                  }
                                ],
                                "id": 7391,
                                "name": "IndexAccess",
                                "src": "1403:22:22"
                              }
                            ],
                            "id": 7392,
                            "name": "MemberAccess",
                            "src": "1403:28:22"
                          },
                          {
                            "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": 7393,
                                "name": "ElementaryTypeNameExpression",
                                "src": "1435:7:22"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 7394,
                                "name": "Literal",
                                "src": "1443:1:22"
                              }
                            ],
                            "id": 7395,
                            "name": "FunctionCall",
                            "src": "1435:10:22"
                          }
                        ],
                        "id": 7396,
                        "name": "BinaryOperation",
                        "src": "1403:42:22"
                      },
                      {
                        "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": 7339,
                                      "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": 7352,
                                              "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
                                              "value": "parameters"
                                            },
                                            "id": 7397,
                                            "name": "Identifier",
                                            "src": "1461:10:22"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 7382,
                                              "type": "bytes32",
                                              "value": "paramsHash"
                                            },
                                            "id": 7398,
                                            "name": "Identifier",
                                            "src": "1472:10:22"
                                          }
                                        ],
                                        "id": 7399,
                                        "name": "IndexAccess",
                                        "src": "1461:22:22"
                                      }
                                    ],
                                    "id": 7400,
                                    "name": "MemberAccess",
                                    "src": "1461:28:22"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7372,
                                      "type": "contract StandardToken",
                                      "value": "_token"
                                    },
                                    "id": 7401,
                                    "name": "Identifier",
                                    "src": "1492:6:22"
                                  }
                                ],
                                "id": 7402,
                                "name": "Assignment",
                                "src": "1461:37:22"
                              }
                            ],
                            "id": 7403,
                            "name": "ExpressionStatement",
                            "src": "1461:37:22"
                          },
                          {
                            "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": 7337,
                                      "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": 7352,
                                              "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
                                              "value": "parameters"
                                            },
                                            "id": 7404,
                                            "name": "Identifier",
                                            "src": "1512:10:22"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 7382,
                                              "type": "bytes32",
                                              "value": "paramsHash"
                                            },
                                            "id": 7405,
                                            "name": "Identifier",
                                            "src": "1523:10:22"
                                          }
                                        ],
                                        "id": 7406,
                                        "name": "IndexAccess",
                                        "src": "1512:22:22"
                                      }
                                    ],
                                    "id": 7407,
                                    "name": "MemberAccess",
                                    "src": "1512:26:22"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7374,
                                      "type": "uint256",
                                      "value": "_fee"
                                    },
                                    "id": 7408,
                                    "name": "Identifier",
                                    "src": "1541:4:22"
                                  }
                                ],
                                "id": 7409,
                                "name": "Assignment",
                                "src": "1512:33:22"
                              }
                            ],
                            "id": 7410,
                            "name": "ExpressionStatement",
                            "src": "1512:33:22"
                          },
                          {
                            "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": 7341,
                                      "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": 7352,
                                              "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
                                              "value": "parameters"
                                            },
                                            "id": 7411,
                                            "name": "Identifier",
                                            "src": "1559:10:22"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 7382,
                                              "type": "bytes32",
                                              "value": "paramsHash"
                                            },
                                            "id": 7412,
                                            "name": "Identifier",
                                            "src": "1570:10:22"
                                          }
                                        ],
                                        "id": 7413,
                                        "name": "IndexAccess",
                                        "src": "1559:22:22"
                                      }
                                    ],
                                    "id": 7414,
                                    "name": "MemberAccess",
                                    "src": "1559:34:22"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7376,
                                      "type": "address",
                                      "value": "_beneficiary"
                                    },
                                    "id": 7415,
                                    "name": "Identifier",
                                    "src": "1596:12:22"
                                  }
                                ],
                                "id": 7416,
                                "name": "Assignment",
                                "src": "1559:49:22"
                              }
                            ],
                            "id": 7417,
                            "name": "ExpressionStatement",
                            "src": "1559:49:22"
                          }
                        ],
                        "id": 7418,
                        "name": "Block",
                        "src": "1447:172:22"
                      }
                    ],
                    "id": 7419,
                    "name": "IfStatement",
                    "src": "1399:220:22"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7380
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 7382,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 7420,
                        "name": "Identifier",
                        "src": "1635:10:22"
                      }
                    ],
                    "id": 7421,
                    "name": "Return",
                    "src": "1628:17:22"
                  }
                ],
                "id": 7422,
                "name": "Block",
                "src": "1313:339:22"
              }
            ],
            "id": 7423,
            "name": "FunctionDefinition",
            "src": "1211:441:22"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 7519,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_token",
                      "scope": 7442,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract StandardToken",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "StandardToken",
                          "referencedDeclaration": 10855,
                          "type": "contract StandardToken"
                        },
                        "id": 7424,
                        "name": "UserDefinedTypeName",
                        "src": "1997:13:22"
                      }
                    ],
                    "id": 7425,
                    "name": "VariableDeclaration",
                    "src": "1997:20:22"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_fee",
                      "scope": 7442,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 7426,
                        "name": "ElementaryTypeName",
                        "src": "2019:4:22"
                      }
                    ],
                    "id": 7427,
                    "name": "VariableDeclaration",
                    "src": "2019:9:22"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 7442,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7428,
                        "name": "ElementaryTypeName",
                        "src": "2030:7:22"
                      }
                    ],
                    "id": 7429,
                    "name": "VariableDeclaration",
                    "src": "2030:20:22"
                  }
                ],
                "id": 7430,
                "name": "ParameterList",
                "src": "1996:55:22"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7442,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7431,
                        "name": "ElementaryTypeName",
                        "src": "2076:7:22"
                      }
                    ],
                    "id": 7432,
                    "name": "VariableDeclaration",
                    "src": "2076:7:22"
                  }
                ],
                "id": 7433,
                "name": "ParameterList",
                "src": "2075:9:22"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 7433
                    },
                    "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_$10855",
                                      "typeString": "contract StandardToken"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10861,
                                  "type": "function () pure returns (bytes32)",
                                  "value": "keccak256"
                                },
                                "id": 7434,
                                "name": "Identifier",
                                "src": "2107:9:22"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7425,
                                  "type": "contract StandardToken",
                                  "value": "_token"
                                },
                                "id": 7435,
                                "name": "Identifier",
                                "src": "2117:6:22"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7427,
                                  "type": "uint256",
                                  "value": "_fee"
                                },
                                "id": 7436,
                                "name": "Identifier",
                                "src": "2125:4:22"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7429,
                                  "type": "address",
                                  "value": "_beneficiary"
                                },
                                "id": 7437,
                                "name": "Identifier",
                                "src": "2131:12:22"
                              }
                            ],
                            "id": 7438,
                            "name": "FunctionCall",
                            "src": "2107:37:22"
                          }
                        ],
                        "id": 7439,
                        "name": "TupleExpression",
                        "src": "2106:39:22"
                      }
                    ],
                    "id": 7440,
                    "name": "Return",
                    "src": "2099:46:22"
                  }
                ],
                "id": 7441,
                "name": "Block",
                "src": "2089:63:22"
              }
            ],
            "id": 7442,
            "name": "FunctionDefinition",
            "src": "1970:182:22"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "addOrPromoteAddress",
              "payable": false,
              "scope": 7519,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 7518,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 7443,
                        "name": "UserDefinedTypeName",
                        "src": "2757:6:22"
                      }
                    ],
                    "id": 7444,
                    "name": "VariableDeclaration",
                    "src": "2757:14:22"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_record",
                      "scope": 7518,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7445,
                        "name": "ElementaryTypeName",
                        "src": "2773:7:22"
                      }
                    ],
                    "id": 7446,
                    "name": "VariableDeclaration",
                    "src": "2773:15:22"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_amount",
                      "scope": 7518,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 7447,
                        "name": "ElementaryTypeName",
                        "src": "2790:4:22"
                      }
                    ],
                    "id": 7448,
                    "name": "VariableDeclaration",
                    "src": "2790:12:22"
                  }
                ],
                "id": 7449,
                "name": "ParameterList",
                "src": "2756:47:22"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7450,
                "name": "ParameterList",
                "src": "2819:0:22"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        7452
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 7518,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct OrganizationRegister.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 7342,
                              "type": "struct OrganizationRegister.Parameters storage pointer"
                            },
                            "id": 7451,
                            "name": "UserDefinedTypeName",
                            "src": "2829:10:22"
                          }
                        ],
                        "id": 7452,
                        "name": "VariableDeclaration",
                        "src": "2829:24:22"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct OrganizationRegister.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7352,
                              "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 7453,
                            "name": "Identifier",
                            "src": "2856:10:22"
                          },
                          {
                            "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_$3065",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    8464
                                  ],
                                  "referencedDeclaration": 8464,
                                  "type": "function (contract Avatar) view returns (bytes32)",
                                  "value": "getParametersFromController"
                                },
                                "id": 7454,
                                "name": "Identifier",
                                "src": "2867:27:22"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7444,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 7455,
                                "name": "Identifier",
                                "src": "2895:7:22"
                              }
                            ],
                            "id": 7456,
                            "name": "FunctionCall",
                            "src": "2867:36:22"
                          }
                        ],
                        "id": 7457,
                        "name": "IndexAccess",
                        "src": "2856:48:22"
                      }
                    ],
                    "id": 7458,
                    "name": "VariableDeclarationStatement",
                    "src": "2829:75:22"
                  },
                  {
                    "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": 7348,
                                              "type": "mapping(address => mapping(address => uint256))",
                                              "value": "organizationsRegistery"
                                            },
                                            "id": 7459,
                                            "name": "Identifier",
                                            "src": "2995:22:22"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 7444,
                                              "type": "contract Avatar",
                                              "value": "_avatar"
                                            },
                                            "id": 7460,
                                            "name": "Identifier",
                                            "src": "3018:7:22"
                                          }
                                        ],
                                        "id": 7461,
                                        "name": "IndexAccess",
                                        "src": "2995:31:22"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7446,
                                          "type": "address",
                                          "value": "_record"
                                        },
                                        "id": 7462,
                                        "name": "Identifier",
                                        "src": "3027:7:22"
                                      }
                                    ],
                                    "id": 7463,
                                    "name": "IndexAccess",
                                    "src": "2995:40:22"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "30",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 0",
                                      "value": "0"
                                    },
                                    "id": 7464,
                                    "name": "Literal",
                                    "src": "3039:1:22"
                                  }
                                ],
                                "id": 7465,
                                "name": "BinaryOperation",
                                "src": "2995:45:22"
                              }
                            ],
                            "id": 7466,
                            "name": "TupleExpression",
                            "src": "2994:47:22"
                          },
                          {
                            "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": 7448,
                                      "type": "uint256",
                                      "value": "_amount"
                                    },
                                    "id": 7467,
                                    "name": "Identifier",
                                    "src": "3046:7:22"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "fee",
                                      "referencedDeclaration": 7337,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7452,
                                          "type": "struct OrganizationRegister.Parameters memory",
                                          "value": "params"
                                        },
                                        "id": 7468,
                                        "name": "Identifier",
                                        "src": "3056:6:22"
                                      }
                                    ],
                                    "id": 7469,
                                    "name": "MemberAccess",
                                    "src": "3056:10:22"
                                  }
                                ],
                                "id": 7470,
                                "name": "BinaryOperation",
                                "src": "3046:20:22"
                              }
                            ],
                            "id": 7471,
                            "name": "TupleExpression",
                            "src": "3045:22:22"
                          }
                        ],
                        "id": 7472,
                        "name": "BinaryOperation",
                        "src": "2994:73:22"
                      },
                      {
                        "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": 10871,
                                      "type": "function () pure",
                                      "value": "revert"
                                    },
                                    "id": 7473,
                                    "name": "Identifier",
                                    "src": "3084:6:22"
                                  }
                                ],
                                "id": 7474,
                                "name": "FunctionCall",
                                "src": "3084:8:22"
                              }
                            ],
                            "id": 7475,
                            "name": "ExpressionStatement",
                            "src": "3084:8:22"
                          }
                        ],
                        "id": 7476,
                        "name": "Block",
                        "src": "3070:33:22"
                      }
                    ],
                    "id": 7477,
                    "name": "IfStatement",
                    "src": "2990:113:22"
                  },
                  {
                    "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": 10709,
                              "type": "function (address,address,uint256) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "token",
                                  "referencedDeclaration": 7339,
                                  "type": "contract StandardToken"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7452,
                                      "type": "struct OrganizationRegister.Parameters memory",
                                      "value": "params"
                                    },
                                    "id": 7478,
                                    "name": "Identifier",
                                    "src": "3113:6:22"
                                  }
                                ],
                                "id": 7481,
                                "name": "MemberAccess",
                                "src": "3113:12:22"
                              }
                            ],
                            "id": 7482,
                            "name": "MemberAccess",
                            "src": "3113:25:22"
                          },
                          {
                            "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": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 7483,
                                "name": "Identifier",
                                "src": "3139:3:22"
                              }
                            ],
                            "id": 7484,
                            "name": "MemberAccess",
                            "src": "3139:10:22"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "beneficiary",
                              "referencedDeclaration": 7341,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7452,
                                  "type": "struct OrganizationRegister.Parameters memory",
                                  "value": "params"
                                },
                                "id": 7485,
                                "name": "Identifier",
                                "src": "3151:6:22"
                              }
                            ],
                            "id": 7486,
                            "name": "MemberAccess",
                            "src": "3151:18:22"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7448,
                              "type": "uint256",
                              "value": "_amount"
                            },
                            "id": 7487,
                            "name": "Identifier",
                            "src": "3171:7:22"
                          }
                        ],
                        "id": 7488,
                        "name": "FunctionCall",
                        "src": "3113:66:22"
                      }
                    ],
                    "id": 7489,
                    "name": "ExpressionStatement",
                    "src": "3113:66:22"
                  },
                  {
                    "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": 7348,
                                      "type": "mapping(address => mapping(address => uint256))",
                                      "value": "organizationsRegistery"
                                    },
                                    "id": 7490,
                                    "name": "Identifier",
                                    "src": "3193:22:22"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7444,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 7491,
                                    "name": "Identifier",
                                    "src": "3216:7:22"
                                  }
                                ],
                                "id": 7492,
                                "name": "IndexAccess",
                                "src": "3193:31:22"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7446,
                                  "type": "address",
                                  "value": "_record"
                                },
                                "id": 7493,
                                "name": "Identifier",
                                "src": "3225:7:22"
                              }
                            ],
                            "id": 7494,
                            "name": "IndexAccess",
                            "src": "3193:40:22"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 7495,
                            "name": "Literal",
                            "src": "3237:1:22"
                          }
                        ],
                        "id": 7496,
                        "name": "BinaryOperation",
                        "src": "3193:45:22"
                      },
                      {
                        "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_$3065",
                                      "typeString": "contract Avatar"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7358,
                                  "type": "function (address,address)",
                                  "value": "OrgAdded"
                                },
                                "id": 7497,
                                "name": "Identifier",
                                "src": "3250:8:22"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7444,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 7498,
                                "name": "Identifier",
                                "src": "3259:7:22"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7446,
                                  "type": "address",
                                  "value": "_record"
                                },
                                "id": 7499,
                                "name": "Identifier",
                                "src": "3268:7:22"
                              }
                            ],
                            "id": 7500,
                            "name": "FunctionCall",
                            "src": "3250:26:22"
                          }
                        ],
                        "id": 7501,
                        "name": "ExpressionStatement",
                        "src": "3250:26:22"
                      }
                    ],
                    "id": 7502,
                    "name": "IfStatement",
                    "src": "3189:87:22"
                  },
                  {
                    "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": 7348,
                                      "type": "mapping(address => mapping(address => uint256))",
                                      "value": "organizationsRegistery"
                                    },
                                    "id": 7503,
                                    "name": "Identifier",
                                    "src": "3286:22:22"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7444,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 7504,
                                    "name": "Identifier",
                                    "src": "3309:7:22"
                                  }
                                ],
                                "id": 7506,
                                "name": "IndexAccess",
                                "src": "3286:31:22"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7446,
                                  "type": "address",
                                  "value": "_record"
                                },
                                "id": 7505,
                                "name": "Identifier",
                                "src": "3318:7:22"
                              }
                            ],
                            "id": 7507,
                            "name": "IndexAccess",
                            "src": "3286:40:22"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7448,
                              "type": "uint256",
                              "value": "_amount"
                            },
                            "id": 7508,
                            "name": "Identifier",
                            "src": "3330:7:22"
                          }
                        ],
                        "id": 7509,
                        "name": "Assignment",
                        "src": "3286:51:22"
                      }
                    ],
                    "id": 7510,
                    "name": "ExpressionStatement",
                    "src": "3286:51:22"
                  },
                  {
                    "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_$3065",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7366,
                              "type": "function (address,address,uint256)",
                              "value": "Promotion"
                            },
                            "id": 7511,
                            "name": "Identifier",
                            "src": "3347:9:22"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7444,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7512,
                            "name": "Identifier",
                            "src": "3357:7:22"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7446,
                              "type": "address",
                              "value": "_record"
                            },
                            "id": 7513,
                            "name": "Identifier",
                            "src": "3366:7:22"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7448,
                              "type": "uint256",
                              "value": "_amount"
                            },
                            "id": 7514,
                            "name": "Identifier",
                            "src": "3375:7:22"
                          }
                        ],
                        "id": 7515,
                        "name": "FunctionCall",
                        "src": "3347:36:22"
                      }
                    ],
                    "id": 7516,
                    "name": "ExpressionStatement",
                    "src": "3347:36:22"
                  }
                ],
                "id": 7517,
                "name": "Block",
                "src": "2819:571:22"
              }
            ],
            "id": 7518,
            "name": "FunctionDefinition",
            "src": "2728:662:22"
          }
        ],
        "id": 7519,
        "name": "ContractDefinition",
        "src": "253:3139:22"
      }
    ],
    "id": 7520,
    "name": "SourceUnit",
    "src": "0:3393:22"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-25T13:15:04.385Z"
}