{
  "contractName": "ContributionReward",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "name": "orgNativeTokenFee",
          "type": "uint256"
        },
        {
          "name": "voteApproveParams",
          "type": "bytes32"
        },
        {
          "name": "intVote",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        },
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "organizationsProposals",
      "outputs": [
        {
          "name": "contributionDescriptionHash",
          "type": "bytes32"
        },
        {
          "name": "nativeTokenReward",
          "type": "uint256"
        },
        {
          "name": "reputationReward",
          "type": "uint256"
        },
        {
          "name": "ethReward",
          "type": "uint256"
        },
        {
          "name": "externalToken",
          "type": "address"
        },
        {
          "name": "externalTokenReward",
          "type": "uint256"
        },
        {
          "name": "beneficiary",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_hashedParameters",
          "type": "bytes32"
        }
      ],
      "name": "updateParameters",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_param",
          "type": "int256"
        }
      ],
      "name": "execute",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_orgNativeTokenFee",
          "type": "uint256"
        },
        {
          "name": "_voteApproveParams",
          "type": "bytes32"
        },
        {
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "setParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_contributionDescriptionHash",
          "type": "bytes32"
        },
        {
          "name": "_rewards",
          "type": "uint256[4]"
        },
        {
          "name": "_externalToken",
          "type": "address"
        },
        {
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "proposeContributionReward",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_orgNativeTokenFee",
          "type": "uint256"
        },
        {
          "name": "_voteApproveParams",
          "type": "bytes32"
        },
        {
          "name": "_intVote",
          "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": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_intVoteInterface",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_contributionDescription",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_rewards",
          "type": "uint256[4]"
        },
        {
          "indexed": false,
          "name": "_externalToken",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "NewContributionProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "ProposalExecuted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "ProposalDeleted",
      "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": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a0319909116179055610ebf8061003b6000396000f30060606040526004361061008a5763ffffffff60e060020a60003504166302506804811461008f57806306e3a978146100d25780632ac2af5314610140578063310ce4e214610158578063465ff7d7146101915780637cb37d8a146101c85780638da5cb5b14610223578063b74fd44f14610252578063f2fde38b14610277578063f98e87ba14610296575b600080fd5b341561009a57600080fd5b6100a56004356102a9565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b34156100dd57600080fd5b6100f4600160a060020a03600435166024356102d3565b60405196875260208701959095526040808701949094526060860192909252600160a060020a03908116608086015260a085019190915290911660c083015260e0909101905180910390f35b341561014b57600080fd5b610156600435610325565b005b341561016357600080fd5b61017d600435600160a060020a0360243516604435610345565b604051901515815260200160405180910390f35b341561019c57600080fd5b6101b6600435602435600160a060020a03604435166107ac565b60405190815260200160405180910390f35b34156101d357600080fd5b6101b660048035600160a060020a0316906024359060c46044826080604051908101604052919082826080808284375093955050600160a060020a03843581169460200135169250610809915050565b341561022e57600080fd5b610236610c5d565b604051600160a060020a03909116815260200160405180910390f35b341561025d57600080fd5b6101b6600435602435600160a060020a0360443516610c6c565b341561028257600080fd5b610156600160a060020a0360043516610cb5565b34156102a157600080fd5b6101b6610d50565b600360205260009081526040902080546001820154600290920154909190600160a060020a031683565b60026020818152600093845260408085209091529183529120805460018201549282015460038301546004840154600585015460069095015493959492939192600160a060020a039182169290911687565b60005433600160a060020a0390811691161461034057600080fd5b600155565b600061034f610e37565b600033600160a060020a03166003600061036888610d56565b8152602081019190915260400160002060020154600160a060020a03161461038f57600080fd5b836001141561070057600160a060020a0385166000908152600260209081526040808320898452909152908190209060e0905190810160409081528254825260018301546020830152600283015481830152600383015460608301526004830154600160a060020a039081166080840152600584015460a0840152600690930154831660c083015290935090861690638da5cb5b9060009051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561045a57600080fd5b6102c65a03f1151561046b57600080fd5b5050506040518051915050600160a060020a038116636cfc658260408401518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156104e557600080fd5b6102c65a03f115156104f657600080fd5b50505060405180519050151561050b57600080fd5b80600160a060020a0316636407e43283602001518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b151561057a57600080fd5b6102c65a03f1151561058b57600080fd5b5050506040518051905015156105a057600080fd5b80600160a060020a031663634965da83606001518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b151561060f57600080fd5b6102c65a03f1151561062057600080fd5b50505060405180519050151561063557600080fd5b60006080830151600160a060020a031614158015610657575060008260a00151115b156107005780600160a060020a031663b9a04cdd83608001518460c001518560a001518960006040516020015260405160e060020a63ffffffff8716028152600160a060020a039485166004820152928416602484015260448301919091529091166064820152608401602060405180830381600087803b15156106da57600080fd5b6102c65a03f115156106eb57600080fd5b50505060405180519050151561070057600080fd5b600160a060020a03851660008181526002602081815260408084208b8552909152808320838155600181018490559182018390556003820183905560048201805473ffffffffffffffffffffffffffffffffffffffff199081169091556005830193909355600690910180549092169091558791907f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f533905160405180910390a350600195945050505050565b6000806107ba858585610c6c565b6000818152600360205260409020958655600186019490945550506002909201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03939093169290921790915590565b6000610813610e73565b60008061081e610e37565b6003600061082b8c610d56565b815260208101919091526040908101600020906060905190810160409081528254825260018301546020830152600290920154600160a060020a03169181019190915293506000845111156109615789600160a060020a031663e1758bd86000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108c057600080fd5b6102c65a03f115156108d157600080fd5b5050506040518051600160a060020a031690506323b872dd338c875160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561094557600080fd5b6102c65a03f1151561095657600080fd5b505050604051805150505b8360400151600160a060020a03166388737b5e600286602001518d3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b15156109da57600080fd5b6102c65a03f115156109eb57600080fd5b5050506040518051935086925050600160a060020a0382161515610a0d573391505b60e060405190810160405289815260208101895181526020018960016020020151815260200160408a01518152600160a060020a038916602082015260400160608a01518152600160a060020a038085166020928301528c16600090815260028252604080822087835290925220909150819081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560a0820151816005015560c0820151600691909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055506040840151600160a060020a031683600019168b600160a060020a03167fc395c16729dc6887d309a39677c04bb0ae42d468123f37ab0eaeb38b65191bd68c8c8c886040518481526020810184608080838360005b83811015610b83578082015183820152602001610b6b565b5050505090500183600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200194505050505060405180910390a48360400151600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610c3457600080fd5b6102c65a03f11515610c4557600080fd5b505050604051805150929a9950505050505050505050565b600054600160a060020a031681565b60008284836040519283526020830191909152600160a060020a03166c010000000000000000000000000260408083019190915260549091019051809103902090509392505050565b60005433600160a060020a03908116911614610cd057600080fd5b600160a060020a0381161515610ce557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d9e57600080fd5b6102c65a03f11515610daf57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610e1757600080fd5b6102c65a03f11515610e2857600080fd5b50505060405180519392505050565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820c7c01ac76b5488054acaa72fdef79f77017bc980cdc51ba4e1f91e3e09cf65450029",
  "deployedBytecode": "0x60606040526004361061008a5763ffffffff60e060020a60003504166302506804811461008f57806306e3a978146100d25780632ac2af5314610140578063310ce4e214610158578063465ff7d7146101915780637cb37d8a146101c85780638da5cb5b14610223578063b74fd44f14610252578063f2fde38b14610277578063f98e87ba14610296575b600080fd5b341561009a57600080fd5b6100a56004356102a9565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b34156100dd57600080fd5b6100f4600160a060020a03600435166024356102d3565b60405196875260208701959095526040808701949094526060860192909252600160a060020a03908116608086015260a085019190915290911660c083015260e0909101905180910390f35b341561014b57600080fd5b610156600435610325565b005b341561016357600080fd5b61017d600435600160a060020a0360243516604435610345565b604051901515815260200160405180910390f35b341561019c57600080fd5b6101b6600435602435600160a060020a03604435166107ac565b60405190815260200160405180910390f35b34156101d357600080fd5b6101b660048035600160a060020a0316906024359060c46044826080604051908101604052919082826080808284375093955050600160a060020a03843581169460200135169250610809915050565b341561022e57600080fd5b610236610c5d565b604051600160a060020a03909116815260200160405180910390f35b341561025d57600080fd5b6101b6600435602435600160a060020a0360443516610c6c565b341561028257600080fd5b610156600160a060020a0360043516610cb5565b34156102a157600080fd5b6101b6610d50565b600360205260009081526040902080546001820154600290920154909190600160a060020a031683565b60026020818152600093845260408085209091529183529120805460018201549282015460038301546004840154600585015460069095015493959492939192600160a060020a039182169290911687565b60005433600160a060020a0390811691161461034057600080fd5b600155565b600061034f610e37565b600033600160a060020a03166003600061036888610d56565b8152602081019190915260400160002060020154600160a060020a03161461038f57600080fd5b836001141561070057600160a060020a0385166000908152600260209081526040808320898452909152908190209060e0905190810160409081528254825260018301546020830152600283015481830152600383015460608301526004830154600160a060020a039081166080840152600584015460a0840152600690930154831660c083015290935090861690638da5cb5b9060009051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561045a57600080fd5b6102c65a03f1151561046b57600080fd5b5050506040518051915050600160a060020a038116636cfc658260408401518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156104e557600080fd5b6102c65a03f115156104f657600080fd5b50505060405180519050151561050b57600080fd5b80600160a060020a0316636407e43283602001518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b151561057a57600080fd5b6102c65a03f1151561058b57600080fd5b5050506040518051905015156105a057600080fd5b80600160a060020a031663634965da83606001518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b151561060f57600080fd5b6102c65a03f1151561062057600080fd5b50505060405180519050151561063557600080fd5b60006080830151600160a060020a031614158015610657575060008260a00151115b156107005780600160a060020a031663b9a04cdd83608001518460c001518560a001518960006040516020015260405160e060020a63ffffffff8716028152600160a060020a039485166004820152928416602484015260448301919091529091166064820152608401602060405180830381600087803b15156106da57600080fd5b6102c65a03f115156106eb57600080fd5b50505060405180519050151561070057600080fd5b600160a060020a03851660008181526002602081815260408084208b8552909152808320838155600181018490559182018390556003820183905560048201805473ffffffffffffffffffffffffffffffffffffffff199081169091556005830193909355600690910180549092169091558791907f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f533905160405180910390a350600195945050505050565b6000806107ba858585610c6c565b6000818152600360205260409020958655600186019490945550506002909201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03939093169290921790915590565b6000610813610e73565b60008061081e610e37565b6003600061082b8c610d56565b815260208101919091526040908101600020906060905190810160409081528254825260018301546020830152600290920154600160a060020a03169181019190915293506000845111156109615789600160a060020a031663e1758bd86000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108c057600080fd5b6102c65a03f115156108d157600080fd5b5050506040518051600160a060020a031690506323b872dd338c875160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561094557600080fd5b6102c65a03f1151561095657600080fd5b505050604051805150505b8360400151600160a060020a03166388737b5e600286602001518d3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b15156109da57600080fd5b6102c65a03f115156109eb57600080fd5b5050506040518051935086925050600160a060020a0382161515610a0d573391505b60e060405190810160405289815260208101895181526020018960016020020151815260200160408a01518152600160a060020a038916602082015260400160608a01518152600160a060020a038085166020928301528c16600090815260028252604080822087835290925220909150819081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560a0820151816005015560c0820151600691909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055506040840151600160a060020a031683600019168b600160a060020a03167fc395c16729dc6887d309a39677c04bb0ae42d468123f37ab0eaeb38b65191bd68c8c8c886040518481526020810184608080838360005b83811015610b83578082015183820152602001610b6b565b5050505090500183600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200194505050505060405180910390a48360400151600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610c3457600080fd5b6102c65a03f11515610c4557600080fd5b505050604051805150929a9950505050505050505050565b600054600160a060020a031681565b60008284836040519283526020830191909152600160a060020a03166c010000000000000000000000000260408083019190915260549091019051809103902090509392505050565b60005433600160a060020a03908116911614610cd057600080fd5b600160a060020a0381161515610ce557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d9e57600080fd5b6102c65a03f11515610daf57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610e1757600080fd5b6102c65a03f11515610e2857600080fd5b50505060405180519392505050565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820c7c01ac76b5488054acaa72fdef79f77017bc980cdc51ba4e1f91e3e09cf65450029",
  "sourceMap": "335:7464:18:-;;;2113:39;;;;;;;;501:5:33;:18;;-1:-1:-1;;;;;509:10:33;501:18;-1:-1:-1;;;;;;501:18:33;;;;;;335:7464:18;;;;;;",
  "deployedSourceMap": "335:7464:18:-;;;;;;;;;-1:-1:-1;;;335:7464:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2022:46;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2022:46:18;;;;;;;;;;;;;;;;;;;;1408:86;;;;;;;;;;-1:-1:-1;;;;;1408:86:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1408:86:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;455:157:25;;;;;;;;;;;;;;;;6347:1450:18;;;;;;;;;;;;-1:-1:-1;;;;;6347:1450:18;;;;;;;;;;;;;;;;;;;;;;;;2255:532;;;;;;;;;;;;;;-1:-1:-1;;;;;2255:532:18;;;;;;;;;;;;;;;;;;;;4207:1825;;;;;;;;;;;;;-1:-1:-1;;;;;4207:1825:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4207:1825:18;;-1:-1:-1;;;;;;;4207:1825:18;;;;;;;;;;-1:-1:-1;4207:1825:18;;-1:-1:-1;;4207:1825:18;238:20:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:33;;;;;;;;;;;;;;3309:255:18;;;;;;;;;;;;;;-1:-1:-1;;;;;3309:255:18;;;;;834:169:33;;;;;;;;;;-1:-1:-1;;;;;834:169:33;;;;;345:31:25;;;;;;;;;;;;2022:46:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2022:46:18;;:::o;1408:86::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1408:86:18;;;;;;;;:::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;6347:1450:18:-;6429:4;6721:36;;:::i;:::-;6845:30;6579:10;-1:-1:-1;;;;;6511:78:18;:10;:56;6522:44;6557:7;6522:27;:44::i;:::-;6511:56;;;;;;;;;;;;;:64;;;-1:-1:-1;;;;;6511:64:18;:78;6503:87;;;;;;6645:6;6655:1;6645:11;6641:1020;;;-1:-1:-1;;;;;6760:31:18;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;;;6721:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6721:83:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6898:21:18;;;;;;6721:83;;6898:23;;;;;;;;;-1:-1:-1;;;6898:23:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;6941:25:18;;;6971;;;;6999:8;:20;;;7020:7;6941:87;;;;;;;;-1:-1:-1;;;6941:87:18;;;;;;;;;;;;;-1:-1:-1;;;;;6941:87:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6940:88;6936:137;;;7048:8;;;6936:137;7091:10;-1:-1:-1;;;;;7091:21:18;;7113:8;:26;;;7141:8;:20;;;7162:7;7091:79;;;;;;;;-1:-1:-1;;;7091:79:18;;;;;;;;;;;;;-1:-1:-1;;;;;7091:79:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7090:80;7086:129;;;7190:8;;;7086:129;7233:10;-1:-1:-1;;;;;7233:20:18;;7254:8;:18;;;7274:8;:20;;;7295:7;7233:70;;;;;;;;-1:-1:-1;;;7233:70:18;;;;;;;;;;;;;-1:-1:-1;;;;;7233:70:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7232:71;7228:120;;;7323:8;;;7228:120;7399:1;7365:22;;;;-1:-1:-1;;;;;7365:36:18;;;:72;;;;;7436:1;7405:8;:28;;;:32;7365:72;7361:288;;;7462:10;-1:-1:-1;;;;;7462:32:18;;7495:8;:22;;;7519:8;:20;;;7541:8;:28;;;7570:7;7462:116;;;;;;;;-1:-1:-1;;;7462:116:18;;;;;;-1:-1:-1;;;;;7462:116:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7461:117;7457:174;;;7602:8;;;7457:174;-1:-1:-1;;;;;7677:31:18;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;7670:51;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7670:51:18;;;;;;;;;;;;;;;;;;;;;;;;;7709:11;;7677:31;7731:38;;;;;;;;;;-1:-1:-1;7786:4:18;;6347:1450;-1:-1:-1;;;;;6347:1450:18:o;2255:532::-;2403:7;2426:18;2447:113;2478:18;2510;2542:8;2447:17;:113::i;:::-;2570:22;;;;:10;:22;;;;;:61;;;2641:40;;;:61;;;;-1:-1:-1;;2712:30:18;;;;:41;;-1:-1:-1;;2712:41:18;-1:-1:-1;;;;;2712:41:18;;;;;;;;;;;2570:22;2255:532::o;4207:1825::-;4433:7;4456:34;;:::i;:::-;4774:22;4959:19;5120:36;;:::i;:::-;4493:10;:48;4504:36;4532:7;4504:27;:36::i;:::-;4493:48;;;;;;;;;;;;;;;;4456:85;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4456:85:18;;;;;;;;;-1:-1:-1;4456:85:18;;4608:34;:38;4604:160;;;4662:7;-1:-1:-1;;;;;4662:19:18;;:21;;;;;;;;;;;-1:-1:-1;;;4662:21:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4662:34:18;;-1:-1:-1;4662:34:18;4697:10;4709:7;4718:16;:34;4662:91;;;;;;;;-1:-1:-1;;;4662:91:18;;;;;;-1:-1:-1;;;;;4662:91:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4604:160:18;4799:16;:24;;;-1:-1:-1;;;;;4799:32:18;;4832:1;4835:16;:34;;;4871:7;4900:4;4799:107;;;;;;;;-1:-1:-1;;;4799:107:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4799:107:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4981:12:18;;-1:-1:-1;;;;;;;5007:25:18;;;5003:80;;;5062:10;5048:24;;5003:80;5159:353;;;;;;;;;;;;;;5284:8;:11;5159:353;;;;5327:8;5336:1;5327:11;;;;5159:353;;;;5363:11;;;;5159:353;;-1:-1:-1;;;;;5159:353:18;;;;;;;;5452:11;;;;5159:353;;-1:-1:-1;;;;;5159:353:18;;;;;;;;5522:31;;-1:-1:-1;5522:31:18;;;:22;:31;;;;;;:47;;;;;;;5120:392;;-1:-1:-1;5120:392:18;;;5522:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5522:58:18;-1:-1:-1;;;;;5522:58:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5522:58:18;-1:-1:-1;;;;;5522:58:18;;;;;;;;;-1:-1:-1;5677:24:18;;;;-1:-1:-1;;;;;5591:237:18;5649:14;5591:237;;;5628:7;-1:-1:-1;;;;;5591:237:18;;5715:28;5757:8;5779:14;5807:11;5591:237;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;-1:-1;;;;;3:109;-1:-1;;;;;3:109;;;;;;-1:-1;;;;;3:109;-1:-1;;;;;3:109;;;;;;;;;;;;;;;;;;5873:16:18;:24;;;-1:-1:-1;;;;;5873:34:18;;5908:14;5924:1;5927:10;5873:65;;;;;;;;-1:-1:-1;;;5873:65:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5873:65:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6011:14:18;;4207:1825;-1:-1:-1;;;;;;;;;;4207:1825:18:o;238:20:33:-;;;-1:-1:-1;;;;;238:20:33;;:::o;3309:255:18:-;3466:7;3507:18;3527;3547:8;3497:59;;;;;;;;;;;;-1:-1:-1;;;;;3497:59:18;;;;;;;;;;;;;;;;;;;;;;3489:68;;3309:255;;;;;:::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;335:7464:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"../VotingMachines/IntVoteInterface.sol\";\nimport \"./UniversalScheme.sol\";\n\n\n/**\n * @title A scheme for proposing and rewarding contributions to an organization\n * @dev An agent can ask an organization to recognize a contribution and reward\n * him with token, reputation, ether or any combination.\n */\n\ncontract ContributionReward is UniversalScheme {\n    event NewContributionProposal(\n        address indexed _avatar,\n        bytes32 indexed _proposalId,\n        address indexed _intVoteInterface,\n        bytes32 _contributionDescription,\n        uint[4]  _rewards,\n        StandardToken _externalToken,\n        address _beneficiary\n    );\n    event ProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\n    event ProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\n\n    // A struct holding the data for a contribution proposal\n    struct ContributionProposal {\n        bytes32 contributionDescriptionHash; // Hash of contribution document.\n        uint nativeTokenReward; // Reward asked in the native token of the organization.\n        uint reputationReward; // Organization reputation reward requested.\n        uint ethReward;\n        StandardToken externalToken;\n        uint externalTokenReward;\n        address beneficiary;\n    }\n\n    // A mapping from the organization (Avatar) address to the saved data of the organization:\n    mapping(address=>mapping(bytes32=>ContributionProposal)) public organizationsProposals;\n\n    // A mapping from hashes to parameters (use to store a particular configuration on the controller)\n    // A contribution fee can be in the organization token or the scheme token or a combination\n    struct Parameters {\n        uint orgNativeTokenFee; // a fee (in the organization's token) that is to be paid for submitting a contribution\n        bytes32 voteApproveParams;\n        IntVoteInterface intVote;\n    }\n    // A mapping from hashes to parameters (use to store a particular configuration on the controller)\n    mapping(bytes32=>Parameters) public parameters;\n\n    /**\n    * @dev constructor\n    */\n    function ContributionReward() public {}\n\n    /**\n    * @dev hash the parameters, save them if necessary, and return the hash value\n    */\n    function setParameters(\n        uint _orgNativeTokenFee,\n        bytes32 _voteApproveParams,\n        IntVoteInterface _intVote\n    ) public returns(bytes32)\n    {\n        bytes32 paramsHash = getParametersHash(\n            _orgNativeTokenFee,\n            _voteApproveParams,\n            _intVote\n        );\n        parameters[paramsHash].orgNativeTokenFee = _orgNativeTokenFee;\n        parameters[paramsHash].voteApproveParams = _voteApproveParams;\n        parameters[paramsHash].intVote = _intVote;\n        return paramsHash;\n    }\n\n    /**\n    * @dev return a hash of the given parameters\n    * @param _orgNativeTokenFee the fee for submitting a contribution in organizations native token\n    * @param _voteApproveParams parameters for the voting machine used to approve a contribution\n    * @param _intVote the voting machine used to approve a contribution\n    * @return a hash of the parameters\n    */\n    // TODO: These fees are messy. Better to have a _fee and _feeToken pair, just as in some other contract (which one?) with some sane default\n    function getParametersHash(\n        uint _orgNativeTokenFee,\n        bytes32 _voteApproveParams,\n        IntVoteInterface _intVote\n    ) public pure returns(bytes32)\n    {\n        return (keccak256(_voteApproveParams, _orgNativeTokenFee, _intVote));\n    }\n\n    /**\n    * @dev Submit a proposal for a reward for a contribution:\n    * @param _avatar Avatar of the organization that the contribution was made for\n    * @param _contributionDescriptionHash A hash of the contribution's description\n    * @param _rewards rewards array:\n    *         rewards[0] - Amount of tokens requested\n    *         rewards[1] - Amount of reputation requested\n    *         rewards[2] - Amount of ETH requested\n    *         rewards[3] - Amount of external tokens requested\n    * @param _externalToken Address of external token, if reward is requested there\n    * @param _beneficiary Who gets the rewards\n    */\n    function proposeContributionReward(\n        Avatar _avatar,\n        bytes32 _contributionDescriptionHash,\n        uint[4] _rewards,\n        StandardToken _externalToken,\n        address _beneficiary\n    ) public\n      returns(bytes32)\n    {\n        Parameters memory controllerParams = parameters[getParametersFromController(_avatar)];\n        // Pay fees for submitting the contribution:\n        if (controllerParams.orgNativeTokenFee > 0) {\n            _avatar.nativeToken().transferFrom(msg.sender, _avatar, controllerParams.orgNativeTokenFee);\n        }\n\n        bytes32 contributionId = controllerParams.intVote.propose(2, controllerParams.voteApproveParams, _avatar, ExecutableInterface(this));\n\n        // Check beneficiary is not null:\n        address beneficiary = _beneficiary;\n        if (beneficiary == address(0)) {\n            beneficiary = msg.sender;\n        }\n\n        // Set the struct:\n        ContributionProposal memory proposal = ContributionProposal({\n            contributionDescriptionHash: _contributionDescriptionHash,\n            nativeTokenReward: _rewards[0],\n            reputationReward: _rewards[1],\n            ethReward: _rewards[2],\n            externalToken: _externalToken,\n            externalTokenReward: _rewards[3],\n            beneficiary: beneficiary\n        });\n        organizationsProposals[_avatar][contributionId] = proposal;\n\n        NewContributionProposal(\n            _avatar,\n            contributionId,\n            controllerParams.intVote,\n            _contributionDescriptionHash,\n            _rewards,\n            _externalToken,\n            beneficiary\n        );\n\n        // vote for this proposal\n        controllerParams.intVote.ownerVote(contributionId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\n        return contributionId;\n    }\n\n    /**\n    * @dev execution of proposals, can only be called by the voting machine in which the vote is held.\n    * @param _proposalId the ID of the voting in the voting machine\n    * @param _avatar address of the controller\n    * @param _param a parameter of the voting result, 0 is no and 1 is yes.\n    */\n    function execute(bytes32 _proposalId, address _avatar, int _param) public returns(bool) {\n        // Check the caller is indeed the voting machine:\n        require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\n        // Check if vote was successful:\n        if (_param == 1) {\n        // Define controller and get the params:\n            ContributionProposal memory proposal = organizationsProposals[_avatar][_proposalId];\n\n        // pay the funds:\n            ControllerInterface controller = ControllerInterface(Avatar(_avatar).owner());\n            if (!controller.mintReputation(int(proposal.reputationReward), proposal.beneficiary,_avatar)) {\n                revert();\n              }\n            if (!controller.mintTokens(proposal.nativeTokenReward, proposal.beneficiary,_avatar)) {\n                revert();\n              }\n            if (!controller.sendEther(proposal.ethReward, proposal.beneficiary,_avatar)) {\n                revert();\n              }\n            if (proposal.externalToken != address(0) && proposal.externalTokenReward > 0) {\n                if (!controller.externalTokenTransfer(proposal.externalToken, proposal.beneficiary, proposal.externalTokenReward,_avatar)) {\n                    revert();\n                  }\n                }\n          }\n        delete organizationsProposals[_avatar][_proposalId];\n        ProposalExecuted(_avatar, _proposalId);\n        return true;\n    }\n}\n",
  "sourcePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/ContributionReward.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/ContributionReward.sol",
      "exportedSymbols": {
        "ContributionReward": [
          6602
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 6207,
        "name": "PragmaDirective",
        "src": "0:24:18"
      },
      {
        "attributes": {
          "SourceUnit": 2652,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/VotingMachines/IntVoteInterface.sol",
          "file": "../VotingMachines/IntVoteInterface.sol",
          "scope": 6603,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 6208,
        "name": "ImportDirective",
        "src": "26:48:18"
      },
      {
        "attributes": {
          "SourceUnit": 8466,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 6603,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 6209,
        "name": "ImportDirective",
        "src": "75:31:18"
      },
      {
        "attributes": {
          "contractDependencies": [
            8465,
            8484,
            10301
          ],
          "contractKind": "contract",
          "documentation": "@title A scheme for proposing and rewarding contributions to an organization\n@dev An agent can ask an organization to recognize a contribution and reward\nhim with token, reputation, ether or any combination.",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            6602,
            8465,
            8484,
            10301
          ],
          "name": "ContributionReward",
          "scope": 6603
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 8465,
                  "type": "contract UniversalScheme"
                },
                "id": 6210,
                "name": "UserDefinedTypeName",
                "src": "366:15:18"
              }
            ],
            "id": 6211,
            "name": "InheritanceSpecifier",
            "src": "366:15:18"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "NewContributionProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 6229,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6212,
                        "name": "ElementaryTypeName",
                        "src": "427:7:18"
                      }
                    ],
                    "id": 6213,
                    "name": "VariableDeclaration",
                    "src": "427:23:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 6229,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6214,
                        "name": "ElementaryTypeName",
                        "src": "460:7:18"
                      }
                    ],
                    "id": 6215,
                    "name": "VariableDeclaration",
                    "src": "460:27:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_intVoteInterface",
                      "scope": 6229,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6216,
                        "name": "ElementaryTypeName",
                        "src": "497:7:18"
                      }
                    ],
                    "id": 6217,
                    "name": "VariableDeclaration",
                    "src": "497:33:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_contributionDescription",
                      "scope": 6229,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6218,
                        "name": "ElementaryTypeName",
                        "src": "540:7:18"
                      }
                    ],
                    "id": 6219,
                    "name": "VariableDeclaration",
                    "src": "540:32:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_rewards",
                      "scope": 6229,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[4] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "type": "uint256[4] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 6220,
                            "name": "ElementaryTypeName",
                            "src": "582:4:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "34",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 4",
                              "value": "4"
                            },
                            "id": 6221,
                            "name": "Literal",
                            "src": "587:1:18"
                          }
                        ],
                        "id": 6222,
                        "name": "ArrayTypeName",
                        "src": "582:7:18"
                      }
                    ],
                    "id": 6223,
                    "name": "VariableDeclaration",
                    "src": "582:17:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_externalToken",
                      "scope": 6229,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract StandardToken",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "StandardToken",
                          "referencedDeclaration": 10855,
                          "type": "contract StandardToken"
                        },
                        "id": 6224,
                        "name": "UserDefinedTypeName",
                        "src": "609:13:18"
                      }
                    ],
                    "id": 6225,
                    "name": "VariableDeclaration",
                    "src": "609:28:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_beneficiary",
                      "scope": 6229,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6226,
                        "name": "ElementaryTypeName",
                        "src": "647:7:18"
                      }
                    ],
                    "id": 6227,
                    "name": "VariableDeclaration",
                    "src": "647:20:18"
                  }
                ],
                "id": 6228,
                "name": "ParameterList",
                "src": "417:256:18"
              }
            ],
            "id": 6229,
            "name": "EventDefinition",
            "src": "388:286:18"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "ProposalExecuted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 6235,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6230,
                        "name": "ElementaryTypeName",
                        "src": "702:7:18"
                      }
                    ],
                    "id": 6231,
                    "name": "VariableDeclaration",
                    "src": "702:23:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 6235,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6232,
                        "name": "ElementaryTypeName",
                        "src": "727:7:18"
                      }
                    ],
                    "id": 6233,
                    "name": "VariableDeclaration",
                    "src": "727:27:18"
                  }
                ],
                "id": 6234,
                "name": "ParameterList",
                "src": "701:54:18"
              }
            ],
            "id": 6235,
            "name": "EventDefinition",
            "src": "679:77:18"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "ProposalDeleted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 6241,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6236,
                        "name": "ElementaryTypeName",
                        "src": "783:7:18"
                      }
                    ],
                    "id": 6237,
                    "name": "VariableDeclaration",
                    "src": "783:23:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 6241,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6238,
                        "name": "ElementaryTypeName",
                        "src": "808:7:18"
                      }
                    ],
                    "id": 6239,
                    "name": "VariableDeclaration",
                    "src": "808:27:18"
                  }
                ],
                "id": 6240,
                "name": "ParameterList",
                "src": "782:54:18"
              }
            ],
            "id": 6241,
            "name": "EventDefinition",
            "src": "761:76:18"
          },
          {
            "attributes": {
              "canonicalName": "ContributionReward.ContributionProposal",
              "name": "ContributionProposal",
              "scope": 6602,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "contributionDescriptionHash",
                  "scope": 6256,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 6242,
                    "name": "ElementaryTypeName",
                    "src": "942:7:18"
                  }
                ],
                "id": 6243,
                "name": "VariableDeclaration",
                "src": "942:35:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "nativeTokenReward",
                  "scope": 6256,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6244,
                    "name": "ElementaryTypeName",
                    "src": "1021:4:18"
                  }
                ],
                "id": 6245,
                "name": "VariableDeclaration",
                "src": "1021:22:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "reputationReward",
                  "scope": 6256,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6246,
                    "name": "ElementaryTypeName",
                    "src": "1110:4:18"
                  }
                ],
                "id": 6247,
                "name": "VariableDeclaration",
                "src": "1110:21:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "ethReward",
                  "scope": 6256,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6248,
                    "name": "ElementaryTypeName",
                    "src": "1186:4:18"
                  }
                ],
                "id": 6249,
                "name": "VariableDeclaration",
                "src": "1186:14:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "externalToken",
                  "scope": 6256,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract StandardToken",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "StandardToken",
                      "referencedDeclaration": 10855,
                      "type": "contract StandardToken"
                    },
                    "id": 6250,
                    "name": "UserDefinedTypeName",
                    "src": "1210:13:18"
                  }
                ],
                "id": 6251,
                "name": "VariableDeclaration",
                "src": "1210:27:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "externalTokenReward",
                  "scope": 6256,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6252,
                    "name": "ElementaryTypeName",
                    "src": "1247:4:18"
                  }
                ],
                "id": 6253,
                "name": "VariableDeclaration",
                "src": "1247:24:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "beneficiary",
                  "scope": 6256,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 6254,
                    "name": "ElementaryTypeName",
                    "src": "1281:7:18"
                  }
                ],
                "id": 6255,
                "name": "VariableDeclaration",
                "src": "1281:19:18"
              }
            ],
            "id": 6256,
            "name": "StructDefinition",
            "src": "904:403:18"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsProposals",
              "scope": 6602,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 6257,
                    "name": "ElementaryTypeName",
                    "src": "1416:7:18"
                  },
                  {
                    "attributes": {
                      "type": "mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6258,
                        "name": "ElementaryTypeName",
                        "src": "1433:7:18"
                      },
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "ContributionProposal",
                          "referencedDeclaration": 6256,
                          "type": "struct ContributionReward.ContributionProposal storage pointer"
                        },
                        "id": 6259,
                        "name": "UserDefinedTypeName",
                        "src": "1442:20:18"
                      }
                    ],
                    "id": 6260,
                    "name": "Mapping",
                    "src": "1425:38:18"
                  }
                ],
                "id": 6261,
                "name": "Mapping",
                "src": "1408:56:18"
              }
            ],
            "id": 6262,
            "name": "VariableDeclaration",
            "src": "1408:86:18"
          },
          {
            "attributes": {
              "canonicalName": "ContributionReward.Parameters",
              "name": "Parameters",
              "scope": 6602,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "orgNativeTokenFee",
                  "scope": 6269,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6263,
                    "name": "ElementaryTypeName",
                    "src": "1728:4:18"
                  }
                ],
                "id": 6264,
                "name": "VariableDeclaration",
                "src": "1728:22:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "voteApproveParams",
                  "scope": 6269,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 6265,
                    "name": "ElementaryTypeName",
                    "src": "1848:7:18"
                  }
                ],
                "id": 6266,
                "name": "VariableDeclaration",
                "src": "1848:25:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "intVote",
                  "scope": 6269,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract IntVoteInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "IntVoteInterface",
                      "referencedDeclaration": 2651,
                      "type": "contract IntVoteInterface"
                    },
                    "id": 6267,
                    "name": "UserDefinedTypeName",
                    "src": "1883:16:18"
                  }
                ],
                "id": 6268,
                "name": "VariableDeclaration",
                "src": "1883:24:18"
              }
            ],
            "id": 6269,
            "name": "StructDefinition",
            "src": "1700:214:18"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 6602,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 6270,
                    "name": "ElementaryTypeName",
                    "src": "2030:7:18"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 6269,
                      "type": "struct ContributionReward.Parameters storage pointer"
                    },
                    "id": 6271,
                    "name": "UserDefinedTypeName",
                    "src": "2039:10:18"
                  }
                ],
                "id": 6272,
                "name": "Mapping",
                "src": "2022:28:18"
              }
            ],
            "id": 6273,
            "name": "VariableDeclaration",
            "src": "2022:46:18"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "ContributionReward",
              "payable": false,
              "scope": 6602,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6274,
                "name": "ParameterList",
                "src": "2140:2:18"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6275,
                "name": "ParameterList",
                "src": "2150:0:18"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 6276,
                "name": "Block",
                "src": "2150:2:18"
              }
            ],
            "id": 6277,
            "name": "FunctionDefinition",
            "src": "2113:39:18"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 6602,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_orgNativeTokenFee",
                      "scope": 6320,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 6278,
                        "name": "ElementaryTypeName",
                        "src": "2287:4:18"
                      }
                    ],
                    "id": 6279,
                    "name": "VariableDeclaration",
                    "src": "2287:23:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteApproveParams",
                      "scope": 6320,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6280,
                        "name": "ElementaryTypeName",
                        "src": "2320:7:18"
                      }
                    ],
                    "id": 6281,
                    "name": "VariableDeclaration",
                    "src": "2320:26:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 6320,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 6282,
                        "name": "UserDefinedTypeName",
                        "src": "2356:16:18"
                      }
                    ],
                    "id": 6283,
                    "name": "VariableDeclaration",
                    "src": "2356:25:18"
                  }
                ],
                "id": 6284,
                "name": "ParameterList",
                "src": "2277:110:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 6320,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6285,
                        "name": "ElementaryTypeName",
                        "src": "2403:7:18"
                      }
                    ],
                    "id": 6286,
                    "name": "VariableDeclaration",
                    "src": "2403:7:18"
                  }
                ],
                "id": 6287,
                "name": "ParameterList",
                "src": "2402:9:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        6289
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 6320,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 6288,
                            "name": "ElementaryTypeName",
                            "src": "2426:7:18"
                          }
                        ],
                        "id": 6289,
                        "name": "VariableDeclaration",
                        "src": "2426:18:18"
                      },
                      {
                        "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_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6339,
                              "type": "function (uint256,bytes32,contract IntVoteInterface) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 6290,
                            "name": "Identifier",
                            "src": "2447:17:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6279,
                              "type": "uint256",
                              "value": "_orgNativeTokenFee"
                            },
                            "id": 6291,
                            "name": "Identifier",
                            "src": "2478:18:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6281,
                              "type": "bytes32",
                              "value": "_voteApproveParams"
                            },
                            "id": 6292,
                            "name": "Identifier",
                            "src": "2510:18:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6283,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 6293,
                            "name": "Identifier",
                            "src": "2542:8:18"
                          }
                        ],
                        "id": 6294,
                        "name": "FunctionCall",
                        "src": "2447:113:18"
                      }
                    ],
                    "id": 6295,
                    "name": "VariableDeclarationStatement",
                    "src": "2426:134:18"
                  },
                  {
                    "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": "orgNativeTokenFee",
                              "referencedDeclaration": 6264,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct ContributionReward.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6273,
                                      "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 6296,
                                    "name": "Identifier",
                                    "src": "2570:10:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6289,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 6297,
                                    "name": "Identifier",
                                    "src": "2581:10:18"
                                  }
                                ],
                                "id": 6298,
                                "name": "IndexAccess",
                                "src": "2570:22:18"
                              }
                            ],
                            "id": 6299,
                            "name": "MemberAccess",
                            "src": "2570:40:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6279,
                              "type": "uint256",
                              "value": "_orgNativeTokenFee"
                            },
                            "id": 6300,
                            "name": "Identifier",
                            "src": "2613:18:18"
                          }
                        ],
                        "id": 6301,
                        "name": "Assignment",
                        "src": "2570:61:18"
                      }
                    ],
                    "id": 6302,
                    "name": "ExpressionStatement",
                    "src": "2570:61:18"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "voteApproveParams",
                              "referencedDeclaration": 6266,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct ContributionReward.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6273,
                                      "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 6303,
                                    "name": "Identifier",
                                    "src": "2641:10:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6289,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 6304,
                                    "name": "Identifier",
                                    "src": "2652:10:18"
                                  }
                                ],
                                "id": 6305,
                                "name": "IndexAccess",
                                "src": "2641:22:18"
                              }
                            ],
                            "id": 6306,
                            "name": "MemberAccess",
                            "src": "2641:40:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6281,
                              "type": "bytes32",
                              "value": "_voteApproveParams"
                            },
                            "id": 6307,
                            "name": "Identifier",
                            "src": "2684:18:18"
                          }
                        ],
                        "id": 6308,
                        "name": "Assignment",
                        "src": "2641:61:18"
                      }
                    ],
                    "id": 6309,
                    "name": "ExpressionStatement",
                    "src": "2641:61:18"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract IntVoteInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "intVote",
                              "referencedDeclaration": 6268,
                              "type": "contract IntVoteInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct ContributionReward.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6273,
                                      "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 6310,
                                    "name": "Identifier",
                                    "src": "2712:10:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6289,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 6311,
                                    "name": "Identifier",
                                    "src": "2723:10:18"
                                  }
                                ],
                                "id": 6312,
                                "name": "IndexAccess",
                                "src": "2712:22:18"
                              }
                            ],
                            "id": 6313,
                            "name": "MemberAccess",
                            "src": "2712:30:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6283,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 6314,
                            "name": "Identifier",
                            "src": "2745:8:18"
                          }
                        ],
                        "id": 6315,
                        "name": "Assignment",
                        "src": "2712:41:18"
                      }
                    ],
                    "id": 6316,
                    "name": "ExpressionStatement",
                    "src": "2712:41:18"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 6287
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 6289,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 6317,
                        "name": "Identifier",
                        "src": "2770:10:18"
                      }
                    ],
                    "id": 6318,
                    "name": "Return",
                    "src": "2763:17:18"
                  }
                ],
                "id": 6319,
                "name": "Block",
                "src": "2416:371:18"
              }
            ],
            "id": 6320,
            "name": "FunctionDefinition",
            "src": "2255:532:18"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 6602,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_orgNativeTokenFee",
                      "scope": 6339,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 6321,
                        "name": "ElementaryTypeName",
                        "src": "3345:4:18"
                      }
                    ],
                    "id": 6322,
                    "name": "VariableDeclaration",
                    "src": "3345:23:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteApproveParams",
                      "scope": 6339,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6323,
                        "name": "ElementaryTypeName",
                        "src": "3378:7:18"
                      }
                    ],
                    "id": 6324,
                    "name": "VariableDeclaration",
                    "src": "3378:26:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 6339,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 6325,
                        "name": "UserDefinedTypeName",
                        "src": "3414:16:18"
                      }
                    ],
                    "id": 6326,
                    "name": "VariableDeclaration",
                    "src": "3414:25:18"
                  }
                ],
                "id": 6327,
                "name": "ParameterList",
                "src": "3335:110:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 6339,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6328,
                        "name": "ElementaryTypeName",
                        "src": "3466:7:18"
                      }
                    ],
                    "id": 6329,
                    "name": "VariableDeclaration",
                    "src": "3466:7:18"
                  }
                ],
                "id": 6330,
                "name": "ParameterList",
                "src": "3465:9:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 6330
                    },
                    "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_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                      "typeString": "contract IntVoteInterface"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10861,
                                  "type": "function () pure returns (bytes32)",
                                  "value": "keccak256"
                                },
                                "id": 6331,
                                "name": "Identifier",
                                "src": "3497:9:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6324,
                                  "type": "bytes32",
                                  "value": "_voteApproveParams"
                                },
                                "id": 6332,
                                "name": "Identifier",
                                "src": "3507:18:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6322,
                                  "type": "uint256",
                                  "value": "_orgNativeTokenFee"
                                },
                                "id": 6333,
                                "name": "Identifier",
                                "src": "3527:18:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6326,
                                  "type": "contract IntVoteInterface",
                                  "value": "_intVote"
                                },
                                "id": 6334,
                                "name": "Identifier",
                                "src": "3547:8:18"
                              }
                            ],
                            "id": 6335,
                            "name": "FunctionCall",
                            "src": "3497:59:18"
                          }
                        ],
                        "id": 6336,
                        "name": "TupleExpression",
                        "src": "3496:61:18"
                      }
                    ],
                    "id": 6337,
                    "name": "Return",
                    "src": "3489:68:18"
                  }
                ],
                "id": 6338,
                "name": "Block",
                "src": "3479:85:18"
              }
            ],
            "id": 6339,
            "name": "FunctionDefinition",
            "src": "3309:255:18"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposeContributionReward",
              "payable": false,
              "scope": 6602,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 6465,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 6340,
                        "name": "UserDefinedTypeName",
                        "src": "4251:6:18"
                      }
                    ],
                    "id": 6341,
                    "name": "VariableDeclaration",
                    "src": "4251:14:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_contributionDescriptionHash",
                      "scope": 6465,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6342,
                        "name": "ElementaryTypeName",
                        "src": "4275:7:18"
                      }
                    ],
                    "id": 6343,
                    "name": "VariableDeclaration",
                    "src": "4275:36:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_rewards",
                      "scope": 6465,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[4] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "type": "uint256[4] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint",
                              "type": "uint256"
                            },
                            "id": 6344,
                            "name": "ElementaryTypeName",
                            "src": "4321:4:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "34",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 4",
                              "value": "4"
                            },
                            "id": 6345,
                            "name": "Literal",
                            "src": "4326:1:18"
                          }
                        ],
                        "id": 6346,
                        "name": "ArrayTypeName",
                        "src": "4321:7:18"
                      }
                    ],
                    "id": 6347,
                    "name": "VariableDeclaration",
                    "src": "4321:16:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_externalToken",
                      "scope": 6465,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract StandardToken",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "StandardToken",
                          "referencedDeclaration": 10855,
                          "type": "contract StandardToken"
                        },
                        "id": 6348,
                        "name": "UserDefinedTypeName",
                        "src": "4347:13:18"
                      }
                    ],
                    "id": 6349,
                    "name": "VariableDeclaration",
                    "src": "4347:28:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 6465,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6350,
                        "name": "ElementaryTypeName",
                        "src": "4385:7:18"
                      }
                    ],
                    "id": 6351,
                    "name": "VariableDeclaration",
                    "src": "4385:20:18"
                  }
                ],
                "id": 6352,
                "name": "ParameterList",
                "src": "4241:170:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 6465,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6353,
                        "name": "ElementaryTypeName",
                        "src": "4433:7:18"
                      }
                    ],
                    "id": 6354,
                    "name": "VariableDeclaration",
                    "src": "4433:7:18"
                  }
                ],
                "id": 6355,
                "name": "ParameterList",
                "src": "4432:9:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        6357
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "controllerParams",
                          "scope": 6465,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct ContributionReward.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 6269,
                              "type": "struct ContributionReward.Parameters storage pointer"
                            },
                            "id": 6356,
                            "name": "UserDefinedTypeName",
                            "src": "4456:10:18"
                          }
                        ],
                        "id": 6357,
                        "name": "VariableDeclaration",
                        "src": "4456:34:18"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct ContributionReward.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6273,
                              "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 6358,
                            "name": "Identifier",
                            "src": "4493:10:18"
                          },
                          {
                            "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": 6359,
                                "name": "Identifier",
                                "src": "4504:27:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6341,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 6360,
                                "name": "Identifier",
                                "src": "4532:7:18"
                              }
                            ],
                            "id": 6361,
                            "name": "FunctionCall",
                            "src": "4504:36:18"
                          }
                        ],
                        "id": 6362,
                        "name": "IndexAccess",
                        "src": "4493:48:18"
                      }
                    ],
                    "id": 6363,
                    "name": "VariableDeclarationStatement",
                    "src": "4456:85:18"
                  },
                  {
                    "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,
                              "member_name": "orgNativeTokenFee",
                              "referencedDeclaration": 6264,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6357,
                                  "type": "struct ContributionReward.Parameters memory",
                                  "value": "controllerParams"
                                },
                                "id": 6364,
                                "name": "Identifier",
                                "src": "4608:16:18"
                              }
                            ],
                            "id": 6365,
                            "name": "MemberAccess",
                            "src": "4608:34:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 6366,
                            "name": "Literal",
                            "src": "4645:1:18"
                          }
                        ],
                        "id": 6367,
                        "name": "BinaryOperation",
                        "src": "4608:38:18"
                      },
                      {
                        "children": [
                          {
                            "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_contract$_Avatar_$3065",
                                          "typeString": "contract Avatar"
                                        },
                                        {
                                          "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,
                                          "arguments": [
                                            null
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "contract DAOToken",
                                          "type_conversion": false
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                null
                                              ],
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "nativeToken",
                                              "referencedDeclaration": 2796,
                                              "type": "function () view external returns (contract DAOToken)"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 6341,
                                                  "type": "contract Avatar",
                                                  "value": "_avatar"
                                                },
                                                "id": 6368,
                                                "name": "Identifier",
                                                "src": "4662:7:18"
                                              }
                                            ],
                                            "id": 6370,
                                            "name": "MemberAccess",
                                            "src": "4662:19:18"
                                          }
                                        ],
                                        "id": 6371,
                                        "name": "FunctionCall",
                                        "src": "4662:21:18"
                                      }
                                    ],
                                    "id": 6372,
                                    "name": "MemberAccess",
                                    "src": "4662:34:18"
                                  },
                                  {
                                    "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": 6373,
                                        "name": "Identifier",
                                        "src": "4697:3:18"
                                      }
                                    ],
                                    "id": 6374,
                                    "name": "MemberAccess",
                                    "src": "4697:10:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6341,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 6375,
                                    "name": "Identifier",
                                    "src": "4709:7:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "orgNativeTokenFee",
                                      "referencedDeclaration": 6264,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6357,
                                          "type": "struct ContributionReward.Parameters memory",
                                          "value": "controllerParams"
                                        },
                                        "id": 6376,
                                        "name": "Identifier",
                                        "src": "4718:16:18"
                                      }
                                    ],
                                    "id": 6377,
                                    "name": "MemberAccess",
                                    "src": "4718:34:18"
                                  }
                                ],
                                "id": 6378,
                                "name": "FunctionCall",
                                "src": "4662:91:18"
                              }
                            ],
                            "id": 6379,
                            "name": "ExpressionStatement",
                            "src": "4662:91:18"
                          }
                        ],
                        "id": 6380,
                        "name": "Block",
                        "src": "4648:116:18"
                      }
                    ],
                    "id": 6381,
                    "name": "IfStatement",
                    "src": "4604:160:18"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        6383
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "contributionId",
                          "scope": 6465,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 6382,
                            "name": "ElementaryTypeName",
                            "src": "4774:7:18"
                          }
                        ],
                        "id": 6383,
                        "name": "VariableDeclaration",
                        "src": "4774:22:18"
                      },
                      {
                        "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_rational_2_by_1",
                                  "typeString": "int_const 2"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_contract$_ExecutableInterface_$6617",
                                  "typeString": "contract ExecutableInterface"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "propose",
                              "referencedDeclaration": 2563,
                              "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "intVote",
                                  "referencedDeclaration": 6268,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6357,
                                      "type": "struct ContributionReward.Parameters memory",
                                      "value": "controllerParams"
                                    },
                                    "id": 6384,
                                    "name": "Identifier",
                                    "src": "4799:16:18"
                                  }
                                ],
                                "id": 6385,
                                "name": "MemberAccess",
                                "src": "4799:24:18"
                              }
                            ],
                            "id": 6386,
                            "name": "MemberAccess",
                            "src": "4799:32:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 6387,
                            "name": "Literal",
                            "src": "4832:1:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voteApproveParams",
                              "referencedDeclaration": 6266,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6357,
                                  "type": "struct ContributionReward.Parameters memory",
                                  "value": "controllerParams"
                                },
                                "id": 6388,
                                "name": "Identifier",
                                "src": "4835:16:18"
                              }
                            ],
                            "id": 6389,
                            "name": "MemberAccess",
                            "src": "4835:34:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6341,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 6390,
                            "name": "Identifier",
                            "src": "4871:7:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract ExecutableInterface",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_ContributionReward_$6602",
                                      "typeString": "contract ContributionReward"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6617,
                                  "type": "type(contract ExecutableInterface)",
                                  "value": "ExecutableInterface"
                                },
                                "id": 6391,
                                "name": "Identifier",
                                "src": "4880:19:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10942,
                                  "type": "contract ContributionReward",
                                  "value": "this"
                                },
                                "id": 6392,
                                "name": "Identifier",
                                "src": "4900:4:18"
                              }
                            ],
                            "id": 6393,
                            "name": "FunctionCall",
                            "src": "4880:25:18"
                          }
                        ],
                        "id": 6394,
                        "name": "FunctionCall",
                        "src": "4799:107:18"
                      }
                    ],
                    "id": 6395,
                    "name": "VariableDeclarationStatement",
                    "src": "4774:132:18"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        6397
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "beneficiary",
                          "scope": 6465,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "address",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 6396,
                            "name": "ElementaryTypeName",
                            "src": "4959:7:18"
                          }
                        ],
                        "id": 6397,
                        "name": "VariableDeclaration",
                        "src": "4959:19:18"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 6351,
                          "type": "address",
                          "value": "_beneficiary"
                        },
                        "id": 6398,
                        "name": "Identifier",
                        "src": "4981:12:18"
                      }
                    ],
                    "id": 6399,
                    "name": "VariableDeclarationStatement",
                    "src": "4959:34:18"
                  },
                  {
                    "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,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6397,
                              "type": "address",
                              "value": "beneficiary"
                            },
                            "id": 6400,
                            "name": "Identifier",
                            "src": "5007:11:18"
                          },
                          {
                            "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": 6401,
                                "name": "ElementaryTypeNameExpression",
                                "src": "5022:7:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 6402,
                                "name": "Literal",
                                "src": "5030:1:18"
                              }
                            ],
                            "id": 6403,
                            "name": "FunctionCall",
                            "src": "5022:10:18"
                          }
                        ],
                        "id": 6404,
                        "name": "BinaryOperation",
                        "src": "5007:25:18"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "=",
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6397,
                                      "type": "address",
                                      "value": "beneficiary"
                                    },
                                    "id": 6405,
                                    "name": "Identifier",
                                    "src": "5048:11:18"
                                  },
                                  {
                                    "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": 6406,
                                        "name": "Identifier",
                                        "src": "5062:3:18"
                                      }
                                    ],
                                    "id": 6407,
                                    "name": "MemberAccess",
                                    "src": "5062:10:18"
                                  }
                                ],
                                "id": 6408,
                                "name": "Assignment",
                                "src": "5048:24:18"
                              }
                            ],
                            "id": 6409,
                            "name": "ExpressionStatement",
                            "src": "5048:24:18"
                          }
                        ],
                        "id": 6410,
                        "name": "Block",
                        "src": "5034:49:18"
                      }
                    ],
                    "id": 6411,
                    "name": "IfStatement",
                    "src": "5003:80:18"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        6413
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 6465,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct ContributionReward.ContributionProposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "ContributionProposal",
                              "referencedDeclaration": 6256,
                              "type": "struct ContributionReward.ContributionProposal storage pointer"
                            },
                            "id": 6412,
                            "name": "UserDefinedTypeName",
                            "src": "5120:20:18"
                          }
                        ],
                        "id": 6413,
                        "name": "VariableDeclaration",
                        "src": "5120:36:18"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": true,
                          "lValueRequested": false,
                          "names": [
                            "contributionDescriptionHash",
                            "nativeTokenReward",
                            "reputationReward",
                            "ethReward",
                            "externalToken",
                            "externalTokenReward",
                            "beneficiary"
                          ],
                          "type": "struct ContributionReward.ContributionProposal memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6256,
                              "type": "type(struct ContributionReward.ContributionProposal storage pointer)",
                              "value": "ContributionProposal"
                            },
                            "id": 6414,
                            "name": "Identifier",
                            "src": "5159:20:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6343,
                              "type": "bytes32",
                              "value": "_contributionDescriptionHash"
                            },
                            "id": 6415,
                            "name": "Identifier",
                            "src": "5223:28:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6347,
                                  "type": "uint256[4] memory",
                                  "value": "_rewards"
                                },
                                "id": 6416,
                                "name": "Identifier",
                                "src": "5284:8:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 6417,
                                "name": "Literal",
                                "src": "5293:1:18"
                              }
                            ],
                            "id": 6418,
                            "name": "IndexAccess",
                            "src": "5284:11:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6347,
                                  "type": "uint256[4] memory",
                                  "value": "_rewards"
                                },
                                "id": 6419,
                                "name": "Identifier",
                                "src": "5327:8:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 6420,
                                "name": "Literal",
                                "src": "5336:1:18"
                              }
                            ],
                            "id": 6421,
                            "name": "IndexAccess",
                            "src": "5327:11:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6347,
                                  "type": "uint256[4] memory",
                                  "value": "_rewards"
                                },
                                "id": 6422,
                                "name": "Identifier",
                                "src": "5363:8:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "32",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 2",
                                  "value": "2"
                                },
                                "id": 6423,
                                "name": "Literal",
                                "src": "5372:1:18"
                              }
                            ],
                            "id": 6424,
                            "name": "IndexAccess",
                            "src": "5363:11:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6349,
                              "type": "contract StandardToken",
                              "value": "_externalToken"
                            },
                            "id": 6425,
                            "name": "Identifier",
                            "src": "5403:14:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6347,
                                  "type": "uint256[4] memory",
                                  "value": "_rewards"
                                },
                                "id": 6426,
                                "name": "Identifier",
                                "src": "5452:8:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "33",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 3",
                                  "value": "3"
                                },
                                "id": 6427,
                                "name": "Literal",
                                "src": "5461:1:18"
                              }
                            ],
                            "id": 6428,
                            "name": "IndexAccess",
                            "src": "5452:11:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6397,
                              "type": "address",
                              "value": "beneficiary"
                            },
                            "id": 6429,
                            "name": "Identifier",
                            "src": "5490:11:18"
                          }
                        ],
                        "id": 6430,
                        "name": "FunctionCall",
                        "src": "5159:353:18"
                      }
                    ],
                    "id": 6431,
                    "name": "VariableDeclarationStatement",
                    "src": "5120:392:18"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct ContributionReward.ContributionProposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct ContributionReward.ContributionProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6262,
                                      "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))",
                                      "value": "organizationsProposals"
                                    },
                                    "id": 6432,
                                    "name": "Identifier",
                                    "src": "5522:22:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6341,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 6433,
                                    "name": "Identifier",
                                    "src": "5545:7:18"
                                  }
                                ],
                                "id": 6435,
                                "name": "IndexAccess",
                                "src": "5522:31:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6383,
                                  "type": "bytes32",
                                  "value": "contributionId"
                                },
                                "id": 6434,
                                "name": "Identifier",
                                "src": "5554:14:18"
                              }
                            ],
                            "id": 6436,
                            "name": "IndexAccess",
                            "src": "5522:47:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6413,
                              "type": "struct ContributionReward.ContributionProposal memory",
                              "value": "proposal"
                            },
                            "id": 6437,
                            "name": "Identifier",
                            "src": "5572:8:18"
                          }
                        ],
                        "id": 6438,
                        "name": "Assignment",
                        "src": "5522:58:18"
                      }
                    ],
                    "id": 6439,
                    "name": "ExpressionStatement",
                    "src": "5522:58:18"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr",
                                  "typeString": "uint256[4] memory"
                                },
                                {
                                  "typeIdentifier": "t_contract$_StandardToken_$10855",
                                  "typeString": "contract StandardToken"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6229,
                              "type": "function (address,bytes32,address,bytes32,uint256[4] memory,contract StandardToken,address)",
                              "value": "NewContributionProposal"
                            },
                            "id": 6440,
                            "name": "Identifier",
                            "src": "5591:23:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6341,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 6441,
                            "name": "Identifier",
                            "src": "5628:7:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6383,
                              "type": "bytes32",
                              "value": "contributionId"
                            },
                            "id": 6442,
                            "name": "Identifier",
                            "src": "5649:14:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "intVote",
                              "referencedDeclaration": 6268,
                              "type": "contract IntVoteInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6357,
                                  "type": "struct ContributionReward.Parameters memory",
                                  "value": "controllerParams"
                                },
                                "id": 6443,
                                "name": "Identifier",
                                "src": "5677:16:18"
                              }
                            ],
                            "id": 6444,
                            "name": "MemberAccess",
                            "src": "5677:24:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6343,
                              "type": "bytes32",
                              "value": "_contributionDescriptionHash"
                            },
                            "id": 6445,
                            "name": "Identifier",
                            "src": "5715:28:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6347,
                              "type": "uint256[4] memory",
                              "value": "_rewards"
                            },
                            "id": 6446,
                            "name": "Identifier",
                            "src": "5757:8:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6349,
                              "type": "contract StandardToken",
                              "value": "_externalToken"
                            },
                            "id": 6447,
                            "name": "Identifier",
                            "src": "5779:14:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6397,
                              "type": "address",
                              "value": "beneficiary"
                            },
                            "id": 6448,
                            "name": "Identifier",
                            "src": "5807:11:18"
                          }
                        ],
                        "id": 6449,
                        "name": "FunctionCall",
                        "src": "5591:237:18"
                      }
                    ],
                    "id": 6450,
                    "name": "ExpressionStatement",
                    "src": "5591:237:18"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "ownerVote",
                              "referencedDeclaration": 2590,
                              "type": "function (bytes32,uint256,address) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "intVote",
                                  "referencedDeclaration": 6268,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6357,
                                      "type": "struct ContributionReward.Parameters memory",
                                      "value": "controllerParams"
                                    },
                                    "id": 6451,
                                    "name": "Identifier",
                                    "src": "5873:16:18"
                                  }
                                ],
                                "id": 6454,
                                "name": "MemberAccess",
                                "src": "5873:24:18"
                              }
                            ],
                            "id": 6455,
                            "name": "MemberAccess",
                            "src": "5873:34:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6383,
                              "type": "bytes32",
                              "value": "contributionId"
                            },
                            "id": 6456,
                            "name": "Identifier",
                            "src": "5908:14:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 6457,
                            "name": "Literal",
                            "src": "5924:1:18"
                          },
                          {
                            "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": 6458,
                                "name": "Identifier",
                                "src": "5927:3:18"
                              }
                            ],
                            "id": 6459,
                            "name": "MemberAccess",
                            "src": "5927:10:18"
                          }
                        ],
                        "id": 6460,
                        "name": "FunctionCall",
                        "src": "5873:65:18"
                      }
                    ],
                    "id": 6461,
                    "name": "ExpressionStatement",
                    "src": "5873:65:18"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 6355
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 6383,
                          "type": "bytes32",
                          "value": "contributionId"
                        },
                        "id": 6462,
                        "name": "Identifier",
                        "src": "6011:14:18"
                      }
                    ],
                    "id": 6463,
                    "name": "Return",
                    "src": "6004:21:18"
                  }
                ],
                "id": 6464,
                "name": "Block",
                "src": "4446:1586:18"
              }
            ],
            "id": 6465,
            "name": "FunctionDefinition",
            "src": "4207:1825:18"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "execute",
              "payable": false,
              "scope": 6602,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 6601,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6466,
                        "name": "ElementaryTypeName",
                        "src": "6364:7:18"
                      }
                    ],
                    "id": 6467,
                    "name": "VariableDeclaration",
                    "src": "6364:19:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 6601,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6468,
                        "name": "ElementaryTypeName",
                        "src": "6385:7:18"
                      }
                    ],
                    "id": 6469,
                    "name": "VariableDeclaration",
                    "src": "6385:15:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_param",
                      "scope": 6601,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int",
                          "type": "int256"
                        },
                        "id": 6470,
                        "name": "ElementaryTypeName",
                        "src": "6402:3:18"
                      }
                    ],
                    "id": 6471,
                    "name": "VariableDeclaration",
                    "src": "6402:10:18"
                  }
                ],
                "id": 6472,
                "name": "ParameterList",
                "src": "6363:50:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 6601,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 6473,
                        "name": "ElementaryTypeName",
                        "src": "6429:4:18"
                      }
                    ],
                    "id": 6474,
                    "name": "VariableDeclaration",
                    "src": "6429:4:18"
                  }
                ],
                "id": 6475,
                "name": "ParameterList",
                "src": "6428:6:18"
              },
              {
                "children": [
                  {
                    "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_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 6476,
                            "name": "Identifier",
                            "src": "6503:7:18"
                          },
                          {
                            "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": "intVote",
                                  "referencedDeclaration": 6268,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct ContributionReward.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6273,
                                          "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 6477,
                                        "name": "Identifier",
                                        "src": "6511:10:18"
                                      },
                                      {
                                        "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": 6478,
                                            "name": "Identifier",
                                            "src": "6522:27:18"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "contract Avatar",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 3065,
                                                  "type": "type(contract Avatar)",
                                                  "value": "Avatar"
                                                },
                                                "id": 6479,
                                                "name": "Identifier",
                                                "src": "6550:6:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 6469,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 6480,
                                                "name": "Identifier",
                                                "src": "6557:7:18"
                                              }
                                            ],
                                            "id": 6481,
                                            "name": "FunctionCall",
                                            "src": "6550:15:18"
                                          }
                                        ],
                                        "id": 6482,
                                        "name": "FunctionCall",
                                        "src": "6522:44:18"
                                      }
                                    ],
                                    "id": 6483,
                                    "name": "IndexAccess",
                                    "src": "6511:56:18"
                                  }
                                ],
                                "id": 6484,
                                "name": "MemberAccess",
                                "src": "6511:64:18"
                              },
                              {
                                "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": 6485,
                                    "name": "Identifier",
                                    "src": "6579:3:18"
                                  }
                                ],
                                "id": 6486,
                                "name": "MemberAccess",
                                "src": "6579:10:18"
                              }
                            ],
                            "id": 6487,
                            "name": "BinaryOperation",
                            "src": "6511:78:18"
                          }
                        ],
                        "id": 6488,
                        "name": "FunctionCall",
                        "src": "6503:87:18"
                      }
                    ],
                    "id": 6489,
                    "name": "ExpressionStatement",
                    "src": "6503:87:18"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6471,
                              "type": "int256",
                              "value": "_param"
                            },
                            "id": 6490,
                            "name": "Identifier",
                            "src": "6645:6:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 6491,
                            "name": "Literal",
                            "src": "6655:1:18"
                          }
                        ],
                        "id": 6492,
                        "name": "BinaryOperation",
                        "src": "6645:11:18"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                6494
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "proposal",
                                  "scope": 6601,
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "type": "struct ContributionReward.ContributionProposal memory",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "ContributionProposal",
                                      "referencedDeclaration": 6256,
                                      "type": "struct ContributionReward.ContributionProposal storage pointer"
                                    },
                                    "id": 6493,
                                    "name": "UserDefinedTypeName",
                                    "src": "6721:20:18"
                                  }
                                ],
                                "id": 6494,
                                "name": "VariableDeclaration",
                                "src": "6721:36:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct ContributionReward.ContributionProposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6262,
                                          "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))",
                                          "value": "organizationsProposals"
                                        },
                                        "id": 6495,
                                        "name": "Identifier",
                                        "src": "6760:22:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6469,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 6496,
                                        "name": "Identifier",
                                        "src": "6783:7:18"
                                      }
                                    ],
                                    "id": 6497,
                                    "name": "IndexAccess",
                                    "src": "6760:31:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6467,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 6498,
                                    "name": "Identifier",
                                    "src": "6792:11:18"
                                  }
                                ],
                                "id": 6499,
                                "name": "IndexAccess",
                                "src": "6760:44:18"
                              }
                            ],
                            "id": 6500,
                            "name": "VariableDeclarationStatement",
                            "src": "6721:83:18"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                6502
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "controller",
                                  "scope": 6601,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "contract ControllerInterface",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "ControllerInterface",
                                      "referencedDeclaration": 4364,
                                      "type": "contract ControllerInterface"
                                    },
                                    "id": 6501,
                                    "name": "UserDefinedTypeName",
                                    "src": "6845:19:18"
                                  }
                                ],
                                "id": 6502,
                                "name": "VariableDeclaration",
                                "src": "6845:30:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract ControllerInterface",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 4364,
                                      "type": "type(contract ControllerInterface)",
                                      "value": "ControllerInterface"
                                    },
                                    "id": 6503,
                                    "name": "Identifier",
                                    "src": "6878:19:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        null
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "address",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            null
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "owner",
                                          "referencedDeclaration": 10249,
                                          "type": "function () view external returns (address)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "contract Avatar",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 3065,
                                                  "type": "type(contract Avatar)",
                                                  "value": "Avatar"
                                                },
                                                "id": 6504,
                                                "name": "Identifier",
                                                "src": "6898:6:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 6469,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 6505,
                                                "name": "Identifier",
                                                "src": "6905:7:18"
                                              }
                                            ],
                                            "id": 6506,
                                            "name": "FunctionCall",
                                            "src": "6898:15:18"
                                          }
                                        ],
                                        "id": 6507,
                                        "name": "MemberAccess",
                                        "src": "6898:21:18"
                                      }
                                    ],
                                    "id": 6508,
                                    "name": "FunctionCall",
                                    "src": "6898:23:18"
                                  }
                                ],
                                "id": 6509,
                                "name": "FunctionCall",
                                "src": "6878:44:18"
                              }
                            ],
                            "id": 6510,
                            "name": "VariableDeclarationStatement",
                            "src": "6845:77:18"
                          },
                          {
                            "attributes": {
                              "falseBody": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "!",
                                  "prefix": true,
                                  "type": "bool"
                                },
                                "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_int256",
                                              "typeString": "int256"
                                            },
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            },
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "mintReputation",
                                          "referencedDeclaration": 4176,
                                          "type": "function (int256,address,address) external returns (bool)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6502,
                                              "type": "contract ControllerInterface",
                                              "value": "controller"
                                            },
                                            "id": 6511,
                                            "name": "Identifier",
                                            "src": "6941:10:18"
                                          }
                                        ],
                                        "id": 6512,
                                        "name": "MemberAccess",
                                        "src": "6941:25:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "int256",
                                          "type_conversion": true
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              ],
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "type": "type(int256)",
                                              "value": "int"
                                            },
                                            "id": 6513,
                                            "name": "ElementaryTypeNameExpression",
                                            "src": "6967:3:18"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "reputationReward",
                                              "referencedDeclaration": 6247,
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 6494,
                                                  "type": "struct ContributionReward.ContributionProposal memory",
                                                  "value": "proposal"
                                                },
                                                "id": 6514,
                                                "name": "Identifier",
                                                "src": "6971:8:18"
                                              }
                                            ],
                                            "id": 6515,
                                            "name": "MemberAccess",
                                            "src": "6971:25:18"
                                          }
                                        ],
                                        "id": 6516,
                                        "name": "FunctionCall",
                                        "src": "6967:30:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "beneficiary",
                                          "referencedDeclaration": 6255,
                                          "type": "address"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6494,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6517,
                                            "name": "Identifier",
                                            "src": "6999:8:18"
                                          }
                                        ],
                                        "id": 6518,
                                        "name": "MemberAccess",
                                        "src": "6999:20:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6469,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 6519,
                                        "name": "Identifier",
                                        "src": "7020:7:18"
                                      }
                                    ],
                                    "id": 6520,
                                    "name": "FunctionCall",
                                    "src": "6941:87:18"
                                  }
                                ],
                                "id": 6521,
                                "name": "UnaryOperation",
                                "src": "6940:88:18"
                              },
                              {
                                "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": 6522,
                                            "name": "Identifier",
                                            "src": "7048:6:18"
                                          }
                                        ],
                                        "id": 6523,
                                        "name": "FunctionCall",
                                        "src": "7048:8:18"
                                      }
                                    ],
                                    "id": 6524,
                                    "name": "ExpressionStatement",
                                    "src": "7048:8:18"
                                  }
                                ],
                                "id": 6525,
                                "name": "Block",
                                "src": "7030:43:18"
                              }
                            ],
                            "id": 6526,
                            "name": "IfStatement",
                            "src": "6936:137:18"
                          },
                          {
                            "attributes": {
                              "falseBody": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "!",
                                  "prefix": true,
                                  "type": "bool"
                                },
                                "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_uint256",
                                              "typeString": "uint256"
                                            },
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            },
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "mintTokens",
                                          "referencedDeclaration": 4187,
                                          "type": "function (uint256,address,address) external returns (bool)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6502,
                                              "type": "contract ControllerInterface",
                                              "value": "controller"
                                            },
                                            "id": 6527,
                                            "name": "Identifier",
                                            "src": "7091:10:18"
                                          }
                                        ],
                                        "id": 6528,
                                        "name": "MemberAccess",
                                        "src": "7091:21:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "nativeTokenReward",
                                          "referencedDeclaration": 6245,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6494,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6529,
                                            "name": "Identifier",
                                            "src": "7113:8:18"
                                          }
                                        ],
                                        "id": 6530,
                                        "name": "MemberAccess",
                                        "src": "7113:26:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "beneficiary",
                                          "referencedDeclaration": 6255,
                                          "type": "address"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6494,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6531,
                                            "name": "Identifier",
                                            "src": "7141:8:18"
                                          }
                                        ],
                                        "id": 6532,
                                        "name": "MemberAccess",
                                        "src": "7141:20:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6469,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 6533,
                                        "name": "Identifier",
                                        "src": "7162:7:18"
                                      }
                                    ],
                                    "id": 6534,
                                    "name": "FunctionCall",
                                    "src": "7091:79:18"
                                  }
                                ],
                                "id": 6535,
                                "name": "UnaryOperation",
                                "src": "7090:80:18"
                              },
                              {
                                "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": 6536,
                                            "name": "Identifier",
                                            "src": "7190:6:18"
                                          }
                                        ],
                                        "id": 6537,
                                        "name": "FunctionCall",
                                        "src": "7190:8:18"
                                      }
                                    ],
                                    "id": 6538,
                                    "name": "ExpressionStatement",
                                    "src": "7190:8:18"
                                  }
                                ],
                                "id": 6539,
                                "name": "Block",
                                "src": "7172:43:18"
                              }
                            ],
                            "id": 6540,
                            "name": "IfStatement",
                            "src": "7086:129:18"
                          },
                          {
                            "attributes": {
                              "falseBody": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "!",
                                  "prefix": true,
                                  "type": "bool"
                                },
                                "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_uint256",
                                              "typeString": "uint256"
                                            },
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            },
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "sendEther",
                                          "referencedDeclaration": 4309,
                                          "type": "function (uint256,address,address) external returns (bool)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6502,
                                              "type": "contract ControllerInterface",
                                              "value": "controller"
                                            },
                                            "id": 6541,
                                            "name": "Identifier",
                                            "src": "7233:10:18"
                                          }
                                        ],
                                        "id": 6542,
                                        "name": "MemberAccess",
                                        "src": "7233:20:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "ethReward",
                                          "referencedDeclaration": 6249,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6494,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6543,
                                            "name": "Identifier",
                                            "src": "7254:8:18"
                                          }
                                        ],
                                        "id": 6544,
                                        "name": "MemberAccess",
                                        "src": "7254:18:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "beneficiary",
                                          "referencedDeclaration": 6255,
                                          "type": "address"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6494,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6545,
                                            "name": "Identifier",
                                            "src": "7274:8:18"
                                          }
                                        ],
                                        "id": 6546,
                                        "name": "MemberAccess",
                                        "src": "7274:20:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6469,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 6547,
                                        "name": "Identifier",
                                        "src": "7295:7:18"
                                      }
                                    ],
                                    "id": 6548,
                                    "name": "FunctionCall",
                                    "src": "7233:70:18"
                                  }
                                ],
                                "id": 6549,
                                "name": "UnaryOperation",
                                "src": "7232:71:18"
                              },
                              {
                                "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": 6550,
                                            "name": "Identifier",
                                            "src": "7323:6:18"
                                          }
                                        ],
                                        "id": 6551,
                                        "name": "FunctionCall",
                                        "src": "7323:8:18"
                                      }
                                    ],
                                    "id": 6552,
                                    "name": "ExpressionStatement",
                                    "src": "7323:8:18"
                                  }
                                ],
                                "id": 6553,
                                "name": "Block",
                                "src": "7305:43:18"
                              }
                            ],
                            "id": 6554,
                            "name": "IfStatement",
                            "src": "7228:120:18"
                          },
                          {
                            "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,
                                      "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": "externalToken",
                                          "referencedDeclaration": 6251,
                                          "type": "contract StandardToken"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6494,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6555,
                                            "name": "Identifier",
                                            "src": "7365:8:18"
                                          }
                                        ],
                                        "id": 6556,
                                        "name": "MemberAccess",
                                        "src": "7365:22:18"
                                      },
                                      {
                                        "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": 6557,
                                            "name": "ElementaryTypeNameExpression",
                                            "src": "7391:7:18"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "30",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "number",
                                              "type": "int_const 0",
                                              "value": "0"
                                            },
                                            "id": 6558,
                                            "name": "Literal",
                                            "src": "7399:1:18"
                                          }
                                        ],
                                        "id": 6559,
                                        "name": "FunctionCall",
                                        "src": "7391:10:18"
                                      }
                                    ],
                                    "id": 6560,
                                    "name": "BinaryOperation",
                                    "src": "7365:36:18"
                                  },
                                  {
                                    "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,
                                          "member_name": "externalTokenReward",
                                          "referencedDeclaration": 6253,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6494,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6561,
                                            "name": "Identifier",
                                            "src": "7405:8:18"
                                          }
                                        ],
                                        "id": 6562,
                                        "name": "MemberAccess",
                                        "src": "7405:28:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "hexvalue": "30",
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "subdenomination": null,
                                          "token": "number",
                                          "type": "int_const 0",
                                          "value": "0"
                                        },
                                        "id": 6563,
                                        "name": "Literal",
                                        "src": "7436:1:18"
                                      }
                                    ],
                                    "id": 6564,
                                    "name": "BinaryOperation",
                                    "src": "7405:32:18"
                                  }
                                ],
                                "id": 6565,
                                "name": "BinaryOperation",
                                "src": "7365:72:18"
                              },
                              {
                                "children": [
                                  {
                                    "attributes": {
                                      "falseBody": null
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "!",
                                          "prefix": true,
                                          "type": "bool"
                                        },
                                        "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_contract$_StandardToken_$10855",
                                                      "typeString": "contract StandardToken"
                                                    },
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    },
                                                    {
                                                      "typeIdentifier": "t_uint256",
                                                      "typeString": "uint256"
                                                    },
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "externalTokenTransfer",
                                                  "referencedDeclaration": 4322,
                                                  "type": "function (contract StandardToken,address,uint256,address) external returns (bool)"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 6502,
                                                      "type": "contract ControllerInterface",
                                                      "value": "controller"
                                                    },
                                                    "id": 6566,
                                                    "name": "Identifier",
                                                    "src": "7462:10:18"
                                                  }
                                                ],
                                                "id": 6567,
                                                "name": "MemberAccess",
                                                "src": "7462:32:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "externalToken",
                                                  "referencedDeclaration": 6251,
                                                  "type": "contract StandardToken"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 6494,
                                                      "type": "struct ContributionReward.ContributionProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 6568,
                                                    "name": "Identifier",
                                                    "src": "7495:8:18"
                                                  }
                                                ],
                                                "id": 6569,
                                                "name": "MemberAccess",
                                                "src": "7495:22:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "beneficiary",
                                                  "referencedDeclaration": 6255,
                                                  "type": "address"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 6494,
                                                      "type": "struct ContributionReward.ContributionProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 6570,
                                                    "name": "Identifier",
                                                    "src": "7519:8:18"
                                                  }
                                                ],
                                                "id": 6571,
                                                "name": "MemberAccess",
                                                "src": "7519:20:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "externalTokenReward",
                                                  "referencedDeclaration": 6253,
                                                  "type": "uint256"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 6494,
                                                      "type": "struct ContributionReward.ContributionProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 6572,
                                                    "name": "Identifier",
                                                    "src": "7541:8:18"
                                                  }
                                                ],
                                                "id": 6573,
                                                "name": "MemberAccess",
                                                "src": "7541:28:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 6469,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 6574,
                                                "name": "Identifier",
                                                "src": "7570:7:18"
                                              }
                                            ],
                                            "id": 6575,
                                            "name": "FunctionCall",
                                            "src": "7462:116:18"
                                          }
                                        ],
                                        "id": 6576,
                                        "name": "UnaryOperation",
                                        "src": "7461:117:18"
                                      },
                                      {
                                        "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": 6577,
                                                    "name": "Identifier",
                                                    "src": "7602:6:18"
                                                  }
                                                ],
                                                "id": 6578,
                                                "name": "FunctionCall",
                                                "src": "7602:8:18"
                                              }
                                            ],
                                            "id": 6579,
                                            "name": "ExpressionStatement",
                                            "src": "7602:8:18"
                                          }
                                        ],
                                        "id": 6580,
                                        "name": "Block",
                                        "src": "7580:51:18"
                                      }
                                    ],
                                    "id": 6581,
                                    "name": "IfStatement",
                                    "src": "7457:174:18"
                                  }
                                ],
                                "id": 6582,
                                "name": "Block",
                                "src": "7439:210:18"
                              }
                            ],
                            "id": 6583,
                            "name": "IfStatement",
                            "src": "7361:288:18"
                          }
                        ],
                        "id": 6584,
                        "name": "Block",
                        "src": "6658:1003:18"
                      }
                    ],
                    "id": 6585,
                    "name": "IfStatement",
                    "src": "6641:1020:18"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "delete",
                          "prefix": true,
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct ContributionReward.ContributionProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6262,
                                      "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))",
                                      "value": "organizationsProposals"
                                    },
                                    "id": 6586,
                                    "name": "Identifier",
                                    "src": "7677:22:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6469,
                                      "type": "address",
                                      "value": "_avatar"
                                    },
                                    "id": 6587,
                                    "name": "Identifier",
                                    "src": "7700:7:18"
                                  }
                                ],
                                "id": 6588,
                                "name": "IndexAccess",
                                "src": "7677:31:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6467,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 6589,
                                "name": "Identifier",
                                "src": "7709:11:18"
                              }
                            ],
                            "id": 6590,
                            "name": "IndexAccess",
                            "src": "7677:44:18"
                          }
                        ],
                        "id": 6591,
                        "name": "UnaryOperation",
                        "src": "7670:51:18"
                      }
                    ],
                    "id": 6592,
                    "name": "ExpressionStatement",
                    "src": "7670:51:18"
                  },
                  {
                    "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_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6235,
                              "type": "function (address,bytes32)",
                              "value": "ProposalExecuted"
                            },
                            "id": 6593,
                            "name": "Identifier",
                            "src": "7731:16:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6469,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 6594,
                            "name": "Identifier",
                            "src": "7748:7:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6467,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 6595,
                            "name": "Identifier",
                            "src": "7757:11:18"
                          }
                        ],
                        "id": 6596,
                        "name": "FunctionCall",
                        "src": "7731:38:18"
                      }
                    ],
                    "id": 6597,
                    "name": "ExpressionStatement",
                    "src": "7731:38:18"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 6475
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 6598,
                        "name": "Literal",
                        "src": "7786:4:18"
                      }
                    ],
                    "id": 6599,
                    "name": "Return",
                    "src": "7779:11:18"
                  }
                ],
                "id": 6600,
                "name": "Block",
                "src": "6435:1362:18"
              }
            ],
            "id": 6601,
            "name": "FunctionDefinition",
            "src": "6347:1450:18"
          }
        ],
        "id": 6602,
        "name": "ContractDefinition",
        "src": "335:7464:18"
      }
    ],
    "id": 6603,
    "name": "SourceUnit",
    "src": "0:7800:18"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {
    "1516886047983": {
      "events": {},
      "links": {},
      "address": "0x31e5bee0a96e0850303d54a23138f217b4f76412"
    }
  },
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-25T13:15:04.379Z"
}