{
  "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": "_contributionDesciptionHash",
          "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": "_contributionDesciption",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_rewards",
          "type": "uint256[4]"
        },
        {
          "indexed": false,
          "name": "_externalToken",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "LogNewContributionProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "LogProposalExecuted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "LogProposalDeleted",
      "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": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a0319909116179055610ebf8061003b6000396000f30060606040526004361061008a5763ffffffff60e060020a60003504166302506804811461008f57806306e3a978146100d25780632ac2af5314610140578063310ce4e214610158578063465ff7d7146101915780637cb37d8a146101c85780638da5cb5b14610223578063b74fd44f14610252578063f2fde38b14610277578063f98e87ba14610296575b600080fd5b341561009a57600080fd5b6100a56004356102a9565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b34156100dd57600080fd5b6100f4600160a060020a03600435166024356102d3565b60405196875260208701959095526040808701949094526060860192909252600160a060020a03908116608086015260a085019190915290911660c083015260e0909101905180910390f35b341561014b57600080fd5b610156600435610325565b005b341561016357600080fd5b61017d600435600160a060020a0360243516604435610345565b604051901515815260200160405180910390f35b341561019c57600080fd5b6101b6600435602435600160a060020a03604435166107ac565b60405190815260200160405180910390f35b34156101d357600080fd5b6101b660048035600160a060020a0316906024359060c46044826080604051908101604052919082826080808284375093955050600160a060020a03843581169460200135169250610809915050565b341561022e57600080fd5b610236610c5d565b604051600160a060020a03909116815260200160405180910390f35b341561025d57600080fd5b6101b6600435602435600160a060020a0360443516610c6c565b341561028257600080fd5b610156600160a060020a0360043516610cb5565b34156102a157600080fd5b6101b6610d50565b600360205260009081526040902080546001820154600290920154909190600160a060020a031683565b60026020818152600093845260408085209091529183529120805460018201549282015460038301546004840154600585015460069095015493959492939192600160a060020a039182169290911687565b60005433600160a060020a0390811691161461034057600080fd5b600155565b600061034f610e37565b600033600160a060020a03166003600061036888610d56565b8152602081019190915260400160002060020154600160a060020a03161461038f57600080fd5b836001141561070057600160a060020a0385166000908152600260209081526040808320898452909152908190209060e0905190810160409081528254825260018301546020830152600283015481830152600383015460608301526004830154600160a060020a039081166080840152600584015460a0840152600690930154831660c083015290935090861690638da5cb5b9060009051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561045a57600080fd5b6102c65a03f1151561046b57600080fd5b5050506040518051915050600160a060020a038116636cfc658260408401518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156104e557600080fd5b6102c65a03f115156104f657600080fd5b50505060405180519050151561050b57600080fd5b80600160a060020a0316636407e43283602001518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b151561057a57600080fd5b6102c65a03f1151561058b57600080fd5b5050506040518051905015156105a057600080fd5b80600160a060020a031663634965da83606001518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b151561060f57600080fd5b6102c65a03f1151561062057600080fd5b50505060405180519050151561063557600080fd5b60006080830151600160a060020a031614158015610657575060008260a00151115b156107005780600160a060020a031663b9a04cdd83608001518460c001518560a001518960006040516020015260405160e060020a63ffffffff8716028152600160a060020a039485166004820152928416602484015260448301919091529091166064820152608401602060405180830381600087803b15156106da57600080fd5b6102c65a03f115156106eb57600080fd5b50505060405180519050151561070057600080fd5b600160a060020a03851660008181526002602081815260408084208b8552909152808320838155600181018490559182018390556003820183905560048201805473ffffffffffffffffffffffffffffffffffffffff199081169091556005830193909355600690910180549092169091558791907f1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9905160405180910390a350600195945050505050565b6000806107ba858585610c6c565b6000818152600360205260409020958655600186019490945550506002909201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03939093169290921790915590565b6000610813610e73565b60008061081e610e37565b6003600061082b8c610d56565b815260208101919091526040908101600020906060905190810160409081528254825260018301546020830152600290920154600160a060020a03169181019190915293506000845111156109615789600160a060020a031663e1758bd86000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108c057600080fd5b6102c65a03f115156108d157600080fd5b5050506040518051600160a060020a031690506323b872dd338c875160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561094557600080fd5b6102c65a03f1151561095657600080fd5b505050604051805150505b8360400151600160a060020a03166388737b5e600286602001518d3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b15156109da57600080fd5b6102c65a03f115156109eb57600080fd5b5050506040518051935086925050600160a060020a0382161515610a0d573391505b60e060405190810160405289815260208101895181526020018960016020020151815260200160408a01518152600160a060020a038916602082015260400160608a01518152600160a060020a038085166020928301528c16600090815260028252604080822087835290925220909150819081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560a0820151816005015560c0820151600691909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055506040840151600160a060020a031683600019168b600160a060020a03167f5eb8c27cf2315332611583caad2b811e4c9d3ecd3ffa83960015279bcd50d7178c8c8c886040518481526020810184608080838360005b83811015610b83578082015183820152602001610b6b565b5050505090500183600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200194505050505060405180910390a48360400151600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610c3457600080fd5b6102c65a03f11515610c4557600080fd5b505050604051805150929a9950505050505050505050565b600054600160a060020a031681565b60008284836040519283526020830191909152600160a060020a03166c010000000000000000000000000260408083019190915260549091019051809103902090509392505050565b60005433600160a060020a03908116911614610cd057600080fd5b600160a060020a0381161515610ce557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d9e57600080fd5b6102c65a03f11515610daf57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610e1757600080fd5b6102c65a03f11515610e2857600080fd5b50505060405180519392505050565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820e0cb3f2b86473c7406489acee35087525cbcf21da5823c95ff7e71dd5d6014a20029",
  "deployedBytecode": "0x60606040526004361061008a5763ffffffff60e060020a60003504166302506804811461008f57806306e3a978146100d25780632ac2af5314610140578063310ce4e214610158578063465ff7d7146101915780637cb37d8a146101c85780638da5cb5b14610223578063b74fd44f14610252578063f2fde38b14610277578063f98e87ba14610296575b600080fd5b341561009a57600080fd5b6100a56004356102a9565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b34156100dd57600080fd5b6100f4600160a060020a03600435166024356102d3565b60405196875260208701959095526040808701949094526060860192909252600160a060020a03908116608086015260a085019190915290911660c083015260e0909101905180910390f35b341561014b57600080fd5b610156600435610325565b005b341561016357600080fd5b61017d600435600160a060020a0360243516604435610345565b604051901515815260200160405180910390f35b341561019c57600080fd5b6101b6600435602435600160a060020a03604435166107ac565b60405190815260200160405180910390f35b34156101d357600080fd5b6101b660048035600160a060020a0316906024359060c46044826080604051908101604052919082826080808284375093955050600160a060020a03843581169460200135169250610809915050565b341561022e57600080fd5b610236610c5d565b604051600160a060020a03909116815260200160405180910390f35b341561025d57600080fd5b6101b6600435602435600160a060020a0360443516610c6c565b341561028257600080fd5b610156600160a060020a0360043516610cb5565b34156102a157600080fd5b6101b6610d50565b600360205260009081526040902080546001820154600290920154909190600160a060020a031683565b60026020818152600093845260408085209091529183529120805460018201549282015460038301546004840154600585015460069095015493959492939192600160a060020a039182169290911687565b60005433600160a060020a0390811691161461034057600080fd5b600155565b600061034f610e37565b600033600160a060020a03166003600061036888610d56565b8152602081019190915260400160002060020154600160a060020a03161461038f57600080fd5b836001141561070057600160a060020a0385166000908152600260209081526040808320898452909152908190209060e0905190810160409081528254825260018301546020830152600283015481830152600383015460608301526004830154600160a060020a039081166080840152600584015460a0840152600690930154831660c083015290935090861690638da5cb5b9060009051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561045a57600080fd5b6102c65a03f1151561046b57600080fd5b5050506040518051915050600160a060020a038116636cfc658260408401518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b15156104e557600080fd5b6102c65a03f115156104f657600080fd5b50505060405180519050151561050b57600080fd5b80600160a060020a0316636407e43283602001518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b151561057a57600080fd5b6102c65a03f1151561058b57600080fd5b5050506040518051905015156105a057600080fd5b80600160a060020a031663634965da83606001518460c001518860006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039182166024840152166044820152606401602060405180830381600087803b151561060f57600080fd5b6102c65a03f1151561062057600080fd5b50505060405180519050151561063557600080fd5b60006080830151600160a060020a031614158015610657575060008260a00151115b156107005780600160a060020a031663b9a04cdd83608001518460c001518560a001518960006040516020015260405160e060020a63ffffffff8716028152600160a060020a039485166004820152928416602484015260448301919091529091166064820152608401602060405180830381600087803b15156106da57600080fd5b6102c65a03f115156106eb57600080fd5b50505060405180519050151561070057600080fd5b600160a060020a03851660008181526002602081815260408084208b8552909152808320838155600181018490559182018390556003820183905560048201805473ffffffffffffffffffffffffffffffffffffffff199081169091556005830193909355600690910180549092169091558791907f1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9905160405180910390a350600195945050505050565b6000806107ba858585610c6c565b6000818152600360205260409020958655600186019490945550506002909201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03939093169290921790915590565b6000610813610e73565b60008061081e610e37565b6003600061082b8c610d56565b815260208101919091526040908101600020906060905190810160409081528254825260018301546020830152600290920154600160a060020a03169181019190915293506000845111156109615789600160a060020a031663e1758bd86000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108c057600080fd5b6102c65a03f115156108d157600080fd5b5050506040518051600160a060020a031690506323b872dd338c875160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561094557600080fd5b6102c65a03f1151561095657600080fd5b505050604051805150505b8360400151600160a060020a03166388737b5e600286602001518d3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b15156109da57600080fd5b6102c65a03f115156109eb57600080fd5b5050506040518051935086925050600160a060020a0382161515610a0d573391505b60e060405190810160405289815260208101895181526020018960016020020151815260200160408a01518152600160a060020a038916602082015260400160608a01518152600160a060020a038085166020928301528c16600090815260028252604080822087835290925220909150819081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560a0820151816005015560c0820151600691909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055506040840151600160a060020a031683600019168b600160a060020a03167f5eb8c27cf2315332611583caad2b811e4c9d3ecd3ffa83960015279bcd50d7178c8c8c886040518481526020810184608080838360005b83811015610b83578082015183820152602001610b6b565b5050505090500183600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200194505050505060405180910390a48360400151600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610c3457600080fd5b6102c65a03f11515610c4557600080fd5b505050604051805150929a9950505050505050505050565b600054600160a060020a031681565b60008284836040519283526020830191909152600160a060020a03166c010000000000000000000000000260408083019190915260549091019051809103902090509392505050565b60005433600160a060020a03908116911614610cd057600080fd5b600160a060020a0381161515610ce557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d9e57600080fd5b6102c65a03f11515610daf57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610e1757600080fd5b6102c65a03f11515610e2857600080fd5b50505060405180519392505050565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a72305820e0cb3f2b86473c7406489acee35087525cbcf21da5823c95ff7e71dd5d6014a20029",
  "sourceMap": "335:7474:18:-;;;2121:39;;;;;;;;501:5:33;:18;;-1:-1:-1;;;;;509:10:33;501:18;-1:-1:-1;;;;;;501:18:33;;;;;;335:7474:18;;;;;;",
  "deployedSourceMap": "335:7474:18:-;;;;;;;;;-1:-1:-1;;;335:7474:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:46;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2030:46:18;;;;;;;;;;;;;;;;;;;;1416:86;;;;;;;;;;-1:-1:-1;;;;;1416:86:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1416:86:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;455:157:25;;;;;;;;;;;;;;;;6354:1453:18;;;;;;;;;;;;-1:-1:-1;;;;;6354:1453:18;;;;;;;;;;;;;;;;;;;;;;;;2263:532;;;;;;;;;;;;;;-1:-1:-1;;;;;2263:532:18;;;;;;;;;;;;;;;;;;;;4214:1825;;;;;;;;;;;;;-1:-1:-1;;;;;4214:1825:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4214:1825:18;;-1:-1:-1;;;;;;;4214:1825:18;;;;;;;;;;-1:-1:-1;4214:1825:18;;-1:-1:-1;;4214:1825:18;238:20:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:33;;;;;;;;;;;;;;3317:255:18;;;;;;;;;;;;;;-1:-1:-1;;;;;3317:255:18;;;;;834:169:33;;;;;;;;;;-1:-1:-1;;;;;834:169:33;;;;;345:31:25;;;;;;;;;;;;2030:46:18;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2030:46:18;;:::o;1416:86::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1416: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;6354:1453:18:-;6436:4;6728:36;;:::i;:::-;6852:30;6586:10;-1:-1:-1;;;;;6518:78:18;:10;:56;6529:44;6564:7;6529:27;:44::i;:::-;6518:56;;;;;;;;;;;;;:64;;;-1:-1:-1;;;;;6518:64:18;:78;6510:87;;;;;;6652:6;6662:1;6652:11;6648:1020;;;-1:-1:-1;;;;;6767:31:18;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;;;6728:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6728:83:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6905:21:18;;;;;;6728:83;;6905:23;;;;;;;;;-1:-1:-1;;;6905:23:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;6948:25:18;;;6978;;;;7006:8;:20;;;7027:7;6948:87;;;;;;;;-1:-1:-1;;;6948:87:18;;;;;;;;;;;;;-1:-1:-1;;;;;6948:87:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6947:88;6943:137;;;7055:8;;;6943:137;7098:10;-1:-1:-1;;;;;7098:21:18;;7120:8;:26;;;7148:8;:20;;;7169:7;7098:79;;;;;;;;-1:-1:-1;;;7098:79:18;;;;;;;;;;;;;-1:-1:-1;;;;;7098:79:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7097:80;7093:129;;;7197:8;;;7093:129;7240:10;-1:-1:-1;;;;;7240:20:18;;7261:8;:18;;;7281:8;:20;;;7302:7;7240:70;;;;;;;;-1:-1:-1;;;7240:70:18;;;;;;;;;;;;;-1:-1:-1;;;;;7240:70:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7239:71;7235:120;;;7330:8;;;7235:120;7406:1;7372:22;;;;-1:-1:-1;;;;;7372:36:18;;;:72;;;;;7443:1;7412:8;:28;;;:32;7372:72;7368:288;;;7469:10;-1:-1:-1;;;;;7469:32:18;;7502:8;:22;;;7526:8;:20;;;7548:8;:28;;;7577:7;7469:116;;;;;;;;-1:-1:-1;;;7469:116:18;;;;;;-1:-1:-1;;;;;7469:116:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7468:117;7464:174;;;7609:8;;;7464:174;-1:-1:-1;;;;;7684:31:18;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;7677:51;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7677:51:18;;;;;;;;;;;;;;;;;;;;;;;;;7716:11;;7684:31;7738:41;;;;;;;;;;-1:-1:-1;7796:4:18;;6354:1453;-1:-1:-1;;;;;6354:1453:18:o;2263:532::-;2411:7;2434:18;2455:113;2486:18;2518;2550:8;2455:17;:113::i;:::-;2578:22;;;;:10;:22;;;;;:61;;;2649:40;;;:61;;;;-1:-1:-1;;2720:30:18;;;;:41;;-1:-1:-1;;2720:41:18;-1:-1:-1;;;;;2720:41:18;;;;;;;;;;;2578:22;2263:532::o;4214:1825::-;4439:7;4462:34;;:::i;:::-;4780:22;4965:19;5126:36;;:::i;:::-;4499:10;:48;4510:36;4538:7;4510:27;:36::i;:::-;4499:48;;;;;;;;;;;;;;;;4462:85;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4462:85:18;;;;;;;;;-1:-1:-1;4462:85:18;;4614:34;:38;4610:160;;;4668:7;-1:-1:-1;;;;;4668:19:18;;:21;;;;;;;;;;;-1:-1:-1;;;4668:21:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4668:34:18;;-1:-1:-1;4668:34:18;4703:10;4715:7;4724:16;:34;4668:91;;;;;;;;-1:-1:-1;;;4668:91:18;;;;;;-1:-1:-1;;;;;4668:91:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4610:160:18;4805:16;:24;;;-1:-1:-1;;;;;4805:32:18;;4838:1;4841:16;:34;;;4877:7;4906:4;4805:107;;;;;;;;-1:-1:-1;;;4805:107:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4805:107:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4987:12:18;;-1:-1:-1;;;;;;;5013:25:18;;;5009:80;;;5068:10;5054:24;;5009:80;5165:352;;;;;;;;;;;;;;5289:8;:11;5165:352;;;;5332:8;5341:1;5332:11;;;;5165:352;;;;5368:11;;;;5165:352;;-1:-1:-1;;;;;5165:352:18;;;;;;;;5457:11;;;;5165:352;;-1:-1:-1;;;;;5165:352:18;;;;;;;;5527:31;;-1:-1:-1;5527:31:18;;;:22;:31;;;;;;:47;;;;;;;5126:391;;-1:-1:-1;5126:391:18;;;5527:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5527:58:18;-1:-1:-1;;;;;5527:58:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5527:58:18;-1:-1:-1;;;;;5527:58:18;;;;;;;;;-1:-1:-1;5685:24:18;;;;-1:-1:-1;;;;;5596:239:18;5657:14;5596:239;;;5636:7;-1:-1:-1;;;;;5596:239:18;;5723:27;5764:8;5786:14;5814:11;5596:239;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;5880:16:18;:24;;;-1:-1:-1;;;;;5880:34:18;;5915:14;5931:1;5934:10;5880:65;;;;;;;;-1:-1:-1;;;5880:65:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5880:65:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6018:14:18;;4214:1825;-1:-1:-1;;;;;;;;;;4214:1825:18:o;238:20:33:-;;;-1:-1:-1;;;;;238:20:33;;:::o;3317:255:18:-;3474:7;3515:18;3535;3555:8;3505:59;;;;;;;;;;;;-1:-1:-1;;;;;3505:59:18;;;;;;;;;;;;;;;;;;;;;;3497:68;;3317: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:7474: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 LogNewContributionProposal(\n        address indexed _avatar,\n        bytes32 indexed _proposalId,\n        address indexed _intVoteInterface,\n        bytes32 _contributionDesciption,\n        uint[4]  _rewards,\n        StandardToken _externalToken,\n        address _beneficiary\n    );\n    event LogProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\n    event LogProposalDeleted(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 _contributionDesciptionHash 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 _contributionDesciptionHash,\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: _contributionDesciptionHash,\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        LogNewContributionProposal(\n            _avatar,\n            contributionId,\n            controllerParams.intVote,\n            _contributionDesciptionHash,\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        LogProposalExecuted(_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": [
          6622
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 6227,
        "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": 6623,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 6228,
        "name": "ImportDirective",
        "src": "26:48:18"
      },
      {
        "attributes": {
          "SourceUnit": 8500,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 6623,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 6229,
        "name": "ImportDirective",
        "src": "75:31:18"
      },
      {
        "attributes": {
          "contractDependencies": [
            8499,
            8518,
            10335
          ],
          "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": [
            6622,
            8499,
            8518,
            10335
          ],
          "name": "ContributionReward",
          "scope": 6623
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 8499,
                  "type": "contract UniversalScheme"
                },
                "id": 6230,
                "name": "UserDefinedTypeName",
                "src": "366:15:18"
              }
            ],
            "id": 6231,
            "name": "InheritanceSpecifier",
            "src": "366:15:18"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogNewContributionProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 6249,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6232,
                        "name": "ElementaryTypeName",
                        "src": "430:7:18"
                      }
                    ],
                    "id": 6233,
                    "name": "VariableDeclaration",
                    "src": "430:23:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 6249,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6234,
                        "name": "ElementaryTypeName",
                        "src": "463:7:18"
                      }
                    ],
                    "id": 6235,
                    "name": "VariableDeclaration",
                    "src": "463:27:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_intVoteInterface",
                      "scope": 6249,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6236,
                        "name": "ElementaryTypeName",
                        "src": "500:7:18"
                      }
                    ],
                    "id": 6237,
                    "name": "VariableDeclaration",
                    "src": "500:33:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_contributionDesciption",
                      "scope": 6249,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6238,
                        "name": "ElementaryTypeName",
                        "src": "543:7:18"
                      }
                    ],
                    "id": 6239,
                    "name": "VariableDeclaration",
                    "src": "543:31:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_rewards",
                      "scope": 6249,
                      "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": 6240,
                            "name": "ElementaryTypeName",
                            "src": "584: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": 6241,
                            "name": "Literal",
                            "src": "589:1:18"
                          }
                        ],
                        "id": 6242,
                        "name": "ArrayTypeName",
                        "src": "584:7:18"
                      }
                    ],
                    "id": 6243,
                    "name": "VariableDeclaration",
                    "src": "584:17:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_externalToken",
                      "scope": 6249,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract StandardToken",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "StandardToken",
                          "referencedDeclaration": 10889,
                          "type": "contract StandardToken"
                        },
                        "id": 6244,
                        "name": "UserDefinedTypeName",
                        "src": "611:13:18"
                      }
                    ],
                    "id": 6245,
                    "name": "VariableDeclaration",
                    "src": "611:28:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_beneficiary",
                      "scope": 6249,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6246,
                        "name": "ElementaryTypeName",
                        "src": "649:7:18"
                      }
                    ],
                    "id": 6247,
                    "name": "VariableDeclaration",
                    "src": "649:20:18"
                  }
                ],
                "id": 6248,
                "name": "ParameterList",
                "src": "420:255:18"
              }
            ],
            "id": 6249,
            "name": "EventDefinition",
            "src": "388:288:18"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogProposalExecuted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 6255,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6250,
                        "name": "ElementaryTypeName",
                        "src": "707:7:18"
                      }
                    ],
                    "id": 6251,
                    "name": "VariableDeclaration",
                    "src": "707:23:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 6255,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6252,
                        "name": "ElementaryTypeName",
                        "src": "732:7:18"
                      }
                    ],
                    "id": 6253,
                    "name": "VariableDeclaration",
                    "src": "732:27:18"
                  }
                ],
                "id": 6254,
                "name": "ParameterList",
                "src": "706:54:18"
              }
            ],
            "id": 6255,
            "name": "EventDefinition",
            "src": "681:80:18"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogProposalDeleted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 6261,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6256,
                        "name": "ElementaryTypeName",
                        "src": "791:7:18"
                      }
                    ],
                    "id": 6257,
                    "name": "VariableDeclaration",
                    "src": "791:23:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 6261,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6258,
                        "name": "ElementaryTypeName",
                        "src": "816:7:18"
                      }
                    ],
                    "id": 6259,
                    "name": "VariableDeclaration",
                    "src": "816:27:18"
                  }
                ],
                "id": 6260,
                "name": "ParameterList",
                "src": "790:54:18"
              }
            ],
            "id": 6261,
            "name": "EventDefinition",
            "src": "766:79:18"
          },
          {
            "attributes": {
              "canonicalName": "ContributionReward.ContributionProposal",
              "name": "ContributionProposal",
              "scope": 6622,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "contributionDescriptionHash",
                  "scope": 6276,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 6262,
                    "name": "ElementaryTypeName",
                    "src": "950:7:18"
                  }
                ],
                "id": 6263,
                "name": "VariableDeclaration",
                "src": "950:35:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "nativeTokenReward",
                  "scope": 6276,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6264,
                    "name": "ElementaryTypeName",
                    "src": "1029:4:18"
                  }
                ],
                "id": 6265,
                "name": "VariableDeclaration",
                "src": "1029:22:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "reputationReward",
                  "scope": 6276,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6266,
                    "name": "ElementaryTypeName",
                    "src": "1118:4:18"
                  }
                ],
                "id": 6267,
                "name": "VariableDeclaration",
                "src": "1118:21:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "ethReward",
                  "scope": 6276,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6268,
                    "name": "ElementaryTypeName",
                    "src": "1194:4:18"
                  }
                ],
                "id": 6269,
                "name": "VariableDeclaration",
                "src": "1194:14:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "externalToken",
                  "scope": 6276,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract StandardToken",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "StandardToken",
                      "referencedDeclaration": 10889,
                      "type": "contract StandardToken"
                    },
                    "id": 6270,
                    "name": "UserDefinedTypeName",
                    "src": "1218:13:18"
                  }
                ],
                "id": 6271,
                "name": "VariableDeclaration",
                "src": "1218:27:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "externalTokenReward",
                  "scope": 6276,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6272,
                    "name": "ElementaryTypeName",
                    "src": "1255:4:18"
                  }
                ],
                "id": 6273,
                "name": "VariableDeclaration",
                "src": "1255:24:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "beneficiary",
                  "scope": 6276,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 6274,
                    "name": "ElementaryTypeName",
                    "src": "1289:7:18"
                  }
                ],
                "id": 6275,
                "name": "VariableDeclaration",
                "src": "1289:19:18"
              }
            ],
            "id": 6276,
            "name": "StructDefinition",
            "src": "912:403:18"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsProposals",
              "scope": 6622,
              "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": 6277,
                    "name": "ElementaryTypeName",
                    "src": "1424:7:18"
                  },
                  {
                    "attributes": {
                      "type": "mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6278,
                        "name": "ElementaryTypeName",
                        "src": "1441:7:18"
                      },
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "ContributionProposal",
                          "referencedDeclaration": 6276,
                          "type": "struct ContributionReward.ContributionProposal storage pointer"
                        },
                        "id": 6279,
                        "name": "UserDefinedTypeName",
                        "src": "1450:20:18"
                      }
                    ],
                    "id": 6280,
                    "name": "Mapping",
                    "src": "1433:38:18"
                  }
                ],
                "id": 6281,
                "name": "Mapping",
                "src": "1416:56:18"
              }
            ],
            "id": 6282,
            "name": "VariableDeclaration",
            "src": "1416:86:18"
          },
          {
            "attributes": {
              "canonicalName": "ContributionReward.Parameters",
              "name": "Parameters",
              "scope": 6622,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "orgNativeTokenFee",
                  "scope": 6289,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6283,
                    "name": "ElementaryTypeName",
                    "src": "1736:4:18"
                  }
                ],
                "id": 6284,
                "name": "VariableDeclaration",
                "src": "1736:22:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "voteApproveParams",
                  "scope": 6289,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 6285,
                    "name": "ElementaryTypeName",
                    "src": "1856:7:18"
                  }
                ],
                "id": 6286,
                "name": "VariableDeclaration",
                "src": "1856:25:18"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "intVote",
                  "scope": 6289,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract IntVoteInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "IntVoteInterface",
                      "referencedDeclaration": 2651,
                      "type": "contract IntVoteInterface"
                    },
                    "id": 6287,
                    "name": "UserDefinedTypeName",
                    "src": "1891:16:18"
                  }
                ],
                "id": 6288,
                "name": "VariableDeclaration",
                "src": "1891:24:18"
              }
            ],
            "id": 6289,
            "name": "StructDefinition",
            "src": "1708:214:18"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 6622,
              "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": 6290,
                    "name": "ElementaryTypeName",
                    "src": "2038:7:18"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 6289,
                      "type": "struct ContributionReward.Parameters storage pointer"
                    },
                    "id": 6291,
                    "name": "UserDefinedTypeName",
                    "src": "2047:10:18"
                  }
                ],
                "id": 6292,
                "name": "Mapping",
                "src": "2030:28:18"
              }
            ],
            "id": 6293,
            "name": "VariableDeclaration",
            "src": "2030:46:18"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "ContributionReward",
              "payable": false,
              "scope": 6622,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6294,
                "name": "ParameterList",
                "src": "2148:2:18"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6295,
                "name": "ParameterList",
                "src": "2158:0:18"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 6296,
                "name": "Block",
                "src": "2158:2:18"
              }
            ],
            "id": 6297,
            "name": "FunctionDefinition",
            "src": "2121:39:18"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 6622,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_orgNativeTokenFee",
                      "scope": 6340,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 6298,
                        "name": "ElementaryTypeName",
                        "src": "2295:4:18"
                      }
                    ],
                    "id": 6299,
                    "name": "VariableDeclaration",
                    "src": "2295:23:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteApproveParams",
                      "scope": 6340,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6300,
                        "name": "ElementaryTypeName",
                        "src": "2328:7:18"
                      }
                    ],
                    "id": 6301,
                    "name": "VariableDeclaration",
                    "src": "2328:26:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 6340,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 6302,
                        "name": "UserDefinedTypeName",
                        "src": "2364:16:18"
                      }
                    ],
                    "id": 6303,
                    "name": "VariableDeclaration",
                    "src": "2364:25:18"
                  }
                ],
                "id": 6304,
                "name": "ParameterList",
                "src": "2285:110:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 6340,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6305,
                        "name": "ElementaryTypeName",
                        "src": "2411:7:18"
                      }
                    ],
                    "id": 6306,
                    "name": "VariableDeclaration",
                    "src": "2411:7:18"
                  }
                ],
                "id": 6307,
                "name": "ParameterList",
                "src": "2410:9:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        6309
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 6340,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 6308,
                            "name": "ElementaryTypeName",
                            "src": "2434:7:18"
                          }
                        ],
                        "id": 6309,
                        "name": "VariableDeclaration",
                        "src": "2434: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": 6359,
                              "type": "function (uint256,bytes32,contract IntVoteInterface) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 6310,
                            "name": "Identifier",
                            "src": "2455:17:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6299,
                              "type": "uint256",
                              "value": "_orgNativeTokenFee"
                            },
                            "id": 6311,
                            "name": "Identifier",
                            "src": "2486:18:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6301,
                              "type": "bytes32",
                              "value": "_voteApproveParams"
                            },
                            "id": 6312,
                            "name": "Identifier",
                            "src": "2518:18:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6303,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 6313,
                            "name": "Identifier",
                            "src": "2550:8:18"
                          }
                        ],
                        "id": 6314,
                        "name": "FunctionCall",
                        "src": "2455:113:18"
                      }
                    ],
                    "id": 6315,
                    "name": "VariableDeclarationStatement",
                    "src": "2434: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": 6284,
                              "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": 6293,
                                      "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 6316,
                                    "name": "Identifier",
                                    "src": "2578:10:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6309,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 6317,
                                    "name": "Identifier",
                                    "src": "2589:10:18"
                                  }
                                ],
                                "id": 6318,
                                "name": "IndexAccess",
                                "src": "2578:22:18"
                              }
                            ],
                            "id": 6319,
                            "name": "MemberAccess",
                            "src": "2578:40:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6299,
                              "type": "uint256",
                              "value": "_orgNativeTokenFee"
                            },
                            "id": 6320,
                            "name": "Identifier",
                            "src": "2621:18:18"
                          }
                        ],
                        "id": 6321,
                        "name": "Assignment",
                        "src": "2578:61:18"
                      }
                    ],
                    "id": 6322,
                    "name": "ExpressionStatement",
                    "src": "2578: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": 6286,
                              "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": 6293,
                                      "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 6323,
                                    "name": "Identifier",
                                    "src": "2649:10:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6309,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 6324,
                                    "name": "Identifier",
                                    "src": "2660:10:18"
                                  }
                                ],
                                "id": 6325,
                                "name": "IndexAccess",
                                "src": "2649:22:18"
                              }
                            ],
                            "id": 6326,
                            "name": "MemberAccess",
                            "src": "2649:40:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6301,
                              "type": "bytes32",
                              "value": "_voteApproveParams"
                            },
                            "id": 6327,
                            "name": "Identifier",
                            "src": "2692:18:18"
                          }
                        ],
                        "id": 6328,
                        "name": "Assignment",
                        "src": "2649:61:18"
                      }
                    ],
                    "id": 6329,
                    "name": "ExpressionStatement",
                    "src": "2649: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": 6288,
                              "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": 6293,
                                      "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 6330,
                                    "name": "Identifier",
                                    "src": "2720:10:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6309,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 6331,
                                    "name": "Identifier",
                                    "src": "2731:10:18"
                                  }
                                ],
                                "id": 6332,
                                "name": "IndexAccess",
                                "src": "2720:22:18"
                              }
                            ],
                            "id": 6333,
                            "name": "MemberAccess",
                            "src": "2720:30:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6303,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 6334,
                            "name": "Identifier",
                            "src": "2753:8:18"
                          }
                        ],
                        "id": 6335,
                        "name": "Assignment",
                        "src": "2720:41:18"
                      }
                    ],
                    "id": 6336,
                    "name": "ExpressionStatement",
                    "src": "2720:41:18"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 6307
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 6309,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 6337,
                        "name": "Identifier",
                        "src": "2778:10:18"
                      }
                    ],
                    "id": 6338,
                    "name": "Return",
                    "src": "2771:17:18"
                  }
                ],
                "id": 6339,
                "name": "Block",
                "src": "2424:371:18"
              }
            ],
            "id": 6340,
            "name": "FunctionDefinition",
            "src": "2263:532:18"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 6622,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_orgNativeTokenFee",
                      "scope": 6359,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 6341,
                        "name": "ElementaryTypeName",
                        "src": "3353:4:18"
                      }
                    ],
                    "id": 6342,
                    "name": "VariableDeclaration",
                    "src": "3353:23:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteApproveParams",
                      "scope": 6359,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6343,
                        "name": "ElementaryTypeName",
                        "src": "3386:7:18"
                      }
                    ],
                    "id": 6344,
                    "name": "VariableDeclaration",
                    "src": "3386:26:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 6359,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 6345,
                        "name": "UserDefinedTypeName",
                        "src": "3422:16:18"
                      }
                    ],
                    "id": 6346,
                    "name": "VariableDeclaration",
                    "src": "3422:25:18"
                  }
                ],
                "id": 6347,
                "name": "ParameterList",
                "src": "3343:110:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 6359,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6348,
                        "name": "ElementaryTypeName",
                        "src": "3474:7:18"
                      }
                    ],
                    "id": 6349,
                    "name": "VariableDeclaration",
                    "src": "3474:7:18"
                  }
                ],
                "id": 6350,
                "name": "ParameterList",
                "src": "3473:9:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 6350
                    },
                    "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": 10895,
                                  "type": "function () pure returns (bytes32)",
                                  "value": "keccak256"
                                },
                                "id": 6351,
                                "name": "Identifier",
                                "src": "3505:9:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6344,
                                  "type": "bytes32",
                                  "value": "_voteApproveParams"
                                },
                                "id": 6352,
                                "name": "Identifier",
                                "src": "3515:18:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6342,
                                  "type": "uint256",
                                  "value": "_orgNativeTokenFee"
                                },
                                "id": 6353,
                                "name": "Identifier",
                                "src": "3535:18:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6346,
                                  "type": "contract IntVoteInterface",
                                  "value": "_intVote"
                                },
                                "id": 6354,
                                "name": "Identifier",
                                "src": "3555:8:18"
                              }
                            ],
                            "id": 6355,
                            "name": "FunctionCall",
                            "src": "3505:59:18"
                          }
                        ],
                        "id": 6356,
                        "name": "TupleExpression",
                        "src": "3504:61:18"
                      }
                    ],
                    "id": 6357,
                    "name": "Return",
                    "src": "3497:68:18"
                  }
                ],
                "id": 6358,
                "name": "Block",
                "src": "3487:85:18"
              }
            ],
            "id": 6359,
            "name": "FunctionDefinition",
            "src": "3317:255:18"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposeContributionReward",
              "payable": false,
              "scope": 6622,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 6485,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 6360,
                        "name": "UserDefinedTypeName",
                        "src": "4258:6:18"
                      }
                    ],
                    "id": 6361,
                    "name": "VariableDeclaration",
                    "src": "4258:14:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_contributionDesciptionHash",
                      "scope": 6485,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6362,
                        "name": "ElementaryTypeName",
                        "src": "4282:7:18"
                      }
                    ],
                    "id": 6363,
                    "name": "VariableDeclaration",
                    "src": "4282:35:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_rewards",
                      "scope": 6485,
                      "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": 6364,
                            "name": "ElementaryTypeName",
                            "src": "4327: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": 6365,
                            "name": "Literal",
                            "src": "4332:1:18"
                          }
                        ],
                        "id": 6366,
                        "name": "ArrayTypeName",
                        "src": "4327:7:18"
                      }
                    ],
                    "id": 6367,
                    "name": "VariableDeclaration",
                    "src": "4327:16:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_externalToken",
                      "scope": 6485,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract StandardToken",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "StandardToken",
                          "referencedDeclaration": 10889,
                          "type": "contract StandardToken"
                        },
                        "id": 6368,
                        "name": "UserDefinedTypeName",
                        "src": "4353:13:18"
                      }
                    ],
                    "id": 6369,
                    "name": "VariableDeclaration",
                    "src": "4353:28:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_beneficiary",
                      "scope": 6485,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6370,
                        "name": "ElementaryTypeName",
                        "src": "4391:7:18"
                      }
                    ],
                    "id": 6371,
                    "name": "VariableDeclaration",
                    "src": "4391:20:18"
                  }
                ],
                "id": 6372,
                "name": "ParameterList",
                "src": "4248:169:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 6485,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6373,
                        "name": "ElementaryTypeName",
                        "src": "4439:7:18"
                      }
                    ],
                    "id": 6374,
                    "name": "VariableDeclaration",
                    "src": "4439:7:18"
                  }
                ],
                "id": 6375,
                "name": "ParameterList",
                "src": "4438:9:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        6377
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "controllerParams",
                          "scope": 6485,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct ContributionReward.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 6289,
                              "type": "struct ContributionReward.Parameters storage pointer"
                            },
                            "id": 6376,
                            "name": "UserDefinedTypeName",
                            "src": "4462:10:18"
                          }
                        ],
                        "id": 6377,
                        "name": "VariableDeclaration",
                        "src": "4462: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": 6293,
                              "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 6378,
                            "name": "Identifier",
                            "src": "4499: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": [
                                    8498
                                  ],
                                  "referencedDeclaration": 8498,
                                  "type": "function (contract Avatar) view returns (bytes32)",
                                  "value": "getParametersFromController"
                                },
                                "id": 6379,
                                "name": "Identifier",
                                "src": "4510:27:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6361,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 6380,
                                "name": "Identifier",
                                "src": "4538:7:18"
                              }
                            ],
                            "id": 6381,
                            "name": "FunctionCall",
                            "src": "4510:36:18"
                          }
                        ],
                        "id": 6382,
                        "name": "IndexAccess",
                        "src": "4499:48:18"
                      }
                    ],
                    "id": 6383,
                    "name": "VariableDeclarationStatement",
                    "src": "4462: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": 6284,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6377,
                                  "type": "struct ContributionReward.Parameters memory",
                                  "value": "controllerParams"
                                },
                                "id": 6384,
                                "name": "Identifier",
                                "src": "4614:16:18"
                              }
                            ],
                            "id": 6385,
                            "name": "MemberAccess",
                            "src": "4614: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": 6386,
                            "name": "Literal",
                            "src": "4651:1:18"
                          }
                        ],
                        "id": 6387,
                        "name": "BinaryOperation",
                        "src": "4614: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": 10743,
                                      "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": 6361,
                                                  "type": "contract Avatar",
                                                  "value": "_avatar"
                                                },
                                                "id": 6388,
                                                "name": "Identifier",
                                                "src": "4668:7:18"
                                              }
                                            ],
                                            "id": 6390,
                                            "name": "MemberAccess",
                                            "src": "4668:19:18"
                                          }
                                        ],
                                        "id": 6391,
                                        "name": "FunctionCall",
                                        "src": "4668:21:18"
                                      }
                                    ],
                                    "id": 6392,
                                    "name": "MemberAccess",
                                    "src": "4668: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": 10901,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 6393,
                                        "name": "Identifier",
                                        "src": "4703:3:18"
                                      }
                                    ],
                                    "id": 6394,
                                    "name": "MemberAccess",
                                    "src": "4703:10:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6361,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 6395,
                                    "name": "Identifier",
                                    "src": "4715:7:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "orgNativeTokenFee",
                                      "referencedDeclaration": 6284,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6377,
                                          "type": "struct ContributionReward.Parameters memory",
                                          "value": "controllerParams"
                                        },
                                        "id": 6396,
                                        "name": "Identifier",
                                        "src": "4724:16:18"
                                      }
                                    ],
                                    "id": 6397,
                                    "name": "MemberAccess",
                                    "src": "4724:34:18"
                                  }
                                ],
                                "id": 6398,
                                "name": "FunctionCall",
                                "src": "4668:91:18"
                              }
                            ],
                            "id": 6399,
                            "name": "ExpressionStatement",
                            "src": "4668:91:18"
                          }
                        ],
                        "id": 6400,
                        "name": "Block",
                        "src": "4654:116:18"
                      }
                    ],
                    "id": 6401,
                    "name": "IfStatement",
                    "src": "4610:160:18"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        6403
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "contributionId",
                          "scope": 6485,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 6402,
                            "name": "ElementaryTypeName",
                            "src": "4780:7:18"
                          }
                        ],
                        "id": 6403,
                        "name": "VariableDeclaration",
                        "src": "4780: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_$6637",
                                  "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": 6288,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6377,
                                      "type": "struct ContributionReward.Parameters memory",
                                      "value": "controllerParams"
                                    },
                                    "id": 6404,
                                    "name": "Identifier",
                                    "src": "4805:16:18"
                                  }
                                ],
                                "id": 6405,
                                "name": "MemberAccess",
                                "src": "4805:24:18"
                              }
                            ],
                            "id": 6406,
                            "name": "MemberAccess",
                            "src": "4805: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": 6407,
                            "name": "Literal",
                            "src": "4838:1:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voteApproveParams",
                              "referencedDeclaration": 6286,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6377,
                                  "type": "struct ContributionReward.Parameters memory",
                                  "value": "controllerParams"
                                },
                                "id": 6408,
                                "name": "Identifier",
                                "src": "4841:16:18"
                              }
                            ],
                            "id": 6409,
                            "name": "MemberAccess",
                            "src": "4841:34:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6361,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 6410,
                            "name": "Identifier",
                            "src": "4877: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_$6622",
                                      "typeString": "contract ContributionReward"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6637,
                                  "type": "type(contract ExecutableInterface)",
                                  "value": "ExecutableInterface"
                                },
                                "id": 6411,
                                "name": "Identifier",
                                "src": "4886:19:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10976,
                                  "type": "contract ContributionReward",
                                  "value": "this"
                                },
                                "id": 6412,
                                "name": "Identifier",
                                "src": "4906:4:18"
                              }
                            ],
                            "id": 6413,
                            "name": "FunctionCall",
                            "src": "4886:25:18"
                          }
                        ],
                        "id": 6414,
                        "name": "FunctionCall",
                        "src": "4805:107:18"
                      }
                    ],
                    "id": 6415,
                    "name": "VariableDeclarationStatement",
                    "src": "4780:132:18"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        6417
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "beneficiary",
                          "scope": 6485,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "address",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 6416,
                            "name": "ElementaryTypeName",
                            "src": "4965:7:18"
                          }
                        ],
                        "id": 6417,
                        "name": "VariableDeclaration",
                        "src": "4965:19:18"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 6371,
                          "type": "address",
                          "value": "_beneficiary"
                        },
                        "id": 6418,
                        "name": "Identifier",
                        "src": "4987:12:18"
                      }
                    ],
                    "id": 6419,
                    "name": "VariableDeclarationStatement",
                    "src": "4965: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": 6417,
                              "type": "address",
                              "value": "beneficiary"
                            },
                            "id": 6420,
                            "name": "Identifier",
                            "src": "5013: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": 6421,
                                "name": "ElementaryTypeNameExpression",
                                "src": "5028: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": 6422,
                                "name": "Literal",
                                "src": "5036:1:18"
                              }
                            ],
                            "id": 6423,
                            "name": "FunctionCall",
                            "src": "5028:10:18"
                          }
                        ],
                        "id": 6424,
                        "name": "BinaryOperation",
                        "src": "5013: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": 6417,
                                      "type": "address",
                                      "value": "beneficiary"
                                    },
                                    "id": 6425,
                                    "name": "Identifier",
                                    "src": "5054: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": 10901,
                                          "type": "msg",
                                          "value": "msg"
                                        },
                                        "id": 6426,
                                        "name": "Identifier",
                                        "src": "5068:3:18"
                                      }
                                    ],
                                    "id": 6427,
                                    "name": "MemberAccess",
                                    "src": "5068:10:18"
                                  }
                                ],
                                "id": 6428,
                                "name": "Assignment",
                                "src": "5054:24:18"
                              }
                            ],
                            "id": 6429,
                            "name": "ExpressionStatement",
                            "src": "5054:24:18"
                          }
                        ],
                        "id": 6430,
                        "name": "Block",
                        "src": "5040:49:18"
                      }
                    ],
                    "id": 6431,
                    "name": "IfStatement",
                    "src": "5009:80:18"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        6433
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 6485,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct ContributionReward.ContributionProposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "ContributionProposal",
                              "referencedDeclaration": 6276,
                              "type": "struct ContributionReward.ContributionProposal storage pointer"
                            },
                            "id": 6432,
                            "name": "UserDefinedTypeName",
                            "src": "5126:20:18"
                          }
                        ],
                        "id": 6433,
                        "name": "VariableDeclaration",
                        "src": "5126: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": 6276,
                              "type": "type(struct ContributionReward.ContributionProposal storage pointer)",
                              "value": "ContributionProposal"
                            },
                            "id": 6434,
                            "name": "Identifier",
                            "src": "5165:20:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6363,
                              "type": "bytes32",
                              "value": "_contributionDesciptionHash"
                            },
                            "id": 6435,
                            "name": "Identifier",
                            "src": "5229:27:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6367,
                                  "type": "uint256[4] memory",
                                  "value": "_rewards"
                                },
                                "id": 6436,
                                "name": "Identifier",
                                "src": "5289: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": 6437,
                                "name": "Literal",
                                "src": "5298:1:18"
                              }
                            ],
                            "id": 6438,
                            "name": "IndexAccess",
                            "src": "5289:11:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6367,
                                  "type": "uint256[4] memory",
                                  "value": "_rewards"
                                },
                                "id": 6439,
                                "name": "Identifier",
                                "src": "5332: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": 6440,
                                "name": "Literal",
                                "src": "5341:1:18"
                              }
                            ],
                            "id": 6441,
                            "name": "IndexAccess",
                            "src": "5332:11:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6367,
                                  "type": "uint256[4] memory",
                                  "value": "_rewards"
                                },
                                "id": 6442,
                                "name": "Identifier",
                                "src": "5368: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": 6443,
                                "name": "Literal",
                                "src": "5377:1:18"
                              }
                            ],
                            "id": 6444,
                            "name": "IndexAccess",
                            "src": "5368:11:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6369,
                              "type": "contract StandardToken",
                              "value": "_externalToken"
                            },
                            "id": 6445,
                            "name": "Identifier",
                            "src": "5408:14:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6367,
                                  "type": "uint256[4] memory",
                                  "value": "_rewards"
                                },
                                "id": 6446,
                                "name": "Identifier",
                                "src": "5457: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": 6447,
                                "name": "Literal",
                                "src": "5466:1:18"
                              }
                            ],
                            "id": 6448,
                            "name": "IndexAccess",
                            "src": "5457:11:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6417,
                              "type": "address",
                              "value": "beneficiary"
                            },
                            "id": 6449,
                            "name": "Identifier",
                            "src": "5495:11:18"
                          }
                        ],
                        "id": 6450,
                        "name": "FunctionCall",
                        "src": "5165:352:18"
                      }
                    ],
                    "id": 6451,
                    "name": "VariableDeclarationStatement",
                    "src": "5126:391: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": 6282,
                                      "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))",
                                      "value": "organizationsProposals"
                                    },
                                    "id": 6452,
                                    "name": "Identifier",
                                    "src": "5527:22:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6361,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 6453,
                                    "name": "Identifier",
                                    "src": "5550:7:18"
                                  }
                                ],
                                "id": 6455,
                                "name": "IndexAccess",
                                "src": "5527:31:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6403,
                                  "type": "bytes32",
                                  "value": "contributionId"
                                },
                                "id": 6454,
                                "name": "Identifier",
                                "src": "5559:14:18"
                              }
                            ],
                            "id": 6456,
                            "name": "IndexAccess",
                            "src": "5527:47:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6433,
                              "type": "struct ContributionReward.ContributionProposal memory",
                              "value": "proposal"
                            },
                            "id": 6457,
                            "name": "Identifier",
                            "src": "5577:8:18"
                          }
                        ],
                        "id": 6458,
                        "name": "Assignment",
                        "src": "5527:58:18"
                      }
                    ],
                    "id": 6459,
                    "name": "ExpressionStatement",
                    "src": "5527: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_$10889",
                                  "typeString": "contract StandardToken"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6249,
                              "type": "function (address,bytes32,address,bytes32,uint256[4] memory,contract StandardToken,address)",
                              "value": "LogNewContributionProposal"
                            },
                            "id": 6460,
                            "name": "Identifier",
                            "src": "5596:26:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6361,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 6461,
                            "name": "Identifier",
                            "src": "5636:7:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6403,
                              "type": "bytes32",
                              "value": "contributionId"
                            },
                            "id": 6462,
                            "name": "Identifier",
                            "src": "5657:14:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "intVote",
                              "referencedDeclaration": 6288,
                              "type": "contract IntVoteInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6377,
                                  "type": "struct ContributionReward.Parameters memory",
                                  "value": "controllerParams"
                                },
                                "id": 6463,
                                "name": "Identifier",
                                "src": "5685:16:18"
                              }
                            ],
                            "id": 6464,
                            "name": "MemberAccess",
                            "src": "5685:24:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6363,
                              "type": "bytes32",
                              "value": "_contributionDesciptionHash"
                            },
                            "id": 6465,
                            "name": "Identifier",
                            "src": "5723:27:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6367,
                              "type": "uint256[4] memory",
                              "value": "_rewards"
                            },
                            "id": 6466,
                            "name": "Identifier",
                            "src": "5764:8:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6369,
                              "type": "contract StandardToken",
                              "value": "_externalToken"
                            },
                            "id": 6467,
                            "name": "Identifier",
                            "src": "5786:14:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6417,
                              "type": "address",
                              "value": "beneficiary"
                            },
                            "id": 6468,
                            "name": "Identifier",
                            "src": "5814:11:18"
                          }
                        ],
                        "id": 6469,
                        "name": "FunctionCall",
                        "src": "5596:239:18"
                      }
                    ],
                    "id": 6470,
                    "name": "ExpressionStatement",
                    "src": "5596:239: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": 6288,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6377,
                                      "type": "struct ContributionReward.Parameters memory",
                                      "value": "controllerParams"
                                    },
                                    "id": 6471,
                                    "name": "Identifier",
                                    "src": "5880:16:18"
                                  }
                                ],
                                "id": 6474,
                                "name": "MemberAccess",
                                "src": "5880:24:18"
                              }
                            ],
                            "id": 6475,
                            "name": "MemberAccess",
                            "src": "5880:34:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6403,
                              "type": "bytes32",
                              "value": "contributionId"
                            },
                            "id": 6476,
                            "name": "Identifier",
                            "src": "5915: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": 6477,
                            "name": "Literal",
                            "src": "5931: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": 10901,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 6478,
                                "name": "Identifier",
                                "src": "5934:3:18"
                              }
                            ],
                            "id": 6479,
                            "name": "MemberAccess",
                            "src": "5934:10:18"
                          }
                        ],
                        "id": 6480,
                        "name": "FunctionCall",
                        "src": "5880:65:18"
                      }
                    ],
                    "id": 6481,
                    "name": "ExpressionStatement",
                    "src": "5880:65:18"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 6375
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 6403,
                          "type": "bytes32",
                          "value": "contributionId"
                        },
                        "id": 6482,
                        "name": "Identifier",
                        "src": "6018:14:18"
                      }
                    ],
                    "id": 6483,
                    "name": "Return",
                    "src": "6011:21:18"
                  }
                ],
                "id": 6484,
                "name": "Block",
                "src": "4452:1587:18"
              }
            ],
            "id": 6485,
            "name": "FunctionDefinition",
            "src": "4214:1825:18"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "execute",
              "payable": false,
              "scope": 6622,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 6621,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6486,
                        "name": "ElementaryTypeName",
                        "src": "6371:7:18"
                      }
                    ],
                    "id": 6487,
                    "name": "VariableDeclaration",
                    "src": "6371:19:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 6621,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6488,
                        "name": "ElementaryTypeName",
                        "src": "6392:7:18"
                      }
                    ],
                    "id": 6489,
                    "name": "VariableDeclaration",
                    "src": "6392:15:18"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_param",
                      "scope": 6621,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int",
                          "type": "int256"
                        },
                        "id": 6490,
                        "name": "ElementaryTypeName",
                        "src": "6409:3:18"
                      }
                    ],
                    "id": 6491,
                    "name": "VariableDeclaration",
                    "src": "6409:10:18"
                  }
                ],
                "id": 6492,
                "name": "ParameterList",
                "src": "6370:50:18"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 6621,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 6493,
                        "name": "ElementaryTypeName",
                        "src": "6436:4:18"
                      }
                    ],
                    "id": 6494,
                    "name": "VariableDeclaration",
                    "src": "6436:4:18"
                  }
                ],
                "id": 6495,
                "name": "ParameterList",
                "src": "6435: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": 10904,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 6496,
                            "name": "Identifier",
                            "src": "6510: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": 6288,
                                  "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": 6293,
                                          "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 6497,
                                        "name": "Identifier",
                                        "src": "6518: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": [
                                                8498
                                              ],
                                              "referencedDeclaration": 8498,
                                              "type": "function (contract Avatar) view returns (bytes32)",
                                              "value": "getParametersFromController"
                                            },
                                            "id": 6498,
                                            "name": "Identifier",
                                            "src": "6529: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": 6499,
                                                "name": "Identifier",
                                                "src": "6557:6:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 6489,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 6500,
                                                "name": "Identifier",
                                                "src": "6564:7:18"
                                              }
                                            ],
                                            "id": 6501,
                                            "name": "FunctionCall",
                                            "src": "6557:15:18"
                                          }
                                        ],
                                        "id": 6502,
                                        "name": "FunctionCall",
                                        "src": "6529:44:18"
                                      }
                                    ],
                                    "id": 6503,
                                    "name": "IndexAccess",
                                    "src": "6518:56:18"
                                  }
                                ],
                                "id": 6504,
                                "name": "MemberAccess",
                                "src": "6518: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": 10901,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 6505,
                                    "name": "Identifier",
                                    "src": "6586:3:18"
                                  }
                                ],
                                "id": 6506,
                                "name": "MemberAccess",
                                "src": "6586:10:18"
                              }
                            ],
                            "id": 6507,
                            "name": "BinaryOperation",
                            "src": "6518:78:18"
                          }
                        ],
                        "id": 6508,
                        "name": "FunctionCall",
                        "src": "6510:87:18"
                      }
                    ],
                    "id": 6509,
                    "name": "ExpressionStatement",
                    "src": "6510: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": 6491,
                              "type": "int256",
                              "value": "_param"
                            },
                            "id": 6510,
                            "name": "Identifier",
                            "src": "6652: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": 6511,
                            "name": "Literal",
                            "src": "6662:1:18"
                          }
                        ],
                        "id": 6512,
                        "name": "BinaryOperation",
                        "src": "6652:11:18"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                6514
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "proposal",
                                  "scope": 6621,
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "type": "struct ContributionReward.ContributionProposal memory",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "ContributionProposal",
                                      "referencedDeclaration": 6276,
                                      "type": "struct ContributionReward.ContributionProposal storage pointer"
                                    },
                                    "id": 6513,
                                    "name": "UserDefinedTypeName",
                                    "src": "6728:20:18"
                                  }
                                ],
                                "id": 6514,
                                "name": "VariableDeclaration",
                                "src": "6728: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": 6282,
                                          "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))",
                                          "value": "organizationsProposals"
                                        },
                                        "id": 6515,
                                        "name": "Identifier",
                                        "src": "6767:22:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6489,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 6516,
                                        "name": "Identifier",
                                        "src": "6790:7:18"
                                      }
                                    ],
                                    "id": 6517,
                                    "name": "IndexAccess",
                                    "src": "6767:31:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6487,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 6518,
                                    "name": "Identifier",
                                    "src": "6799:11:18"
                                  }
                                ],
                                "id": 6519,
                                "name": "IndexAccess",
                                "src": "6767:44:18"
                              }
                            ],
                            "id": 6520,
                            "name": "VariableDeclarationStatement",
                            "src": "6728:83:18"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                6522
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "controller",
                                  "scope": 6621,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "contract ControllerInterface",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "ControllerInterface",
                                      "referencedDeclaration": 4364,
                                      "type": "contract ControllerInterface"
                                    },
                                    "id": 6521,
                                    "name": "UserDefinedTypeName",
                                    "src": "6852:19:18"
                                  }
                                ],
                                "id": 6522,
                                "name": "VariableDeclaration",
                                "src": "6852: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": 6523,
                                    "name": "Identifier",
                                    "src": "6885: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": 10283,
                                          "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": 6524,
                                                "name": "Identifier",
                                                "src": "6905:6:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 6489,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 6525,
                                                "name": "Identifier",
                                                "src": "6912:7:18"
                                              }
                                            ],
                                            "id": 6526,
                                            "name": "FunctionCall",
                                            "src": "6905:15:18"
                                          }
                                        ],
                                        "id": 6527,
                                        "name": "MemberAccess",
                                        "src": "6905:21:18"
                                      }
                                    ],
                                    "id": 6528,
                                    "name": "FunctionCall",
                                    "src": "6905:23:18"
                                  }
                                ],
                                "id": 6529,
                                "name": "FunctionCall",
                                "src": "6885:44:18"
                              }
                            ],
                            "id": 6530,
                            "name": "VariableDeclarationStatement",
                            "src": "6852: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": 6522,
                                              "type": "contract ControllerInterface",
                                              "value": "controller"
                                            },
                                            "id": 6531,
                                            "name": "Identifier",
                                            "src": "6948:10:18"
                                          }
                                        ],
                                        "id": 6532,
                                        "name": "MemberAccess",
                                        "src": "6948: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": 6533,
                                            "name": "ElementaryTypeNameExpression",
                                            "src": "6974:3:18"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "reputationReward",
                                              "referencedDeclaration": 6267,
                                              "type": "uint256"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 6514,
                                                  "type": "struct ContributionReward.ContributionProposal memory",
                                                  "value": "proposal"
                                                },
                                                "id": 6534,
                                                "name": "Identifier",
                                                "src": "6978:8:18"
                                              }
                                            ],
                                            "id": 6535,
                                            "name": "MemberAccess",
                                            "src": "6978:25:18"
                                          }
                                        ],
                                        "id": 6536,
                                        "name": "FunctionCall",
                                        "src": "6974:30:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "beneficiary",
                                          "referencedDeclaration": 6275,
                                          "type": "address"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6514,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6537,
                                            "name": "Identifier",
                                            "src": "7006:8:18"
                                          }
                                        ],
                                        "id": 6538,
                                        "name": "MemberAccess",
                                        "src": "7006:20:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6489,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 6539,
                                        "name": "Identifier",
                                        "src": "7027:7:18"
                                      }
                                    ],
                                    "id": 6540,
                                    "name": "FunctionCall",
                                    "src": "6948:87:18"
                                  }
                                ],
                                "id": 6541,
                                "name": "UnaryOperation",
                                "src": "6947: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": 10905,
                                              "type": "function () pure",
                                              "value": "revert"
                                            },
                                            "id": 6542,
                                            "name": "Identifier",
                                            "src": "7055:6:18"
                                          }
                                        ],
                                        "id": 6543,
                                        "name": "FunctionCall",
                                        "src": "7055:8:18"
                                      }
                                    ],
                                    "id": 6544,
                                    "name": "ExpressionStatement",
                                    "src": "7055:8:18"
                                  }
                                ],
                                "id": 6545,
                                "name": "Block",
                                "src": "7037:43:18"
                              }
                            ],
                            "id": 6546,
                            "name": "IfStatement",
                            "src": "6943: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": 6522,
                                              "type": "contract ControllerInterface",
                                              "value": "controller"
                                            },
                                            "id": 6547,
                                            "name": "Identifier",
                                            "src": "7098:10:18"
                                          }
                                        ],
                                        "id": 6548,
                                        "name": "MemberAccess",
                                        "src": "7098:21:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "nativeTokenReward",
                                          "referencedDeclaration": 6265,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6514,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6549,
                                            "name": "Identifier",
                                            "src": "7120:8:18"
                                          }
                                        ],
                                        "id": 6550,
                                        "name": "MemberAccess",
                                        "src": "7120:26:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "beneficiary",
                                          "referencedDeclaration": 6275,
                                          "type": "address"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6514,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6551,
                                            "name": "Identifier",
                                            "src": "7148:8:18"
                                          }
                                        ],
                                        "id": 6552,
                                        "name": "MemberAccess",
                                        "src": "7148:20:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6489,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 6553,
                                        "name": "Identifier",
                                        "src": "7169:7:18"
                                      }
                                    ],
                                    "id": 6554,
                                    "name": "FunctionCall",
                                    "src": "7098:79:18"
                                  }
                                ],
                                "id": 6555,
                                "name": "UnaryOperation",
                                "src": "7097: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": 10905,
                                              "type": "function () pure",
                                              "value": "revert"
                                            },
                                            "id": 6556,
                                            "name": "Identifier",
                                            "src": "7197:6:18"
                                          }
                                        ],
                                        "id": 6557,
                                        "name": "FunctionCall",
                                        "src": "7197:8:18"
                                      }
                                    ],
                                    "id": 6558,
                                    "name": "ExpressionStatement",
                                    "src": "7197:8:18"
                                  }
                                ],
                                "id": 6559,
                                "name": "Block",
                                "src": "7179:43:18"
                              }
                            ],
                            "id": 6560,
                            "name": "IfStatement",
                            "src": "7093: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": 6522,
                                              "type": "contract ControllerInterface",
                                              "value": "controller"
                                            },
                                            "id": 6561,
                                            "name": "Identifier",
                                            "src": "7240:10:18"
                                          }
                                        ],
                                        "id": 6562,
                                        "name": "MemberAccess",
                                        "src": "7240:20:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "ethReward",
                                          "referencedDeclaration": 6269,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6514,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6563,
                                            "name": "Identifier",
                                            "src": "7261:8:18"
                                          }
                                        ],
                                        "id": 6564,
                                        "name": "MemberAccess",
                                        "src": "7261:18:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "beneficiary",
                                          "referencedDeclaration": 6275,
                                          "type": "address"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6514,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6565,
                                            "name": "Identifier",
                                            "src": "7281:8:18"
                                          }
                                        ],
                                        "id": 6566,
                                        "name": "MemberAccess",
                                        "src": "7281:20:18"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6489,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 6567,
                                        "name": "Identifier",
                                        "src": "7302:7:18"
                                      }
                                    ],
                                    "id": 6568,
                                    "name": "FunctionCall",
                                    "src": "7240:70:18"
                                  }
                                ],
                                "id": 6569,
                                "name": "UnaryOperation",
                                "src": "7239: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": 10905,
                                              "type": "function () pure",
                                              "value": "revert"
                                            },
                                            "id": 6570,
                                            "name": "Identifier",
                                            "src": "7330:6:18"
                                          }
                                        ],
                                        "id": 6571,
                                        "name": "FunctionCall",
                                        "src": "7330:8:18"
                                      }
                                    ],
                                    "id": 6572,
                                    "name": "ExpressionStatement",
                                    "src": "7330:8:18"
                                  }
                                ],
                                "id": 6573,
                                "name": "Block",
                                "src": "7312:43:18"
                              }
                            ],
                            "id": 6574,
                            "name": "IfStatement",
                            "src": "7235: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": 6271,
                                          "type": "contract StandardToken"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6514,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6575,
                                            "name": "Identifier",
                                            "src": "7372:8:18"
                                          }
                                        ],
                                        "id": 6576,
                                        "name": "MemberAccess",
                                        "src": "7372: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": 6577,
                                            "name": "ElementaryTypeNameExpression",
                                            "src": "7398: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": 6578,
                                            "name": "Literal",
                                            "src": "7406:1:18"
                                          }
                                        ],
                                        "id": 6579,
                                        "name": "FunctionCall",
                                        "src": "7398:10:18"
                                      }
                                    ],
                                    "id": 6580,
                                    "name": "BinaryOperation",
                                    "src": "7372: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": 6273,
                                          "type": "uint256"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6514,
                                              "type": "struct ContributionReward.ContributionProposal memory",
                                              "value": "proposal"
                                            },
                                            "id": 6581,
                                            "name": "Identifier",
                                            "src": "7412:8:18"
                                          }
                                        ],
                                        "id": 6582,
                                        "name": "MemberAccess",
                                        "src": "7412: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": 6583,
                                        "name": "Literal",
                                        "src": "7443:1:18"
                                      }
                                    ],
                                    "id": 6584,
                                    "name": "BinaryOperation",
                                    "src": "7412:32:18"
                                  }
                                ],
                                "id": 6585,
                                "name": "BinaryOperation",
                                "src": "7372: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_$10889",
                                                      "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": 6522,
                                                      "type": "contract ControllerInterface",
                                                      "value": "controller"
                                                    },
                                                    "id": 6586,
                                                    "name": "Identifier",
                                                    "src": "7469:10:18"
                                                  }
                                                ],
                                                "id": 6587,
                                                "name": "MemberAccess",
                                                "src": "7469:32:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "externalToken",
                                                  "referencedDeclaration": 6271,
                                                  "type": "contract StandardToken"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 6514,
                                                      "type": "struct ContributionReward.ContributionProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 6588,
                                                    "name": "Identifier",
                                                    "src": "7502:8:18"
                                                  }
                                                ],
                                                "id": 6589,
                                                "name": "MemberAccess",
                                                "src": "7502:22:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "beneficiary",
                                                  "referencedDeclaration": 6275,
                                                  "type": "address"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 6514,
                                                      "type": "struct ContributionReward.ContributionProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 6590,
                                                    "name": "Identifier",
                                                    "src": "7526:8:18"
                                                  }
                                                ],
                                                "id": 6591,
                                                "name": "MemberAccess",
                                                "src": "7526:20:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "externalTokenReward",
                                                  "referencedDeclaration": 6273,
                                                  "type": "uint256"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 6514,
                                                      "type": "struct ContributionReward.ContributionProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 6592,
                                                    "name": "Identifier",
                                                    "src": "7548:8:18"
                                                  }
                                                ],
                                                "id": 6593,
                                                "name": "MemberAccess",
                                                "src": "7548:28:18"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 6489,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 6594,
                                                "name": "Identifier",
                                                "src": "7577:7:18"
                                              }
                                            ],
                                            "id": 6595,
                                            "name": "FunctionCall",
                                            "src": "7469:116:18"
                                          }
                                        ],
                                        "id": 6596,
                                        "name": "UnaryOperation",
                                        "src": "7468: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": 10905,
                                                      "type": "function () pure",
                                                      "value": "revert"
                                                    },
                                                    "id": 6597,
                                                    "name": "Identifier",
                                                    "src": "7609:6:18"
                                                  }
                                                ],
                                                "id": 6598,
                                                "name": "FunctionCall",
                                                "src": "7609:8:18"
                                              }
                                            ],
                                            "id": 6599,
                                            "name": "ExpressionStatement",
                                            "src": "7609:8:18"
                                          }
                                        ],
                                        "id": 6600,
                                        "name": "Block",
                                        "src": "7587:51:18"
                                      }
                                    ],
                                    "id": 6601,
                                    "name": "IfStatement",
                                    "src": "7464:174:18"
                                  }
                                ],
                                "id": 6602,
                                "name": "Block",
                                "src": "7446:210:18"
                              }
                            ],
                            "id": 6603,
                            "name": "IfStatement",
                            "src": "7368:288:18"
                          }
                        ],
                        "id": 6604,
                        "name": "Block",
                        "src": "6665:1003:18"
                      }
                    ],
                    "id": 6605,
                    "name": "IfStatement",
                    "src": "6648: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": 6282,
                                      "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))",
                                      "value": "organizationsProposals"
                                    },
                                    "id": 6606,
                                    "name": "Identifier",
                                    "src": "7684:22:18"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6489,
                                      "type": "address",
                                      "value": "_avatar"
                                    },
                                    "id": 6607,
                                    "name": "Identifier",
                                    "src": "7707:7:18"
                                  }
                                ],
                                "id": 6608,
                                "name": "IndexAccess",
                                "src": "7684:31:18"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6487,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 6609,
                                "name": "Identifier",
                                "src": "7716:11:18"
                              }
                            ],
                            "id": 6610,
                            "name": "IndexAccess",
                            "src": "7684:44:18"
                          }
                        ],
                        "id": 6611,
                        "name": "UnaryOperation",
                        "src": "7677:51:18"
                      }
                    ],
                    "id": 6612,
                    "name": "ExpressionStatement",
                    "src": "7677: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": 6255,
                              "type": "function (address,bytes32)",
                              "value": "LogProposalExecuted"
                            },
                            "id": 6613,
                            "name": "Identifier",
                            "src": "7738:19:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6489,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 6614,
                            "name": "Identifier",
                            "src": "7758:7:18"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6487,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 6615,
                            "name": "Identifier",
                            "src": "7767:11:18"
                          }
                        ],
                        "id": 6616,
                        "name": "FunctionCall",
                        "src": "7738:41:18"
                      }
                    ],
                    "id": 6617,
                    "name": "ExpressionStatement",
                    "src": "7738:41:18"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 6495
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 6618,
                        "name": "Literal",
                        "src": "7796:4:18"
                      }
                    ],
                    "id": 6619,
                    "name": "Return",
                    "src": "7789:11:18"
                  }
                ],
                "id": 6620,
                "name": "Block",
                "src": "6442:1365:18"
              }
            ],
            "id": 6621,
            "name": "FunctionDefinition",
            "src": "6354:1453:18"
          }
        ],
        "id": 6622,
        "name": "ContractDefinition",
        "src": "335:7474:18"
      }
    ],
    "id": 6623,
    "name": "SourceUnit",
    "src": "0:7810:18"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {
    "1516296965265": {
      "events": {},
      "links": {},
      "address": "0x75d83a1e9527b46dad7e6371e5b5a8713abfb815"
    }
  },
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-18T17:37:09.558Z"
}