ContractABI/Members.json
{ "contractName": "Members", "abi": [ { "constant": true, "inputs": [], "name": "getAddressToReplace", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xe8c757d6" }, { "inputs": [ { "name": "_rootContract", "type": "address" }, { "name": "_updateFrom", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor", "signature": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "name", "type": "string" } ], "name": "MemberJoinedEvent", "type": "event", "signature": "0x6907ef36b4ec2ac0dbcf68e4e88d58e46d33a9befbd092de26182eeb8a043104" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "name", "type": "string" } ], "name": "MemberLeftEvent", "type": "event", "signature": "0xce76cde84f41d02c564cb9c9416a2bb5deb93e11997544be0f46b97c1789bc49" }, { "constant": false, "inputs": [], "name": "activate", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x0f15f4c0" }, { "constant": false, "inputs": [ { "name": "_name", "type": "string" }, { "name": "_displayName", "type": "string" }, { "name": "_subscriptionId", "type": "string" }, { "name": "_account", "type": "address" } ], "name": "addMember", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x03934d76" }, { "constant": false, "inputs": [ { "name": "_name", "type": "string" }, { "name": "_displayName", "type": "string" }, { "name": "_subscriptionId", "type": "string" }, { "name": "_role", "type": "string" }, { "name": "_account", "type": "address" } ], "name": "injectMember", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xd3ed8a52" }, { "constant": false, "inputs": [ { "name": "_name", "type": "string" } ], "name": "removeMember", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xf55365a1" }, { "constant": false, "inputs": [ { "name": "_name", "type": "string" }, { "name": "_account", "type": "address" } ], "name": "setMemberAccount", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xa1b02a62" }, { "constant": false, "inputs": [ { "name": "_name", "type": "string" }, { "name": "_displayName", "type": "string" } ], "name": "setMemberDisplayName", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xf616c713" }, { "constant": false, "inputs": [ { "name": "_name", "type": "string" }, { "name": "_role", "type": "string" } ], "name": "setMemberRole", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x6f8124d5" }, { "constant": true, "inputs": [ { "name": "_name", "type": "string" } ], "name": "getMemberSubscriptionId", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xb4fd24e0" }, { "constant": true, "inputs": [ { "name": "_name", "type": "string" } ], "name": "getMemberAccount", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xf45d407e" }, { "constant": true, "inputs": [ { "name": "_name", "type": "string" } ], "name": "getMemberDisplayName", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x65d8b798" }, { "constant": true, "inputs": [ { "name": "_name", "type": "string" } ], "name": "getMemberRole", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x941a6cbd" }, { "constant": true, "inputs": [ { "name": "_name", "type": "string" } ], "name": "getMemberStatus", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x8e690fc5" }, { "constant": true, "inputs": [ { "name": "_name", "type": "string" } ], "name": "getMemberCorrelationId", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x2d5a8378" }, { "constant": true, "inputs": [], "name": "getAdminCount", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x8b7bf3eb" }, { "constant": true, "inputs": [], "name": "getMemberCount", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x997072f7" }, { "constant": true, "inputs": [ { "name": "iterator", "type": "uint256" } ], "name": "getMemberNameAtIndex", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xbc245d3b" }, { "constant": false, "inputs": [ { "name": "_subscriptionId", "type": "string" }, { "name": "_role", "type": "string" } ], "name": "inviteMember", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xbfda3ebe" }, { "constant": false, "inputs": [ { "name": "_subscriptionId", "type": "string" } ], "name": "removeInvitation", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0x4444bc75" }, { "constant": false, "inputs": [ { "name": "_subscriptionId", "type": "string" }, { "name": "_role", "type": "string" } ], "name": "setInvitationRole", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", "signature": "0xb36420c1" }, { "constant": true, "inputs": [ { "name": "_subscriptionId", "type": "string" } ], "name": "getInvitationRole", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x45143a48" }, { "constant": true, "inputs": [ { "name": "_subscriptionId", "type": "string" } ], "name": "getInvitationCorrelationId", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x2dff0bed" }, { "constant": true, "inputs": [], "name": "getInvitationCount", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0x446d3d95" }, { "constant": true, "inputs": [ { "name": "iterator", "type": "uint256" } ], "name": "getInvitationSubscriptionIdAtIndex", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", "signature": "0xe5b6e678" } ], "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_displayName\",\"type\":\"string\"},{\"name\":\"_subscriptionId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addMember\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"activate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberCorrelationId\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_subscriptionId\",\"type\":\"string\"}],\"name\":\"getInvitationCorrelationId\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_subscriptionId\",\"type\":\"string\"}],\"name\":\"removeInvitation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getInvitationCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_subscriptionId\",\"type\":\"string\"}],\"name\":\"getInvitationRole\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberDisplayName\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_role\",\"type\":\"string\"}],\"name\":\"setMemberRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getAdminCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberRole\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMemberCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"setMemberAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_subscriptionId\",\"type\":\"string\"},{\"name\":\"_role\",\"type\":\"string\"}],\"name\":\"setInvitationRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberSubscriptionId\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"iterator\",\"type\":\"uint256\"}],\"name\":\"getMemberNameAtIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_subscriptionId\",\"type\":\"string\"},{\"name\":\"_role\",\"type\":\"string\"}],\"name\":\"inviteMember\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_displayName\",\"type\":\"string\"},{\"name\":\"_subscriptionId\",\"type\":\"string\"},{\"name\":\"_role\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"injectMember\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"iterator\",\"type\":\"uint256\"}],\"name\":\"getInvitationSubscriptionIdAtIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getAddressToReplace\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"removeMember\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_displayName\",\"type\":\"string\"}],\"name\":\"setMemberDisplayName\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_rootContract\",\"type\":\"address\"},{\"name\":\"_updateFrom\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"MemberJoinedEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"MemberLeftEvent\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/d/a/1/s/contracts/Members.sol\":\"Members\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/d/a/1/s/contracts/BaseUpdateable.sol\":{\"keccak256\":\"0x531b2d389f1c5f85c4890c04e7f5c0a7cc2452a50e4ed49d0adb4193703c2154\",\"urls\":[\"bzzr://bed7bc8bb485686610c78a1b8e484b27348fd108eac9ed12d5356db1c6fd1ed7\"]},\"/d/a/1/s/contracts/ConsortiumManagementContractVersion.sol\":{\"keccak256\":\"0x2851d86fd34b93bd9b6002bfa8d0a7c5cf233e730b136dacd6782d79878d0c6c\",\"urls\":[\"bzzr://f4a68a5d1bd44b7b5929107944d75cd56f8218427b7bdfc95446c1797eab0656\"]},\"/d/a/1/s/contracts/Constants.sol\":{\"keccak256\":\"0xb0c311d292c0115c36c1d5c3ed0c83afd594c90dd41d6c7992a1f66dff9a4375\",\"urls\":[\"bzzr://07b29230dbc162d19e3bef6a6217b21ebbac525e003ded9ba374e1d421f5103d\"]},\"/d/a/1/s/contracts/DataMigration/PrivatePreview/PrivatePreviewMembers.sol\":{\"keccak256\":\"0x464d80fafd484ef871067dff74b3cff4bb612c2d828ad2971969ff3ba0ffa622\",\"urls\":[\"bzzr://9866b5b815adf6fa1fe4d64a722254a5a8406a77b6bf57e018332e5181e70fd4\"]},\"/d/a/1/s/contracts/DataMigration/PrivatePreview/StringUtils.sol\":{\"keccak256\":\"0xa602edfa439272707e442e136088466b6288dde8250c97859541259f0d957ab6\",\"urls\":[\"bzzr://63fe4ef90c811e47bd23418c258d6b253479c59e48646920a76041056c9038a9\"]},\"/d/a/1/s/contracts/IUpdateable.sol\":{\"keccak256\":\"0xedc79dd0e302081684559ce370108b6e19ea702a03ce74a9cc3e26f9efb8af35\",\"urls\":[\"bzzr://364be739cfaaa27ff9c441f16c8e5012a00d60ac61d0ac1ed22884e37a602856\"]},\"/d/a/1/s/contracts/Members.sol\":{\"keccak256\":\"0x4ee59db17188a73a8be32df1d8bcc329f480f43c8d079d9787a6e14dcbad3155\",\"urls\":[\"bzzr://f7df3daed20e8057d41393915fadf24a4582ba317b0e2083989d94654f7cb940\"]},\"/d/a/1/s/contracts/RootContract.sol\":{\"keccak256\":\"0x8c1cae8fdf5ed0e4ee1271fd3c92ec919ac05ef140bea6ee80198762a7348889\",\"urls\":[\"bzzr://848dee81af651f184a07897de87af9f15dca5ab28bb2518e06ab33f751cee588\"]}},\"version\":1}", "bytecode": "0x608060405234801561001057600080fd5b5060405160408061448e83398101604052805160209091015160008054600160a060020a03938416600160a060020a03199182161790915560018054939092169216919091179055614427806100676000396000f3006080604052600436106101245763ffffffff60e060020a60003504166303934d7681146101295780630f15f4c01461020b5780632d5a8378146102205780632dff0bed1461028b5780634444bc75146102e4578063446d3d951461033d57806345143a481461035257806365d8b798146104205780636f8124d5146104795780638b7bf3eb146105105780638e690fc514610525578063941a6cbd1461057e578063997072f7146105d7578063a1b02a62146105ec578063b36420c114610650578063b4fd24e0146106e7578063bc245d3b14610740578063bfda3ebe14610758578063d3ed8a52146107ef578063e5b6e6781461090d578063e8c757d614610925578063f45d407e14610956578063f55365a1146109af578063f616c71314610a08575b600080fd5b34801561013557600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975050509235600160a060020a03169350610a9f92505050565b005b34801561021757600080fd5b50610209610b5d565b34801561022c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102799436949293602493928401919081908401838280828437509497506114489650505050505050565b60408051918252519081900360200190f35b34801561029757600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261027994369492936024939284019190819084018382808284375094975061153a9650505050505050565b3480156102f057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975061162c9650505050505050565b34801561034957600080fd5b50610279611694565b34801561035e57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab94369492936024939284019190819084018382808284375094975061169b9650505050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103e55781810151838201526020016103cd565b50505050905090810190601f1680156104125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561042c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab9436949293602493928401919081908401838280828437509497506118259650505050505050565b34801561048557600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506119779650505050505050565b34801561051c57600080fd5b506102796119e1565b34801561053157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab9436949293602493928401919081908401838280828437509497506119e79650505050505050565b34801561058a57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab943694929360249392840191908190840183828082843750949750611a869650505050505050565b3480156105e357600080fd5b50610279611bc9565b3480156105f857600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975050509235600160a060020a03169350611bcf92505050565b34801561065c57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611c5e9650505050505050565b3480156106f357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab943694929360249392840191908190840183828082843750949750611cc49650505050505050565b34801561074c57600080fd5b506103ab600435611e09565b34801561076457600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611f129650505050505050565b3480156107fb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975050509235600160a060020a03169350611f8692505050565b34801561091957600080fd5b506103ab600435612030565b34801561093157600080fd5b5061093a612102565b60408051600160a060020a039092168252519081900360200190f35b34801561096257600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261093a9436949293602493928401919081908401838280828437509497506121119650505050505050565b3480156109bb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975061220d9650505050505050565b348015610a1457600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506122ce9650505050505050565b60606000610aac33612450565b1515610b28576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b610b318461169b565b9150610b3c8461153a565b9050610b47846124e5565b610b55868686858786612794565b505050505050565b60008054606090819081908190859081908190819081908190600160a060020a03163314610bfb576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c7920526f6f74436f6e74726163742063616e20696e766f6b652061637460448201527f69766174652066756e6374696f6e2e0000000000000000000000000000000000606482015290519081900360840190fd5b600154600160a060020a03161515610c125761143b565b610c1a612b70565b50909550935084158015610c2c575083155b1515610ca8576040805160e560020a62461bcd02815260206004820152603760248201527f4d6967726174696f6e2066726f6d2076657273696f6e73206f7468657220746860448201527f616e20302e30206973206e6f742065787065637465642e000000000000000000606482015290519081900360840190fd5b600160009054906101000a9004600160a060020a0316925082600160a060020a031663fb38eb456040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610cfe57600080fd5b505af1158015610d12573d6000803e3d6000fd5b505050506040513d6020811015610d2857600080fd5b50519a505b82600160a060020a031663c73f52eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610d6b57600080fd5b505af1158015610d7f573d6000803e3d6000fd5b505050506040513d6020811015610d9557600080fd5b50518b101561143b5782600160a060020a031663b74be0a78c6040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b158015610de757600080fd5b505af1158015610dfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610e2457600080fd5b810190808051640100000000811115610e3c57600080fd5b82016020810184811115610e4f57600080fd5b8151640100000000811182820187101715610e6957600080fd5b5050929190505050995082600160a060020a031663b4fd24e08b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed2578181015183820152602001610eba565b50505050905090810190601f168015610eff5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b158015610f1e57600080fd5b505af1158015610f32573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f5b57600080fd5b810190808051640100000000811115610f7357600080fd5b82016020810184811115610f8657600080fd5b8151640100000000811182820187101715610fa057600080fd5b5050929190505050985082600160a060020a031663941a6cbd8b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611009578181015183820152602001610ff1565b50505050905090810190601f1680156110365780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561105557600080fd5b505af1158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561109257600080fd5b8101908080516401000000008111156110aa57600080fd5b820160208101848111156110bd57600080fd5b81516401000000008111828201871017156110d757600080fd5b5050929190505050975082600160a060020a0316638e690fc58b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611140578181015183820152602001611128565b50505050905090810190601f16801561116d5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561118c57600080fd5b505af11580156111a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156111c957600080fd5b8101908080516401000000008111156111e157600080fd5b820160208101848111156111f457600080fd5b815164010000000081118282018710171561120e57600080fd5b5050929190505050965082600160a060020a031663f45d407e8b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561127757818101518382015260200161125f565b50505050905090810190601f1680156112a45780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156112c357600080fd5b505af11580156112d7573d6000803e3d6000fd5b505050506040513d60208110156112ed57600080fd5b505160408051808201909152600481527f4c656674000000000000000000000000000000000000000000000000000000006020820152909650611331908890612e08565b9150611372876040805190810160405280600581526020017f5265616479000000000000000000000000000000000000000000000000000000815250612e08565b9050811561137f57611430565b8080156113945750600160a060020a03861615155b156113bc576113b78a8b8b8b8a6006600081548092919060010191905055612794565b611430565b6113c589612f95565b15156113e35760068054600181019091556113b7908a908a90613002565b6113ec88613170565b1561143057611430896040805190810160405280600581526020017f41444d494e0000000000000000000000000000000000000000000000000000008152506131b7565b6001909a0199610d2d565b5050505050505050505050565b600081611454816132b8565b15156114ac576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106114e25780518252601f1990920191602091820191016114c3565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611520905057fe5b906000526020600020906006020160050154915050919050565b60008161154681612f95565b151561159e576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b600860016007856040518082805190602001908083835b602083106115d45780518252601f1990920191602091820191016115b5565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611612905057fe5b906000526020600020906003020160020154915050919050565b611635336132ec565b1515611688576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b611691816124e5565b50565b6008545b90565b6060816116a781612f95565b15156116ff576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b600860016007856040518082805190602001908083835b602083106117355780518252601f199092019160209182019101611716565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611773905057fe5b90600052602060002090600302016001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118185780601f106117ed57610100808354040283529160200191611818565b820191906000526020600020905b8154815290600101906020018083116117fb57829003601f168201915b5050505050915050919050565b606081611831816132b8565b1515611889576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106118bf5780518252601f1990920191602091820191016118a0565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054845493900392831091506118fd905057fe5b90600052602060002090600602016001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118185780601f106117ed57610100808354040283529160200191611818565b611980336132ec565b15156119d3576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b6119dd82826135c3565b5050565b60055490565b6060816119f3816132b8565b1515611a4b576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b505060408051808201909152600581527f52656164790000000000000000000000000000000000000000000000000000006020820152919050565b606081611a92816132b8565b1515611aea576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b60208310611b205780518252601f199092019160209182019101611b01565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611b5e905057fe5b6000918252602091829020600360069092020101805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156118185780601f106117ed57610100808354040283529160200191611818565b60045490565b611bd833612450565b1515611c54576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6119dd828261385b565b611c67336132ec565b1515611cba576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b6119dd82826131b7565b606081611cd0816132b8565b1515611d28576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b60208310611d5e5780518252601f199092019160209182019101611d3f565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611d9c905057fe5b600091825260209182902060026006909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156118185780601f106117ed57610100808354040283529160200191611818565b6004546060908210611e65576040805160e560020a62461bcd02815260206004820152601a60248201527f496e76616c6964206974657261746f7220737570706c6965642e000000000000604482015290519081900360640190fd5b6004805483908110611e7357fe5b6000918252602091829020600690910201805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611f065780601f10611edb57610100808354040283529160200191611f06565b820191906000526020600020905b815481529060010190602001808311611ee957829003601f168201915b50505050509050919050565b611f1b336132ec565b1515611f6e576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b60068054600181019091556119dd9083908390613002565b611f8f33612450565b151561200b576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61202985858585856006600081548092919060010191905055612794565b5050505050565b600854606090821061208c576040805160e560020a62461bcd02815260206004820152601a60248201527f496e76616c6964206974657261746f7220737570706c6965642e000000000000604482015290519081900360640190fd5b600880548390811061209a57fe5b6000918252602091829020600390910201805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611f065780601f10611edb57610100808354040283529160200191611f06565b600154600160a060020a031690565b60008161211d816132b8565b1515612175576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106121ab5780518252601f19909201916020918201910161218c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054845493900392831091506121e9905057fe5b6000918252602090912060069091020160040154600160a060020a03169392505050565b612216336132ec565b8061222657506122263382613add565b80612235575061223533612450565b15156122c5576040805160e560020a62461bcd02815260206004820152604b60248201526000805160206143dc83398151915260448201527f696e732c20746865206d656d626572207468656d73656c766573206f7220746860648201527f65206f70657261746f722e000000000000000000000000000000000000000000608482015290519081900360a40190fd5b61169181613b8d565b816122d93382613add565b1515612355576040805160e560020a62461bcd02815260206004820152603660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2074686560448201527f206d656d6265722773206f776e206163636f756e742e00000000000000000000606482015290519081900360840190fd5b8261235f816132b8565b15156123b7576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b82600460016002876040518082805190602001908083835b602083106123ee5780518252601f1990920191602091820191016123cf565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220548454939003928310915061242c905057fe5b90600052602060002090600602016001019080519060200190612029929190614102565b60008060009054906101000a9004600160a060020a0316600160a060020a031663570ca7356040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156124a457600080fd5b505af11580156124b8573d6000803e3d6000fd5b505050506040513d60208110156124ce57600080fd5b5051600160a060020a038381169116149050919050565b600080826124f281612f95565b151561254a576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b60016007856040518082805190602001908083835b6020831061257e5780518252601f19909201916020918201910161255f565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205403925060086001600880549050038154811015156125cc57fe5b90600052602060002090600302019150816008848154811015156125ec57fe5b906000526020600020906003020160008201816000019080546001816001161561010002031660029004612621929190614180565b5060018201816001019080546001816001161561010002031660029004612649929190614180565b50600282015481600201559050508260010160078360000160405180828054600181600116156101000203166002900480156126bc5780601f1061269a5761010080835404028352918201916126bc565b820191906000526020600020905b8154815290600101906020018083116126a8575b50509150509081526020016040518091039020819055506007846040518082805190602001908083835b602083106127055780518252601f1990920191602091820191016126e6565b51815160001960209485036101000a810191821691199290921617909152939091019586526040519586900301909420600090556008805490945090810192508210905061274f57fe5b6000918252602082206003909102019061276982826141f5565b6127776001830160006141f5565b506000600291909101556008805490612029906000198301614239565b61279d866132b8565b15612818576040805160e560020a62461bcd02815260206004820152602760248201527f41206d656d62657220776974682073756368206e616d6520616c72656164792060448201527f6578697374732e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b612821826140ba565b1561289c576040805160e560020a62461bcd02815260206004820152602a60248201527f41206d656d62657220776974682073756368206164647265737320616c72656160448201527f6479206578697374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515612922576040805160e560020a62461bcd02815260206004820152602860248201527f41737369676e696e672061207a65726f2061646472657373206973206e6f742060448201527f616c6c6f7765642e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805160c081018252878152602080820188905291810186905260608101859052600160a060020a038416608082015260a08101839052600480546001810180835560009290925282518051929460069092027f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01926129a69284920190614102565b5060208281015180516129bf9260018501920190614102565b50604082015180516129db916002840191602090910190614102565b50606082015180516129f7916003840191602090910190614102565b5060808201518160040160006101000a815481600160a060020a030219169083600160a060020a0316021790555060a082015181600501555050506004805490506002876040518082805190602001908083835b60208310612a6a5780518252601f199092019160209182019101612a4b565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201909420949094555050600454600160a060020a03851660009081526003909352912055612ac083613170565b15612acf576005805460010190555b7f6907ef36b4ec2ac0dbcf68e4e88d58e46d33a9befbd092de26182eeb8a043104866040518080602001828103825283818151815260200191508051906020019080838360005b83811015612b2e578181015183820152602001612b16565b50505050905090810190601f168015612b5b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1505050505050565b60008054604080517f35817773000000000000000000000000000000000000000000000000000000008152602060048201819052602360248301527f436f6e736f727469756d4d616e6167656d656e74436f6e74726163745665727360448301527f696f6e0000000000000000000000000000000000000000000000000000000000606483015291518493849384938493600160a060020a039093169263358177739260848084019391929182900301818787803b158015612c3157600080fd5b505af1158015612c45573d6000803e3d6000fd5b505050506040513d6020811015612c5b57600080fd5b50519150600160a060020a0382161515612c7e5760009450849350839250612e01565b81905080600160a060020a031663f50bf2086040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612cbf57600080fd5b505af1158015612cd3573d6000803e3d6000fd5b505050506040513d6020811015612ce957600080fd5b5051604080517f75494fc70000000000000000000000000000000000000000000000000000000081529051600160a060020a038416916375494fc79160048083019260209291908290030181600087803b158015612d4657600080fd5b505af1158015612d5a573d6000803e3d6000fd5b505050506040513d6020811015612d7057600080fd5b5051604080517f21057a1d0000000000000000000000000000000000000000000000000000000081529051600160a060020a038516916321057a1d9160048083019260209291908290030181600087803b158015612dcd57600080fd5b505af1158015612de1573d6000803e3d6000fd5b505050506040513d6020811015612df757600080fd5b5051919650945092505b5050909192565b6000816040516020018082805190602001908083835b60208310612e3d5780518252601f199092019160209182019101612e1e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310612ea05780518252601f199092019160209182019101612e81565b51815160209384036101000a60001901801990921691161790526040519190930181900381208851909550889450908301928392508401908083835b60208310612efb5780518252601f199092019160209182019101612edc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310612f5e5780518252601f199092019160209182019101612f3f565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120939093149695505050505050565b6000806007836040518082805190602001908083835b60208310612fca5780518252601f199092019160209182019101612fab565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205492909211949350505050565b61300b83612f95565b15613074576040805160e560020a62461bcd02815260206004820152603d60248201526000805160206143bc83398151915260448201527f62736372697074696f6e20696420616c7265616479206578697374732e000000606482015290519081900360840190fd5b604080516060810182528481526020808201859052918101839052600880546001810180835560009290925282518051929460039092027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee301926130db9284920190614102565b5060208281015180516130f49260018501920190614102565b50604082015181600201555050506008805490506007846040518082805190602001908083835b6020831061313a5780518252601f19909201916020918201910161311b565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220929092555050505050565b60006131b1826040805190810160405280600581526020017f41444d494e000000000000000000000000000000000000000000000000000000815250612e08565b92915050565b816131c181612f95565b1515613219576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b81600860016007866040518082805190602001908083835b602083106132505780518252601f199092019160209182019101613231565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220548454939003928310915061328e905057fe5b906000526020600020906003020160010190805190602001906132b2929190614102565b50505050565b60008060028360405180828051906020019080838360208310612fca5780518252601f199092019160209182019101612fab565b60006132f7826140ba565b80156131b15750600160a060020a038216600090815260036020526040902054600480546131b1926000190190811061332c57fe5b600091825260209182902060408051600693909302909101805460026001821615610100026000190190911604601f8101859004909402830160e090810190925260c08301848152929390928492909184918401828280156133cf5780601f106133a4576101008083540402835291602001916133cf565b820191906000526020600020905b8154815290600101906020018083116133b257829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156134715780601f1061344657610100808354040283529160200191613471565b820191906000526020600020905b81548152906001019060200180831161345457829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f810183900483028501830190915280845293810193908301828280156135035780601f106134d857610100808354040283529160200191613503565b820191906000526020600020905b8154815290600101906020018083116134e657829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156135975780601f1061356c57610100808354040283529160200191613597565b820191906000526020600020905b81548152906001019060200180831161357a57829003601f168201915b50505091835250506004820154600160a060020a031660208201526005909101546040909101526140d6565b6000826135cf816132b8565b1515613627576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b60016002856040518082805190602001908083835b6020831061365b5780518252601f19909201916020918201910161363c565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020540391506137456004838154811015156136a457fe5b6000918252602091829020600360069092020101805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561373a5780601f1061370f5761010080835404028352916020019161373a565b820191906000526020600020905b81548152906001019060200180831161371d57829003601f168201915b505050505084612e08565b1561374f576132b2565b61376160048381548110151561332c57fe5b156138005760055460001061377257fe5b600580546000190190556137846140f9565b1515613800576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e736f727469756d2073686f756c642068617665206174206c656173742060448201527f6f6e652061646d696e2e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b8260048381548110151561381057fe5b90600052602060002090600602016003019080519060200190613834929190614102565b5061384760048381548110151561332c57fe5b156132b25760058054600101905550505050565b60008083613868816132b8565b15156138c0576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b6138c9846140ba565b15613944576040805160e560020a62461bcd02815260206004820152602a60248201527f41206d656d62657220776974682073756368206164647265737320616c72656160448201527f6479206578697374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03841615156139ca576040805160e560020a62461bcd02815260206004820152602860248201527f41737369676e696e672061207a65726f2061646472657373206973206e6f742060448201527f616c6c6f7765642e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60016002866040518082805190602001908083835b602083106139fe5780518252601f1990920191602091820191016139df565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054039250600483815481101515613a4457fe5b600091825260208083206004600690930201820154600160a060020a0316808452600390915260408320929092558054919350859185908110613a8357fe5b60009182526020808320600692909202909101600401805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03948516179055959091168152600390945250506040909120600191909101905550565b6000613ae8826132b8565b8015613b865750600460016002846040518082805190602001908083835b60208310613b255780518252601f199092019160209182019101613b06565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150613b63905057fe5b6000918252602090912060046006909202010154600160a060020a038481169116145b9392505050565b60008060008084613b9d816132b8565b1515613bf5576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b60016002876040518082805190602001908083835b60208310613c295780518252601f199092019160209182019101613c0a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054039450600485815481101515613c6f57fe5b600091825260209182902060069190910201600481015460408051835460026101006001831615026000190190911604601f8101869004909502810160e090810190925260c08101858152939850600160a060020a039092169650613cfd939192889284928491908401828280156133cf5780601f106133a4576101008083540402835291602001916133cf565b15613d9c57600554600010613d0e57fe5b60058054600019019055613d206140f9565b1515613d9c576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e736f727469756d2073686f756c642068617665206174206c656173742060448201527f6f6e652061646d696e2e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600480546000198101908110613dae57fe5b9060005260206000209060060201915081600486815481101515613dce57fe5b906000526020600020906006020160008201816000019080546001816001161561010002031660029004613e03929190614180565b5060018201816001019080546001816001161561010002031660029004613e2b929190614180565b5060028281018054613e50928481019291600019610100600183161502011604614180565b5060038201816003019080546001816001161561010002031660029004613e78929190614180565b50600482810154908201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905560059182015491015560405182546001878101926002928692829184918116156101000260001901168590048015613f1b5780601f10613ef9576101008083540402835291820191613f1b565b820191906000526020600020905b815481529060010190602001808311613f07575b50509283525050604080519182900360209081018320939093556004850154600160a060020a0390811660009081526003855282812060018b019055908716815290812055875160029289929182918401908083835b60208310613f905780518252601f199092019160209182019101613f71565b51815160001960209485036101000a8101918216911992909216179091529390910195865260405195869003019094206000905560048054909450908101925082109050613fda57fe5b60009182526020822060069091020190613ff482826141f5565b6140026001830160006141f5565b6140106002830160006141f5565b61401e6003830160006141f5565b506004818101805473ffffffffffffffffffffffffffffffffffffffff19169055600060059092019190915580549061405b90600019830161426a565b507fce76cde84f41d02c564cb9c9416a2bb5deb93e11997544be0f46b97c1789bc498660405180806020018281038252838181518152602001915080519060200190808383600083811015612b2e578181015183820152602001612b16565b600160a060020a03166000908152600360205260408120541190565b60006140e582600001516132b8565b80156131b157506131b18260600151613170565b60055460001090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061414357805160ff1916838001178555614170565b82800160010185558215614170579182015b82811115614170578251825591602001919060010190614155565b5061417c929150614296565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106141b95780548555614170565b8280016001018555821561417057600052602060002091601f016020900482015b828111156141705782548255916001019190600101906141da565b50805460018160011615610100020316600290046000825580601f1061421b5750611691565b601f0160209004906000526020600020908101906116919190614296565b8154818355818111156142655760030281600302836000526020600020918201910161426591906142b0565b505050565b8154818355818111156142655760060281600602836000526020600020918201910161426591906142e8565b61169891905b8082111561417c576000815560010161429c565b61169891905b8082111561417c5760006142ca82826141f5565b6142d86001830160006141f5565b50600060028201556003016142b6565b61169891905b8082111561417c57600061430282826141f5565b6143106001830160006141f5565b61431e6002830160006141f5565b61432c6003830160006141f5565b5060048101805473ffffffffffffffffffffffffffffffffffffffff19169055600060058201556006016142ee560062736372697074696f6e20696420646f6573206e6f74206578697374732e000041206d656d62657220776974682073756368206e616d6520646f6573206e6f74206578697374732e00000000000000000000000000000000000000000000000041206d656d62657220696e7669746174696f6e207769746820737563682073754f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646da165627a7a72305820a9a8aab7c19d6fd715f409e0444adb7d005756ff90bbddf642d1e17e52bba2880029", "deployedBytecode": "0x6080604052600436106101245763ffffffff60e060020a60003504166303934d7681146101295780630f15f4c01461020b5780632d5a8378146102205780632dff0bed1461028b5780634444bc75146102e4578063446d3d951461033d57806345143a481461035257806365d8b798146104205780636f8124d5146104795780638b7bf3eb146105105780638e690fc514610525578063941a6cbd1461057e578063997072f7146105d7578063a1b02a62146105ec578063b36420c114610650578063b4fd24e0146106e7578063bc245d3b14610740578063bfda3ebe14610758578063d3ed8a52146107ef578063e5b6e6781461090d578063e8c757d614610925578063f45d407e14610956578063f55365a1146109af578063f616c71314610a08575b600080fd5b34801561013557600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975050509235600160a060020a03169350610a9f92505050565b005b34801561021757600080fd5b50610209610b5d565b34801561022c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102799436949293602493928401919081908401838280828437509497506114489650505050505050565b60408051918252519081900360200190f35b34801561029757600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261027994369492936024939284019190819084018382808284375094975061153a9650505050505050565b3480156102f057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975061162c9650505050505050565b34801561034957600080fd5b50610279611694565b34801561035e57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab94369492936024939284019190819084018382808284375094975061169b9650505050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103e55781810151838201526020016103cd565b50505050905090810190601f1680156104125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561042c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab9436949293602493928401919081908401838280828437509497506118259650505050505050565b34801561048557600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506119779650505050505050565b34801561051c57600080fd5b506102796119e1565b34801561053157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab9436949293602493928401919081908401838280828437509497506119e79650505050505050565b34801561058a57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab943694929360249392840191908190840183828082843750949750611a869650505050505050565b3480156105e357600080fd5b50610279611bc9565b3480156105f857600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975050509235600160a060020a03169350611bcf92505050565b34801561065c57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611c5e9650505050505050565b3480156106f357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab943694929360249392840191908190840183828082843750949750611cc49650505050505050565b34801561074c57600080fd5b506103ab600435611e09565b34801561076457600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611f129650505050505050565b3480156107fb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975050509235600160a060020a03169350611f8692505050565b34801561091957600080fd5b506103ab600435612030565b34801561093157600080fd5b5061093a612102565b60408051600160a060020a039092168252519081900360200190f35b34801561096257600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261093a9436949293602493928401919081908401838280828437509497506121119650505050505050565b3480156109bb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975061220d9650505050505050565b348015610a1457600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506122ce9650505050505050565b60606000610aac33612450565b1515610b28576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b610b318461169b565b9150610b3c8461153a565b9050610b47846124e5565b610b55868686858786612794565b505050505050565b60008054606090819081908190859081908190819081908190600160a060020a03163314610bfb576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c7920526f6f74436f6e74726163742063616e20696e766f6b652061637460448201527f69766174652066756e6374696f6e2e0000000000000000000000000000000000606482015290519081900360840190fd5b600154600160a060020a03161515610c125761143b565b610c1a612b70565b50909550935084158015610c2c575083155b1515610ca8576040805160e560020a62461bcd02815260206004820152603760248201527f4d6967726174696f6e2066726f6d2076657273696f6e73206f7468657220746860448201527f616e20302e30206973206e6f742065787065637465642e000000000000000000606482015290519081900360840190fd5b600160009054906101000a9004600160a060020a0316925082600160a060020a031663fb38eb456040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610cfe57600080fd5b505af1158015610d12573d6000803e3d6000fd5b505050506040513d6020811015610d2857600080fd5b50519a505b82600160a060020a031663c73f52eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610d6b57600080fd5b505af1158015610d7f573d6000803e3d6000fd5b505050506040513d6020811015610d9557600080fd5b50518b101561143b5782600160a060020a031663b74be0a78c6040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b158015610de757600080fd5b505af1158015610dfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610e2457600080fd5b810190808051640100000000811115610e3c57600080fd5b82016020810184811115610e4f57600080fd5b8151640100000000811182820187101715610e6957600080fd5b5050929190505050995082600160a060020a031663b4fd24e08b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed2578181015183820152602001610eba565b50505050905090810190601f168015610eff5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b158015610f1e57600080fd5b505af1158015610f32573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f5b57600080fd5b810190808051640100000000811115610f7357600080fd5b82016020810184811115610f8657600080fd5b8151640100000000811182820187101715610fa057600080fd5b5050929190505050985082600160a060020a031663941a6cbd8b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611009578181015183820152602001610ff1565b50505050905090810190601f1680156110365780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561105557600080fd5b505af1158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561109257600080fd5b8101908080516401000000008111156110aa57600080fd5b820160208101848111156110bd57600080fd5b81516401000000008111828201871017156110d757600080fd5b5050929190505050975082600160a060020a0316638e690fc58b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611140578181015183820152602001611128565b50505050905090810190601f16801561116d5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561118c57600080fd5b505af11580156111a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156111c957600080fd5b8101908080516401000000008111156111e157600080fd5b820160208101848111156111f457600080fd5b815164010000000081118282018710171561120e57600080fd5b5050929190505050965082600160a060020a031663f45d407e8b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561127757818101518382015260200161125f565b50505050905090810190601f1680156112a45780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156112c357600080fd5b505af11580156112d7573d6000803e3d6000fd5b505050506040513d60208110156112ed57600080fd5b505160408051808201909152600481527f4c656674000000000000000000000000000000000000000000000000000000006020820152909650611331908890612e08565b9150611372876040805190810160405280600581526020017f5265616479000000000000000000000000000000000000000000000000000000815250612e08565b9050811561137f57611430565b8080156113945750600160a060020a03861615155b156113bc576113b78a8b8b8b8a6006600081548092919060010191905055612794565b611430565b6113c589612f95565b15156113e35760068054600181019091556113b7908a908a90613002565b6113ec88613170565b1561143057611430896040805190810160405280600581526020017f41444d494e0000000000000000000000000000000000000000000000000000008152506131b7565b6001909a0199610d2d565b5050505050505050505050565b600081611454816132b8565b15156114ac576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106114e25780518252601f1990920191602091820191016114c3565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611520905057fe5b906000526020600020906006020160050154915050919050565b60008161154681612f95565b151561159e576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b600860016007856040518082805190602001908083835b602083106115d45780518252601f1990920191602091820191016115b5565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611612905057fe5b906000526020600020906003020160020154915050919050565b611635336132ec565b1515611688576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b611691816124e5565b50565b6008545b90565b6060816116a781612f95565b15156116ff576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b600860016007856040518082805190602001908083835b602083106117355780518252601f199092019160209182019101611716565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611773905057fe5b90600052602060002090600302016001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118185780601f106117ed57610100808354040283529160200191611818565b820191906000526020600020905b8154815290600101906020018083116117fb57829003601f168201915b5050505050915050919050565b606081611831816132b8565b1515611889576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106118bf5780518252601f1990920191602091820191016118a0565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054845493900392831091506118fd905057fe5b90600052602060002090600602016001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118185780601f106117ed57610100808354040283529160200191611818565b611980336132ec565b15156119d3576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b6119dd82826135c3565b5050565b60055490565b6060816119f3816132b8565b1515611a4b576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b505060408051808201909152600581527f52656164790000000000000000000000000000000000000000000000000000006020820152919050565b606081611a92816132b8565b1515611aea576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b60208310611b205780518252601f199092019160209182019101611b01565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611b5e905057fe5b6000918252602091829020600360069092020101805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156118185780601f106117ed57610100808354040283529160200191611818565b60045490565b611bd833612450565b1515611c54576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6119dd828261385b565b611c67336132ec565b1515611cba576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b6119dd82826131b7565b606081611cd0816132b8565b1515611d28576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b60208310611d5e5780518252601f199092019160209182019101611d3f565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611d9c905057fe5b600091825260209182902060026006909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156118185780601f106117ed57610100808354040283529160200191611818565b6004546060908210611e65576040805160e560020a62461bcd02815260206004820152601a60248201527f496e76616c6964206974657261746f7220737570706c6965642e000000000000604482015290519081900360640190fd5b6004805483908110611e7357fe5b6000918252602091829020600690910201805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611f065780601f10611edb57610100808354040283529160200191611f06565b820191906000526020600020905b815481529060010190602001808311611ee957829003601f168201915b50505050509050919050565b611f1b336132ec565b1515611f6e576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b60068054600181019091556119dd9083908390613002565b611f8f33612450565b151561200b576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61202985858585856006600081548092919060010191905055612794565b5050505050565b600854606090821061208c576040805160e560020a62461bcd02815260206004820152601a60248201527f496e76616c6964206974657261746f7220737570706c6965642e000000000000604482015290519081900360640190fd5b600880548390811061209a57fe5b6000918252602091829020600390910201805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611f065780601f10611edb57610100808354040283529160200191611f06565b600154600160a060020a031690565b60008161211d816132b8565b1515612175576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106121ab5780518252601f19909201916020918201910161218c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054845493900392831091506121e9905057fe5b6000918252602090912060069091020160040154600160a060020a03169392505050565b612216336132ec565b8061222657506122263382613add565b80612235575061223533612450565b15156122c5576040805160e560020a62461bcd02815260206004820152604b60248201526000805160206143dc83398151915260448201527f696e732c20746865206d656d626572207468656d73656c766573206f7220746860648201527f65206f70657261746f722e000000000000000000000000000000000000000000608482015290519081900360a40190fd5b61169181613b8d565b816122d93382613add565b1515612355576040805160e560020a62461bcd02815260206004820152603660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2074686560448201527f206d656d6265722773206f776e206163636f756e742e00000000000000000000606482015290519081900360840190fd5b8261235f816132b8565b15156123b7576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b82600460016002876040518082805190602001908083835b602083106123ee5780518252601f1990920191602091820191016123cf565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220548454939003928310915061242c905057fe5b90600052602060002090600602016001019080519060200190612029929190614102565b60008060009054906101000a9004600160a060020a0316600160a060020a031663570ca7356040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156124a457600080fd5b505af11580156124b8573d6000803e3d6000fd5b505050506040513d60208110156124ce57600080fd5b5051600160a060020a038381169116149050919050565b600080826124f281612f95565b151561254a576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b60016007856040518082805190602001908083835b6020831061257e5780518252601f19909201916020918201910161255f565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205403925060086001600880549050038154811015156125cc57fe5b90600052602060002090600302019150816008848154811015156125ec57fe5b906000526020600020906003020160008201816000019080546001816001161561010002031660029004612621929190614180565b5060018201816001019080546001816001161561010002031660029004612649929190614180565b50600282015481600201559050508260010160078360000160405180828054600181600116156101000203166002900480156126bc5780601f1061269a5761010080835404028352918201916126bc565b820191906000526020600020905b8154815290600101906020018083116126a8575b50509150509081526020016040518091039020819055506007846040518082805190602001908083835b602083106127055780518252601f1990920191602091820191016126e6565b51815160001960209485036101000a810191821691199290921617909152939091019586526040519586900301909420600090556008805490945090810192508210905061274f57fe5b6000918252602082206003909102019061276982826141f5565b6127776001830160006141f5565b506000600291909101556008805490612029906000198301614239565b61279d866132b8565b15612818576040805160e560020a62461bcd02815260206004820152602760248201527f41206d656d62657220776974682073756368206e616d6520616c72656164792060448201527f6578697374732e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b612821826140ba565b1561289c576040805160e560020a62461bcd02815260206004820152602a60248201527f41206d656d62657220776974682073756368206164647265737320616c72656160448201527f6479206578697374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515612922576040805160e560020a62461bcd02815260206004820152602860248201527f41737369676e696e672061207a65726f2061646472657373206973206e6f742060448201527f616c6c6f7765642e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805160c081018252878152602080820188905291810186905260608101859052600160a060020a038416608082015260a08101839052600480546001810180835560009290925282518051929460069092027f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01926129a69284920190614102565b5060208281015180516129bf9260018501920190614102565b50604082015180516129db916002840191602090910190614102565b50606082015180516129f7916003840191602090910190614102565b5060808201518160040160006101000a815481600160a060020a030219169083600160a060020a0316021790555060a082015181600501555050506004805490506002876040518082805190602001908083835b60208310612a6a5780518252601f199092019160209182019101612a4b565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201909420949094555050600454600160a060020a03851660009081526003909352912055612ac083613170565b15612acf576005805460010190555b7f6907ef36b4ec2ac0dbcf68e4e88d58e46d33a9befbd092de26182eeb8a043104866040518080602001828103825283818151815260200191508051906020019080838360005b83811015612b2e578181015183820152602001612b16565b50505050905090810190601f168015612b5b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1505050505050565b60008054604080517f35817773000000000000000000000000000000000000000000000000000000008152602060048201819052602360248301527f436f6e736f727469756d4d616e6167656d656e74436f6e74726163745665727360448301527f696f6e0000000000000000000000000000000000000000000000000000000000606483015291518493849384938493600160a060020a039093169263358177739260848084019391929182900301818787803b158015612c3157600080fd5b505af1158015612c45573d6000803e3d6000fd5b505050506040513d6020811015612c5b57600080fd5b50519150600160a060020a0382161515612c7e5760009450849350839250612e01565b81905080600160a060020a031663f50bf2086040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612cbf57600080fd5b505af1158015612cd3573d6000803e3d6000fd5b505050506040513d6020811015612ce957600080fd5b5051604080517f75494fc70000000000000000000000000000000000000000000000000000000081529051600160a060020a038416916375494fc79160048083019260209291908290030181600087803b158015612d4657600080fd5b505af1158015612d5a573d6000803e3d6000fd5b505050506040513d6020811015612d7057600080fd5b5051604080517f21057a1d0000000000000000000000000000000000000000000000000000000081529051600160a060020a038516916321057a1d9160048083019260209291908290030181600087803b158015612dcd57600080fd5b505af1158015612de1573d6000803e3d6000fd5b505050506040513d6020811015612df757600080fd5b5051919650945092505b5050909192565b6000816040516020018082805190602001908083835b60208310612e3d5780518252601f199092019160209182019101612e1e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310612ea05780518252601f199092019160209182019101612e81565b51815160209384036101000a60001901801990921691161790526040519190930181900381208851909550889450908301928392508401908083835b60208310612efb5780518252601f199092019160209182019101612edc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310612f5e5780518252601f199092019160209182019101612f3f565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120939093149695505050505050565b6000806007836040518082805190602001908083835b60208310612fca5780518252601f199092019160209182019101612fab565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205492909211949350505050565b61300b83612f95565b15613074576040805160e560020a62461bcd02815260206004820152603d60248201526000805160206143bc83398151915260448201527f62736372697074696f6e20696420616c7265616479206578697374732e000000606482015290519081900360840190fd5b604080516060810182528481526020808201859052918101839052600880546001810180835560009290925282518051929460039092027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee301926130db9284920190614102565b5060208281015180516130f49260018501920190614102565b50604082015181600201555050506008805490506007846040518082805190602001908083835b6020831061313a5780518252601f19909201916020918201910161311b565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220929092555050505050565b60006131b1826040805190810160405280600581526020017f41444d494e000000000000000000000000000000000000000000000000000000815250612e08565b92915050565b816131c181612f95565b1515613219576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b81600860016007866040518082805190602001908083835b602083106132505780518252601f199092019160209182019101613231565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220548454939003928310915061328e905057fe5b906000526020600020906003020160010190805190602001906132b2929190614102565b50505050565b60008060028360405180828051906020019080838360208310612fca5780518252601f199092019160209182019101612fab565b60006132f7826140ba565b80156131b15750600160a060020a038216600090815260036020526040902054600480546131b1926000190190811061332c57fe5b600091825260209182902060408051600693909302909101805460026001821615610100026000190190911604601f8101859004909402830160e090810190925260c08301848152929390928492909184918401828280156133cf5780601f106133a4576101008083540402835291602001916133cf565b820191906000526020600020905b8154815290600101906020018083116133b257829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156134715780601f1061344657610100808354040283529160200191613471565b820191906000526020600020905b81548152906001019060200180831161345457829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f810183900483028501830190915280845293810193908301828280156135035780601f106134d857610100808354040283529160200191613503565b820191906000526020600020905b8154815290600101906020018083116134e657829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156135975780601f1061356c57610100808354040283529160200191613597565b820191906000526020600020905b81548152906001019060200180831161357a57829003601f168201915b50505091835250506004820154600160a060020a031660208201526005909101546040909101526140d6565b6000826135cf816132b8565b1515613627576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b60016002856040518082805190602001908083835b6020831061365b5780518252601f19909201916020918201910161363c565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020540391506137456004838154811015156136a457fe5b6000918252602091829020600360069092020101805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561373a5780601f1061370f5761010080835404028352916020019161373a565b820191906000526020600020905b81548152906001019060200180831161371d57829003601f168201915b505050505084612e08565b1561374f576132b2565b61376160048381548110151561332c57fe5b156138005760055460001061377257fe5b600580546000190190556137846140f9565b1515613800576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e736f727469756d2073686f756c642068617665206174206c656173742060448201527f6f6e652061646d696e2e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b8260048381548110151561381057fe5b90600052602060002090600602016003019080519060200190613834929190614102565b5061384760048381548110151561332c57fe5b156132b25760058054600101905550505050565b60008083613868816132b8565b15156138c0576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b6138c9846140ba565b15613944576040805160e560020a62461bcd02815260206004820152602a60248201527f41206d656d62657220776974682073756368206164647265737320616c72656160448201527f6479206578697374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03841615156139ca576040805160e560020a62461bcd02815260206004820152602860248201527f41737369676e696e672061207a65726f2061646472657373206973206e6f742060448201527f616c6c6f7765642e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60016002866040518082805190602001908083835b602083106139fe5780518252601f1990920191602091820191016139df565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054039250600483815481101515613a4457fe5b600091825260208083206004600690930201820154600160a060020a0316808452600390915260408320929092558054919350859185908110613a8357fe5b60009182526020808320600692909202909101600401805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03948516179055959091168152600390945250506040909120600191909101905550565b6000613ae8826132b8565b8015613b865750600460016002846040518082805190602001908083835b60208310613b255780518252601f199092019160209182019101613b06565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150613b63905057fe5b6000918252602090912060046006909202010154600160a060020a038481169116145b9392505050565b60008060008084613b9d816132b8565b1515613bf5576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b60016002876040518082805190602001908083835b60208310613c295780518252601f199092019160209182019101613c0a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054039450600485815481101515613c6f57fe5b600091825260209182902060069190910201600481015460408051835460026101006001831615026000190190911604601f8101869004909502810160e090810190925260c08101858152939850600160a060020a039092169650613cfd939192889284928491908401828280156133cf5780601f106133a4576101008083540402835291602001916133cf565b15613d9c57600554600010613d0e57fe5b60058054600019019055613d206140f9565b1515613d9c576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e736f727469756d2073686f756c642068617665206174206c656173742060448201527f6f6e652061646d696e2e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600480546000198101908110613dae57fe5b9060005260206000209060060201915081600486815481101515613dce57fe5b906000526020600020906006020160008201816000019080546001816001161561010002031660029004613e03929190614180565b5060018201816001019080546001816001161561010002031660029004613e2b929190614180565b5060028281018054613e50928481019291600019610100600183161502011604614180565b5060038201816003019080546001816001161561010002031660029004613e78929190614180565b50600482810154908201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905560059182015491015560405182546001878101926002928692829184918116156101000260001901168590048015613f1b5780601f10613ef9576101008083540402835291820191613f1b565b820191906000526020600020905b815481529060010190602001808311613f07575b50509283525050604080519182900360209081018320939093556004850154600160a060020a0390811660009081526003855282812060018b019055908716815290812055875160029289929182918401908083835b60208310613f905780518252601f199092019160209182019101613f71565b51815160001960209485036101000a8101918216911992909216179091529390910195865260405195869003019094206000905560048054909450908101925082109050613fda57fe5b60009182526020822060069091020190613ff482826141f5565b6140026001830160006141f5565b6140106002830160006141f5565b61401e6003830160006141f5565b506004818101805473ffffffffffffffffffffffffffffffffffffffff19169055600060059092019190915580549061405b90600019830161426a565b507fce76cde84f41d02c564cb9c9416a2bb5deb93e11997544be0f46b97c1789bc498660405180806020018281038252838181518152602001915080519060200190808383600083811015612b2e578181015183820152602001612b16565b600160a060020a03166000908152600360205260408120541190565b60006140e582600001516132b8565b80156131b157506131b18260600151613170565b60055460001090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061414357805160ff1916838001178555614170565b82800160010185558215614170579182015b82811115614170578251825591602001919060010190614155565b5061417c929150614296565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106141b95780548555614170565b8280016001018555821561417057600052602060002091601f016020900482015b828111156141705782548255916001019190600101906141da565b50805460018160011615610100020316600290046000825580601f1061421b5750611691565b601f0160209004906000526020600020908101906116919190614296565b8154818355818111156142655760030281600302836000526020600020918201910161426591906142b0565b505050565b8154818355818111156142655760060281600602836000526020600020918201910161426591906142e8565b61169891905b8082111561417c576000815560010161429c565b61169891905b8082111561417c5760006142ca82826141f5565b6142d86001830160006141f5565b50600060028201556003016142b6565b61169891905b8082111561417c57600061430282826141f5565b6143106001830160006141f5565b61431e6002830160006141f5565b61432c6003830160006141f5565b5060048101805473ffffffffffffffffffffffffffffffffffffffff19169055600060058201556006016142ee560062736372697074696f6e20696420646f6573206e6f74206578697374732e000041206d656d62657220776974682073756368206e616d6520646f6573206e6f74206578697374732e00000000000000000000000000000000000000000000000041206d656d62657220696e7669746174696f6e207769746820737563682073754f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646da165627a7a72305820a9a8aab7c19d6fd715f409e0444adb7d005756ff90bbddf642d1e17e52bba2880029", "sourceMap": "292:15962:10:-;;;2803:164;8:9:-1;5:2;;;30:1;27;20:12;5:2;2803:164:10;;;;;;;;;;;;;;;;;;;574:12:0;:46;;-1:-1:-1;;;;;574:46:0;;;-1:-1:-1;;;;;;574:46:0;;;;;;;;631:24;;;;;;;;;;;;;;292:15962:10;;;;;;", "deployedSourceMap": "292:15962:10:-;;;;;;;;;-1:-1:-1;;;292:15962:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4830:480;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4830:480:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4830:480:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4830:480:10;;;;-1:-1:-1;4830:480:10;-1:-1:-1;4830:480:10;;-1:-1:-1;4830:480:10;;;;;;;;-1:-1:-1;;4830:480:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4830:480:10;;;;-1:-1:-1;4830:480:10;-1:-1:-1;4830:480:10;;-1:-1:-1;4830:480:10;;;;;;;;-1:-1:-1;4830:480:10;;-1:-1:-1;;;4830:480:10;;-1:-1:-1;;;;;4830:480:10;;-1:-1:-1;4830:480:10;;-1:-1:-1;;;4830:480:10;;;2975:1847;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2975:1847:10;;;;7439:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7439:183:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7439:183:10;;-1:-1:-1;7439:183:10;;-1:-1:-1;;;;;;;7439:183:10;;;;;;;;;;;;;;;;;8794:249;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8794:249:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8794:249:10;;-1:-1:-1;8794:249:10;;-1:-1:-1;;;;;;;8794:249:10;8237:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8237:134:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8237:134:10;;-1:-1:-1;8237:134:10;;-1:-1:-1;;;;;;;8237:134:10;9051:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9051:104:10;;;;8546:240;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8546:240:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8546:240:10;;-1:-1:-1;8546:240:10;;-1:-1:-1;;;;;;;8546:240:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8546:240:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6915:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6915:188:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6915:188:10;;-1:-1:-1;6915:188:10;;-1:-1:-1;;;;;;;6915:188:10;6392:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6392:131:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6392:131:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6392:131:10;;;;-1:-1:-1;6392:131:10;-1:-1:-1;6392:131:10;;-1:-1:-1;6392:131:10;;;;;;;;-1:-1:-1;6392:131:10;;-1:-1:-1;6392:131:10;;-1:-1:-1;;;;;;;6392:131:10;7630:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7630:88:10;;;;7293:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7293:138:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7293:138:10;;-1:-1:-1;7293:138:10;;-1:-1:-1;;;;;;;7293:138:10;7111:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7111:174:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7111:174:10;;-1:-1:-1;7111:174:10;;-1:-1:-1;;;;;;;7111:174:10;7726:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7726:96:10;;;;6023:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6023:140:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6023:140:10;;-1:-1:-1;;;6023:140:10;;-1:-1:-1;;;;;6023:140:10;;-1:-1:-1;6023:140:10;;-1:-1:-1;;;6023:140:10;8379:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8379:159:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8379:159:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8379:159:10;;;;-1:-1:-1;8379:159:10;-1:-1:-1;8379:159:10;;-1:-1:-1;8379:159:10;;;;;;;;-1:-1:-1;8379:159:10;;-1:-1:-1;8379:159:10;;-1:-1:-1;;;;;;;8379:159:10;6531:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6531:194:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6531:194:10;;-1:-1:-1;6531:194:10;;-1:-1:-1;;;;;;;6531:194:10;7830:210;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7830:210:10;;;;;8050:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8050:179:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8050:179:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8050:179:10;;;;-1:-1:-1;8050:179:10;-1:-1:-1;8050:179:10;;-1:-1:-1;8050:179:10;;;;;;;;-1:-1:-1;8050:179:10;;-1:-1:-1;8050:179:10;;-1:-1:-1;;;;;;;8050:179:10;5318:337;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5318:337:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5318:337:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5318:337:10;;;;-1:-1:-1;5318:337:10;-1:-1:-1;5318:337:10;;-1:-1:-1;5318:337:10;;;;;;;;-1:-1:-1;;5318:337:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5318:337:10;;;;-1:-1:-1;5318:337:10;-1:-1:-1;5318:337:10;;-1:-1:-1;5318:337:10;;;;;;;;-1:-1:-1;;5318:337:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5318:337:10;;;;-1:-1:-1;5318:337:10;-1:-1:-1;5318:337:10;;-1:-1:-1;5318:337:10;;;;;;;;-1:-1:-1;5318:337:10;;-1:-1:-1;;;5318:337:10;;-1:-1:-1;;;;;5318:337:10;;-1:-1:-1;5318:337:10;;-1:-1:-1;;;5318:337:10;9163:242;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9163:242:10;;;;;671:99:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;671:99:0;;;;;;;;-1:-1:-1;;;;;671:99:0;;;;;;;;;;;;;;6733:174:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6733:174:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6733:174:10;;-1:-1:-1;6733:174:10;;-1:-1:-1;;;;;;;6733:174:10;5663:352;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5663:352:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5663:352:10;;-1:-1:-1;5663:352:10;;-1:-1:-1;;;;;;;5663:352:10;6171:213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6171:213:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6171:213:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6171:213:10;;;;-1:-1:-1;6171:213:10;-1:-1:-1;6171:213:10;;-1:-1:-1;6171:213:10;;;;;;;;-1:-1:-1;6171:213:10;;-1:-1:-1;6171:213:10;;-1:-1:-1;;;;;;;6171:213:10;4830:480;5037:18;5103;1975:29;1993:10;1975:17;:29::i;:::-;1967:80;;;;;;;-1:-1:-1;;;;;1967:80:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:34;5076:15;5058:17;:34::i;:::-;5037:55;;5124:43;5151:15;5124:26;:43::i;:::-;5103:64;;5178:34;5196:15;5178:17;:34::i;:::-;5223:79;5234:5;5241:12;5255:15;5272:4;5278:8;5288:13;5223:10;:79::i;:::-;4830:480;;;;;;:::o;2975:1847::-;3112:6;351:12:0;;3129:18:10;;;;;;;;3112:6;;;;;;;;;;;;-1:-1:-1;;;;;351:12:0;329:10;:35;307:122;;;;;-1:-1:-1;;;;;307:122:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3041:10:10;;-1:-1:-1;;;;;3041:10:10;:24;3037:63;;;3082:7;;3037:63;3353:18;:16;:18::i;:::-;-1:-1:-1;3334:37:10;;-1:-1:-1;3334:37:10;-1:-1:-1;3390:10:10;;:24;;;;-1:-1:-1;3404:10:10;;3390:24;3382:92;;;;;;;-1:-1:-1;;;;;3382:92:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:10;;;;;;;;;-1:-1:-1;;;;;3558:10:10;3487:82;;3591:24;-1:-1:-1;;;;;3591:47:10;;:49;;;;;-1:-1:-1;;;3591:49:10;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3591:49:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3591:49:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3591:49:10;;-1:-1:-1;3582:1233:10;3646:24;-1:-1:-1;;;;;3646:45:10;;:47;;;;;-1:-1:-1;;;3646:47:10;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3646:47:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3646:47:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3646:47:10;3642:51;;3582:1233;;;3722:24;-1:-1:-1;;;;;3722:54:10;;3777:1;3722:57;;;;;-1:-1:-1;;;3722:57:10;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3722:57:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3722:57:10;;;;;;39:16:-1;36:1;17:17;2:54;101:4;3722:57:10;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;3722:57:10;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;3722:57:10;;;;;;3715:64;;3811:24;-1:-1:-1;;;;;3811:48:10;;3860:4;3811:54;;;;;-1:-1:-1;;;3811:54:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3811:54:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3811:54:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3811:54:10;;;;;;39:16:-1;36:1;17:17;2:54;101:4;3811:54:10;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;3811:54:10;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;3811:54:10;;;;;;3794:71;;3887:24;-1:-1:-1;;;;;3887:38:10;;3926:4;3887:44;;;;;-1:-1:-1;;;3887:44:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3887:44:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3887:44:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3887:44:10;;;;;;39:16:-1;36:1;17:17;2:54;101:4;3887:44:10;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;3887:44:10;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;3887:44:10;;;;;;3880:51;;3955:24;-1:-1:-1;;;;;3955:40:10;;3996:4;3955:46;;;;;-1:-1:-1;;;3955:46:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3955:46:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3955:46:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3955:46:10;;;;;;39:16:-1;36:1;17:17;2:54;101:4;3955:46:10;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;3955:46:10;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;3955:46:10;;;;;;3946:55;;4033:24;-1:-1:-1;;;;;4033:41:10;;4075:4;4033:47;;;;;-1:-1:-1;;;4033:47:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4033:47:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4033:47:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4033:47:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4033:47:10;4115:31;;;;;;;;;;;;;4033:47;4115:31;;;4033:47;;-1:-1:-1;4115:31:10;;4131:6;;4115:15;:31::i;:::-;4095:51;;4183:32;4199:6;4183:32;;;;;;;;;;;;;;;;;;:15;:32::i;:::-;4161:54;;4236:12;4232:572;;;4269:8;;4232:572;4316:14;:37;;;;-1:-1:-1;;;;;;4334:19:10;;;;4316:37;4312:492;;;4374:84;4385:4;4391;4397:14;4413:4;4419:14;4435:20;;:22;;;;;;;;;;;;4374:10;:84::i;:::-;4312:492;;;4517:32;4534:14;4517:16;:32::i;:::-;4516:33;4512:277;;;4611:20;:22;;;;;;;;4574:60;;4589:14;;4605:4;;4574:14;:60::i;4512:277::-;4681:17;4693:4;4681:11;:17::i;:::-;4677:112;;;4723:46;4742:14;4758:10;;;;;;;;;;;;;;;;;;4723:18;:46::i;:::-;3695:3;;;;;3582:1233;;;2975:1847;;;;;;;;;;;:::o;7439:183::-;7536:4;7520:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;7560:10;7598:1;7571:17;7589:5;7571:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;7571:24:10;;;;;-1:-1:-1;7571:24:10;;;;;;;;;;;7560:40;;7571:28;;;;7560:40;;;-1:-1:-1;7560:40:10;;-1:-1:-1;7560:40:10;;;;;;;;;;;;;:54;;;7553:61;;7439:183;;;;:::o;8794:249::-;8929:4;8903:15;2666:42;2683:24;2666:16;:42::i;:::-;2658:117;;;;;;;-1:-1:-1;;;;;2658:117:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;;;;;;;;;;;;8953:14;9019:1;8968:31;9000:15;8968:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;8968:48:10;;;;;-1:-1:-1;8968:48:10;;;;;;;;;;;8953:68;;8968:52;;;;8953:68;;;-1:-1:-1;8953:68:10;;-1:-1:-1;8953:68:10;;;;;;;;;;;;;:82;;;8946:89;;8794:249;;;;:::o;8237:134::-;2115:26;2130:10;2115:14;:26::i;:::-;2107:75;;;;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2107:75:10;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;;;;8329:34;8347:15;8329:17;:34::i;:::-;8237:134;:::o;9051:104::-;9126:14;:21;9051:104;;:::o;8546:240::-;8672:6;8646:15;2666:42;2683:24;2666:16;:42::i;:::-;2658:117;;;;;;;-1:-1:-1;;;;;2658:117:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;;;;;;;;;;;;8705:14;8771:1;8720:31;8752:15;8720:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;8720:48:10;;;;;-1:-1:-1;8720:48:10;;;;;;;;;;;8705:68;;8720:52;;;;8705:68;;;-1:-1:-1;8705:68:10;;-1:-1:-1;8705:68:10;;;;;;;;;;;;;:73;;8698:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8546:240;;;;:::o;6915:188::-;7010:6;6994:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;7043:10;7081:1;7054:17;7072:5;7054:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;7054:24:10;;;;;-1:-1:-1;7054:24:10;;;;;;;;;;;7043:40;;7054:28;;;;7043:40;;;-1:-1:-1;7043:40:10;;-1:-1:-1;7043:40:10;;;;;;;;;;;;;:52;;7036:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6392:131;2115:26;2130:10;2115:14;:26::i;:::-;2107:75;;;;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2107:75:10;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;;;;6487:28;6502:5;6509;6487:14;:28::i;:::-;6392:131;;:::o;7630:88::-;7700:10;;7630:88;:::o;7293:138::-;7383:6;7367:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;-1:-1:-1;;7409:14:10;;;;;;;;;;;;;;;;;;7293:138;-1:-1:-1;7293:138:10:o;7111:174::-;7199:6;7183:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;7232:10;7270:1;7243:17;7261:5;7243:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;7243:24:10;;;;;-1:-1:-1;7243:24:10;;;;;;;;;;;7232:40;;7243:28;;;;7232:40;;;-1:-1:-1;7232:40:10;;-1:-1:-1;7232:40:10;;;;;;;;;;;;:45;:40;;;;;:45;7225:52;;;;;;;-1:-1:-1;;7225:52:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7232:45;7225:52;;;;;;;;;;;;;;;;;;;;;;;;7726:96;7797:10;:17;7726:96;:::o;6023:140::-;1975:29;1993:10;1975:17;:29::i;:::-;1967:80;;;;;;;-1:-1:-1;;;;;1967:80:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6121:34;6139:5;6146:8;6121:17;:34::i;8379:159::-;2115:26;2130:10;2115:14;:26::i;:::-;2107:75;;;;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2107:75:10;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;;;;8488:42;8507:15;8524:5;8488:18;:42::i;6531:194::-;6629:6;6613:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;6662:10;6700:1;6673:17;6691:5;6673:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;6673:24:10;;;;;-1:-1:-1;6673:24:10;;;;;;;;;;;6662:40;;6673:28;;;;6662:40;;;-1:-1:-1;6662:40:10;;-1:-1:-1;6662:40:10;;;;;;;;;;;;:55;:40;;;;;:55;;6655:62;;;;;;-1:-1:-1;;6655:62:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6662:55;;6655:62;;;6662:55;6655:62;;;;;;;;;;;;;;;;;;;;;;;;7830:210;7941:10;:17;7896:6;;7930:28;;7922:67;;;;;-1:-1:-1;;;;;7922:67:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;8007:10;:20;;8018:8;;8007:20;;;;;;;;;;;;;;;;;;;;8000:32;;;;;;;-1:-1:-1;;8000:32:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8007:20;8000:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7830:210;;;:::o;8050:179::-;2115:26;2130:10;2115:14;:26::i;:::-;2107:75;;;;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2107:75:10;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;;;;8198:20;:22;;;;;;;;8159:62;;8174:15;;8191:5;;8159:14;:62::i;5318:337::-;1975:29;1993:10;1975:17;:29::i;:::-;1967:80;;;;;;;-1:-1:-1;;;;;1967:80:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5558:89;5569:5;5576:12;5590:15;5607:5;5614:8;5624:20;;:22;;;;;;;;;;;;5558:10;:89::i;:::-;5318:337;;;;;:::o;9163:242::-;9288:14;:21;9243:6;;9277:32;;9269:71;;;;;-1:-1:-1;;;;;9269:71:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;9358:14;:24;;9373:8;;9358:24;;;;;;;;;;;;;;;;;;;;9351:46;;;;;;;-1:-1:-1;;9351:46:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9358:24;9351:46;;;;;;;;;;;;;;;;;;;;;;;;671:99:0;752:10;;-1:-1:-1;;;;;752:10:0;671:99;:::o;6733:174:10:-;6824:7;6808:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;6851:10;6889:1;6862:17;6880:5;6862:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;6862:24:10;;;;;-1:-1:-1;6862:24:10;;;;;;;;;;;6851:40;;6862:28;;;;6851:40;;;-1:-1:-1;6851:40:10;;-1:-1:-1;6851:40:10;;;;;;;;;;;;;;;;:48;;;-1:-1:-1;;;;;6851:48:10;;6733:174;-1:-1:-1;;;6733:174:10:o;5663:352::-;5746:26;5761:10;5746:14;:26::i;:::-;:80;;;;5790:36;5808:10;5820:5;5790:17;:36::i;:::-;5746:127;;;;5844:29;5862:10;5844:17;:29::i;:::-;5724:252;;;;;;;-1:-1:-1;;;;;5724:252:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5724:252:10;;;;;;;;;;;;;;;;;;;;;;;;;5987:20;6001:5;5987:13;:20::i;6171:213::-;6268:5;2275:41;2293:10;2305;2275:17;:41::i;:::-;2267:108;;;;;;;-1:-1:-1;;;;;2267:108:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6291:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;6364:12;6309:10;6347:1;6320:17;6338:5;6320:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;6320:24:10;;;;;-1:-1:-1;6320:24:10;;;;;;;;;;;6309:40;;6320:28;;;;6309:40;;;-1:-1:-1;6309:40:10;;-1:-1:-1;6309:40:10;;;;;;;;;;;;;:52;;:67;;;;;;;;;;;;:::i;15245:134::-;15312:4;15348:12;;;;;;;;;-1:-1:-1;;;;;15348:12:10;-1:-1:-1;;;;;15348:21:10;;:23;;;;;-1:-1:-1;;;15348:23:10;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15348:23:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15348:23:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15348:23:10;-1:-1:-1;;;;;15336:35:10;;;;;;;-1:-1:-1;15245:134:10;;;:::o;14036:651::-;14155:28;14259:41;14122:15;2666:42;2683:24;2666:16;:42::i;:::-;2658:117;;;;;;;-1:-1:-1;;;;;2658:117:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;;;;;;;;;;;;14237:1;14186:31;14218:15;14186:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;14186:48:10;;;;;;;;;;;;;;;;;;;;;;:52;14155:83;;14303:14;14342:1;14318:14;:21;;;;:25;14303:41;;;;;;;;;;;;;;;;;;;;14259:85;;14397:16;14355:14;14370:23;14355:39;;;;;;;;;;;;;;;;;;;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14491:23;14517:1;14491:27;14424:31;14456:16;:31;;14424:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:94;;;;14538:31;14570:15;14538:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;246:30;;340:21;;;311:9;;295:26;;;;377:20;365:33;;;14538:48:10;;;;;;;;;;;;;;;;;-1:-1:-1;14531:55:10;;14604:14;14619:21;;14604:14;;-1:-1:-1;14619:25:10;;;;-1:-1:-1;14604:41:10;;;-1:-1:-1;14604:41:10;;;;;;;;;;;;;;;;;14597:48;14604:41;;14597:48;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;14597:48:10;;;;;;;14656:14;:23;;;;;-1:-1:-1;;14656:23:10;;;:::i;9415:949::-;9678:23;9695:5;9678:16;:23::i;:::-;9677:24;9669:76;;;;;-1:-1:-1;;;;;9669:76:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9765:29;9785:8;9765:19;:29::i;:::-;9764:30;9756:85;;;;;-1:-1:-1;;;;;9756:85:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9860:22:10;;;;9852:75;;;;;-1:-1:-1;;;;;9852:75:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9956:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9956:166:10;;;;;;;;;;;;9940:10;27::-1;;39:1;23:18;;45:23;;;-1:-1;9940:183:10;;;;;;;;23:18:-1;;9940:183:10;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9940:183:10;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9940:183:10;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9940:183:10;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;9940:183:10;;;;;-1:-1:-1;;;;;9940:183:10;;;;;;;;;;;;;;;;;10161:10;:17;;;;10134;10152:5;10134:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;10134:24:10;;;;;-1:-1:-1;10134:24:10;;;;;;;;;;;;:44;;;;-1:-1:-1;;10222:10:10;:17;-1:-1:-1;;;;;10189:30:10;;-1:-1:-1;10189:30:10;;;:20;:30;;;;;:50;10256:18;10268:5;10256:11;:18::i;:::-;10252:63;;;10291:10;:12;;;;;;10252:63;10332:24;10350:5;10332:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10332:24:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9415:949;;;;;;:::o;15387:525::-;15437:10;15517:12;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15437:10;;;;;;;;-1:-1:-1;;;;;15517:12:10;;;;:24;;:63;;;;;;;;;;;;;15437:10;15517:12;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;15517:63:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15517:63:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15517:63:10;;-1:-1:-1;;;;;;15595:36:10;;;15591:314;;;15656:1;;-1:-1:-1;15656:1:10;;-1:-1:-1;15656:1:10;;-1:-1:-1;15648:16:10;;15591:314;15788:22;15706:105;;15834:7;-1:-1:-1;;;;;15834:16:10;;:18;;;;;-1:-1:-1;;;15834:18:10;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15834:18:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15834:18:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15834:18:10;15854;;;;;;;;-1:-1:-1;;;;;15854:16:10;;;;;:18;;;;;15834;;15854;;;;;;;;:16;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;15854:18:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15854:18:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15854:18:10;15874;;;;;;;;-1:-1:-1;;;;;15874:16:10;;;;;:18;;;;;15854;;15874;;;;;;;;:16;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;15874:18:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15874:18:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15874:18:10;15826:67;;-1:-1:-1;15826:67:10;-1:-1:-1;15874:18:10;-1:-1:-1;15591:314:10;15387:525;;;;;:::o;16058:193::-;16147:4;16236:5;16219:23;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16219:23:10;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16219:23:10;;;16209:34;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;16209:34:10;;;;;;;;;;;16181:23;;16209:34;;-1:-1:-1;16181:23:10;;-1:-1:-1;16181:23:10;;;;;;-1:-1:-1;16181:23:10;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16181:23:10;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16181:23:10;;;16171:34;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;;;;365:33;;16171:34:10;;;;;;;;;;:72;;;;;;-1:-1:-1;;;;;;16058:193:10:o;14928:163::-;15007:4;15082:1;15031:31;15063:15;15031:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;15031:48:10;;;;;-1:-1:-1;15031:48:10;;;;;;;;;;;:52;;;;;14928:163;-1:-1:-1;;;;14928:163:10:o;13618:410::-;13748:33;13765:15;13748:16;:33::i;:::-;13747:34;13739:108;;;;;-1:-1:-1;;;;;13739:108:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13739:108:10;;;;;;;;;;;;;;;;;;;;13880:56;;;;;;;;;;;;;;;;;;;;;;;;13860:14;27:10:-1;;39:1;23:18;;45:23;;;-1:-1;13860:77:10;;;;;;;;23:18:-1;;13860:77:10;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13860:77:10;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13999:14;:21;;;;13948:31;13980:15;13948:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;13948:48:10;;;;;-1:-1:-1;13948:48:10;;;;;;;;;;:72;;;;-1:-1:-1;;;;;13618:410:10:o;15920:130::-;15984:4;16008:34;16024:5;16031:10;;;;;;;;;;;;;;;;;;16008:15;:34::i;:::-;16001:41;15920:130;-1:-1:-1;;15920:130:10:o;14695:225::-;14803:15;2666:42;2683:24;2666:16;:42::i;:::-;2658:117;;;;;;;-1:-1:-1;;;;;2658:117:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;;;;;;;;;;;;14907:5;14831:14;14897:1;14846:31;14878:15;14846:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;14846:48:10;;;;;-1:-1:-1;14846:48:10;;;;;;;;;;;14831:68;;14846:52;;;;14831:68;;;-1:-1:-1;14831:68:10;;-1:-1:-1;14831:68:10;;;;;;;;;;;;;:73;;:81;;;;;;;;;;;;:::i;:::-;;14695:225;;;:::o;12775:129::-;12844:4;12895:1;12868:17;12886:5;12868:24;;;;;;;;;;;;;66:2:-1;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;13209:184:10;13273:4;13297:29;13317:8;13297:19;:29::i;:::-;:88;;;;-1:-1:-1;;;;;;13349:30:10;;;;;;:20;:30;;;;;;13338:10;:46;;13330:55;;-1:-1:-1;;13349:34:10;;13338:46;;;;;;;;;;;;;;;13330:55;;;13338:46;;;;;;;;13330:55;;;;;;;;;-1:-1:-1;;13330:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13338:46;;13330:55;;;;13338:46;;13330:55;;13338:46;13330:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13330:55:10;;;-1:-1:-1;;13330:55:10;;;;;;;;;;;;;;;;-1:-1:-1;;13330:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13330:55:10;;;-1:-1:-1;;13330:55:10;;;;;;;;;;;;;;;;-1:-1:-1;;13330:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13330:55:10;;;-1:-1:-1;;13330:55:10;;;;-1:-1:-1;;;;;13330:55:10;;;;;;;;;;;;;;;:7;:55::i;12017:651::-;12125:24;12107:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;12179:1;12152:17;12170:5;12152:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12152:24:10;;;;;;;;;;;;;;;;;;;;;;:28;12125:55;;12195:60;12211:10;12222:19;12211:31;;;;;;;;;;;;;;;;;;;:36;:31;;;;;:36;12195:60;;;;;;;-1:-1:-1;;12195:60:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12211:36;12195:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12249:5;12195:15;:60::i;:::-;12191:99;;;12272:7;;12191:99;12306:40;12314:10;12325:19;12314:31;;;;;;;;;12306:40;12302:205;;;12370:10;;12383:1;-1:-1:-1;12363:22:10;;;;12400:10;:12;;-1:-1:-1;;12400:12:10;;;12435:13;:11;:13::i;:::-;12427:68;;;;;;;-1:-1:-1;;;;;12427:68:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12558:5;12519:10;12530:19;12519:31;;;;;;;;;;;;;;;;;;;;:36;;:44;;;;;;;;;;;;:::i;:::-;;12580:40;12588:10;12599:19;12588:31;;;;;;;;;12580:40;12576:85;;;12637:10;:12;;;;;;12017:651;;;;:::o;11391:618::-;11683:24;11751:23;11481:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;11508:29;11528:8;11508:19;:29::i;:::-;11507:30;11499:85;;;;;-1:-1:-1;;;;;11499:85:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11603:22:10;;;;11595:75;;;;;-1:-1:-1;;;;;11595:75:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11737:1;11710:17;11728:5;11710:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11710:24:10;;;;;;;;;;;;;;;;;;;;;;:28;11683:55;;11777:10;11788:19;11777:31;;;;;;;;;;;;;;;;;;:39;:31;;;;;:39;;;-1:-1:-1;;;;;11777:39:10;11834:37;;;:20;:37;;;;;;11827:44;;;;11884:31;;11777:39;;-1:-1:-1;11926:8:10;;11895:19;;11884:31;;;;;;;;;;;;;;;;;;;;;;:39;;:50;;-1:-1:-1;;11884:50:10;-1:-1:-1;;;;;11884:50:10;;;;;;11945:30;;;;;;:20;:30;;;-1:-1:-1;;11945:30:10;;;;-1:-1:-1;11978:23:10;;;;11945:56;;-1:-1:-1;11391:618:10:o;13401:207::-;13489:4;13513:23;13530:5;13513:16;:23::i;:::-;:87;;;;;13552:10;13590:1;13563:17;13581:5;13563:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;13563:24:10;;;;;-1:-1:-1;13563:24:10;;;;;;;;;;;13552:40;;13563:28;;;;13552:40;;;-1:-1:-1;13552:40:10;;-1:-1:-1;13552:40:10;;;;;;;;;;;:48;:40;;;;;:48;;-1:-1:-1;;;;;13540:60:10;;;13552:48;;13540:60;13513:87;13506:94;13401:207;-1:-1:-1;;;13401:207:10:o;10372:1011::-;10458:24;10524:29;10598;10865:30;10440:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;10512:1;10485:17;10503:5;10485:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;10485:24:10;;;;;;;;;;;;;;;;;;;;;;:28;10458:55;;10556:10;10567:19;10556:31;;;;;;;;;;;;;;;;;;;;;;;;;10630:22;;;;10669:23;;;;;;10630:22;;10669:23;;;;-1:-1:-1;;10669:23:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10556:31;;-1:-1:-1;;;;;;10630:22:10;;;;-1:-1:-1;10669:23:10;;;;10556:31;;10669:23;;10556:31;;10669:23;;;10556:31;10669:23;;;;;;;;;;;;;;;;;;;;;;;;;10665:188;;;10716:10;;10729:1;-1:-1:-1;10709:22:10;;;;10746:10;:12;;-1:-1:-1;;10746:12:10;;;10781:13;:11;:13::i;:::-;10773:68;;;;;;;-1:-1:-1;;;;;10773:68:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10898:10;10909:17;;-1:-1:-1;;10909:21:10;;;10898:33;;;;;;;;;;;;;;;;10865:66;;10976:15;10942:10;10953:19;10942:31;;;;;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10942:49:10;;;;;;;;;;;;;-1:-1:-1;;10942:49:10;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10942:49:10;;;;;;;;;;-1:-1:-1;;10942:49:10;-1:-1:-1;;;;;10942:49:10;;;;;;;;;;;;;;;;;11002:39;;;;10942:49;11044:23;;;;11002:17;;11020:15;;11002:39;;11020:15;;11002:39;;;10942:49;11002:39;-1:-1:-1;;11002:39:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11002:39:10;;;-1:-1:-1;;11002:39:10;;;;;;;;;;;;;:65;;;;11099:23;;;;-1:-1:-1;;;;;11099:23:10;;;11078:45;;;;:20;:45;;;;;11148:1;11126:23;;11078:71;;11169:43;;;;;;;;11162:50;11230:24;;:17;;11248:5;;11002:39;;;11230:24;;;;11002:39;11230:24;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;246:30;;340:21;;;311:9;;295:26;;;;377:20;365:33;;;11230:24:10;;;;;;;;;;;;;;;;;-1:-1:-1;11223:31:10;;11272:10;11283:17;;11272:10;;-1:-1:-1;11283:21:10;;;;-1:-1:-1;11272:33:10;;;-1:-1:-1;11272:33:10;;;;;;;;;;;;;;;;;11265:40;11272:33;;11265:40;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;11265:40:10;;;;;;-1:-1:-1;;11265:40:10;;;;;;;;;;;;11316:19;;;;;-1:-1:-1;;11316:19:10;;;:::i;:::-;;11353:22;11369:5;11353:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12912:135:10;-1:-1:-1;;;;;13005:30:10;12981:4;13005:30;;;:20;:30;;;;;;:34;;12912:135::o;13055:146::-;13110:4;13134:30;13151:7;:12;;;13134:16;:30::i;:::-;:59;;;;;13168:25;13180:7;:12;;;13168:11;:25::i;12676:91::-;12745:10;;12721:4;-1:-1:-1;12676:91:10;:::o;292:15962::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;292:15962:10;;;-1:-1:-1;292:15962:10;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;292:15962:10;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;292:15962:10;;;;;-1:-1:-1;;292:15962:10;;;;;;;;;;;", "source": "pragma solidity ^0.4.24;\r\n\r\nimport \"./BaseUpdateable.sol\";\r\nimport \"./DataMigration/PrivatePreview/PrivatePreviewMembers.sol\";\r\nimport \"./RootContract.sol\";\r\nimport \"./ConsortiumManagementContractVersion.sol\";\r\n\r\n// Store for consortium members, which records all member related information\r\ncontract Members is BaseUpdateable {\r\n\r\n struct Member {\r\n string name; // Unique and non-updatable\r\n string displayName; // Arbitrary string\r\n string subscriptionId; // Non-updatable\r\n string role; // Either \"ADMIN\" or \"MEMBER\"\r\n address account; // Unique\r\n uint correlationId; // Unique and non-updatable\r\n }\r\n\r\n struct MemberInvitation {\r\n string subscriptionId; // Non-updatable\r\n string role; // Either \"ADMIN\" or \"MEMBER\"\r\n uint correlationId; // Unique and non-updatable\r\n }\r\n\r\n string constant ADMIN_ROLE = \"ADMIN\";\r\n\r\n event MemberJoinedEvent(string name);\r\n event MemberLeftEvent(string name);\r\n\r\n // key should be equal to memberList[value - 1].name for each member in memberList\r\n mapping (string => uint) private memberIndexByName;\r\n\r\n // key should be equal to memberList[value - 1].account for each member having a non-zero account address in memberList\r\n mapping (address => uint) private memberIndexByAddress;\r\n\r\n // each member in memberList should have a unique name\r\n Member[] private memberList;\r\n\r\n // should always equal to the number of joined members who have admin roles\r\n uint private adminCount;\r\n\r\n // counter to generate unique correlationIds\r\n uint private correlationIdCounter;\r\n\r\n // key should be equal to invitationList[value - 1].name for each invitation in invitationList\r\n mapping (string => uint) private invitationIndexBySubscriptionId;\r\n\r\n // A list of member invitations for all invited members who have not yet joined\r\n MemberInvitation[] private invitationList;\r\n\r\n modifier isFromOperator {\r\n require(isOperatorAddress(msg.sender), \"Only permits invocation from operator.\");\r\n _;\r\n }\r\n\r\n modifier isFromAdmin {\r\n require(isAdminAddress(msg.sender), \"Only permits invocation from admins.\");\r\n _;\r\n }\r\n\r\n modifier isFromSelf(string memory memberName) {\r\n require(isAddressOfMember(msg.sender, memberName), \"Only permits invocation from the member's own account.\");\r\n _;\r\n }\r\n\r\n modifier isMemberExisted(string memory memberName) {\r\n require(existsMemberName(memberName), \"A member with such name does not exists.\");\r\n _;\r\n }\r\n \r\n modifier isInvitationExisted(string memory invitationSubscriptionId) {\r\n require(existsInvitation(invitationSubscriptionId), \"A member invitation with such subscription id does not exists.\");\r\n _;\r\n }\r\n\r\n constructor(RootContract _rootContract, IUpdateable _updateFrom)\r\n BaseUpdateable(address(_rootContract), address(_updateFrom))\r\n public\r\n {\r\n }\r\n\r\n function activate() external activateAccessControl {\r\n if (updateFrom == address(0)) {\r\n return;\r\n }\r\n\r\n uint i;\r\n string memory name;\r\n string memory subscriptionId;\r\n string memory role;\r\n string memory status;\r\n address accountAddress;\r\n\r\n uint major;\r\n uint minor;\r\n (major, minor, ) = getActiveVersion();\r\n require(major == 0 && minor == 0, \"Migration from versions other than 0.0 is not expected.\");\r\n\r\n PrivatePreviewMembers oldPrivatePreviewMembers = PrivatePreviewMembers(updateFrom);\r\n\r\n for (i = oldPrivatePreviewMembers.members_iterator_begin(); i < oldPrivatePreviewMembers.members_iterator_end(); i++) {\r\n name = oldPrivatePreviewMembers.members_iterator_current_name(i);\r\n subscriptionId = oldPrivatePreviewMembers.getMemberSubscriptionId(name);\r\n role = oldPrivatePreviewMembers.getMemberRole(name);\r\n status = oldPrivatePreviewMembers.getMemberStatus(name);\r\n accountAddress = oldPrivatePreviewMembers.getMemberAccount(name);\r\n bool isLeftMember = areStringsEqual(status, \"Left\");\r\n bool isJoinedMember = areStringsEqual(status, \"Ready\");\r\n\r\n if (isLeftMember) {\r\n continue;\r\n }\r\n else if (isJoinedMember && accountAddress != 0) {\r\n _addMember(name, name, subscriptionId, role, accountAddress, correlationIdCounter++);\r\n }\r\n else {\r\n if (!existsInvitation(subscriptionId)) {\r\n _addInvitation(subscriptionId, role, correlationIdCounter++);\r\n }\r\n else if (isAdminRole(role)) {\r\n _setInvitationRole(subscriptionId, ADMIN_ROLE);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function addMember(\r\n string memory _name,\r\n string memory _displayName,\r\n string memory _subscriptionId,\r\n address _account\r\n )\r\n public isFromOperator\r\n {\r\n string memory role = getInvitationRole(_subscriptionId);\r\n uint correlationId = getInvitationCorrelationId(_subscriptionId);\r\n _removeInvitation(_subscriptionId);\r\n _addMember(_name, _displayName, _subscriptionId, role, _account, correlationId);\r\n }\r\n\r\n function injectMember(\r\n string memory _name,\r\n string memory _displayName,\r\n string memory _subscriptionId,\r\n string memory _role,\r\n address _account\r\n )\r\n public isFromOperator\r\n {\r\n _addMember(_name, _displayName, _subscriptionId, _role, _account, correlationIdCounter++);\r\n }\r\n\r\n function removeMember(string memory _name) public {\r\n require(\r\n isAdminAddress(msg.sender) || \r\n isAddressOfMember(msg.sender, _name) || \r\n isOperatorAddress(msg.sender),\r\n \"Only permits invocation from admins, the member themselves or the operator.\"\r\n );\r\n _removeMember(_name);\r\n }\r\n\r\n function setMemberAccount(string memory _name, address _account) public isFromOperator {\r\n _setMemberAccount(_name, _account);\r\n }\r\n\r\n function setMemberDisplayName(string memory _name, string memory _displayName) public isFromSelf(_name) isMemberExisted(_name) {\r\n memberList[memberIndexByName[_name] - 1].displayName = _displayName;\r\n }\r\n\r\n function setMemberRole(string memory _name, string memory _role) public isFromAdmin {\r\n _setMemberRole(_name, _role);\r\n }\r\n\r\n function getMemberSubscriptionId(string memory _name) public view isMemberExisted(_name) returns (string memory) {\r\n return memberList[memberIndexByName[_name] - 1].subscriptionId;\r\n }\r\n\r\n function getMemberAccount(string memory _name) public view isMemberExisted(_name) returns (address) {\r\n return memberList[memberIndexByName[_name] - 1].account;\r\n }\r\n\r\n function getMemberDisplayName(string memory _name) public view isMemberExisted(_name) returns (string memory) {\r\n return memberList[memberIndexByName[_name] - 1].displayName;\r\n }\r\n\r\n function getMemberRole(string memory _name) public view isMemberExisted(_name) returns (string memory) {\r\n return memberList[memberIndexByName[_name] - 1].role;\r\n }\r\n\r\n function getMemberStatus(string memory _name) public view isMemberExisted(_name) returns (string memory) {\r\n return \"Ready\";\r\n }\r\n\r\n function getMemberCorrelationId(string memory _name) public view isMemberExisted(_name) returns (uint) {\r\n return memberList[memberIndexByName[_name] - 1].correlationId;\r\n }\r\n\r\n function getAdminCount() public view returns (uint) {\r\n return adminCount;\r\n }\r\n\r\n function getMemberCount() public view returns (uint) {\r\n return memberList.length;\r\n }\r\n\r\n function getMemberNameAtIndex(uint iterator) public view returns (string memory) {\r\n require(iterator < memberList.length, \"Invalid iterator supplied.\");\r\n return memberList[iterator].name;\r\n }\r\n\r\n\r\n function inviteMember(string memory _subscriptionId, string memory _role) public isFromAdmin\r\n {\r\n _addInvitation(_subscriptionId, _role, correlationIdCounter++);\r\n }\r\n\r\n function removeInvitation(string memory _subscriptionId) public isFromAdmin\r\n {\r\n _removeInvitation(_subscriptionId);\r\n }\r\n\r\n function setInvitationRole(string memory _subscriptionId, string memory _role) public isFromAdmin {\r\n _setInvitationRole(_subscriptionId, _role);\r\n }\r\n\r\n function getInvitationRole(string memory _subscriptionId) \r\n public view isInvitationExisted(_subscriptionId) returns (string memory) {\r\n return invitationList[invitationIndexBySubscriptionId[_subscriptionId] - 1].role;\r\n }\r\n\r\n function getInvitationCorrelationId(string memory _subscriptionId) \r\n public view isInvitationExisted(_subscriptionId) returns (uint) {\r\n return invitationList[invitationIndexBySubscriptionId[_subscriptionId] - 1].correlationId;\r\n }\r\n\r\n function getInvitationCount() public view returns (uint) {\r\n return invitationList.length;\r\n }\r\n\r\n function getInvitationSubscriptionIdAtIndex(uint iterator) public view returns (string memory) {\r\n require(iterator < invitationList.length, \"Invalid iterator supplied.\");\r\n return invitationList[iterator].subscriptionId;\r\n }\r\n\r\n\r\n function _addMember(\r\n string memory _name,\r\n string memory _displayName,\r\n string memory _subscriptionId,\r\n string memory _role,\r\n address _account,\r\n uint _correlationId\r\n )\r\n private\r\n {\r\n require(!existsMemberName(_name), \"A member with such name already exists.\");\r\n require(!existsMemberAddress(_account), \"A member with such address already exists.\");\r\n require(_account != address(0), \"Assigning a zero address is not allowed.\");\r\n\r\n memberList.push(Member(\r\n _name,\r\n _displayName,\r\n _subscriptionId,\r\n _role,\r\n _account,\r\n _correlationId\r\n ));\r\n memberIndexByName[_name] = memberList.length;\r\n memberIndexByAddress[_account] = memberList.length;\r\n\r\n if (isAdminRole(_role)) {\r\n adminCount++;\r\n }\r\n\r\n emit MemberJoinedEvent(_name);\r\n }\r\n\r\n function _removeMember(string memory _name) private isMemberExisted(_name) {\r\n uint memberIndexBaseZero = memberIndexByName[_name] - 1;\r\n Member storage memberToRemove = memberList[memberIndexBaseZero];\r\n address memberToRemoveAddress = memberToRemove.account;\r\n\r\n if (isAdmin(memberToRemove)) {\r\n assert(adminCount > 0);\r\n adminCount--;\r\n require(existAdmins(), \"Consortium should have at least one admin.\");\r\n }\r\n\r\n Member storage memberToBeMoved = memberList[memberList.length - 1];\r\n memberList[memberIndexBaseZero] = memberToBeMoved;\r\n memberIndexByName[memberToBeMoved.name] = memberIndexBaseZero + 1;\r\n memberIndexByAddress[memberToBeMoved.account] = memberIndexBaseZero + 1;\r\n\r\n delete memberIndexByAddress[memberToRemoveAddress];\r\n delete memberIndexByName[_name];\r\n delete memberList[memberList.length - 1];\r\n memberList.length--;\r\n\r\n emit MemberLeftEvent(_name);\r\n }\r\n\r\n function _setMemberAccount(string memory _name, address _account) private isMemberExisted(_name) {\r\n require(!existsMemberAddress(_account), \"A member with such address already exists.\");\r\n require(_account != address(0), \"Assigning a zero address is not allowed.\");\r\n\r\n uint memberIndexBaseZero = memberIndexByName[_name] - 1;\r\n\r\n address originalAccount = memberList[memberIndexBaseZero].account;\r\n delete memberIndexByAddress[originalAccount];\r\n\r\n memberList[memberIndexBaseZero].account = _account;\r\n memberIndexByAddress[_account] = memberIndexBaseZero + 1;\r\n }\r\n\r\n function _setMemberRole(string memory _name, string memory _role) private isMemberExisted(_name) {\r\n uint memberIndexBaseZero = memberIndexByName[_name] - 1;\r\n if (areStringsEqual(memberList[memberIndexBaseZero].role, _role)) {\r\n return;\r\n }\r\n\r\n if (isAdmin(memberList[memberIndexBaseZero])) {\r\n assert(adminCount > 0);\r\n adminCount--;\r\n require(existAdmins(), \"Consortium should have at least one admin.\");\r\n }\r\n\r\n memberList[memberIndexBaseZero].role = _role;\r\n\r\n if (isAdmin(memberList[memberIndexBaseZero])) {\r\n adminCount++;\r\n }\r\n }\r\n\r\n function existAdmins() private view returns (bool) {\r\n return adminCount > 0;\r\n }\r\n\r\n function existsMemberName(string memory _name) private view returns (bool) {\r\n return memberIndexByName[_name] > 0;\r\n }\r\n\r\n function existsMemberAddress(address _address) private view returns (bool) {\r\n return memberIndexByAddress[_address] > 0;\r\n }\r\n\r\n function isAdmin(Member _member) private view returns (bool) {\r\n return existsMemberName(_member.name) && isAdminRole(_member.role);\r\n }\r\n\r\n function isAdminAddress(address _address) private view returns (bool) {\r\n return existsMemberAddress(_address) && isAdmin(memberList[memberIndexByAddress[_address] - 1]);\r\n }\r\n\r\n function isAddressOfMember(address _address, string memory _name) private view returns (bool) {\r\n return existsMemberName(_name) && _address == memberList[memberIndexByName[_name] - 1].account;\r\n }\r\n\r\n\r\n function _addInvitation(string memory _subscriptionId, string memory _role, uint _correlationId) private\r\n {\r\n require(!existsInvitation(_subscriptionId), \"A member invitation with such subscription id already exists.\");\r\n\r\n invitationList.push(MemberInvitation(_subscriptionId, _role, _correlationId));\r\n invitationIndexBySubscriptionId[_subscriptionId] = invitationList.length;\r\n }\r\n\r\n function _removeInvitation(string memory _subscriptionId) private isInvitationExisted(_subscriptionId)\r\n {\r\n uint invitationIndexBaseZero = invitationIndexBySubscriptionId[_subscriptionId] - 1;\r\n \r\n MemberInvitation storage invitationToMove = invitationList[invitationList.length - 1];\r\n invitationList[invitationIndexBaseZero] = invitationToMove;\r\n invitationIndexBySubscriptionId[invitationToMove.subscriptionId] = invitationIndexBaseZero + 1;\r\n\r\n delete invitationIndexBySubscriptionId[_subscriptionId];\r\n delete invitationList[invitationList.length - 1];\r\n invitationList.length--;\r\n }\r\n\r\n function _setInvitationRole(string memory _subscriptionId, string memory _role) private isInvitationExisted(_subscriptionId) {\r\n invitationList[invitationIndexBySubscriptionId[_subscriptionId] - 1].role = _role;\r\n }\r\n\r\n function existsInvitation(string memory _subscriptionId) private view returns (bool) {\r\n return invitationIndexBySubscriptionId[_subscriptionId] > 0;\r\n }\r\n\r\n\r\n function isRootContractAddress(address _address) private view returns (bool) {\r\n return _address == address(rootContract);\r\n }\r\n\r\n function isOperatorAddress(address _address) private view returns (bool) {\r\n return _address == rootContract.operator();\r\n }\r\n\r\n function getActiveVersion() private view returns (uint major, uint minor, uint patch) {\r\n address versionContractAddress = rootContract.getContract(\"ConsortiumManagementContractVersion\");\r\n if (versionContractAddress == address(0)) {\r\n return (0, 0, 0);\r\n }\r\n else {\r\n ConsortiumManagementContractVersion version = ConsortiumManagementContractVersion(versionContractAddress);\r\n return (version.getMajor(), version.getMinor(), version.getPatch());\r\n }\r\n }\r\n\r\n function isAdminRole(string memory _role) private pure returns (bool) {\r\n return areStringsEqual(_role, ADMIN_ROLE);\r\n }\r\n\r\n function areStringsEqual(string memory _str1, string memory _str2) private pure returns (bool) {\r\n return keccak256(abi.encodePacked(_str1)) == keccak256(abi.encodePacked(_str2));\r\n }\r\n}", "sourcePath": "d:/a/1/s/contracts/Members.sol", "ast": { "absolutePath": "/d/a/1/s/contracts/Members.sol", "exportedSymbols": { "Members": [ 3928 ] }, "id": 3929, "nodeType": "SourceUnit", "nodes": [ { "id": 2537, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:10" }, { "absolutePath": "/d/a/1/s/contracts/BaseUpdateable.sol", "file": "./BaseUpdateable.sol", "id": 2538, "nodeType": "ImportDirective", "scope": 3929, "sourceUnit": 54, "src": "28:30:10", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/d/a/1/s/contracts/DataMigration/PrivatePreview/PrivatePreviewMembers.sol", "file": "./DataMigration/PrivatePreview/PrivatePreviewMembers.sol", "id": 2539, "nodeType": "ImportDirective", "scope": 3929, "sourceUnit": 1899, "src": "60:66:10", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/d/a/1/s/contracts/RootContract.sol", "file": "./RootContract.sol", "id": 2540, "nodeType": "ImportDirective", "scope": 3929, "sourceUnit": 4082, "src": "128:28:10", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/d/a/1/s/contracts/ConsortiumManagementContractVersion.sol", "file": "./ConsortiumManagementContractVersion.sol", "id": 2541, "nodeType": "ImportDirective", "scope": 3929, "sourceUnit": 107, "src": "158:51:10", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2542, "name": "BaseUpdateable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 53, "src": "312:14:10", "typeDescriptions": { "typeIdentifier": "t_contract$_BaseUpdateable_$53", "typeString": "contract BaseUpdateable" } }, "id": 2543, "nodeType": "InheritanceSpecifier", "src": "312:14:10" } ], "contractDependencies": [ 53, 2535 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 3928, "linearizedBaseContracts": [ 3928, 53, 2535 ], "name": "Members", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Members.Member", "id": 2556, "members": [ { "constant": false, "id": 2545, "name": "name", "nodeType": "VariableDeclaration", "scope": 2556, "src": "361:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2544, "name": "string", "nodeType": "ElementaryTypeName", "src": "361:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2547, "name": "displayName", "nodeType": "VariableDeclaration", "scope": 2556, "src": "411:18:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2546, "name": "string", "nodeType": "ElementaryTypeName", "src": "411:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2549, "name": "subscriptionId", "nodeType": "VariableDeclaration", "scope": 2556, "src": "460:21:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2548, "name": "string", "nodeType": "ElementaryTypeName", "src": "460:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2551, "name": "role", "nodeType": "VariableDeclaration", "scope": 2556, "src": "509:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2550, "name": "string", "nodeType": "ElementaryTypeName", "src": "509:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2553, "name": "account", "nodeType": "VariableDeclaration", "scope": 2556, "src": "561:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2552, "name": "address", "nodeType": "ElementaryTypeName", "src": "561:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2555, "name": "correlationId", "nodeType": "VariableDeclaration", "scope": 2556, "src": "597:18:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2554, "name": "uint", "nodeType": "ElementaryTypeName", "src": "597:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "name": "Member", "nodeType": "StructDefinition", "scope": 3928, "src": "336:315:10", "visibility": "public" }, { "canonicalName": "Members.MemberInvitation", "id": 2563, "members": [ { "constant": false, "id": 2558, "name": "subscriptionId", "nodeType": "VariableDeclaration", "scope": 2563, "src": "694:21:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2557, "name": "string", "nodeType": "ElementaryTypeName", "src": "694:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2560, "name": "role", "nodeType": "VariableDeclaration", "scope": 2563, "src": "743:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2559, "name": "string", "nodeType": "ElementaryTypeName", "src": "743:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2562, "name": "correlationId", "nodeType": "VariableDeclaration", "scope": 2563, "src": "795:18:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2561, "name": "uint", "nodeType": "ElementaryTypeName", "src": "795:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "name": "MemberInvitation", "nodeType": "StructDefinition", "scope": 3928, "src": "659:190:10", "visibility": "public" }, { "constant": true, "id": 2566, "name": "ADMIN_ROLE", "nodeType": "VariableDeclaration", "scope": 3928, "src": "857:36:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string" }, "typeName": { "id": 2564, "name": "string", "nodeType": "ElementaryTypeName", "src": "857:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": { "argumentTypes": null, "hexValue": "41444d494e", "id": 2565, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "886:7:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_df8b4c520ffe197c5343c6f5aec59570151ef9a492f2c624fd45ddde6135ec42", "typeString": "literal_string \"ADMIN\"" }, "value": "ADMIN" }, "visibility": "internal" }, { "anonymous": false, "documentation": null, "id": 2570, "name": "MemberJoinedEvent", "nodeType": "EventDefinition", "parameters": { "id": 2569, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2568, "indexed": false, "name": "name", "nodeType": "VariableDeclaration", "scope": 2570, "src": "926:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2567, "name": "string", "nodeType": "ElementaryTypeName", "src": "926:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "925:13:10" }, "src": "902:37:10" }, { "anonymous": false, "documentation": null, "id": 2574, "name": "MemberLeftEvent", "nodeType": "EventDefinition", "parameters": { "id": 2573, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2572, "indexed": false, "name": "name", "nodeType": "VariableDeclaration", "scope": 2574, "src": "967:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2571, "name": "string", "nodeType": "ElementaryTypeName", "src": "967:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "966:13:10" }, "src": "945:35:10" }, { "constant": false, "id": 2578, "name": "memberIndexByName", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1076:50:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string => uint256)" }, "typeName": { "id": 2577, "keyType": { "id": 2575, "name": "string", "nodeType": "ElementaryTypeName", "src": "1085:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "nodeType": "Mapping", "src": "1076:24:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string => uint256)" }, "valueType": { "id": 2576, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1095:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2582, "name": "memberIndexByAddress", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1260:54:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "typeName": { "id": 2581, "keyType": { "id": 2579, "name": "address", "nodeType": "ElementaryTypeName", "src": "1269:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "1260:25:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { "id": 2580, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1280:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2585, "name": "memberList", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1383:27:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member[]" }, "typeName": { "baseType": { "contractScope": null, "id": 2583, "name": "Member", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2556, "src": "1383:6:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" } }, "id": 2584, "length": null, "nodeType": "ArrayTypeName", "src": "1383:8:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage_ptr", "typeString": "struct Members.Member[]" } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2587, "name": "adminCount", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1500:23:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2586, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1500:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2589, "name": "correlationIdCounter", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1582:33:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2588, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1582:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2593, "name": "invitationIndexBySubscriptionId", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1724:64:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string => uint256)" }, "typeName": { "id": 2592, "keyType": { "id": 2590, "name": "string", "nodeType": "ElementaryTypeName", "src": "1733:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "nodeType": "Mapping", "src": "1724:24:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string => uint256)" }, "valueType": { "id": 2591, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1743:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2596, "name": "invitationList", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1882:41:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation[]" }, "typeName": { "baseType": { "contractScope": null, "id": 2594, "name": "MemberInvitation", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2563, "src": "1882:16:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr", "typeString": "struct Members.MemberInvitation" } }, "id": 2595, "length": null, "nodeType": "ArrayTypeName", "src": "1882:18:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage_ptr", "typeString": "struct Members.MemberInvitation[]" } }, "value": null, "visibility": "private" }, { "body": { "id": 2607, "nodeType": "Block", "src": "1956:111:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2600, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "1993:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2601, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1993:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2599, "name": "isOperatorAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3843, "src": "1975:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 2602, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1975:29:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f70657261746f722e", "id": 2603, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2006:40:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a2c6b8f7086b9cb3fba92ce3827a4024ad98857ab5279a6202f8ff42f881a0e9", "typeString": "literal_string \"Only permits invocation from operator.\"" }, "value": "Only permits invocation from operator." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a2c6b8f7086b9cb3fba92ce3827a4024ad98857ab5279a6202f8ff42f881a0e9", "typeString": "literal_string \"Only permits invocation from operator.\"" } ], "id": 2598, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "1967:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2604, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1967:80:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2605, "nodeType": "ExpressionStatement", "src": "1967:80:10" }, { "id": 2606, "nodeType": "PlaceholderStatement", "src": "2058:1:10" } ] }, "documentation": null, "id": 2608, "name": "isFromOperator", "nodeType": "ModifierDefinition", "parameters": { "id": 2597, "nodeType": "ParameterList", "parameters": [], "src": "1956:0:10" }, "src": "1932:135:10", "visibility": "internal" }, { "body": { "id": 2619, "nodeType": "Block", "src": "2096:106:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2612, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "2130:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2613, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "2130:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2611, "name": "isAdminAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3660, "src": "2115:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 2614, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2115:26:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646d696e732e", "id": 2615, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2143:38:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f0058c18d1fb460a6e2435957f8dd8ed8fdb9b308d7aea617324ed7baacc409a", "typeString": "literal_string \"Only permits invocation from admins.\"" }, "value": "Only permits invocation from admins." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_f0058c18d1fb460a6e2435957f8dd8ed8fdb9b308d7aea617324ed7baacc409a", "typeString": "literal_string \"Only permits invocation from admins.\"" } ], "id": 2610, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "2107:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2616, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2107:75:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2617, "nodeType": "ExpressionStatement", "src": "2107:75:10" }, { "id": 2618, "nodeType": "PlaceholderStatement", "src": "2193:1:10" } ] }, "documentation": null, "id": 2620, "name": "isFromAdmin", "nodeType": "ModifierDefinition", "parameters": { "id": 2609, "nodeType": "ParameterList", "parameters": [], "src": "2096:0:10" }, "src": "2075:127:10", "visibility": "internal" }, { "body": { "id": 2634, "nodeType": "Block", "src": "2256:139:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2626, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "2293:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2627, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "2293:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2628, "name": "memberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2622, "src": "2305:10:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2625, "name": "isAddressOfMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3685, "src": "2275:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,string memory) view returns (bool)" } }, "id": 2629, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2275:41:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d20746865206d656d6265722773206f776e206163636f756e742e", "id": 2630, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2318:56:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f095888b38b7bad6977931bffb679a57cfa9d9ec9c49b1e453b0a918f87a6c8e", "typeString": "literal_string \"Only permits invocation from the member's own account.\"" }, "value": "Only permits invocation from the member's own account." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_f095888b38b7bad6977931bffb679a57cfa9d9ec9c49b1e453b0a918f87a6c8e", "typeString": "literal_string \"Only permits invocation from the member's own account.\"" } ], "id": 2624, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "2267:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2631, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2267:108:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2632, "nodeType": "ExpressionStatement", "src": "2267:108:10" }, { "id": 2633, "nodeType": "PlaceholderStatement", "src": "2386:1:10" } ] }, "documentation": null, "id": 2635, "name": "isFromSelf", "nodeType": "ModifierDefinition", "parameters": { "id": 2623, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2622, "name": "memberName", "nodeType": "VariableDeclaration", "scope": 2635, "src": "2230:24:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2621, "name": "string", "nodeType": "ElementaryTypeName", "src": "2230:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "2229:26:10" }, "src": "2210:185:10", "visibility": "internal" }, { "body": { "id": 2647, "nodeType": "Block", "src": "2454:112:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2641, "name": "memberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2637, "src": "2490:10:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2640, "name": "existsMemberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3606, "src": "2473:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 2642, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2473:28:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220776974682073756368206e616d6520646f6573206e6f74206578697374732e", "id": 2643, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2503:42:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7a47041c619d3153b31b4235b5f89c02a456811eab841c0a9650f1bc0bc749b9", "typeString": "literal_string \"A member with such name does not exists.\"" }, "value": "A member with such name does not exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_7a47041c619d3153b31b4235b5f89c02a456811eab841c0a9650f1bc0bc749b9", "typeString": "literal_string \"A member with such name does not exists.\"" } ], "id": 2639, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "2465:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2644, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2465:81:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2645, "nodeType": "ExpressionStatement", "src": "2465:81:10" }, { "id": 2646, "nodeType": "PlaceholderStatement", "src": "2557:1:10" } ] }, "documentation": null, "id": 2648, "name": "isMemberExisted", "nodeType": "ModifierDefinition", "parameters": { "id": 2638, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2637, "name": "memberName", "nodeType": "VariableDeclaration", "scope": 2648, "src": "2428:24:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2636, "name": "string", "nodeType": "ElementaryTypeName", "src": "2428:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "2427:26:10" }, "src": "2403:163:10", "visibility": "internal" }, { "body": { "id": 2660, "nodeType": "Block", "src": "2647:148:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2654, "name": "invitationSubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2650, "src": "2683:24:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2653, "name": "existsInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3815, "src": "2666:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 2655, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2666:42:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220696e7669746174696f6e2077697468207375636820737562736372697074696f6e20696420646f6573206e6f74206578697374732e", "id": 2656, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2710:64:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6c8baf90898ccecd94182d463a5121b80309ff6b47e0d04c30f89fb9211a5b42", "typeString": "literal_string \"A member invitation with such subscription id does not exists.\"" }, "value": "A member invitation with such subscription id does not exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_6c8baf90898ccecd94182d463a5121b80309ff6b47e0d04c30f89fb9211a5b42", "typeString": "literal_string \"A member invitation with such subscription id does not exists.\"" } ], "id": 2652, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "2658:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2657, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2658:117:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2658, "nodeType": "ExpressionStatement", "src": "2658:117:10" }, { "id": 2659, "nodeType": "PlaceholderStatement", "src": "2786:1:10" } ] }, "documentation": null, "id": 2661, "name": "isInvitationExisted", "nodeType": "ModifierDefinition", "parameters": { "id": 2651, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2650, "name": "invitationSubscriptionId", "nodeType": "VariableDeclaration", "scope": 2661, "src": "2607:38:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2649, "name": "string", "nodeType": "ElementaryTypeName", "src": "2607:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "2606:40:10" }, "src": "2578:217:10", "visibility": "internal" }, { "body": { "id": 2676, "nodeType": "Block", "src": "2959:8:10", "statements": [] }, "documentation": null, "id": 2677, "implemented": true, "isConstructor": true, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2669, "name": "_rootContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2663, "src": "2900:13:10", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } ], "id": 2668, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2892:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2670, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2892:22:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2672, "name": "_updateFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2665, "src": "2924:11:10", "typeDescriptions": { "typeIdentifier": "t_contract$_IUpdateable_$2535", "typeString": "contract IUpdateable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_IUpdateable_$2535", "typeString": "contract IUpdateable" } ], "id": 2671, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2916:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2673, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2916:20:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 2674, "modifierName": { "argumentTypes": null, "id": 2667, "name": "BaseUpdateable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "2877:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_BaseUpdateable_$53_$", "typeString": "type(contract BaseUpdateable)" } }, "nodeType": "ModifierInvocation", "src": "2877:60:10" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 2666, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2663, "name": "_rootContract", "nodeType": "VariableDeclaration", "scope": 2677, "src": "2815:26:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" }, "typeName": { "contractScope": null, "id": 2662, "name": "RootContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4081, "src": "2815:12:10", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2665, "name": "_updateFrom", "nodeType": "VariableDeclaration", "scope": 2677, "src": "2843:23:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IUpdateable_$2535", "typeString": "contract IUpdateable" }, "typeName": { "contractScope": null, "id": 2664, "name": "IUpdateable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2535, "src": "2843:11:10", "typeDescriptions": { "typeIdentifier": "t_contract$_IUpdateable_$2535", "typeString": "contract IUpdateable" } }, "value": null, "visibility": "internal" } ], "src": "2814:53:10" }, "payable": false, "returnParameters": { "id": 2675, "nodeType": "ParameterList", "parameters": [], "src": "2959:0:10" }, "scope": 3928, "src": "2803:164:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2848, "nodeType": "Block", "src": "3026:1796:10", "statements": [ { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2686, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2682, "name": "updateFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, "src": "3041:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2684, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3063:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 2683, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3055:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2685, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3055:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "3041:24:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2689, "nodeType": "IfStatement", "src": "3037:63:10", "trueBody": { "id": 2688, "nodeType": "Block", "src": "3067:33:10", "statements": [ { "expression": null, "functionReturnParameters": 2681, "id": 2687, "nodeType": "Return", "src": "3082:7:10" } ] } }, { "assignments": [], "declarations": [ { "constant": false, "id": 2691, "name": "i", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3112:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2690, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3112:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2692, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3112:6:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2694, "name": "name", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3129:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2693, "name": "string", "nodeType": "ElementaryTypeName", "src": "3129:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2695, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3129:18:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2697, "name": "subscriptionId", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3158:28:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2696, "name": "string", "nodeType": "ElementaryTypeName", "src": "3158:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2698, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3158:28:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2700, "name": "role", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3197:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2699, "name": "string", "nodeType": "ElementaryTypeName", "src": "3197:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2701, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3197:18:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2703, "name": "status", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3226:20:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2702, "name": "string", "nodeType": "ElementaryTypeName", "src": "3226:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2704, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3226:20:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2706, "name": "accountAddress", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3257:22:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2705, "name": "address", "nodeType": "ElementaryTypeName", "src": "3257:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 2707, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3257:22:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2709, "name": "major", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3292:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2708, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3292:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2710, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3292:10:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2712, "name": "minor", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3313:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2711, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3313:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2713, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3313:10:10" }, { "expression": { "argumentTypes": null, "id": 2719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "components": [ { "argumentTypes": null, "id": 2714, "name": "major", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2709, "src": "3335:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2715, "name": "minor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2712, "src": "3342:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, null ], "id": 2716, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", "src": "3334:16:10", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$", "typeString": "tuple(uint256,uint256,)" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 2717, "name": "getActiveVersion", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3890, "src": "3353:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "function () view returns (uint256,uint256,uint256)" } }, "id": 2718, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3353:18:10", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256)" } }, "src": "3334:37:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2720, "nodeType": "ExpressionStatement", "src": "3334:37:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2728, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2724, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2722, "name": "major", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2709, "src": "3390:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2723, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3399:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "3390:10:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2727, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2725, "name": "minor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2712, "src": "3404:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2726, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3413:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "3404:10:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3390:24:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d6967726174696f6e2066726f6d2076657273696f6e73206f74686572207468616e20302e30206973206e6f742065787065637465642e", "id": 2729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "3416:57:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a5ff088bdbce1ce381bb97ef0a216c466a5d89cd9b3256c363072792dc8830be", "typeString": "literal_string \"Migration from versions other than 0.0 is not expected.\"" }, "value": "Migration from versions other than 0.0 is not expected." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a5ff088bdbce1ce381bb97ef0a216c466a5d89cd9b3256c363072792dc8830be", "typeString": "literal_string \"Migration from versions other than 0.0 is not expected.\"" } ], "id": 2721, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "3382:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2730, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3382:92:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2731, "nodeType": "ExpressionStatement", "src": "3382:92:10" }, { "assignments": [ 2733 ], "declarations": [ { "constant": false, "id": 2733, "name": "oldPrivatePreviewMembers", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3487:46:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" }, "typeName": { "contractScope": null, "id": 2732, "name": "PrivatePreviewMembers", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1898, "src": "3487:21:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "value": null, "visibility": "internal" } ], "id": 2737, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2735, "name": "updateFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, "src": "3558:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2734, "name": "PrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1898, "src": "3536:21:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_PrivatePreviewMembers_$1898_$", "typeString": "type(contract PrivatePreviewMembers)" } }, "id": 2736, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3536:33:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "nodeType": "VariableDeclarationStatement", "src": "3487:82:10" }, { "body": { "id": 2846, "nodeType": "Block", "src": "3700:1115:10", "statements": [ { "expression": { "argumentTypes": null, "id": 2757, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2752, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "3715:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2755, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2691, "src": "3777:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 2753, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3722:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2754, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members_iterator_current_name", "nodeType": "MemberAccess", "referencedDeclaration": 1772, "src": "3722:54:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) view external returns (string memory)" } }, "id": 2756, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3722:57:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3715:64:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2758, "nodeType": "ExpressionStatement", "src": "3715:64:10" }, { "expression": { "argumentTypes": null, "id": 2764, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2759, "name": "subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2697, "src": "3794:14:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2762, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "3860:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2760, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3811:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2761, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMemberSubscriptionId", "nodeType": "MemberAccess", "referencedDeclaration": 1788, "src": "3811:48:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory) view external returns (string memory)" } }, "id": 2763, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3811:54:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3794:71:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2765, "nodeType": "ExpressionStatement", "src": "3794:71:10" }, { "expression": { "argumentTypes": null, "id": 2771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2766, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2700, "src": "3880:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2769, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "3926:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2767, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3887:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2768, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMemberRole", "nodeType": "MemberAccess", "referencedDeclaration": 1868, "src": "3887:38:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory) view external returns (string memory)" } }, "id": 2770, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3887:44:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3880:51:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2772, "nodeType": "ExpressionStatement", "src": "3880:51:10" }, { "expression": { "argumentTypes": null, "id": 2778, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2773, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2703, "src": "3946:6:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2776, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "3996:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2774, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3955:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2775, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMemberStatus", "nodeType": "MemberAccess", "referencedDeclaration": 1884, "src": "3955:40:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory) view external returns (string memory)" } }, "id": 2777, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3955:46:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3946:55:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2779, "nodeType": "ExpressionStatement", "src": "3946:55:10" }, { "expression": { "argumentTypes": null, "id": 2785, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2780, "name": "accountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2706, "src": "4016:14:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2783, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "4075:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2781, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "4033:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2782, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMemberAccount", "nodeType": "MemberAccess", "referencedDeclaration": 1820, "src": "4033:41:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", "typeString": "function (string memory) view external returns (address)" } }, "id": 2784, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4033:47:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "4016:64:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2786, "nodeType": "ExpressionStatement", "src": "4016:64:10" }, { "assignments": [ 2788 ], "declarations": [ { "constant": false, "id": 2788, "name": "isLeftMember", "nodeType": "VariableDeclaration", "scope": 2849, "src": "4095:17:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2787, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4095:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "id": 2793, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2790, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2703, "src": "4131:6:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "hexValue": "4c656674", "id": 2791, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4139:6:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0b0e4d29377ffa8216bf08fb8ce4983712a2d0fd4423e4503f613a9fe484447e", "typeString": "literal_string \"Left\"" }, "value": "Left" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_stringliteral_0b0e4d29377ffa8216bf08fb8ce4983712a2d0fd4423e4503f613a9fe484447e", "typeString": "literal_string \"Left\"" } ], "id": 2789, "name": "areStringsEqual", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3927, "src": "4115:15:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) pure returns (bool)" } }, "id": 2792, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4115:31:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", "src": "4095:51:10" }, { "assignments": [ 2795 ], "declarations": [ { "constant": false, "id": 2795, "name": "isJoinedMember", "nodeType": "VariableDeclaration", "scope": 2849, "src": "4161:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2794, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4161:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "id": 2800, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2797, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2703, "src": "4199:6:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "hexValue": "5265616479", "id": 2798, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4207:7:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503", "typeString": "literal_string \"Ready\"" }, "value": "Ready" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503", "typeString": "literal_string \"Ready\"" } ], "id": 2796, "name": "areStringsEqual", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3927, "src": "4183:15:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) pure returns (bool)" } }, "id": 2799, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4183:32:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", "src": "4161:54:10" }, { "condition": { "argumentTypes": null, "id": 2801, "name": "isLeftMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2788, "src": "4236:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2804, "name": "isJoinedMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2795, "src": "4316:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2807, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2805, "name": "accountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2706, "src": "4334:14:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2806, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "4352:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "4334:19:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "4316:37:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 2843, "nodeType": "Block", "src": "4493:311:10", "statements": [ { "condition": { "argumentTypes": null, "id": 2823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "4516:33:10", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2821, "name": "subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2697, "src": "4534:14:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2820, "name": "existsInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3815, "src": "4517:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 2822, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4517:32:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2833, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2700, "src": "4693:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2832, "name": "isAdminRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3903, "src": "4681:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) pure returns (bool)" } }, "id": 2834, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4681:17:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2841, "nodeType": "IfStatement", "src": "4677:112:10", "trueBody": { "id": 2840, "nodeType": "Block", "src": "4700:89:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2836, "name": "subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2697, "src": "4742:14:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2837, "name": "ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2566, "src": "4758:10:10", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory", "typeString": "string memory" } ], "id": 2835, "name": "_setInvitationRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3801, "src": "4723:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 2838, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4723:46:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2839, "nodeType": "ExpressionStatement", "src": "4723:46:10" } ] } }, "id": 2842, "nodeType": "IfStatement", "src": "4512:277:10", "trueBody": { "id": 2831, "nodeType": "Block", "src": "4551:103:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2825, "name": "subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2697, "src": "4589:14:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2826, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2700, "src": "4605:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "4611:22:10", "subExpression": { "argumentTypes": null, "id": 2827, "name": "correlationIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2589, "src": "4611:20:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2824, "name": "_addInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3720, "src": "4574:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,uint256)" } }, "id": 2829, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4574:60:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2830, "nodeType": "ExpressionStatement", "src": "4574:60:10" } ] } } ] }, "id": 2844, "nodeType": "IfStatement", "src": "4312:492:10", "trueBody": { "id": 2819, "nodeType": "Block", "src": "4355:119:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2810, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "4385:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2811, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "4391:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2812, "name": "subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2697, "src": "4397:14:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2813, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2700, "src": "4413:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2814, "name": "accountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2706, "src": "4419:14:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2816, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "4435:22:10", "subExpression": { "argumentTypes": null, "id": 2815, "name": "correlationIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2589, "src": "4435:20:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2809, "name": "_addMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3343, "src": "4374:10:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)" } }, "id": 2817, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4374:84:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2818, "nodeType": "ExpressionStatement", "src": "4374:84:10" } ] } }, "id": 2845, "nodeType": "IfStatement", "src": "4232:572:10", "trueBody": { "id": 2803, "nodeType": "Block", "src": "4250:43:10", "statements": [ { "id": 2802, "nodeType": "Continue", "src": "4269:8:10" } ] } } ] }, "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2744, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2691, "src": "3642:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2745, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3646:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members_iterator_end", "nodeType": "MemberAccess", "referencedDeclaration": 1752, "src": "3646:45:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2747, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3646:47:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3642:51:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2847, "initializationExpression": { "expression": { "argumentTypes": null, "id": 2742, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2738, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2691, "src": "3587:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2739, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3591:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2740, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members_iterator_begin", "nodeType": "MemberAccess", "referencedDeclaration": 1743, "src": "3591:47:10", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$", "typeString": "function () pure external returns (uint256)" } }, "id": 2741, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3591:49:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3587:53:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2743, "nodeType": "ExpressionStatement", "src": "3587:53:10" }, "loopExpression": { "expression": { "argumentTypes": null, "id": 2750, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "3695:3:10", "subExpression": { "argumentTypes": null, "id": 2749, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2691, "src": "3695:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2751, "nodeType": "ExpressionStatement", "src": "3695:3:10" }, "nodeType": "ForStatement", "src": "3582:1233:10" } ] }, "documentation": null, "id": 2849, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2680, "modifierName": { "argumentTypes": null, "id": 2679, "name": "activateAccessControl", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 23, "src": "3004:21:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "3004:21:10" } ], "name": "activate", "nodeType": "FunctionDefinition", "parameters": { "id": 2678, "nodeType": "ParameterList", "parameters": [], "src": "2992:2:10" }, "payable": false, "returnParameters": { "id": 2681, "nodeType": "ParameterList", "parameters": [], "src": "3026:0:10" }, "scope": 3928, "src": "2975:1847:10", "stateMutability": "nonpayable", "superFunction": 52, "visibility": "external" }, { "body": { "id": 2887, "nodeType": "Block", "src": "5026:284:10", "statements": [ { "assignments": [ 2863 ], "declarations": [ { "constant": false, "id": 2863, "name": "role", "nodeType": "VariableDeclaration", "scope": 2888, "src": "5037:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2862, "name": "string", "nodeType": "ElementaryTypeName", "src": "5037:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2867, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2865, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2855, "src": "5076:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2864, "name": "getInvitationRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3213, "src": "5058:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory) view returns (string memory)" } }, "id": 2866, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5058:34:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "VariableDeclarationStatement", "src": "5037:55:10" }, { "assignments": [ 2869 ], "declarations": [ { "constant": false, "id": 2869, "name": "correlationId", "nodeType": "VariableDeclaration", "scope": 2888, "src": "5103:18:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2868, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5103:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2873, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2871, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2855, "src": "5151:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2870, "name": "getInvitationCorrelationId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3233, "src": "5124:26:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory) view returns (uint256)" } }, "id": 2872, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5124:43:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "5103:64:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2875, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2855, "src": "5196:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2874, "name": "_removeInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3779, "src": "5178:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 2876, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5178:34:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2877, "nodeType": "ExpressionStatement", "src": "5178:34:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2879, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2851, "src": "5234:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2880, "name": "_displayName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2853, "src": "5241:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2881, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2855, "src": "5255:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2882, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2863, "src": "5272:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2883, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2857, "src": "5278:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2884, "name": "correlationId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2869, "src": "5288:13:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2878, "name": "_addMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3343, "src": "5223:10:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)" } }, "id": 2885, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5223:79:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2886, "nodeType": "ExpressionStatement", "src": "5223:79:10" } ] }, "documentation": null, "id": 2888, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2860, "modifierName": { "argumentTypes": null, "id": 2859, "name": "isFromOperator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2608, "src": "5006:14:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "5006:14:10" } ], "name": "addMember", "nodeType": "FunctionDefinition", "parameters": { "id": 2858, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2851, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2888, "src": "4859:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2850, "name": "string", "nodeType": "ElementaryTypeName", "src": "4859:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2853, "name": "_displayName", "nodeType": "VariableDeclaration", "scope": 2888, "src": "4889:26:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2852, "name": "string", "nodeType": "ElementaryTypeName", "src": "4889:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2855, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 2888, "src": "4926:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2854, "name": "string", "nodeType": "ElementaryTypeName", "src": "4926:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2857, "name": "_account", "nodeType": "VariableDeclaration", "scope": 2888, "src": "4966:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2856, "name": "address", "nodeType": "ElementaryTypeName", "src": "4966:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "4848:141:10" }, "payable": false, "returnParameters": { "id": 2861, "nodeType": "ParameterList", "parameters": [], "src": "5026:0:10" }, "scope": 3928, "src": "4830:480:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2913, "nodeType": "Block", "src": "5547:108:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2904, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2890, "src": "5569:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2905, "name": "_displayName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2892, "src": "5576:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2906, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2894, "src": "5590:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2907, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2896, "src": "5607:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2908, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2898, "src": "5614:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2910, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "5624:22:10", "subExpression": { "argumentTypes": null, "id": 2909, "name": "correlationIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2589, "src": "5624:20:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2903, "name": "_addMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3343, "src": "5558:10:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)" } }, "id": 2911, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5558:89:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2912, "nodeType": "ExpressionStatement", "src": "5558:89:10" } ] }, "documentation": null, "id": 2914, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2901, "modifierName": { "argumentTypes": null, "id": 2900, "name": "isFromOperator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2608, "src": "5527:14:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "5527:14:10" } ], "name": "injectMember", "nodeType": "FunctionDefinition", "parameters": { "id": 2899, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2890, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2914, "src": "5350:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2889, "name": "string", "nodeType": "ElementaryTypeName", "src": "5350:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2892, "name": "_displayName", "nodeType": "VariableDeclaration", "scope": 2914, "src": "5380:26:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2891, "name": "string", "nodeType": "ElementaryTypeName", "src": "5380:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2894, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 2914, "src": "5417:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2893, "name": "string", "nodeType": "ElementaryTypeName", "src": "5417:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2896, "name": "_role", "nodeType": "VariableDeclaration", "scope": 2914, "src": "5457:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2895, "name": "string", "nodeType": "ElementaryTypeName", "src": "5457:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2898, "name": "_account", "nodeType": "VariableDeclaration", "scope": 2914, "src": "5487:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2897, "name": "address", "nodeType": "ElementaryTypeName", "src": "5487:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "5339:171:10" }, "payable": false, "returnParameters": { "id": 2902, "nodeType": "ParameterList", "parameters": [], "src": "5547:0:10" }, "scope": 3928, "src": "5318:337:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2942, "nodeType": "Block", "src": "5713:302:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2929, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2921, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "5761:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2922, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "5761:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2920, "name": "isAdminAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3660, "src": "5746:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 2923, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5746:26:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2925, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "5808:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2926, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "5808:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2927, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2916, "src": "5820:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2924, "name": "isAddressOfMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3685, "src": "5790:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,string memory) view returns (bool)" } }, "id": 2928, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5790:36:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "5746:80:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2931, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "5862:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2932, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "5862:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2930, "name": "isOperatorAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3843, "src": "5844:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 2933, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5844:29:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "5746:127:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646d696e732c20746865206d656d626572207468656d73656c766573206f7220746865206f70657261746f722e", "id": 2935, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5888:77:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a78414d0e07811c12d60690fa3c927a8d5a4c2bcd721a3a974b3cf5fb477c67c", "typeString": "literal_string \"Only permits invocation from admins, the member themselves or the operator.\"" }, "value": "Only permits invocation from admins, the member themselves or the operator." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a78414d0e07811c12d60690fa3c927a8d5a4c2bcd721a3a974b3cf5fb477c67c", "typeString": "literal_string \"Only permits invocation from admins, the member themselves or the operator.\"" } ], "id": 2919, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "5724:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2936, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5724:252:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2937, "nodeType": "ExpressionStatement", "src": "5724:252:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2939, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2916, "src": "6001:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2938, "name": "_removeMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3451, "src": "5987:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 2940, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5987:20:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2941, "nodeType": "ExpressionStatement", "src": "5987:20:10" } ] }, "documentation": null, "id": 2943, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "removeMember", "nodeType": "FunctionDefinition", "parameters": { "id": 2917, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2916, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2943, "src": "5685:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2915, "name": "string", "nodeType": "ElementaryTypeName", "src": "5685:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "5684:21:10" }, "payable": false, "returnParameters": { "id": 2918, "nodeType": "ParameterList", "parameters": [], "src": "5713:0:10" }, "scope": 3928, "src": "5663:352:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2957, "nodeType": "Block", "src": "6110:53:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2953, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2945, "src": "6139:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2954, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2947, "src": "6146:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2952, "name": "_setMemberAccount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3514, "src": "6121:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", "typeString": "function (string memory,address)" } }, "id": 2955, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "6121:34:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2956, "nodeType": "ExpressionStatement", "src": "6121:34:10" } ] }, "documentation": null, "id": 2958, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2950, "modifierName": { "argumentTypes": null, "id": 2949, "name": "isFromOperator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2608, "src": "6095:14:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "6095:14:10" } ], "name": "setMemberAccount", "nodeType": "FunctionDefinition", "parameters": { "id": 2948, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2945, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2958, "src": "6049:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2944, "name": "string", "nodeType": "ElementaryTypeName", "src": "6049:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2947, "name": "_account", "nodeType": "VariableDeclaration", "scope": 2958, "src": "6070:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2946, "name": "address", "nodeType": "ElementaryTypeName", "src": "6070:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "6048:39:10" }, "payable": false, "returnParameters": { "id": 2951, "nodeType": "ParameterList", "parameters": [], "src": "6110:0:10" }, "scope": 3928, "src": "6023:140:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2982, "nodeType": "Block", "src": "6298:86:10", "statements": [ { "expression": { "argumentTypes": null, "id": 2980, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2971, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "6309:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 2977, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2972, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "6320:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 2974, "indexExpression": { "argumentTypes": null, "id": 2973, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2960, "src": "6338:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6320:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 2975, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6347:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "6320:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6309:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 2978, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "displayName", "nodeType": "MemberAccess", "referencedDeclaration": 2547, "src": "6309:52:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 2979, "name": "_displayName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2962, "src": "6364:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "6309:67:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 2981, "nodeType": "ExpressionStatement", "src": "6309:67:10" } ] }, "documentation": null, "id": 2983, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 2965, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2960, "src": "6268:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 2966, "modifierName": { "argumentTypes": null, "id": 2964, "name": "isFromSelf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2635, "src": "6257:10:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "6257:17:10" }, { "arguments": [ { "argumentTypes": null, "id": 2968, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2960, "src": "6291:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 2969, "modifierName": { "argumentTypes": null, "id": 2967, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "6275:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "6275:22:10" } ], "name": "setMemberDisplayName", "nodeType": "FunctionDefinition", "parameters": { "id": 2963, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2960, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2983, "src": "6201:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2959, "name": "string", "nodeType": "ElementaryTypeName", "src": "6201:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2962, "name": "_displayName", "nodeType": "VariableDeclaration", "scope": 2983, "src": "6222:26:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2961, "name": "string", "nodeType": "ElementaryTypeName", "src": "6222:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6200:49:10" }, "payable": false, "returnParameters": { "id": 2970, "nodeType": "ParameterList", "parameters": [], "src": "6298:0:10" }, "scope": 3928, "src": "6171:213:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2997, "nodeType": "Block", "src": "6476:47:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2993, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2985, "src": "6502:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2994, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2987, "src": "6509:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2992, "name": "_setMemberRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3582, "src": "6487:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 2995, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "6487:28:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2996, "nodeType": "ExpressionStatement", "src": "6487:28:10" } ] }, "documentation": null, "id": 2998, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2990, "modifierName": { "argumentTypes": null, "id": 2989, "name": "isFromAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2620, "src": "6464:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "6464:11:10" } ], "name": "setMemberRole", "nodeType": "FunctionDefinition", "parameters": { "id": 2988, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2985, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2998, "src": "6415:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2984, "name": "string", "nodeType": "ElementaryTypeName", "src": "6415:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2987, "name": "_role", "nodeType": "VariableDeclaration", "scope": 2998, "src": "6436:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2986, "name": "string", "nodeType": "ElementaryTypeName", "src": "6436:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6414:42:10" }, "payable": false, "returnParameters": { "id": 2991, "nodeType": "ParameterList", "parameters": [], "src": "6476:0:10" }, "scope": 3928, "src": "6392:131:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3017, "nodeType": "Block", "src": "6644:81:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3008, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "6662:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3014, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3013, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3009, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "6673:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3011, "indexExpression": { "argumentTypes": null, "id": 3010, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3000, "src": "6691:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6673:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3012, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6700:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "6673:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6662:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3015, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "subscriptionId", "nodeType": "MemberAccess", "referencedDeclaration": 2549, "src": "6662:55:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3007, "id": 3016, "nodeType": "Return", "src": "6655:62:10" } ] }, "documentation": null, "id": 3018, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3003, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3000, "src": "6613:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3004, "modifierName": { "argumentTypes": null, "id": 3002, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "6597:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "6597:22:10" } ], "name": "getMemberSubscriptionId", "nodeType": "FunctionDefinition", "parameters": { "id": 3001, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3000, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3018, "src": "6564:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2999, "name": "string", "nodeType": "ElementaryTypeName", "src": "6564:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6563:21:10" }, "payable": false, "returnParameters": { "id": 3007, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3006, "name": "", "nodeType": "VariableDeclaration", "scope": 3018, "src": "6629:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3005, "name": "string", "nodeType": "ElementaryTypeName", "src": "6629:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6628:15:10" }, "scope": 3928, "src": "6531:194:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3037, "nodeType": "Block", "src": "6833:74:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3028, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "6851:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3034, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3029, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "6862:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3031, "indexExpression": { "argumentTypes": null, "id": 3030, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3020, "src": "6880:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6862:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3032, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6889:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "6862:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6851:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3035, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "6851:48:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3027, "id": 3036, "nodeType": "Return", "src": "6844:55:10" } ] }, "documentation": null, "id": 3038, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3023, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3020, "src": "6808:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3024, "modifierName": { "argumentTypes": null, "id": 3022, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "6792:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "6792:22:10" } ], "name": "getMemberAccount", "nodeType": "FunctionDefinition", "parameters": { "id": 3021, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3020, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3038, "src": "6759:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3019, "name": "string", "nodeType": "ElementaryTypeName", "src": "6759:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6758:21:10" }, "payable": false, "returnParameters": { "id": 3027, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3026, "name": "", "nodeType": "VariableDeclaration", "scope": 3038, "src": "6824:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3025, "name": "address", "nodeType": "ElementaryTypeName", "src": "6824:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "6823:9:10" }, "scope": 3928, "src": "6733:174:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3057, "nodeType": "Block", "src": "7025:78:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3048, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "7043:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3054, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3053, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3049, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "7054:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3051, "indexExpression": { "argumentTypes": null, "id": 3050, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3040, "src": "7072:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7054:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3052, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7081:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "7054:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7043:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3055, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "displayName", "nodeType": "MemberAccess", "referencedDeclaration": 2547, "src": "7043:52:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3047, "id": 3056, "nodeType": "Return", "src": "7036:59:10" } ] }, "documentation": null, "id": 3058, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3043, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3040, "src": "6994:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3044, "modifierName": { "argumentTypes": null, "id": 3042, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "6978:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "6978:22:10" } ], "name": "getMemberDisplayName", "nodeType": "FunctionDefinition", "parameters": { "id": 3041, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3040, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3058, "src": "6945:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3039, "name": "string", "nodeType": "ElementaryTypeName", "src": "6945:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6944:21:10" }, "payable": false, "returnParameters": { "id": 3047, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3046, "name": "", "nodeType": "VariableDeclaration", "scope": 3058, "src": "7010:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3045, "name": "string", "nodeType": "ElementaryTypeName", "src": "7010:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7009:15:10" }, "scope": 3928, "src": "6915:188:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3077, "nodeType": "Block", "src": "7214:71:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3068, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "7232:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3074, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3073, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3069, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "7243:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3071, "indexExpression": { "argumentTypes": null, "id": 3070, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3060, "src": "7261:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7243:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3072, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7270:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "7243:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7232:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3075, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2551, "src": "7232:45:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3067, "id": 3076, "nodeType": "Return", "src": "7225:52:10" } ] }, "documentation": null, "id": 3078, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3063, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3060, "src": "7183:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3064, "modifierName": { "argumentTypes": null, "id": 3062, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "7167:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "7167:22:10" } ], "name": "getMemberRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3061, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3060, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3078, "src": "7134:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3059, "name": "string", "nodeType": "ElementaryTypeName", "src": "7134:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7133:21:10" }, "payable": false, "returnParameters": { "id": 3067, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3066, "name": "", "nodeType": "VariableDeclaration", "scope": 3078, "src": "7199:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3065, "name": "string", "nodeType": "ElementaryTypeName", "src": "7199:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7198:15:10" }, "scope": 3928, "src": "7111:174:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3090, "nodeType": "Block", "src": "7398:33:10", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "5265616479", "id": 3088, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7416:7:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503", "typeString": "literal_string \"Ready\"" }, "value": "Ready" }, "functionReturnParameters": 3087, "id": 3089, "nodeType": "Return", "src": "7409:14:10" } ] }, "documentation": null, "id": 3091, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3083, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3080, "src": "7367:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3084, "modifierName": { "argumentTypes": null, "id": 3082, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "7351:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "7351:22:10" } ], "name": "getMemberStatus", "nodeType": "FunctionDefinition", "parameters": { "id": 3081, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3080, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3091, "src": "7318:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3079, "name": "string", "nodeType": "ElementaryTypeName", "src": "7318:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7317:21:10" }, "payable": false, "returnParameters": { "id": 3087, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3086, "name": "", "nodeType": "VariableDeclaration", "scope": 3091, "src": "7383:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3085, "name": "string", "nodeType": "ElementaryTypeName", "src": "7383:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7382:15:10" }, "scope": 3928, "src": "7293:138:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3110, "nodeType": "Block", "src": "7542:80:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3101, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "7560:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3107, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3102, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "7571:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3104, "indexExpression": { "argumentTypes": null, "id": 3103, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3093, "src": "7589:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7571:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7598:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "7571:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7560:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3108, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "correlationId", "nodeType": "MemberAccess", "referencedDeclaration": 2555, "src": "7560:54:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3100, "id": 3109, "nodeType": "Return", "src": "7553:61:10" } ] }, "documentation": null, "id": 3111, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3096, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3093, "src": "7520:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3097, "modifierName": { "argumentTypes": null, "id": 3095, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "7504:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "7504:22:10" } ], "name": "getMemberCorrelationId", "nodeType": "FunctionDefinition", "parameters": { "id": 3094, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3093, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3111, "src": "7471:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3092, "name": "string", "nodeType": "ElementaryTypeName", "src": "7471:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7470:21:10" }, "payable": false, "returnParameters": { "id": 3100, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3099, "name": "", "nodeType": "VariableDeclaration", "scope": 3111, "src": "7536:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3098, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7536:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "7535:6:10" }, "scope": 3928, "src": "7439:183:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3118, "nodeType": "Block", "src": "7682:36:10", "statements": [ { "expression": { "argumentTypes": null, "id": 3116, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "7700:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3115, "id": 3117, "nodeType": "Return", "src": "7693:17:10" } ] }, "documentation": null, "id": 3119, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getAdminCount", "nodeType": "FunctionDefinition", "parameters": { "id": 3112, "nodeType": "ParameterList", "parameters": [], "src": "7652:2:10" }, "payable": false, "returnParameters": { "id": 3115, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3114, "name": "", "nodeType": "VariableDeclaration", "scope": 3119, "src": "7676:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3113, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7676:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "7675:6:10" }, "scope": 3928, "src": "7630:88:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3127, "nodeType": "Block", "src": "7779:43:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3124, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "7797:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3125, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "7797:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3123, "id": 3126, "nodeType": "Return", "src": "7790:24:10" } ] }, "documentation": null, "id": 3128, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getMemberCount", "nodeType": "FunctionDefinition", "parameters": { "id": 3120, "nodeType": "ParameterList", "parameters": [], "src": "7749:2:10" }, "payable": false, "returnParameters": { "id": 3123, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3122, "name": "", "nodeType": "VariableDeclaration", "scope": 3128, "src": "7773:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3121, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7773:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "7772:6:10" }, "scope": 3928, "src": "7726:96:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3148, "nodeType": "Block", "src": "7911:129:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3139, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3136, "name": "iterator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3130, "src": "7930:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3137, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "7941:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3138, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "7941:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7930:28:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "496e76616c6964206974657261746f7220737570706c6965642e", "id": 3140, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7960:28:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f", "typeString": "literal_string \"Invalid iterator supplied.\"" }, "value": "Invalid iterator supplied." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f", "typeString": "literal_string \"Invalid iterator supplied.\"" } ], "id": 3135, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "7922:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3141, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7922:67:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3142, "nodeType": "ExpressionStatement", "src": "7922:67:10" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3143, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "8007:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3145, "indexExpression": { "argumentTypes": null, "id": 3144, "name": "iterator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3130, "src": "8018:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8007:20:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3146, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", "referencedDeclaration": 2545, "src": "8007:25:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3134, "id": 3147, "nodeType": "Return", "src": "8000:32:10" } ] }, "documentation": null, "id": 3149, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getMemberNameAtIndex", "nodeType": "FunctionDefinition", "parameters": { "id": 3131, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3130, "name": "iterator", "nodeType": "VariableDeclaration", "scope": 3149, "src": "7860:13:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3129, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7860:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "7859:15:10" }, "payable": false, "returnParameters": { "id": 3134, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3133, "name": "", "nodeType": "VariableDeclaration", "scope": 3149, "src": "7896:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3132, "name": "string", "nodeType": "ElementaryTypeName", "src": "7896:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7895:15:10" }, "scope": 3928, "src": "7830:210:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3165, "nodeType": "Block", "src": "8148:81:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3159, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3151, "src": "8174:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3160, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3153, "src": "8191:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "8198:22:10", "subExpression": { "argumentTypes": null, "id": 3161, "name": "correlationIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2589, "src": "8198:20:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 3158, "name": "_addInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3720, "src": "8159:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,uint256)" } }, "id": 3163, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8159:62:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3164, "nodeType": "ExpressionStatement", "src": "8159:62:10" } ] }, "documentation": null, "id": 3166, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 3156, "modifierName": { "argumentTypes": null, "id": 3155, "name": "isFromAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2620, "src": "8131:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "8131:11:10" } ], "name": "inviteMember", "nodeType": "FunctionDefinition", "parameters": { "id": 3154, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3151, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3166, "src": "8072:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3150, "name": "string", "nodeType": "ElementaryTypeName", "src": "8072:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3153, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3166, "src": "8103:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3152, "name": "string", "nodeType": "ElementaryTypeName", "src": "8103:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8071:52:10" }, "payable": false, "returnParameters": { "id": 3157, "nodeType": "ParameterList", "parameters": [], "src": "8148:0:10" }, "scope": 3928, "src": "8050:179:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3177, "nodeType": "Block", "src": "8318:53:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3174, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3168, "src": "8347:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3173, "name": "_removeInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3779, "src": "8329:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 3175, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8329:34:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3176, "nodeType": "ExpressionStatement", "src": "8329:34:10" } ] }, "documentation": null, "id": 3178, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 3171, "modifierName": { "argumentTypes": null, "id": 3170, "name": "isFromAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2620, "src": "8301:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "8301:11:10" } ], "name": "removeInvitation", "nodeType": "FunctionDefinition", "parameters": { "id": 3169, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3168, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3178, "src": "8263:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3167, "name": "string", "nodeType": "ElementaryTypeName", "src": "8263:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8262:31:10" }, "payable": false, "returnParameters": { "id": 3172, "nodeType": "ParameterList", "parameters": [], "src": "8318:0:10" }, "scope": 3928, "src": "8237:134:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3192, "nodeType": "Block", "src": "8477:61:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3188, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3180, "src": "8507:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3189, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3182, "src": "8524:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3187, "name": "_setInvitationRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3801, "src": "8488:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 3190, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8488:42:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3191, "nodeType": "ExpressionStatement", "src": "8488:42:10" } ] }, "documentation": null, "id": 3193, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 3185, "modifierName": { "argumentTypes": null, "id": 3184, "name": "isFromAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2620, "src": "8465:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "8465:11:10" } ], "name": "setInvitationRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3183, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3180, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3193, "src": "8406:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3179, "name": "string", "nodeType": "ElementaryTypeName", "src": "8406:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3182, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3193, "src": "8437:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3181, "name": "string", "nodeType": "ElementaryTypeName", "src": "8437:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8405:52:10" }, "payable": false, "returnParameters": { "id": 3186, "nodeType": "ParameterList", "parameters": [], "src": "8477:0:10" }, "scope": 3928, "src": "8379:159:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3212, "nodeType": "Block", "src": "8687:99:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3203, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "8705:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3209, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3208, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3204, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "8720:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3206, "indexExpression": { "argumentTypes": null, "id": 3205, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3195, "src": "8752:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8720:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3207, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "8771:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "8720:52:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8705:68:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "id": 3210, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2560, "src": "8705:73:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3202, "id": 3211, "nodeType": "Return", "src": "8698:80:10" } ] }, "documentation": null, "id": 3213, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3198, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3195, "src": "8646:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3199, "modifierName": { "argumentTypes": null, "id": 3197, "name": "isInvitationExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "8626:19:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "8626:36:10" } ], "name": "getInvitationRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3196, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3195, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3213, "src": "8573:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3194, "name": "string", "nodeType": "ElementaryTypeName", "src": "8573:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8572:31:10" }, "payable": false, "returnParameters": { "id": 3202, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3201, "name": "", "nodeType": "VariableDeclaration", "scope": 3213, "src": "8672:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3200, "name": "string", "nodeType": "ElementaryTypeName", "src": "8672:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8671:15:10" }, "scope": 3928, "src": "8546:240:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3232, "nodeType": "Block", "src": "8935:108:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3223, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "8953:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3229, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3224, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "8968:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3226, "indexExpression": { "argumentTypes": null, "id": 3225, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3215, "src": "9000:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8968:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3227, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9019:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "8968:52:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8953:68:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "id": 3230, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "correlationId", "nodeType": "MemberAccess", "referencedDeclaration": 2562, "src": "8953:82:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3222, "id": 3231, "nodeType": "Return", "src": "8946:89:10" } ] }, "documentation": null, "id": 3233, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3218, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3215, "src": "8903:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3219, "modifierName": { "argumentTypes": null, "id": 3217, "name": "isInvitationExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "8883:19:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "8883:36:10" } ], "name": "getInvitationCorrelationId", "nodeType": "FunctionDefinition", "parameters": { "id": 3216, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3215, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3233, "src": "8830:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3214, "name": "string", "nodeType": "ElementaryTypeName", "src": "8830:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8829:31:10" }, "payable": false, "returnParameters": { "id": 3222, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3221, "name": "", "nodeType": "VariableDeclaration", "scope": 3233, "src": "8929:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3220, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8929:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "8928:6:10" }, "scope": 3928, "src": "8794:249:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3241, "nodeType": "Block", "src": "9108:47:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3238, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "9126:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3239, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "9126:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3237, "id": 3240, "nodeType": "Return", "src": "9119:28:10" } ] }, "documentation": null, "id": 3242, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getInvitationCount", "nodeType": "FunctionDefinition", "parameters": { "id": 3234, "nodeType": "ParameterList", "parameters": [], "src": "9078:2:10" }, "payable": false, "returnParameters": { "id": 3237, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3236, "name": "", "nodeType": "VariableDeclaration", "scope": 3242, "src": "9102:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3235, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9102:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "9101:6:10" }, "scope": 3928, "src": "9051:104:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3262, "nodeType": "Block", "src": "9258:147:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3253, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3250, "name": "iterator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3244, "src": "9277:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3251, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "9288:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3252, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "9288:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9277:32:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "496e76616c6964206974657261746f7220737570706c6965642e", "id": 3254, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9311:28:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f", "typeString": "literal_string \"Invalid iterator supplied.\"" }, "value": "Invalid iterator supplied." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f", "typeString": "literal_string \"Invalid iterator supplied.\"" } ], "id": 3249, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "9269:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3255, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9269:71:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3256, "nodeType": "ExpressionStatement", "src": "9269:71:10" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3257, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "9358:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3259, "indexExpression": { "argumentTypes": null, "id": 3258, "name": "iterator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3244, "src": "9373:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9358:24:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "id": 3260, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "subscriptionId", "nodeType": "MemberAccess", "referencedDeclaration": 2558, "src": "9358:39:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3248, "id": 3261, "nodeType": "Return", "src": "9351:46:10" } ] }, "documentation": null, "id": 3263, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getInvitationSubscriptionIdAtIndex", "nodeType": "FunctionDefinition", "parameters": { "id": 3245, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3244, "name": "iterator", "nodeType": "VariableDeclaration", "scope": 3263, "src": "9207:13:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3243, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9207:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "9206:15:10" }, "payable": false, "returnParameters": { "id": 3248, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3247, "name": "", "nodeType": "VariableDeclaration", "scope": 3263, "src": "9243:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3246, "name": "string", "nodeType": "ElementaryTypeName", "src": "9243:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "9242:15:10" }, "scope": 3928, "src": "9163:242:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3342, "nodeType": "Block", "src": "9658:706:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "9677:24:10", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3280, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3265, "src": "9695:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3279, "name": "existsMemberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3606, "src": "9678:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 3281, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9678:23:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220776974682073756368206e616d6520616c7265616479206578697374732e", "id": 3283, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9703:41:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0efc8d31d976338270ce31c3bf860baa2ed4cc8fc5867cd70bb7d52da8f14092", "typeString": "literal_string \"A member with such name already exists.\"" }, "value": "A member with such name already exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_0efc8d31d976338270ce31c3bf860baa2ed4cc8fc5867cd70bb7d52da8f14092", "typeString": "literal_string \"A member with such name already exists.\"" } ], "id": 3278, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "9669:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3284, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9669:76:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3285, "nodeType": "ExpressionStatement", "src": "9669:76:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "9764:30:10", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3288, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3273, "src": "9785:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 3287, "name": "existsMemberAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3620, "src": "9765:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 3289, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9765:29:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220776974682073756368206164647265737320616c7265616479206578697374732e", "id": 3291, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9796:44:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab", "typeString": "literal_string \"A member with such address already exists.\"" }, "value": "A member with such address already exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab", "typeString": "literal_string \"A member with such address already exists.\"" } ], "id": 3286, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "9756:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3292, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9756:85:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3293, "nodeType": "ExpressionStatement", "src": "9756:85:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3295, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3273, "src": "9860:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3297, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9880:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 3296, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9872:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3298, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9872:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "9860:22:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41737369676e696e672061207a65726f2061646472657373206973206e6f7420616c6c6f7765642e", "id": 3300, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9884:42:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250", "typeString": "literal_string \"Assigning a zero address is not allowed.\"" }, "value": "Assigning a zero address is not allowed." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250", "typeString": "literal_string \"Assigning a zero address is not allowed.\"" } ], "id": 3294, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "9852:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3301, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9852:75:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3302, "nodeType": "ExpressionStatement", "src": "9852:75:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3307, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3265, "src": "9977:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3308, "name": "_displayName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3267, "src": "9997:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3309, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3269, "src": "10024:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3310, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3271, "src": "10054:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3311, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3273, "src": "10074:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 3312, "name": "_correlationId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3275, "src": "10097:14:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 3306, "name": "Member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2556, "src": "9956:6:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Member_$2556_storage_ptr_$", "typeString": "type(struct Members.Member storage pointer)" } }, "id": 3313, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9956:166:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_memory", "typeString": "struct Members.Member memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Member_$2556_memory", "typeString": "struct Members.Member memory" } ], "expression": { "argumentTypes": null, "id": 3303, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "9940:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "9940:15:10", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Member_$2556_storage_$returns$_t_uint256_$", "typeString": "function (struct Members.Member storage ref) returns (uint256)" } }, "id": 3314, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9940:183:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3315, "nodeType": "ExpressionStatement", "src": "9940:183:10" }, { "expression": { "argumentTypes": null, "id": 3321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3316, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "10134:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3318, "indexExpression": { "argumentTypes": null, "id": 3317, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3265, "src": "10152:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "10134:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3319, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10161:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3320, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "10161:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10134:44:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3322, "nodeType": "ExpressionStatement", "src": "10134:44:10" }, { "expression": { "argumentTypes": null, "id": 3328, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3323, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "10189:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3325, "indexExpression": { "argumentTypes": null, "id": 3324, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3273, "src": "10210:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "10189:30:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3326, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10222:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3327, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "10222:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10189:50:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3329, "nodeType": "ExpressionStatement", "src": "10189:50:10" }, { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3331, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3271, "src": "10268:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3330, "name": "isAdminRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3903, "src": "10256:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) pure returns (bool)" } }, "id": 3332, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10256:18:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3337, "nodeType": "IfStatement", "src": "10252:63:10", "trueBody": { "id": 3336, "nodeType": "Block", "src": "10276:39:10", "statements": [ { "expression": { "argumentTypes": null, "id": 3334, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "10291:12:10", "subExpression": { "argumentTypes": null, "id": 3333, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "10291:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3335, "nodeType": "ExpressionStatement", "src": "10291:12:10" } ] } }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3339, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3265, "src": "10350:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3338, "name": "MemberJoinedEvent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2570, "src": "10332:17:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 3340, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10332:24:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3341, "nodeType": "EmitStatement", "src": "10327:29:10" } ] }, "documentation": null, "id": 3343, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "_addMember", "nodeType": "FunctionDefinition", "parameters": { "id": 3276, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3265, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9445:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3264, "name": "string", "nodeType": "ElementaryTypeName", "src": "9445:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3267, "name": "_displayName", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9475:26:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3266, "name": "string", "nodeType": "ElementaryTypeName", "src": "9475:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3269, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9512:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3268, "name": "string", "nodeType": "ElementaryTypeName", "src": "9512:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3271, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9552:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3270, "name": "string", "nodeType": "ElementaryTypeName", "src": "9552:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3273, "name": "_account", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9582:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3272, "name": "address", "nodeType": "ElementaryTypeName", "src": "9582:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3275, "name": "_correlationId", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9609:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3274, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9609:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "9434:201:10" }, "payable": false, "returnParameters": { "id": 3277, "nodeType": "ParameterList", "parameters": [], "src": "9658:0:10" }, "scope": 3928, "src": "9415:949:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3450, "nodeType": "Block", "src": "10447:936:10", "statements": [ { "assignments": [ 3352 ], "declarations": [ { "constant": false, "id": 3352, "name": "memberIndexBaseZero", "nodeType": "VariableDeclaration", "scope": 3451, "src": "10458:24:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3351, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10458:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 3358, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3353, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "10485:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3355, "indexExpression": { "argumentTypes": null, "id": 3354, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3345, "src": "10503:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "10485:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3356, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10512:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "10485:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "10458:55:10" }, { "assignments": [ 3360 ], "declarations": [ { "constant": false, "id": 3360, "name": "memberToRemove", "nodeType": "VariableDeclaration", "scope": 3451, "src": "10524:29:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" }, "typeName": { "contractScope": null, "id": 3359, "name": "Member", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2556, "src": "10524:6:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" } }, "value": null, "visibility": "internal" } ], "id": 3364, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3361, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10556:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3363, "indexExpression": { "argumentTypes": null, "id": 3362, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3352, "src": "10567:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "10556:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "10524:63:10" }, { "assignments": [ 3366 ], "declarations": [ { "constant": false, "id": 3366, "name": "memberToRemoveAddress", "nodeType": "VariableDeclaration", "scope": 3451, "src": "10598:29:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3365, "name": "address", "nodeType": "ElementaryTypeName", "src": "10598:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 3369, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3367, "name": "memberToRemove", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3360, "src": "10630:14:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } }, "id": 3368, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "10630:22:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "10598:54:10" }, { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3371, "name": "memberToRemove", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3360, "src": "10677:14:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } ], "id": 3370, "name": "isAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3638, "src": "10669:7:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Members.Member memory) view returns (bool)" } }, "id": 3372, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10669:23:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3389, "nodeType": "IfStatement", "src": "10665:188:10", "trueBody": { "id": 3388, "nodeType": "Block", "src": "10694:159:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3374, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "10716:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3375, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10729:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "10716:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 3373, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4085, "src": "10709:6:10", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 3377, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10709:22:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3378, "nodeType": "ExpressionStatement", "src": "10709:22:10" }, { "expression": { "argumentTypes": null, "id": 3380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "10746:12:10", "subExpression": { "argumentTypes": null, "id": 3379, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "10746:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3381, "nodeType": "ExpressionStatement", "src": "10746:12:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 3383, "name": "existAdmins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3592, "src": "10781:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, "id": 3384, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10781:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "436f6e736f727469756d2073686f756c642068617665206174206c65617374206f6e652061646d696e2e", "id": 3385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10796:44:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6", "typeString": "literal_string \"Consortium should have at least one admin.\"" }, "value": "Consortium should have at least one admin." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6", "typeString": "literal_string \"Consortium should have at least one admin.\"" } ], "id": 3382, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "10773:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3386, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10773:68:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3387, "nodeType": "ExpressionStatement", "src": "10773:68:10" } ] } }, { "assignments": [ 3391 ], "declarations": [ { "constant": false, "id": 3391, "name": "memberToBeMoved", "nodeType": "VariableDeclaration", "scope": 3451, "src": "10865:30:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" }, "typeName": { "contractScope": null, "id": 3390, "name": "Member", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2556, "src": "10865:6:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" } }, "value": null, "visibility": "internal" } ], "id": 3398, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3392, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10898:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3397, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3396, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3393, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10909:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3394, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "10909:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3395, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10929:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "10909:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "10898:33:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "10865:66:10" }, { "expression": { "argumentTypes": null, "id": 3403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3399, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10942:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3401, "indexExpression": { "argumentTypes": null, "id": 3400, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3352, "src": "10953:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "10942:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3402, "name": "memberToBeMoved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3391, "src": "10976:15:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } }, "src": "10942:49:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3404, "nodeType": "ExpressionStatement", "src": "10942:49:10" }, { "expression": { "argumentTypes": null, "id": 3412, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3405, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "11002:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3408, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3406, "name": "memberToBeMoved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3391, "src": "11020:15:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } }, "id": 3407, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", "referencedDeclaration": 2545, "src": "11020:20:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11002:39:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3409, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3352, "src": "11044:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3410, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11066:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11044:23:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11002:65:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3413, "nodeType": "ExpressionStatement", "src": "11002:65:10" }, { "expression": { "argumentTypes": null, "id": 3421, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3414, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "11078:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3417, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3415, "name": "memberToBeMoved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3391, "src": "11099:15:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } }, "id": 3416, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "11099:23:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11078:45:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3420, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3418, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3352, "src": "11126:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11148:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11126:23:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11078:71:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3422, "nodeType": "ExpressionStatement", "src": "11078:71:10" }, { "expression": { "argumentTypes": null, "id": 3426, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "11162:50:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3423, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "11169:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3425, "indexExpression": { "argumentTypes": null, "id": 3424, "name": "memberToRemoveAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3366, "src": "11190:21:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11169:43:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3427, "nodeType": "ExpressionStatement", "src": "11162:50:10" }, { "expression": { "argumentTypes": null, "id": 3431, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "11223:31:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3428, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "11230:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3430, "indexExpression": { "argumentTypes": null, "id": 3429, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3345, "src": "11248:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11230:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3432, "nodeType": "ExpressionStatement", "src": "11223:31:10" }, { "expression": { "argumentTypes": null, "id": 3439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "11265:40:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3433, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "11272:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3438, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3437, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3434, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "11283:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3435, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "11283:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3436, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11303:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11283:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11272:33:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3440, "nodeType": "ExpressionStatement", "src": "11265:40:10" }, { "expression": { "argumentTypes": null, "id": 3444, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "11316:19:10", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3441, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "11316:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3443, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "11316:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3445, "nodeType": "ExpressionStatement", "src": "11316:19:10" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3447, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3345, "src": "11369:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3446, "name": "MemberLeftEvent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2574, "src": "11353:15:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 3448, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11353:22:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3449, "nodeType": "EmitStatement", "src": "11348:27:10" } ] }, "documentation": null, "id": 3451, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3348, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3345, "src": "10440:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3349, "modifierName": { "argumentTypes": null, "id": 3347, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "10424:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "10424:22:10" } ], "name": "_removeMember", "nodeType": "FunctionDefinition", "parameters": { "id": 3346, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3345, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3451, "src": "10395:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3344, "name": "string", "nodeType": "ElementaryTypeName", "src": "10395:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "10394:21:10" }, "payable": false, "returnParameters": { "id": 3350, "nodeType": "ParameterList", "parameters": [], "src": "10447:0:10" }, "scope": 3928, "src": "10372:1011:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3513, "nodeType": "Block", "src": "11488:521:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3465, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "11507:30:10", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3463, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3455, "src": "11528:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 3462, "name": "existsMemberAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3620, "src": "11508:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 3464, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11508:29:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220776974682073756368206164647265737320616c7265616479206578697374732e", "id": 3466, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11539:44:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab", "typeString": "literal_string \"A member with such address already exists.\"" }, "value": "A member with such address already exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab", "typeString": "literal_string \"A member with such address already exists.\"" } ], "id": 3461, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "11499:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3467, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11499:85:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3468, "nodeType": "ExpressionStatement", "src": "11499:85:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3474, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3470, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3455, "src": "11603:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3472, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11623:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 3471, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "11615:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3473, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11615:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "11603:22:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41737369676e696e672061207a65726f2061646472657373206973206e6f7420616c6c6f7765642e", "id": 3475, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11627:42:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250", "typeString": "literal_string \"Assigning a zero address is not allowed.\"" }, "value": "Assigning a zero address is not allowed." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250", "typeString": "literal_string \"Assigning a zero address is not allowed.\"" } ], "id": 3469, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "11595:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3476, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11595:75:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3477, "nodeType": "ExpressionStatement", "src": "11595:75:10" }, { "assignments": [ 3479 ], "declarations": [ { "constant": false, "id": 3479, "name": "memberIndexBaseZero", "nodeType": "VariableDeclaration", "scope": 3514, "src": "11683:24:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3478, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11683:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 3485, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3484, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3480, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "11710:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3482, "indexExpression": { "argumentTypes": null, "id": 3481, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3453, "src": "11728:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "11710:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3483, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11737:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11710:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "11683:55:10" }, { "assignments": [ 3487 ], "declarations": [ { "constant": false, "id": 3487, "name": "originalAccount", "nodeType": "VariableDeclaration", "scope": 3514, "src": "11751:23:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3486, "name": "address", "nodeType": "ElementaryTypeName", "src": "11751:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 3492, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3488, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "11777:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3490, "indexExpression": { "argumentTypes": null, "id": 3489, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3479, "src": "11788:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "11777:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3491, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "11777:39:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "11751:65:10" }, { "expression": { "argumentTypes": null, "id": 3496, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "11827:44:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3493, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "11834:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3495, "indexExpression": { "argumentTypes": null, "id": 3494, "name": "originalAccount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3487, "src": "11855:15:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11834:37:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3497, "nodeType": "ExpressionStatement", "src": "11827:44:10" }, { "expression": { "argumentTypes": null, "id": 3503, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3498, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "11884:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3500, "indexExpression": { "argumentTypes": null, "id": 3499, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3479, "src": "11895:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "11884:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3501, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "11884:39:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3502, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3455, "src": "11926:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "11884:50:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3504, "nodeType": "ExpressionStatement", "src": "11884:50:10" }, { "expression": { "argumentTypes": null, "id": 3511, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3505, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "11945:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3507, "indexExpression": { "argumentTypes": null, "id": 3506, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3455, "src": "11966:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11945:30:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3510, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3508, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3479, "src": "11978:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12000:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11978:23:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11945:56:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3512, "nodeType": "ExpressionStatement", "src": "11945:56:10" } ] }, "documentation": null, "id": 3514, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3458, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3453, "src": "11481:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3459, "modifierName": { "argumentTypes": null, "id": 3457, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "11465:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "11465:22:10" } ], "name": "_setMemberAccount", "nodeType": "FunctionDefinition", "parameters": { "id": 3456, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3453, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3514, "src": "11418:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3452, "name": "string", "nodeType": "ElementaryTypeName", "src": "11418:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3455, "name": "_account", "nodeType": "VariableDeclaration", "scope": 3514, "src": "11439:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3454, "name": "address", "nodeType": "ElementaryTypeName", "src": "11439:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "11417:39:10" }, "payable": false, "returnParameters": { "id": 3460, "nodeType": "ParameterList", "parameters": [], "src": "11488:0:10" }, "scope": 3928, "src": "11391:618:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3581, "nodeType": "Block", "src": "12114:554:10", "statements": [ { "assignments": [ 3525 ], "declarations": [ { "constant": false, "id": 3525, "name": "memberIndexBaseZero", "nodeType": "VariableDeclaration", "scope": 3582, "src": "12125:24:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3524, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12125:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 3531, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3530, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3526, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "12152:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3528, "indexExpression": { "argumentTypes": null, "id": 3527, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3516, "src": "12170:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12152:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3529, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12179:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "12152:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "12125:55:10" }, { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3533, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "12211:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3535, "indexExpression": { "argumentTypes": null, "id": 3534, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3525, "src": "12222:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12211:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3536, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2551, "src": "12211:36:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, { "argumentTypes": null, "id": 3537, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3518, "src": "12249:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3532, "name": "areStringsEqual", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3927, "src": "12195:15:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) pure returns (bool)" } }, "id": 3538, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12195:60:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3541, "nodeType": "IfStatement", "src": "12191:99:10", "trueBody": { "id": 3540, "nodeType": "Block", "src": "12257:33:10", "statements": [ { "expression": null, "functionReturnParameters": 3523, "id": 3539, "nodeType": "Return", "src": "12272:7:10" } ] } }, { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3543, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "12314:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3545, "indexExpression": { "argumentTypes": null, "id": 3544, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3525, "src": "12325:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12314:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } ], "id": 3542, "name": "isAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3638, "src": "12306:7:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Members.Member memory) view returns (bool)" } }, "id": 3546, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12306:40:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3563, "nodeType": "IfStatement", "src": "12302:205:10", "trueBody": { "id": 3562, "nodeType": "Block", "src": "12348:159:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3550, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3548, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "12370:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3549, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12383:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "12370:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 3547, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4085, "src": "12363:6:10", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 3551, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12363:22:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3552, "nodeType": "ExpressionStatement", "src": "12363:22:10" }, { "expression": { "argumentTypes": null, "id": 3554, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "12400:12:10", "subExpression": { "argumentTypes": null, "id": 3553, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "12400:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3555, "nodeType": "ExpressionStatement", "src": "12400:12:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 3557, "name": "existAdmins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3592, "src": "12435:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, "id": 3558, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12435:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "436f6e736f727469756d2073686f756c642068617665206174206c65617374206f6e652061646d696e2e", "id": 3559, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12450:44:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6", "typeString": "literal_string \"Consortium should have at least one admin.\"" }, "value": "Consortium should have at least one admin." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6", "typeString": "literal_string \"Consortium should have at least one admin.\"" } ], "id": 3556, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "12427:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3560, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12427:68:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3561, "nodeType": "ExpressionStatement", "src": "12427:68:10" } ] } }, { "expression": { "argumentTypes": null, "id": 3569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3564, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "12519:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3566, "indexExpression": { "argumentTypes": null, "id": 3565, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3525, "src": "12530:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12519:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3567, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2551, "src": "12519:36:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3568, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3518, "src": "12558:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "12519:44:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 3570, "nodeType": "ExpressionStatement", "src": "12519:44:10" }, { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3572, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "12588:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3574, "indexExpression": { "argumentTypes": null, "id": 3573, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3525, "src": "12599:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12588:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } ], "id": 3571, "name": "isAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3638, "src": "12580:7:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Members.Member memory) view returns (bool)" } }, "id": 3575, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12580:40:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3580, "nodeType": "IfStatement", "src": "12576:85:10", "trueBody": { "id": 3579, "nodeType": "Block", "src": "12622:39:10", "statements": [ { "expression": { "argumentTypes": null, "id": 3577, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "12637:12:10", "subExpression": { "argumentTypes": null, "id": 3576, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "12637:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3578, "nodeType": "ExpressionStatement", "src": "12637:12:10" } ] } } ] }, "documentation": null, "id": 3582, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3521, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3516, "src": "12107:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3522, "modifierName": { "argumentTypes": null, "id": 3520, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "12091:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "12091:22:10" } ], "name": "_setMemberRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3519, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3516, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3582, "src": "12041:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3515, "name": "string", "nodeType": "ElementaryTypeName", "src": "12041:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3518, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3582, "src": "12062:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3517, "name": "string", "nodeType": "ElementaryTypeName", "src": "12062:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "12040:42:10" }, "payable": false, "returnParameters": { "id": 3523, "nodeType": "ParameterList", "parameters": [], "src": "12114:0:10" }, "scope": 3928, "src": "12017:651:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3591, "nodeType": "Block", "src": "12727:40:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3589, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3587, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "12745:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3588, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12758:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "12745:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3586, "id": 3590, "nodeType": "Return", "src": "12738:21:10" } ] }, "documentation": null, "id": 3592, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "existAdmins", "nodeType": "FunctionDefinition", "parameters": { "id": 3583, "nodeType": "ParameterList", "parameters": [], "src": "12696:2:10" }, "payable": false, "returnParameters": { "id": 3586, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3585, "name": "", "nodeType": "VariableDeclaration", "scope": 3592, "src": "12721:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3584, "name": "bool", "nodeType": "ElementaryTypeName", "src": "12721:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "12720:6:10" }, "scope": 3928, "src": "12676:91:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3605, "nodeType": "Block", "src": "12850:54:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3599, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "12868:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3601, "indexExpression": { "argumentTypes": null, "id": 3600, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3594, "src": "12886:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12868:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3602, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12895:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "12868:28:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3598, "id": 3604, "nodeType": "Return", "src": "12861:35:10" } ] }, "documentation": null, "id": 3606, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "existsMemberName", "nodeType": "FunctionDefinition", "parameters": { "id": 3595, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3594, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3606, "src": "12801:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3593, "name": "string", "nodeType": "ElementaryTypeName", "src": "12801:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "12800:21:10" }, "payable": false, "returnParameters": { "id": 3598, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3597, "name": "", "nodeType": "VariableDeclaration", "scope": 3606, "src": "12844:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3596, "name": "bool", "nodeType": "ElementaryTypeName", "src": "12844:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "12843:6:10" }, "scope": 3928, "src": "12775:129:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3619, "nodeType": "Block", "src": "12987:60:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3617, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3613, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "13005:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3615, "indexExpression": { "argumentTypes": null, "id": 3614, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3608, "src": "13026:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13005:30:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3616, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13038:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "13005:34:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3612, "id": 3618, "nodeType": "Return", "src": "12998:41:10" } ] }, "documentation": null, "id": 3620, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "existsMemberAddress", "nodeType": "FunctionDefinition", "parameters": { "id": 3609, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3608, "name": "_address", "nodeType": "VariableDeclaration", "scope": 3620, "src": "12941:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3607, "name": "address", "nodeType": "ElementaryTypeName", "src": "12941:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "12940:18:10" }, "payable": false, "returnParameters": { "id": 3612, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3611, "name": "", "nodeType": "VariableDeclaration", "scope": 3620, "src": "12981:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3610, "name": "bool", "nodeType": "ElementaryTypeName", "src": "12981:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "12980:6:10" }, "scope": 3928, "src": "12912:135:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3637, "nodeType": "Block", "src": "13116:85:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 3635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3628, "name": "_member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3622, "src": "13151:7:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_memory_ptr", "typeString": "struct Members.Member memory" } }, "id": 3629, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", "referencedDeclaration": 2545, "src": "13151:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory", "typeString": "string memory" } ], "id": 3627, "name": "existsMemberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3606, "src": "13134:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 3630, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13134:30:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3632, "name": "_member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3622, "src": "13180:7:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_memory_ptr", "typeString": "struct Members.Member memory" } }, "id": 3633, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2551, "src": "13180:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory", "typeString": "string memory" } ], "id": 3631, "name": "isAdminRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3903, "src": "13168:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) pure returns (bool)" } }, "id": 3634, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13168:25:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13134:59:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3626, "id": 3636, "nodeType": "Return", "src": "13127:66:10" } ] }, "documentation": null, "id": 3638, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isAdmin", "nodeType": "FunctionDefinition", "parameters": { "id": 3623, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3622, "name": "_member", "nodeType": "VariableDeclaration", "scope": 3638, "src": "13072:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_memory_ptr", "typeString": "struct Members.Member" }, "typeName": { "contractScope": null, "id": 3621, "name": "Member", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2556, "src": "13072:6:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" } }, "value": null, "visibility": "internal" } ], "src": "13071:16:10" }, "payable": false, "returnParameters": { "id": 3626, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3625, "name": "", "nodeType": "VariableDeclaration", "scope": 3638, "src": "13110:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3624, "name": "bool", "nodeType": "ElementaryTypeName", "src": "13110:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "13109:6:10" }, "scope": 3928, "src": "13055:146:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3659, "nodeType": "Block", "src": "13279:114:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 3657, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3646, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3640, "src": "13317:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 3645, "name": "existsMemberAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3620, "src": "13297:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 3647, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13297:29:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3649, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "13338:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3655, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3654, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3650, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "13349:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3652, "indexExpression": { "argumentTypes": null, "id": 3651, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3640, "src": "13370:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13349:30:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3653, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13382:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "13349:34:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13338:46:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } ], "id": 3648, "name": "isAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3638, "src": "13330:7:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Members.Member memory) view returns (bool)" } }, "id": 3656, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13330:55:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13297:88:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3644, "id": 3658, "nodeType": "Return", "src": "13290:95:10" } ] }, "documentation": null, "id": 3660, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isAdminAddress", "nodeType": "FunctionDefinition", "parameters": { "id": 3641, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3640, "name": "_address", "nodeType": "VariableDeclaration", "scope": 3660, "src": "13233:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3639, "name": "address", "nodeType": "ElementaryTypeName", "src": "13233:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "13232:18:10" }, "payable": false, "returnParameters": { "id": 3644, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3643, "name": "", "nodeType": "VariableDeclaration", "scope": 3660, "src": "13273:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3642, "name": "bool", "nodeType": "ElementaryTypeName", "src": "13273:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "13272:6:10" }, "scope": 3928, "src": "13209:184:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3684, "nodeType": "Block", "src": "13495:113:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 3682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3670, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3664, "src": "13530:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3669, "name": "existsMemberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3606, "src": "13513:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 3671, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13513:23:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3681, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3672, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3662, "src": "13540:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3673, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "13552:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3679, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3678, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3674, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "13563:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3676, "indexExpression": { "argumentTypes": null, "id": 3675, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3664, "src": "13581:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13563:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3677, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13590:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "13563:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13552:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3680, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "13552:48:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "13540:60:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13513:87:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3668, "id": 3683, "nodeType": "Return", "src": "13506:94:10" } ] }, "documentation": null, "id": 3685, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isAddressOfMember", "nodeType": "FunctionDefinition", "parameters": { "id": 3665, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3662, "name": "_address", "nodeType": "VariableDeclaration", "scope": 3685, "src": "13428:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3661, "name": "address", "nodeType": "ElementaryTypeName", "src": "13428:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3664, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3685, "src": "13446:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3663, "name": "string", "nodeType": "ElementaryTypeName", "src": "13446:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "13427:39:10" }, "payable": false, "returnParameters": { "id": 3668, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3667, "name": "", "nodeType": "VariableDeclaration", "scope": 3685, "src": "13489:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3666, "name": "bool", "nodeType": "ElementaryTypeName", "src": "13489:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "13488:6:10" }, "scope": 3928, "src": "13401:207:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3719, "nodeType": "Block", "src": "13728:300:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3698, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "13747:34:10", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3696, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3687, "src": "13765:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3695, "name": "existsInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3815, "src": "13748:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 3697, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13748:33:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220696e7669746174696f6e2077697468207375636820737562736372697074696f6e20696420616c7265616479206578697374732e", "id": 3699, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13783:63:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c96d74d4e74a0fe1b416ce176a11826cfdaae3d9b49737cb53f874bed95645ec", "typeString": "literal_string \"A member invitation with such subscription id already exists.\"" }, "value": "A member invitation with such subscription id already exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_c96d74d4e74a0fe1b416ce176a11826cfdaae3d9b49737cb53f874bed95645ec", "typeString": "literal_string \"A member invitation with such subscription id already exists.\"" } ], "id": 3694, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "13739:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3700, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13739:108:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3701, "nodeType": "ExpressionStatement", "src": "13739:108:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3706, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3687, "src": "13897:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3707, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3689, "src": "13914:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3708, "name": "_correlationId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3691, "src": "13921:14:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 3705, "name": "MemberInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2563, "src": "13880:16:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_MemberInvitation_$2563_storage_ptr_$", "typeString": "type(struct Members.MemberInvitation storage pointer)" } }, "id": 3709, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13880:56:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_memory", "typeString": "struct Members.MemberInvitation memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_MemberInvitation_$2563_memory", "typeString": "struct Members.MemberInvitation memory" } ], "expression": { "argumentTypes": null, "id": 3702, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "13860:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "13860:19:10", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MemberInvitation_$2563_storage_$returns$_t_uint256_$", "typeString": "function (struct Members.MemberInvitation storage ref) returns (uint256)" } }, "id": 3710, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13860:77:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3711, "nodeType": "ExpressionStatement", "src": "13860:77:10" }, { "expression": { "argumentTypes": null, "id": 3717, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3712, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "13948:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3714, "indexExpression": { "argumentTypes": null, "id": 3713, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3687, "src": "13980:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "13948:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3715, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "13999:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3716, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "13999:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "13948:72:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3718, "nodeType": "ExpressionStatement", "src": "13948:72:10" } ] }, "documentation": null, "id": 3720, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "_addInvitation", "nodeType": "FunctionDefinition", "parameters": { "id": 3692, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3687, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3720, "src": "13642:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3686, "name": "string", "nodeType": "ElementaryTypeName", "src": "13642:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3689, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3720, "src": "13673:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3688, "name": "string", "nodeType": "ElementaryTypeName", "src": "13673:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3691, "name": "_correlationId", "nodeType": "VariableDeclaration", "scope": 3720, "src": "13694:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3690, "name": "uint", "nodeType": "ElementaryTypeName", "src": "13694:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "13641:73:10" }, "payable": false, "returnParameters": { "id": 3693, "nodeType": "ParameterList", "parameters": [], "src": "13728:0:10" }, "scope": 3928, "src": "13618:410:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3778, "nodeType": "Block", "src": "14144:543:10", "statements": [ { "assignments": [ 3729 ], "declarations": [ { "constant": false, "id": 3729, "name": "invitationIndexBaseZero", "nodeType": "VariableDeclaration", "scope": 3779, "src": "14155:28:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3728, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14155:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 3735, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3734, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3730, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "14186:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3732, "indexExpression": { "argumentTypes": null, "id": 3731, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3722, "src": "14218:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14186:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3733, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14237:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14186:52:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "14155:83:10" }, { "assignments": [ 3737 ], "declarations": [ { "constant": false, "id": 3737, "name": "invitationToMove", "nodeType": "VariableDeclaration", "scope": 3779, "src": "14259:41:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr", "typeString": "struct Members.MemberInvitation" }, "typeName": { "contractScope": null, "id": 3736, "name": "MemberInvitation", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2563, "src": "14259:16:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr", "typeString": "struct Members.MemberInvitation" } }, "value": null, "visibility": "internal" } ], "id": 3744, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3738, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14303:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3743, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3742, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3739, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14318:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3740, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14318:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3741, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14342:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14318:25:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14303:41:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "14259:85:10" }, { "expression": { "argumentTypes": null, "id": 3749, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3745, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14355:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3747, "indexExpression": { "argumentTypes": null, "id": 3746, "name": "invitationIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3729, "src": "14370:23:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "14355:39:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3748, "name": "invitationToMove", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3737, "src": "14397:16:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr", "typeString": "struct Members.MemberInvitation storage pointer" } }, "src": "14355:58:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "id": 3750, "nodeType": "ExpressionStatement", "src": "14355:58:10" }, { "expression": { "argumentTypes": null, "id": 3758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3751, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "14424:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3754, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3752, "name": "invitationToMove", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3737, "src": "14456:16:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr", "typeString": "struct Members.MemberInvitation storage pointer" } }, "id": 3753, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "subscriptionId", "nodeType": "MemberAccess", "referencedDeclaration": 2558, "src": "14456:31:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "14424:64:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3757, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3755, "name": "invitationIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3729, "src": "14491:23:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3756, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14517:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14491:27:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "14424:94:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3759, "nodeType": "ExpressionStatement", "src": "14424:94:10" }, { "expression": { "argumentTypes": null, "id": 3763, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "14531:55:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3760, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "14538:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3762, "indexExpression": { "argumentTypes": null, "id": 3761, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3722, "src": "14570:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "14538:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3764, "nodeType": "ExpressionStatement", "src": "14531:55:10" }, { "expression": { "argumentTypes": null, "id": 3771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "14597:48:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3765, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14604:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3770, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3769, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3766, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14619:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3767, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14619:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3768, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14643:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14619:25:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "14604:41:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3772, "nodeType": "ExpressionStatement", "src": "14597:48:10" }, { "expression": { "argumentTypes": null, "id": 3776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "14656:23:10", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3773, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14656:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3775, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14656:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3777, "nodeType": "ExpressionStatement", "src": "14656:23:10" } ] }, "documentation": null, "id": 3779, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3725, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3722, "src": "14122:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3726, "modifierName": { "argumentTypes": null, "id": 3724, "name": "isInvitationExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "14102:19:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "14102:36:10" } ], "name": "_removeInvitation", "nodeType": "FunctionDefinition", "parameters": { "id": 3723, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3722, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3779, "src": "14063:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3721, "name": "string", "nodeType": "ElementaryTypeName", "src": "14063:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "14062:31:10" }, "payable": false, "returnParameters": { "id": 3727, "nodeType": "ParameterList", "parameters": [], "src": "14144:0:10" }, "scope": 3928, "src": "14036:651:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3800, "nodeType": "Block", "src": "14820:100:10", "statements": [ { "expression": { "argumentTypes": null, "id": 3798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3789, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14831:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3795, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3790, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "14846:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3792, "indexExpression": { "argumentTypes": null, "id": 3791, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3781, "src": "14878:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14846:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3793, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14897:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14846:52:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14831:68:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "id": 3796, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2560, "src": "14831:73:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3797, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3783, "src": "14907:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "14831:81:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 3799, "nodeType": "ExpressionStatement", "src": "14831:81:10" } ] }, "documentation": null, "id": 3801, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3786, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3781, "src": "14803:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3787, "modifierName": { "argumentTypes": null, "id": 3785, "name": "isInvitationExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "14783:19:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "14783:36:10" } ], "name": "_setInvitationRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3784, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3781, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3801, "src": "14723:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3780, "name": "string", "nodeType": "ElementaryTypeName", "src": "14723:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3783, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3801, "src": "14754:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3782, "name": "string", "nodeType": "ElementaryTypeName", "src": "14754:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "14722:52:10" }, "payable": false, "returnParameters": { "id": 3788, "nodeType": "ParameterList", "parameters": [], "src": "14820:0:10" }, "scope": 3928, "src": "14695:225:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3814, "nodeType": "Block", "src": "15013:78:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3808, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "15031:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3810, "indexExpression": { "argumentTypes": null, "id": 3809, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3803, "src": "15063:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15031:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15082:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "15031:52:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3807, "id": 3813, "nodeType": "Return", "src": "15024:59:10" } ] }, "documentation": null, "id": 3815, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "existsInvitation", "nodeType": "FunctionDefinition", "parameters": { "id": 3804, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3803, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3815, "src": "14954:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3802, "name": "string", "nodeType": "ElementaryTypeName", "src": "14954:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "14953:31:10" }, "payable": false, "returnParameters": { "id": 3807, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3806, "name": "", "nodeType": "VariableDeclaration", "scope": 3815, "src": "15007:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3805, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15007:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "15006:6:10" }, "scope": 3928, "src": "14928:163:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3828, "nodeType": "Block", "src": "15178:59:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3826, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3822, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3817, "src": "15196:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3824, "name": "rootContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "15216:12:10", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } ], "id": 3823, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15208:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3825, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15208:21:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "15196:33:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3821, "id": 3827, "nodeType": "Return", "src": "15189:40:10" } ] }, "documentation": null, "id": 3829, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isRootContractAddress", "nodeType": "FunctionDefinition", "parameters": { "id": 3818, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3817, "name": "_address", "nodeType": "VariableDeclaration", "scope": 3829, "src": "15132:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3816, "name": "address", "nodeType": "ElementaryTypeName", "src": "15132:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "15131:18:10" }, "payable": false, "returnParameters": { "id": 3821, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3820, "name": "", "nodeType": "VariableDeclaration", "scope": 3829, "src": "15172:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3819, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15172:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "15171:6:10" }, "scope": 3928, "src": "15101:136:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3842, "nodeType": "Block", "src": "15318:61:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3840, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3836, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3831, "src": "15336:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 3837, "name": "rootContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "15348:12:10", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } }, "id": 3838, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "operator", "nodeType": "MemberAccess", "referencedDeclaration": 3995, "src": "15348:21:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 3839, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15348:23:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "15336:35:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3835, "id": 3841, "nodeType": "Return", "src": "15329:42:10" } ] }, "documentation": null, "id": 3843, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isOperatorAddress", "nodeType": "FunctionDefinition", "parameters": { "id": 3832, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3831, "name": "_address", "nodeType": "VariableDeclaration", "scope": 3843, "src": "15272:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3830, "name": "address", "nodeType": "ElementaryTypeName", "src": "15272:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "15271:18:10" }, "payable": false, "returnParameters": { "id": 3835, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3834, "name": "", "nodeType": "VariableDeclaration", "scope": 3843, "src": "15312:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3833, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15312:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "15311:6:10" }, "scope": 3928, "src": "15245:134:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3889, "nodeType": "Block", "src": "15473:439:10", "statements": [ { "assignments": [ 3853 ], "declarations": [ { "constant": false, "id": 3853, "name": "versionContractAddress", "nodeType": "VariableDeclaration", "scope": 3890, "src": "15484:30:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3852, "name": "address", "nodeType": "ElementaryTypeName", "src": "15484:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 3858, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "436f6e736f727469756d4d616e6167656d656e74436f6e747261637456657273696f6e", "id": 3856, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "15542:37:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_69033be35e640bd5d159d71b0b0228ac59a9d2d36e79ed81e0d7b2a7c8ff9c11", "typeString": "literal_string \"ConsortiumManagementContractVersion\"" }, "value": "ConsortiumManagementContractVersion" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_69033be35e640bd5d159d71b0b0228ac59a9d2d36e79ed81e0d7b2a7c8ff9c11", "typeString": "literal_string \"ConsortiumManagementContractVersion\"" } ], "expression": { "argumentTypes": null, "id": 3854, "name": "rootContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "15517:12:10", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } }, "id": 3855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getContract", "nodeType": "MemberAccess", "referencedDeclaration": 4038, "src": "15517:24:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", "typeString": "function (string memory) view external returns (address)" } }, "id": 3857, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15517:63:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "15484:96:10" }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3863, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3859, "name": "versionContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3853, "src": "15595:22:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15629:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 3860, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15621:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15621:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "15595:36:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 3887, "nodeType": "Block", "src": "15691:214:10", "statements": [ { "assignments": [ 3871 ], "declarations": [ { "constant": false, "id": 3871, "name": "version", "nodeType": "VariableDeclaration", "scope": 3890, "src": "15706:43:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" }, "typeName": { "contractScope": null, "id": 3870, "name": "ConsortiumManagementContractVersion", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 106, "src": "15706:35:10", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" } }, "value": null, "visibility": "internal" } ], "id": 3875, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3873, "name": "versionContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3853, "src": "15788:22:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 3872, "name": "ConsortiumManagementContractVersion", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 106, "src": "15752:35:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ConsortiumManagementContractVersion_$106_$", "typeString": "type(contract ConsortiumManagementContractVersion)" } }, "id": 3874, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15752:59:10", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" } }, "nodeType": "VariableDeclarationStatement", "src": "15706:105:10" }, { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 3876, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3871, "src": "15834:7:10", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" } }, "id": 3877, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMajor", "nodeType": "MemberAccess", "referencedDeclaration": 89, "src": "15834:16:10", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$", "typeString": "function () pure external returns (uint256)" } }, "id": 3878, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15834:18:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 3879, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3871, "src": "15854:7:10", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" } }, "id": 3880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMinor", "nodeType": "MemberAccess", "referencedDeclaration": 97, "src": "15854:16:10", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$", "typeString": "function () pure external returns (uint256)" } }, "id": 3881, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15854:18:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 3882, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3871, "src": "15874:7:10", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" } }, "id": 3883, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getPatch", "nodeType": "MemberAccess", "referencedDeclaration": 105, "src": "15874:16:10", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$", "typeString": "function () pure external returns (uint256)" } }, "id": 3884, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15874:18:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 3885, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "15833:60:10", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256)" } }, "functionReturnParameters": 3851, "id": 3886, "nodeType": "Return", "src": "15826:67:10" } ] }, "id": 3888, "nodeType": "IfStatement", "src": "15591:314:10", "trueBody": { "id": 3869, "nodeType": "Block", "src": "15633:43:10", "statements": [ { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "hexValue": "30", "id": 3864, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15656:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, { "argumentTypes": null, "hexValue": "30", "id": 3865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15659:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, { "argumentTypes": null, "hexValue": "30", "id": 3866, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15662:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "id": 3867, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "15655:9:10", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", "typeString": "tuple(int_const 0,int_const 0,int_const 0)" } }, "functionReturnParameters": 3851, "id": 3868, "nodeType": "Return", "src": "15648:16:10" } ] } } ] }, "documentation": null, "id": 3890, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getActiveVersion", "nodeType": "FunctionDefinition", "parameters": { "id": 3844, "nodeType": "ParameterList", "parameters": [], "src": "15412:2:10" }, "payable": false, "returnParameters": { "id": 3851, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3846, "name": "major", "nodeType": "VariableDeclaration", "scope": 3890, "src": "15437:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3845, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15437:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3848, "name": "minor", "nodeType": "VariableDeclaration", "scope": 3890, "src": "15449:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3847, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15449:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3850, "name": "patch", "nodeType": "VariableDeclaration", "scope": 3890, "src": "15461:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3849, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15461:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "15436:36:10" }, "scope": 3928, "src": "15387:525:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3902, "nodeType": "Block", "src": "15990:60:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3898, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3892, "src": "16024:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3899, "name": "ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2566, "src": "16031:10:10", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory", "typeString": "string memory" } ], "id": 3897, "name": "areStringsEqual", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3927, "src": "16008:15:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) pure returns (bool)" } }, "id": 3900, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16008:34:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3896, "id": 3901, "nodeType": "Return", "src": "16001:41:10" } ] }, "documentation": null, "id": 3903, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isAdminRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3893, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3892, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3903, "src": "15941:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3891, "name": "string", "nodeType": "ElementaryTypeName", "src": "15941:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "15940:21:10" }, "payable": false, "returnParameters": { "id": 3896, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3895, "name": "", "nodeType": "VariableDeclaration", "scope": 3903, "src": "15984:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3894, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15984:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "15983:6:10" }, "scope": 3928, "src": "15920:130:10", "stateMutability": "pure", "superFunction": null, "visibility": "private" }, { "body": { "id": 3926, "nodeType": "Block", "src": "16153:98:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 3924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3915, "name": "_str1", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3905, "src": "16198:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 3913, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4083, "src": "16181:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 3914, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "16181:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 3916, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16181:23:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 3912, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4090, "src": "16171:9:10", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, "id": 3917, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16171:34:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3921, "name": "_str2", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3907, "src": "16236:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 3919, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4083, "src": "16219:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 3920, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "16219:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 3922, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16219:23:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 3918, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4090, "src": "16209:9:10", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, "id": 3923, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16209:34:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "16171:72:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3911, "id": 3925, "nodeType": "Return", "src": "16164:79:10" } ] }, "documentation": null, "id": 3927, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "areStringsEqual", "nodeType": "FunctionDefinition", "parameters": { "id": 3908, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3905, "name": "_str1", "nodeType": "VariableDeclaration", "scope": 3927, "src": "16083:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3904, "name": "string", "nodeType": "ElementaryTypeName", "src": "16083:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3907, "name": "_str2", "nodeType": "VariableDeclaration", "scope": 3927, "src": "16104:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3906, "name": "string", "nodeType": "ElementaryTypeName", "src": "16104:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "16082:42:10" }, "payable": false, "returnParameters": { "id": 3911, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3910, "name": "", "nodeType": "VariableDeclaration", "scope": 3927, "src": "16147:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3909, "name": "bool", "nodeType": "ElementaryTypeName", "src": "16147:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "16146:6:10" }, "scope": 3928, "src": "16058:193:10", "stateMutability": "pure", "superFunction": null, "visibility": "private" } ], "scope": 3929, "src": "292:15962:10" } ], "src": "0:16254:10" }, "legacyAST": { "absolutePath": "/d/a/1/s/contracts/Members.sol", "exportedSymbols": { "Members": [ 3928 ] }, "id": 3929, "nodeType": "SourceUnit", "nodes": [ { "id": 2537, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:10" }, { "absolutePath": "/d/a/1/s/contracts/BaseUpdateable.sol", "file": "./BaseUpdateable.sol", "id": 2538, "nodeType": "ImportDirective", "scope": 3929, "sourceUnit": 54, "src": "28:30:10", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/d/a/1/s/contracts/DataMigration/PrivatePreview/PrivatePreviewMembers.sol", "file": "./DataMigration/PrivatePreview/PrivatePreviewMembers.sol", "id": 2539, "nodeType": "ImportDirective", "scope": 3929, "sourceUnit": 1899, "src": "60:66:10", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/d/a/1/s/contracts/RootContract.sol", "file": "./RootContract.sol", "id": 2540, "nodeType": "ImportDirective", "scope": 3929, "sourceUnit": 4082, "src": "128:28:10", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/d/a/1/s/contracts/ConsortiumManagementContractVersion.sol", "file": "./ConsortiumManagementContractVersion.sol", "id": 2541, "nodeType": "ImportDirective", "scope": 3929, "sourceUnit": 107, "src": "158:51:10", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2542, "name": "BaseUpdateable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 53, "src": "312:14:10", "typeDescriptions": { "typeIdentifier": "t_contract$_BaseUpdateable_$53", "typeString": "contract BaseUpdateable" } }, "id": 2543, "nodeType": "InheritanceSpecifier", "src": "312:14:10" } ], "contractDependencies": [ 53, 2535 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 3928, "linearizedBaseContracts": [ 3928, 53, 2535 ], "name": "Members", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Members.Member", "id": 2556, "members": [ { "constant": false, "id": 2545, "name": "name", "nodeType": "VariableDeclaration", "scope": 2556, "src": "361:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2544, "name": "string", "nodeType": "ElementaryTypeName", "src": "361:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2547, "name": "displayName", "nodeType": "VariableDeclaration", "scope": 2556, "src": "411:18:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2546, "name": "string", "nodeType": "ElementaryTypeName", "src": "411:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2549, "name": "subscriptionId", "nodeType": "VariableDeclaration", "scope": 2556, "src": "460:21:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2548, "name": "string", "nodeType": "ElementaryTypeName", "src": "460:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2551, "name": "role", "nodeType": "VariableDeclaration", "scope": 2556, "src": "509:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2550, "name": "string", "nodeType": "ElementaryTypeName", "src": "509:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2553, "name": "account", "nodeType": "VariableDeclaration", "scope": 2556, "src": "561:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2552, "name": "address", "nodeType": "ElementaryTypeName", "src": "561:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2555, "name": "correlationId", "nodeType": "VariableDeclaration", "scope": 2556, "src": "597:18:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2554, "name": "uint", "nodeType": "ElementaryTypeName", "src": "597:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "name": "Member", "nodeType": "StructDefinition", "scope": 3928, "src": "336:315:10", "visibility": "public" }, { "canonicalName": "Members.MemberInvitation", "id": 2563, "members": [ { "constant": false, "id": 2558, "name": "subscriptionId", "nodeType": "VariableDeclaration", "scope": 2563, "src": "694:21:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2557, "name": "string", "nodeType": "ElementaryTypeName", "src": "694:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2560, "name": "role", "nodeType": "VariableDeclaration", "scope": 2563, "src": "743:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 2559, "name": "string", "nodeType": "ElementaryTypeName", "src": "743:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2562, "name": "correlationId", "nodeType": "VariableDeclaration", "scope": 2563, "src": "795:18:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2561, "name": "uint", "nodeType": "ElementaryTypeName", "src": "795:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "name": "MemberInvitation", "nodeType": "StructDefinition", "scope": 3928, "src": "659:190:10", "visibility": "public" }, { "constant": true, "id": 2566, "name": "ADMIN_ROLE", "nodeType": "VariableDeclaration", "scope": 3928, "src": "857:36:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string" }, "typeName": { "id": 2564, "name": "string", "nodeType": "ElementaryTypeName", "src": "857:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": { "argumentTypes": null, "hexValue": "41444d494e", "id": 2565, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "886:7:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_df8b4c520ffe197c5343c6f5aec59570151ef9a492f2c624fd45ddde6135ec42", "typeString": "literal_string \"ADMIN\"" }, "value": "ADMIN" }, "visibility": "internal" }, { "anonymous": false, "documentation": null, "id": 2570, "name": "MemberJoinedEvent", "nodeType": "EventDefinition", "parameters": { "id": 2569, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2568, "indexed": false, "name": "name", "nodeType": "VariableDeclaration", "scope": 2570, "src": "926:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2567, "name": "string", "nodeType": "ElementaryTypeName", "src": "926:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "925:13:10" }, "src": "902:37:10" }, { "anonymous": false, "documentation": null, "id": 2574, "name": "MemberLeftEvent", "nodeType": "EventDefinition", "parameters": { "id": 2573, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2572, "indexed": false, "name": "name", "nodeType": "VariableDeclaration", "scope": 2574, "src": "967:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2571, "name": "string", "nodeType": "ElementaryTypeName", "src": "967:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "966:13:10" }, "src": "945:35:10" }, { "constant": false, "id": 2578, "name": "memberIndexByName", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1076:50:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string => uint256)" }, "typeName": { "id": 2577, "keyType": { "id": 2575, "name": "string", "nodeType": "ElementaryTypeName", "src": "1085:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "nodeType": "Mapping", "src": "1076:24:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string => uint256)" }, "valueType": { "id": 2576, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1095:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2582, "name": "memberIndexByAddress", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1260:54:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "typeName": { "id": 2581, "keyType": { "id": 2579, "name": "address", "nodeType": "ElementaryTypeName", "src": "1269:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "1260:25:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { "id": 2580, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1280:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2585, "name": "memberList", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1383:27:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member[]" }, "typeName": { "baseType": { "contractScope": null, "id": 2583, "name": "Member", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2556, "src": "1383:6:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" } }, "id": 2584, "length": null, "nodeType": "ArrayTypeName", "src": "1383:8:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage_ptr", "typeString": "struct Members.Member[]" } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2587, "name": "adminCount", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1500:23:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2586, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1500:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2589, "name": "correlationIdCounter", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1582:33:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2588, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1582:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2593, "name": "invitationIndexBySubscriptionId", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1724:64:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string => uint256)" }, "typeName": { "id": 2592, "keyType": { "id": 2590, "name": "string", "nodeType": "ElementaryTypeName", "src": "1733:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "nodeType": "Mapping", "src": "1724:24:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string => uint256)" }, "valueType": { "id": 2591, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1743:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "value": null, "visibility": "private" }, { "constant": false, "id": 2596, "name": "invitationList", "nodeType": "VariableDeclaration", "scope": 3928, "src": "1882:41:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation[]" }, "typeName": { "baseType": { "contractScope": null, "id": 2594, "name": "MemberInvitation", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2563, "src": "1882:16:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr", "typeString": "struct Members.MemberInvitation" } }, "id": 2595, "length": null, "nodeType": "ArrayTypeName", "src": "1882:18:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage_ptr", "typeString": "struct Members.MemberInvitation[]" } }, "value": null, "visibility": "private" }, { "body": { "id": 2607, "nodeType": "Block", "src": "1956:111:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2600, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "1993:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2601, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1993:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2599, "name": "isOperatorAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3843, "src": "1975:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 2602, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1975:29:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f70657261746f722e", "id": 2603, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2006:40:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a2c6b8f7086b9cb3fba92ce3827a4024ad98857ab5279a6202f8ff42f881a0e9", "typeString": "literal_string \"Only permits invocation from operator.\"" }, "value": "Only permits invocation from operator." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a2c6b8f7086b9cb3fba92ce3827a4024ad98857ab5279a6202f8ff42f881a0e9", "typeString": "literal_string \"Only permits invocation from operator.\"" } ], "id": 2598, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "1967:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2604, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1967:80:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2605, "nodeType": "ExpressionStatement", "src": "1967:80:10" }, { "id": 2606, "nodeType": "PlaceholderStatement", "src": "2058:1:10" } ] }, "documentation": null, "id": 2608, "name": "isFromOperator", "nodeType": "ModifierDefinition", "parameters": { "id": 2597, "nodeType": "ParameterList", "parameters": [], "src": "1956:0:10" }, "src": "1932:135:10", "visibility": "internal" }, { "body": { "id": 2619, "nodeType": "Block", "src": "2096:106:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2612, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "2130:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2613, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "2130:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2611, "name": "isAdminAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3660, "src": "2115:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 2614, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2115:26:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646d696e732e", "id": 2615, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2143:38:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f0058c18d1fb460a6e2435957f8dd8ed8fdb9b308d7aea617324ed7baacc409a", "typeString": "literal_string \"Only permits invocation from admins.\"" }, "value": "Only permits invocation from admins." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_f0058c18d1fb460a6e2435957f8dd8ed8fdb9b308d7aea617324ed7baacc409a", "typeString": "literal_string \"Only permits invocation from admins.\"" } ], "id": 2610, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "2107:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2616, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2107:75:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2617, "nodeType": "ExpressionStatement", "src": "2107:75:10" }, { "id": 2618, "nodeType": "PlaceholderStatement", "src": "2193:1:10" } ] }, "documentation": null, "id": 2620, "name": "isFromAdmin", "nodeType": "ModifierDefinition", "parameters": { "id": 2609, "nodeType": "ParameterList", "parameters": [], "src": "2096:0:10" }, "src": "2075:127:10", "visibility": "internal" }, { "body": { "id": 2634, "nodeType": "Block", "src": "2256:139:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2626, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "2293:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2627, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "2293:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2628, "name": "memberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2622, "src": "2305:10:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2625, "name": "isAddressOfMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3685, "src": "2275:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,string memory) view returns (bool)" } }, "id": 2629, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2275:41:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d20746865206d656d6265722773206f776e206163636f756e742e", "id": 2630, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2318:56:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f095888b38b7bad6977931bffb679a57cfa9d9ec9c49b1e453b0a918f87a6c8e", "typeString": "literal_string \"Only permits invocation from the member's own account.\"" }, "value": "Only permits invocation from the member's own account." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_f095888b38b7bad6977931bffb679a57cfa9d9ec9c49b1e453b0a918f87a6c8e", "typeString": "literal_string \"Only permits invocation from the member's own account.\"" } ], "id": 2624, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "2267:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2631, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2267:108:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2632, "nodeType": "ExpressionStatement", "src": "2267:108:10" }, { "id": 2633, "nodeType": "PlaceholderStatement", "src": "2386:1:10" } ] }, "documentation": null, "id": 2635, "name": "isFromSelf", "nodeType": "ModifierDefinition", "parameters": { "id": 2623, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2622, "name": "memberName", "nodeType": "VariableDeclaration", "scope": 2635, "src": "2230:24:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2621, "name": "string", "nodeType": "ElementaryTypeName", "src": "2230:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "2229:26:10" }, "src": "2210:185:10", "visibility": "internal" }, { "body": { "id": 2647, "nodeType": "Block", "src": "2454:112:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2641, "name": "memberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2637, "src": "2490:10:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2640, "name": "existsMemberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3606, "src": "2473:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 2642, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2473:28:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220776974682073756368206e616d6520646f6573206e6f74206578697374732e", "id": 2643, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2503:42:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7a47041c619d3153b31b4235b5f89c02a456811eab841c0a9650f1bc0bc749b9", "typeString": "literal_string \"A member with such name does not exists.\"" }, "value": "A member with such name does not exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_7a47041c619d3153b31b4235b5f89c02a456811eab841c0a9650f1bc0bc749b9", "typeString": "literal_string \"A member with such name does not exists.\"" } ], "id": 2639, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "2465:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2644, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2465:81:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2645, "nodeType": "ExpressionStatement", "src": "2465:81:10" }, { "id": 2646, "nodeType": "PlaceholderStatement", "src": "2557:1:10" } ] }, "documentation": null, "id": 2648, "name": "isMemberExisted", "nodeType": "ModifierDefinition", "parameters": { "id": 2638, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2637, "name": "memberName", "nodeType": "VariableDeclaration", "scope": 2648, "src": "2428:24:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2636, "name": "string", "nodeType": "ElementaryTypeName", "src": "2428:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "2427:26:10" }, "src": "2403:163:10", "visibility": "internal" }, { "body": { "id": 2660, "nodeType": "Block", "src": "2647:148:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2654, "name": "invitationSubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2650, "src": "2683:24:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2653, "name": "existsInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3815, "src": "2666:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 2655, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2666:42:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220696e7669746174696f6e2077697468207375636820737562736372697074696f6e20696420646f6573206e6f74206578697374732e", "id": 2656, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2710:64:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6c8baf90898ccecd94182d463a5121b80309ff6b47e0d04c30f89fb9211a5b42", "typeString": "literal_string \"A member invitation with such subscription id does not exists.\"" }, "value": "A member invitation with such subscription id does not exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_6c8baf90898ccecd94182d463a5121b80309ff6b47e0d04c30f89fb9211a5b42", "typeString": "literal_string \"A member invitation with such subscription id does not exists.\"" } ], "id": 2652, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "2658:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2657, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2658:117:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2658, "nodeType": "ExpressionStatement", "src": "2658:117:10" }, { "id": 2659, "nodeType": "PlaceholderStatement", "src": "2786:1:10" } ] }, "documentation": null, "id": 2661, "name": "isInvitationExisted", "nodeType": "ModifierDefinition", "parameters": { "id": 2651, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2650, "name": "invitationSubscriptionId", "nodeType": "VariableDeclaration", "scope": 2661, "src": "2607:38:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2649, "name": "string", "nodeType": "ElementaryTypeName", "src": "2607:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "2606:40:10" }, "src": "2578:217:10", "visibility": "internal" }, { "body": { "id": 2676, "nodeType": "Block", "src": "2959:8:10", "statements": [] }, "documentation": null, "id": 2677, "implemented": true, "isConstructor": true, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2669, "name": "_rootContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2663, "src": "2900:13:10", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } ], "id": 2668, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2892:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2670, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2892:22:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2672, "name": "_updateFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2665, "src": "2924:11:10", "typeDescriptions": { "typeIdentifier": "t_contract$_IUpdateable_$2535", "typeString": "contract IUpdateable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_IUpdateable_$2535", "typeString": "contract IUpdateable" } ], "id": 2671, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2916:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2673, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2916:20:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 2674, "modifierName": { "argumentTypes": null, "id": 2667, "name": "BaseUpdateable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "2877:14:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_BaseUpdateable_$53_$", "typeString": "type(contract BaseUpdateable)" } }, "nodeType": "ModifierInvocation", "src": "2877:60:10" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 2666, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2663, "name": "_rootContract", "nodeType": "VariableDeclaration", "scope": 2677, "src": "2815:26:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" }, "typeName": { "contractScope": null, "id": 2662, "name": "RootContract", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4081, "src": "2815:12:10", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2665, "name": "_updateFrom", "nodeType": "VariableDeclaration", "scope": 2677, "src": "2843:23:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IUpdateable_$2535", "typeString": "contract IUpdateable" }, "typeName": { "contractScope": null, "id": 2664, "name": "IUpdateable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2535, "src": "2843:11:10", "typeDescriptions": { "typeIdentifier": "t_contract$_IUpdateable_$2535", "typeString": "contract IUpdateable" } }, "value": null, "visibility": "internal" } ], "src": "2814:53:10" }, "payable": false, "returnParameters": { "id": 2675, "nodeType": "ParameterList", "parameters": [], "src": "2959:0:10" }, "scope": 3928, "src": "2803:164:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2848, "nodeType": "Block", "src": "3026:1796:10", "statements": [ { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2686, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2682, "name": "updateFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, "src": "3041:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2684, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3063:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 2683, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3055:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2685, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3055:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "3041:24:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2689, "nodeType": "IfStatement", "src": "3037:63:10", "trueBody": { "id": 2688, "nodeType": "Block", "src": "3067:33:10", "statements": [ { "expression": null, "functionReturnParameters": 2681, "id": 2687, "nodeType": "Return", "src": "3082:7:10" } ] } }, { "assignments": [], "declarations": [ { "constant": false, "id": 2691, "name": "i", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3112:6:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2690, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3112:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2692, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3112:6:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2694, "name": "name", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3129:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2693, "name": "string", "nodeType": "ElementaryTypeName", "src": "3129:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2695, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3129:18:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2697, "name": "subscriptionId", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3158:28:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2696, "name": "string", "nodeType": "ElementaryTypeName", "src": "3158:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2698, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3158:28:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2700, "name": "role", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3197:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2699, "name": "string", "nodeType": "ElementaryTypeName", "src": "3197:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2701, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3197:18:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2703, "name": "status", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3226:20:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2702, "name": "string", "nodeType": "ElementaryTypeName", "src": "3226:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2704, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3226:20:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2706, "name": "accountAddress", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3257:22:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2705, "name": "address", "nodeType": "ElementaryTypeName", "src": "3257:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 2707, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3257:22:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2709, "name": "major", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3292:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2708, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3292:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2710, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3292:10:10" }, { "assignments": [], "declarations": [ { "constant": false, "id": 2712, "name": "minor", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3313:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2711, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3313:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2713, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "3313:10:10" }, { "expression": { "argumentTypes": null, "id": 2719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "components": [ { "argumentTypes": null, "id": 2714, "name": "major", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2709, "src": "3335:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "id": 2715, "name": "minor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2712, "src": "3342:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, null ], "id": 2716, "isConstant": false, "isInlineArray": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "TupleExpression", "src": "3334:16:10", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$", "typeString": "tuple(uint256,uint256,)" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 2717, "name": "getActiveVersion", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3890, "src": "3353:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "function () view returns (uint256,uint256,uint256)" } }, "id": 2718, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3353:18:10", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256)" } }, "src": "3334:37:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2720, "nodeType": "ExpressionStatement", "src": "3334:37:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2728, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2724, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2722, "name": "major", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2709, "src": "3390:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2723, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3399:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "3390:10:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2727, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2725, "name": "minor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2712, "src": "3404:5:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2726, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3413:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "3404:10:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3390:24:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d6967726174696f6e2066726f6d2076657273696f6e73206f74686572207468616e20302e30206973206e6f742065787065637465642e", "id": 2729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "3416:57:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a5ff088bdbce1ce381bb97ef0a216c466a5d89cd9b3256c363072792dc8830be", "typeString": "literal_string \"Migration from versions other than 0.0 is not expected.\"" }, "value": "Migration from versions other than 0.0 is not expected." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a5ff088bdbce1ce381bb97ef0a216c466a5d89cd9b3256c363072792dc8830be", "typeString": "literal_string \"Migration from versions other than 0.0 is not expected.\"" } ], "id": 2721, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "3382:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2730, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3382:92:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2731, "nodeType": "ExpressionStatement", "src": "3382:92:10" }, { "assignments": [ 2733 ], "declarations": [ { "constant": false, "id": 2733, "name": "oldPrivatePreviewMembers", "nodeType": "VariableDeclaration", "scope": 2849, "src": "3487:46:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" }, "typeName": { "contractScope": null, "id": 2732, "name": "PrivatePreviewMembers", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1898, "src": "3487:21:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "value": null, "visibility": "internal" } ], "id": 2737, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2735, "name": "updateFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 9, "src": "3558:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2734, "name": "PrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1898, "src": "3536:21:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_PrivatePreviewMembers_$1898_$", "typeString": "type(contract PrivatePreviewMembers)" } }, "id": 2736, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3536:33:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "nodeType": "VariableDeclarationStatement", "src": "3487:82:10" }, { "body": { "id": 2846, "nodeType": "Block", "src": "3700:1115:10", "statements": [ { "expression": { "argumentTypes": null, "id": 2757, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2752, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "3715:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2755, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2691, "src": "3777:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 2753, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3722:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2754, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members_iterator_current_name", "nodeType": "MemberAccess", "referencedDeclaration": 1772, "src": "3722:54:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", "typeString": "function (uint256) view external returns (string memory)" } }, "id": 2756, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3722:57:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3715:64:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2758, "nodeType": "ExpressionStatement", "src": "3715:64:10" }, { "expression": { "argumentTypes": null, "id": 2764, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2759, "name": "subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2697, "src": "3794:14:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2762, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "3860:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2760, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3811:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2761, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMemberSubscriptionId", "nodeType": "MemberAccess", "referencedDeclaration": 1788, "src": "3811:48:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory) view external returns (string memory)" } }, "id": 2763, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3811:54:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3794:71:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2765, "nodeType": "ExpressionStatement", "src": "3794:71:10" }, { "expression": { "argumentTypes": null, "id": 2771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2766, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2700, "src": "3880:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2769, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "3926:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2767, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3887:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2768, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMemberRole", "nodeType": "MemberAccess", "referencedDeclaration": 1868, "src": "3887:38:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory) view external returns (string memory)" } }, "id": 2770, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3887:44:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3880:51:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2772, "nodeType": "ExpressionStatement", "src": "3880:51:10" }, { "expression": { "argumentTypes": null, "id": 2778, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2773, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2703, "src": "3946:6:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2776, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "3996:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2774, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3955:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2775, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMemberStatus", "nodeType": "MemberAccess", "referencedDeclaration": 1884, "src": "3955:40:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory) view external returns (string memory)" } }, "id": 2777, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3955:46:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3946:55:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "id": 2779, "nodeType": "ExpressionStatement", "src": "3946:55:10" }, { "expression": { "argumentTypes": null, "id": 2785, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2780, "name": "accountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2706, "src": "4016:14:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2783, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "4075:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 2781, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "4033:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2782, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMemberAccount", "nodeType": "MemberAccess", "referencedDeclaration": 1820, "src": "4033:41:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", "typeString": "function (string memory) view external returns (address)" } }, "id": 2784, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4033:47:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "4016:64:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2786, "nodeType": "ExpressionStatement", "src": "4016:64:10" }, { "assignments": [ 2788 ], "declarations": [ { "constant": false, "id": 2788, "name": "isLeftMember", "nodeType": "VariableDeclaration", "scope": 2849, "src": "4095:17:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2787, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4095:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "id": 2793, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2790, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2703, "src": "4131:6:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "hexValue": "4c656674", "id": 2791, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4139:6:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0b0e4d29377ffa8216bf08fb8ce4983712a2d0fd4423e4503f613a9fe484447e", "typeString": "literal_string \"Left\"" }, "value": "Left" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_stringliteral_0b0e4d29377ffa8216bf08fb8ce4983712a2d0fd4423e4503f613a9fe484447e", "typeString": "literal_string \"Left\"" } ], "id": 2789, "name": "areStringsEqual", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3927, "src": "4115:15:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) pure returns (bool)" } }, "id": 2792, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4115:31:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", "src": "4095:51:10" }, { "assignments": [ 2795 ], "declarations": [ { "constant": false, "id": 2795, "name": "isJoinedMember", "nodeType": "VariableDeclaration", "scope": 2849, "src": "4161:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2794, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4161:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "id": 2800, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2797, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2703, "src": "4199:6:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "hexValue": "5265616479", "id": 2798, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4207:7:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503", "typeString": "literal_string \"Ready\"" }, "value": "Ready" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503", "typeString": "literal_string \"Ready\"" } ], "id": 2796, "name": "areStringsEqual", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3927, "src": "4183:15:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) pure returns (bool)" } }, "id": 2799, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4183:32:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", "src": "4161:54:10" }, { "condition": { "argumentTypes": null, "id": 2801, "name": "isLeftMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2788, "src": "4236:12:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2804, "name": "isJoinedMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2795, "src": "4316:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2807, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2805, "name": "accountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2706, "src": "4334:14:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2806, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "4352:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "4334:19:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "4316:37:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 2843, "nodeType": "Block", "src": "4493:311:10", "statements": [ { "condition": { "argumentTypes": null, "id": 2823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "4516:33:10", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2821, "name": "subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2697, "src": "4534:14:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2820, "name": "existsInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3815, "src": "4517:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 2822, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4517:32:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2833, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2700, "src": "4693:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2832, "name": "isAdminRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3903, "src": "4681:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) pure returns (bool)" } }, "id": 2834, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4681:17:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2841, "nodeType": "IfStatement", "src": "4677:112:10", "trueBody": { "id": 2840, "nodeType": "Block", "src": "4700:89:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2836, "name": "subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2697, "src": "4742:14:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2837, "name": "ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2566, "src": "4758:10:10", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory", "typeString": "string memory" } ], "id": 2835, "name": "_setInvitationRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3801, "src": "4723:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 2838, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4723:46:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2839, "nodeType": "ExpressionStatement", "src": "4723:46:10" } ] } }, "id": 2842, "nodeType": "IfStatement", "src": "4512:277:10", "trueBody": { "id": 2831, "nodeType": "Block", "src": "4551:103:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2825, "name": "subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2697, "src": "4589:14:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2826, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2700, "src": "4605:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "4611:22:10", "subExpression": { "argumentTypes": null, "id": 2827, "name": "correlationIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2589, "src": "4611:20:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2824, "name": "_addInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3720, "src": "4574:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,uint256)" } }, "id": 2829, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4574:60:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2830, "nodeType": "ExpressionStatement", "src": "4574:60:10" } ] } } ] }, "id": 2844, "nodeType": "IfStatement", "src": "4312:492:10", "trueBody": { "id": 2819, "nodeType": "Block", "src": "4355:119:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2810, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "4385:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2811, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2694, "src": "4391:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2812, "name": "subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2697, "src": "4397:14:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2813, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2700, "src": "4413:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2814, "name": "accountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2706, "src": "4419:14:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2816, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "4435:22:10", "subExpression": { "argumentTypes": null, "id": 2815, "name": "correlationIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2589, "src": "4435:20:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2809, "name": "_addMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3343, "src": "4374:10:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)" } }, "id": 2817, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4374:84:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2818, "nodeType": "ExpressionStatement", "src": "4374:84:10" } ] } }, "id": 2845, "nodeType": "IfStatement", "src": "4232:572:10", "trueBody": { "id": 2803, "nodeType": "Block", "src": "4250:43:10", "statements": [ { "id": 2802, "nodeType": "Continue", "src": "4269:8:10" } ] } } ] }, "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2744, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2691, "src": "3642:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2745, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3646:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members_iterator_end", "nodeType": "MemberAccess", "referencedDeclaration": 1752, "src": "3646:45:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, "id": 2747, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3646:47:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3642:51:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2847, "initializationExpression": { "expression": { "argumentTypes": null, "id": 2742, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2738, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2691, "src": "3587:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 2739, "name": "oldPrivatePreviewMembers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2733, "src": "3591:24:10", "typeDescriptions": { "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898", "typeString": "contract PrivatePreviewMembers" } }, "id": 2740, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "members_iterator_begin", "nodeType": "MemberAccess", "referencedDeclaration": 1743, "src": "3591:47:10", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$", "typeString": "function () pure external returns (uint256)" } }, "id": 2741, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3591:49:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3587:53:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2743, "nodeType": "ExpressionStatement", "src": "3587:53:10" }, "loopExpression": { "expression": { "argumentTypes": null, "id": 2750, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "3695:3:10", "subExpression": { "argumentTypes": null, "id": 2749, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2691, "src": "3695:1:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2751, "nodeType": "ExpressionStatement", "src": "3695:3:10" }, "nodeType": "ForStatement", "src": "3582:1233:10" } ] }, "documentation": null, "id": 2849, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2680, "modifierName": { "argumentTypes": null, "id": 2679, "name": "activateAccessControl", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 23, "src": "3004:21:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "3004:21:10" } ], "name": "activate", "nodeType": "FunctionDefinition", "parameters": { "id": 2678, "nodeType": "ParameterList", "parameters": [], "src": "2992:2:10" }, "payable": false, "returnParameters": { "id": 2681, "nodeType": "ParameterList", "parameters": [], "src": "3026:0:10" }, "scope": 3928, "src": "2975:1847:10", "stateMutability": "nonpayable", "superFunction": 52, "visibility": "external" }, { "body": { "id": 2887, "nodeType": "Block", "src": "5026:284:10", "statements": [ { "assignments": [ 2863 ], "declarations": [ { "constant": false, "id": 2863, "name": "role", "nodeType": "VariableDeclaration", "scope": 2888, "src": "5037:18:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2862, "name": "string", "nodeType": "ElementaryTypeName", "src": "5037:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "id": 2867, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2865, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2855, "src": "5076:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2864, "name": "getInvitationRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3213, "src": "5058:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory) view returns (string memory)" } }, "id": 2866, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5058:34:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "VariableDeclarationStatement", "src": "5037:55:10" }, { "assignments": [ 2869 ], "declarations": [ { "constant": false, "id": 2869, "name": "correlationId", "nodeType": "VariableDeclaration", "scope": 2888, "src": "5103:18:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2868, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5103:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2873, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2871, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2855, "src": "5151:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2870, "name": "getInvitationCorrelationId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3233, "src": "5124:26:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory) view returns (uint256)" } }, "id": 2872, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5124:43:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "5103:64:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2875, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2855, "src": "5196:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2874, "name": "_removeInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3779, "src": "5178:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 2876, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5178:34:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2877, "nodeType": "ExpressionStatement", "src": "5178:34:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2879, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2851, "src": "5234:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2880, "name": "_displayName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2853, "src": "5241:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2881, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2855, "src": "5255:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2882, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2863, "src": "5272:4:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2883, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2857, "src": "5278:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2884, "name": "correlationId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2869, "src": "5288:13:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2878, "name": "_addMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3343, "src": "5223:10:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)" } }, "id": 2885, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5223:79:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2886, "nodeType": "ExpressionStatement", "src": "5223:79:10" } ] }, "documentation": null, "id": 2888, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2860, "modifierName": { "argumentTypes": null, "id": 2859, "name": "isFromOperator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2608, "src": "5006:14:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "5006:14:10" } ], "name": "addMember", "nodeType": "FunctionDefinition", "parameters": { "id": 2858, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2851, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2888, "src": "4859:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2850, "name": "string", "nodeType": "ElementaryTypeName", "src": "4859:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2853, "name": "_displayName", "nodeType": "VariableDeclaration", "scope": 2888, "src": "4889:26:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2852, "name": "string", "nodeType": "ElementaryTypeName", "src": "4889:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2855, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 2888, "src": "4926:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2854, "name": "string", "nodeType": "ElementaryTypeName", "src": "4926:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2857, "name": "_account", "nodeType": "VariableDeclaration", "scope": 2888, "src": "4966:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2856, "name": "address", "nodeType": "ElementaryTypeName", "src": "4966:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "4848:141:10" }, "payable": false, "returnParameters": { "id": 2861, "nodeType": "ParameterList", "parameters": [], "src": "5026:0:10" }, "scope": 3928, "src": "4830:480:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2913, "nodeType": "Block", "src": "5547:108:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2904, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2890, "src": "5569:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2905, "name": "_displayName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2892, "src": "5576:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2906, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2894, "src": "5590:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2907, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2896, "src": "5607:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2908, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2898, "src": "5614:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2910, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "5624:22:10", "subExpression": { "argumentTypes": null, "id": 2909, "name": "correlationIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2589, "src": "5624:20:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2903, "name": "_addMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3343, "src": "5558:10:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)" } }, "id": 2911, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5558:89:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2912, "nodeType": "ExpressionStatement", "src": "5558:89:10" } ] }, "documentation": null, "id": 2914, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2901, "modifierName": { "argumentTypes": null, "id": 2900, "name": "isFromOperator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2608, "src": "5527:14:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "5527:14:10" } ], "name": "injectMember", "nodeType": "FunctionDefinition", "parameters": { "id": 2899, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2890, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2914, "src": "5350:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2889, "name": "string", "nodeType": "ElementaryTypeName", "src": "5350:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2892, "name": "_displayName", "nodeType": "VariableDeclaration", "scope": 2914, "src": "5380:26:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2891, "name": "string", "nodeType": "ElementaryTypeName", "src": "5380:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2894, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 2914, "src": "5417:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2893, "name": "string", "nodeType": "ElementaryTypeName", "src": "5417:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2896, "name": "_role", "nodeType": "VariableDeclaration", "scope": 2914, "src": "5457:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2895, "name": "string", "nodeType": "ElementaryTypeName", "src": "5457:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2898, "name": "_account", "nodeType": "VariableDeclaration", "scope": 2914, "src": "5487:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2897, "name": "address", "nodeType": "ElementaryTypeName", "src": "5487:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "5339:171:10" }, "payable": false, "returnParameters": { "id": 2902, "nodeType": "ParameterList", "parameters": [], "src": "5547:0:10" }, "scope": 3928, "src": "5318:337:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2942, "nodeType": "Block", "src": "5713:302:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2929, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2921, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "5761:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2922, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "5761:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2920, "name": "isAdminAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3660, "src": "5746:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 2923, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5746:26:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2925, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "5808:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2926, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "5808:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2927, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2916, "src": "5820:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2924, "name": "isAddressOfMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3685, "src": "5790:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (address,string memory) view returns (bool)" } }, "id": 2928, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5790:36:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "5746:80:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2931, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4096, "src": "5862:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2932, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "5862:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2930, "name": "isOperatorAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3843, "src": "5844:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 2933, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5844:29:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "5746:127:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646d696e732c20746865206d656d626572207468656d73656c766573206f7220746865206f70657261746f722e", "id": 2935, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5888:77:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a78414d0e07811c12d60690fa3c927a8d5a4c2bcd721a3a974b3cf5fb477c67c", "typeString": "literal_string \"Only permits invocation from admins, the member themselves or the operator.\"" }, "value": "Only permits invocation from admins, the member themselves or the operator." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_a78414d0e07811c12d60690fa3c927a8d5a4c2bcd721a3a974b3cf5fb477c67c", "typeString": "literal_string \"Only permits invocation from admins, the member themselves or the operator.\"" } ], "id": 2919, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "5724:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2936, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5724:252:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2937, "nodeType": "ExpressionStatement", "src": "5724:252:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2939, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2916, "src": "6001:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2938, "name": "_removeMember", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3451, "src": "5987:13:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 2940, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5987:20:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2941, "nodeType": "ExpressionStatement", "src": "5987:20:10" } ] }, "documentation": null, "id": 2943, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "removeMember", "nodeType": "FunctionDefinition", "parameters": { "id": 2917, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2916, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2943, "src": "5685:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2915, "name": "string", "nodeType": "ElementaryTypeName", "src": "5685:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "5684:21:10" }, "payable": false, "returnParameters": { "id": 2918, "nodeType": "ParameterList", "parameters": [], "src": "5713:0:10" }, "scope": 3928, "src": "5663:352:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2957, "nodeType": "Block", "src": "6110:53:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2953, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2945, "src": "6139:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2954, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2947, "src": "6146:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 2952, "name": "_setMemberAccount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3514, "src": "6121:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", "typeString": "function (string memory,address)" } }, "id": 2955, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "6121:34:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2956, "nodeType": "ExpressionStatement", "src": "6121:34:10" } ] }, "documentation": null, "id": 2958, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2950, "modifierName": { "argumentTypes": null, "id": 2949, "name": "isFromOperator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2608, "src": "6095:14:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "6095:14:10" } ], "name": "setMemberAccount", "nodeType": "FunctionDefinition", "parameters": { "id": 2948, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2945, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2958, "src": "6049:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2944, "name": "string", "nodeType": "ElementaryTypeName", "src": "6049:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2947, "name": "_account", "nodeType": "VariableDeclaration", "scope": 2958, "src": "6070:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2946, "name": "address", "nodeType": "ElementaryTypeName", "src": "6070:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "6048:39:10" }, "payable": false, "returnParameters": { "id": 2951, "nodeType": "ParameterList", "parameters": [], "src": "6110:0:10" }, "scope": 3928, "src": "6023:140:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2982, "nodeType": "Block", "src": "6298:86:10", "statements": [ { "expression": { "argumentTypes": null, "id": 2980, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2971, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "6309:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 2977, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2972, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "6320:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 2974, "indexExpression": { "argumentTypes": null, "id": 2973, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2960, "src": "6338:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6320:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 2975, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6347:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "6320:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6309:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 2978, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "displayName", "nodeType": "MemberAccess", "referencedDeclaration": 2547, "src": "6309:52:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 2979, "name": "_displayName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2962, "src": "6364:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "6309:67:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 2981, "nodeType": "ExpressionStatement", "src": "6309:67:10" } ] }, "documentation": null, "id": 2983, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 2965, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2960, "src": "6268:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 2966, "modifierName": { "argumentTypes": null, "id": 2964, "name": "isFromSelf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2635, "src": "6257:10:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "6257:17:10" }, { "arguments": [ { "argumentTypes": null, "id": 2968, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2960, "src": "6291:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 2969, "modifierName": { "argumentTypes": null, "id": 2967, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "6275:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "6275:22:10" } ], "name": "setMemberDisplayName", "nodeType": "FunctionDefinition", "parameters": { "id": 2963, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2960, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2983, "src": "6201:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2959, "name": "string", "nodeType": "ElementaryTypeName", "src": "6201:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2962, "name": "_displayName", "nodeType": "VariableDeclaration", "scope": 2983, "src": "6222:26:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2961, "name": "string", "nodeType": "ElementaryTypeName", "src": "6222:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6200:49:10" }, "payable": false, "returnParameters": { "id": 2970, "nodeType": "ParameterList", "parameters": [], "src": "6298:0:10" }, "scope": 3928, "src": "6171:213:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2997, "nodeType": "Block", "src": "6476:47:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2993, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2985, "src": "6502:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 2994, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2987, "src": "6509:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 2992, "name": "_setMemberRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3582, "src": "6487:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 2995, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "6487:28:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2996, "nodeType": "ExpressionStatement", "src": "6487:28:10" } ] }, "documentation": null, "id": 2998, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 2990, "modifierName": { "argumentTypes": null, "id": 2989, "name": "isFromAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2620, "src": "6464:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "6464:11:10" } ], "name": "setMemberRole", "nodeType": "FunctionDefinition", "parameters": { "id": 2988, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2985, "name": "_name", "nodeType": "VariableDeclaration", "scope": 2998, "src": "6415:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2984, "name": "string", "nodeType": "ElementaryTypeName", "src": "6415:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2987, "name": "_role", "nodeType": "VariableDeclaration", "scope": 2998, "src": "6436:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2986, "name": "string", "nodeType": "ElementaryTypeName", "src": "6436:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6414:42:10" }, "payable": false, "returnParameters": { "id": 2991, "nodeType": "ParameterList", "parameters": [], "src": "6476:0:10" }, "scope": 3928, "src": "6392:131:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3017, "nodeType": "Block", "src": "6644:81:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3008, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "6662:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3014, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3013, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3009, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "6673:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3011, "indexExpression": { "argumentTypes": null, "id": 3010, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3000, "src": "6691:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6673:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3012, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6700:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "6673:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6662:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3015, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "subscriptionId", "nodeType": "MemberAccess", "referencedDeclaration": 2549, "src": "6662:55:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3007, "id": 3016, "nodeType": "Return", "src": "6655:62:10" } ] }, "documentation": null, "id": 3018, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3003, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3000, "src": "6613:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3004, "modifierName": { "argumentTypes": null, "id": 3002, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "6597:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "6597:22:10" } ], "name": "getMemberSubscriptionId", "nodeType": "FunctionDefinition", "parameters": { "id": 3001, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3000, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3018, "src": "6564:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2999, "name": "string", "nodeType": "ElementaryTypeName", "src": "6564:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6563:21:10" }, "payable": false, "returnParameters": { "id": 3007, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3006, "name": "", "nodeType": "VariableDeclaration", "scope": 3018, "src": "6629:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3005, "name": "string", "nodeType": "ElementaryTypeName", "src": "6629:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6628:15:10" }, "scope": 3928, "src": "6531:194:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3037, "nodeType": "Block", "src": "6833:74:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3028, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "6851:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3034, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3029, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "6862:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3031, "indexExpression": { "argumentTypes": null, "id": 3030, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3020, "src": "6880:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6862:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3032, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "6889:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "6862:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "6851:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3035, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "6851:48:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 3027, "id": 3036, "nodeType": "Return", "src": "6844:55:10" } ] }, "documentation": null, "id": 3038, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3023, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3020, "src": "6808:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3024, "modifierName": { "argumentTypes": null, "id": 3022, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "6792:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "6792:22:10" } ], "name": "getMemberAccount", "nodeType": "FunctionDefinition", "parameters": { "id": 3021, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3020, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3038, "src": "6759:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3019, "name": "string", "nodeType": "ElementaryTypeName", "src": "6759:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6758:21:10" }, "payable": false, "returnParameters": { "id": 3027, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3026, "name": "", "nodeType": "VariableDeclaration", "scope": 3038, "src": "6824:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3025, "name": "address", "nodeType": "ElementaryTypeName", "src": "6824:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "6823:9:10" }, "scope": 3928, "src": "6733:174:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3057, "nodeType": "Block", "src": "7025:78:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3048, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "7043:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3054, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3053, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3049, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "7054:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3051, "indexExpression": { "argumentTypes": null, "id": 3050, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3040, "src": "7072:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7054:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3052, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7081:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "7054:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7043:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3055, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "displayName", "nodeType": "MemberAccess", "referencedDeclaration": 2547, "src": "7043:52:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3047, "id": 3056, "nodeType": "Return", "src": "7036:59:10" } ] }, "documentation": null, "id": 3058, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3043, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3040, "src": "6994:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3044, "modifierName": { "argumentTypes": null, "id": 3042, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "6978:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "6978:22:10" } ], "name": "getMemberDisplayName", "nodeType": "FunctionDefinition", "parameters": { "id": 3041, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3040, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3058, "src": "6945:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3039, "name": "string", "nodeType": "ElementaryTypeName", "src": "6945:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "6944:21:10" }, "payable": false, "returnParameters": { "id": 3047, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3046, "name": "", "nodeType": "VariableDeclaration", "scope": 3058, "src": "7010:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3045, "name": "string", "nodeType": "ElementaryTypeName", "src": "7010:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7009:15:10" }, "scope": 3928, "src": "6915:188:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3077, "nodeType": "Block", "src": "7214:71:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3068, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "7232:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3074, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3073, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3069, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "7243:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3071, "indexExpression": { "argumentTypes": null, "id": 3070, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3060, "src": "7261:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7243:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3072, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7270:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "7243:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7232:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3075, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2551, "src": "7232:45:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3067, "id": 3076, "nodeType": "Return", "src": "7225:52:10" } ] }, "documentation": null, "id": 3078, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3063, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3060, "src": "7183:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3064, "modifierName": { "argumentTypes": null, "id": 3062, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "7167:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "7167:22:10" } ], "name": "getMemberRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3061, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3060, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3078, "src": "7134:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3059, "name": "string", "nodeType": "ElementaryTypeName", "src": "7134:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7133:21:10" }, "payable": false, "returnParameters": { "id": 3067, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3066, "name": "", "nodeType": "VariableDeclaration", "scope": 3078, "src": "7199:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3065, "name": "string", "nodeType": "ElementaryTypeName", "src": "7199:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7198:15:10" }, "scope": 3928, "src": "7111:174:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3090, "nodeType": "Block", "src": "7398:33:10", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "5265616479", "id": 3088, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7416:7:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503", "typeString": "literal_string \"Ready\"" }, "value": "Ready" }, "functionReturnParameters": 3087, "id": 3089, "nodeType": "Return", "src": "7409:14:10" } ] }, "documentation": null, "id": 3091, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3083, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3080, "src": "7367:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3084, "modifierName": { "argumentTypes": null, "id": 3082, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "7351:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "7351:22:10" } ], "name": "getMemberStatus", "nodeType": "FunctionDefinition", "parameters": { "id": 3081, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3080, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3091, "src": "7318:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3079, "name": "string", "nodeType": "ElementaryTypeName", "src": "7318:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7317:21:10" }, "payable": false, "returnParameters": { "id": 3087, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3086, "name": "", "nodeType": "VariableDeclaration", "scope": 3091, "src": "7383:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3085, "name": "string", "nodeType": "ElementaryTypeName", "src": "7383:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7382:15:10" }, "scope": 3928, "src": "7293:138:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3110, "nodeType": "Block", "src": "7542:80:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3101, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "7560:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3107, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3102, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "7571:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3104, "indexExpression": { "argumentTypes": null, "id": 3103, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3093, "src": "7589:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7571:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "7598:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "7571:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "7560:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3108, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "correlationId", "nodeType": "MemberAccess", "referencedDeclaration": 2555, "src": "7560:54:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3100, "id": 3109, "nodeType": "Return", "src": "7553:61:10" } ] }, "documentation": null, "id": 3111, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3096, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3093, "src": "7520:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3097, "modifierName": { "argumentTypes": null, "id": 3095, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "7504:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "7504:22:10" } ], "name": "getMemberCorrelationId", "nodeType": "FunctionDefinition", "parameters": { "id": 3094, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3093, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3111, "src": "7471:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3092, "name": "string", "nodeType": "ElementaryTypeName", "src": "7471:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7470:21:10" }, "payable": false, "returnParameters": { "id": 3100, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3099, "name": "", "nodeType": "VariableDeclaration", "scope": 3111, "src": "7536:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3098, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7536:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "7535:6:10" }, "scope": 3928, "src": "7439:183:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3118, "nodeType": "Block", "src": "7682:36:10", "statements": [ { "expression": { "argumentTypes": null, "id": 3116, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "7700:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3115, "id": 3117, "nodeType": "Return", "src": "7693:17:10" } ] }, "documentation": null, "id": 3119, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getAdminCount", "nodeType": "FunctionDefinition", "parameters": { "id": 3112, "nodeType": "ParameterList", "parameters": [], "src": "7652:2:10" }, "payable": false, "returnParameters": { "id": 3115, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3114, "name": "", "nodeType": "VariableDeclaration", "scope": 3119, "src": "7676:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3113, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7676:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "7675:6:10" }, "scope": 3928, "src": "7630:88:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3127, "nodeType": "Block", "src": "7779:43:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3124, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "7797:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3125, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "7797:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3123, "id": 3126, "nodeType": "Return", "src": "7790:24:10" } ] }, "documentation": null, "id": 3128, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getMemberCount", "nodeType": "FunctionDefinition", "parameters": { "id": 3120, "nodeType": "ParameterList", "parameters": [], "src": "7749:2:10" }, "payable": false, "returnParameters": { "id": 3123, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3122, "name": "", "nodeType": "VariableDeclaration", "scope": 3128, "src": "7773:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3121, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7773:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "7772:6:10" }, "scope": 3928, "src": "7726:96:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3148, "nodeType": "Block", "src": "7911:129:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3139, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3136, "name": "iterator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3130, "src": "7930:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3137, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "7941:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3138, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "7941:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7930:28:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "496e76616c6964206974657261746f7220737570706c6965642e", "id": 3140, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7960:28:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f", "typeString": "literal_string \"Invalid iterator supplied.\"" }, "value": "Invalid iterator supplied." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f", "typeString": "literal_string \"Invalid iterator supplied.\"" } ], "id": 3135, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "7922:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3141, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "7922:67:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3142, "nodeType": "ExpressionStatement", "src": "7922:67:10" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3143, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "8007:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3145, "indexExpression": { "argumentTypes": null, "id": 3144, "name": "iterator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3130, "src": "8018:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8007:20:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3146, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", "referencedDeclaration": 2545, "src": "8007:25:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3134, "id": 3147, "nodeType": "Return", "src": "8000:32:10" } ] }, "documentation": null, "id": 3149, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getMemberNameAtIndex", "nodeType": "FunctionDefinition", "parameters": { "id": 3131, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3130, "name": "iterator", "nodeType": "VariableDeclaration", "scope": 3149, "src": "7860:13:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3129, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7860:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "7859:15:10" }, "payable": false, "returnParameters": { "id": 3134, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3133, "name": "", "nodeType": "VariableDeclaration", "scope": 3149, "src": "7896:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3132, "name": "string", "nodeType": "ElementaryTypeName", "src": "7896:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "7895:15:10" }, "scope": 3928, "src": "7830:210:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3165, "nodeType": "Block", "src": "8148:81:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3159, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3151, "src": "8174:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3160, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3153, "src": "8191:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "8198:22:10", "subExpression": { "argumentTypes": null, "id": 3161, "name": "correlationIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2589, "src": "8198:20:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 3158, "name": "_addInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3720, "src": "8159:14:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,string memory,uint256)" } }, "id": 3163, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8159:62:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3164, "nodeType": "ExpressionStatement", "src": "8159:62:10" } ] }, "documentation": null, "id": 3166, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 3156, "modifierName": { "argumentTypes": null, "id": 3155, "name": "isFromAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2620, "src": "8131:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "8131:11:10" } ], "name": "inviteMember", "nodeType": "FunctionDefinition", "parameters": { "id": 3154, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3151, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3166, "src": "8072:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3150, "name": "string", "nodeType": "ElementaryTypeName", "src": "8072:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3153, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3166, "src": "8103:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3152, "name": "string", "nodeType": "ElementaryTypeName", "src": "8103:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8071:52:10" }, "payable": false, "returnParameters": { "id": 3157, "nodeType": "ParameterList", "parameters": [], "src": "8148:0:10" }, "scope": 3928, "src": "8050:179:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3177, "nodeType": "Block", "src": "8318:53:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3174, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3168, "src": "8347:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3173, "name": "_removeInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3779, "src": "8329:17:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 3175, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8329:34:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3176, "nodeType": "ExpressionStatement", "src": "8329:34:10" } ] }, "documentation": null, "id": 3178, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 3171, "modifierName": { "argumentTypes": null, "id": 3170, "name": "isFromAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2620, "src": "8301:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "8301:11:10" } ], "name": "removeInvitation", "nodeType": "FunctionDefinition", "parameters": { "id": 3169, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3168, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3178, "src": "8263:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3167, "name": "string", "nodeType": "ElementaryTypeName", "src": "8263:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8262:31:10" }, "payable": false, "returnParameters": { "id": 3172, "nodeType": "ParameterList", "parameters": [], "src": "8318:0:10" }, "scope": 3928, "src": "8237:134:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3192, "nodeType": "Block", "src": "8477:61:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3188, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3180, "src": "8507:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3189, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3182, "src": "8524:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3187, "name": "_setInvitationRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3801, "src": "8488:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 3190, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "8488:42:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3191, "nodeType": "ExpressionStatement", "src": "8488:42:10" } ] }, "documentation": null, "id": 3193, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 3185, "modifierName": { "argumentTypes": null, "id": 3184, "name": "isFromAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2620, "src": "8465:11:10", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "8465:11:10" } ], "name": "setInvitationRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3183, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3180, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3193, "src": "8406:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3179, "name": "string", "nodeType": "ElementaryTypeName", "src": "8406:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3182, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3193, "src": "8437:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3181, "name": "string", "nodeType": "ElementaryTypeName", "src": "8437:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8405:52:10" }, "payable": false, "returnParameters": { "id": 3186, "nodeType": "ParameterList", "parameters": [], "src": "8477:0:10" }, "scope": 3928, "src": "8379:159:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 3212, "nodeType": "Block", "src": "8687:99:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3203, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "8705:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3209, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3208, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3204, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "8720:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3206, "indexExpression": { "argumentTypes": null, "id": 3205, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3195, "src": "8752:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8720:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3207, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "8771:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "8720:52:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8705:68:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "id": 3210, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2560, "src": "8705:73:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3202, "id": 3211, "nodeType": "Return", "src": "8698:80:10" } ] }, "documentation": null, "id": 3213, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3198, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3195, "src": "8646:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3199, "modifierName": { "argumentTypes": null, "id": 3197, "name": "isInvitationExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "8626:19:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "8626:36:10" } ], "name": "getInvitationRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3196, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3195, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3213, "src": "8573:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3194, "name": "string", "nodeType": "ElementaryTypeName", "src": "8573:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8572:31:10" }, "payable": false, "returnParameters": { "id": 3202, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3201, "name": "", "nodeType": "VariableDeclaration", "scope": 3213, "src": "8672:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3200, "name": "string", "nodeType": "ElementaryTypeName", "src": "8672:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8671:15:10" }, "scope": 3928, "src": "8546:240:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3232, "nodeType": "Block", "src": "8935:108:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3223, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "8953:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3229, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3224, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "8968:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3226, "indexExpression": { "argumentTypes": null, "id": 3225, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3215, "src": "9000:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8968:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3227, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9019:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "8968:52:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "8953:68:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "id": 3230, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "correlationId", "nodeType": "MemberAccess", "referencedDeclaration": 2562, "src": "8953:82:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3222, "id": 3231, "nodeType": "Return", "src": "8946:89:10" } ] }, "documentation": null, "id": 3233, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3218, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3215, "src": "8903:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3219, "modifierName": { "argumentTypes": null, "id": 3217, "name": "isInvitationExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "8883:19:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "8883:36:10" } ], "name": "getInvitationCorrelationId", "nodeType": "FunctionDefinition", "parameters": { "id": 3216, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3215, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3233, "src": "8830:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3214, "name": "string", "nodeType": "ElementaryTypeName", "src": "8830:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "8829:31:10" }, "payable": false, "returnParameters": { "id": 3222, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3221, "name": "", "nodeType": "VariableDeclaration", "scope": 3233, "src": "8929:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3220, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8929:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "8928:6:10" }, "scope": 3928, "src": "8794:249:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3241, "nodeType": "Block", "src": "9108:47:10", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3238, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "9126:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3239, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "9126:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 3237, "id": 3240, "nodeType": "Return", "src": "9119:28:10" } ] }, "documentation": null, "id": 3242, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getInvitationCount", "nodeType": "FunctionDefinition", "parameters": { "id": 3234, "nodeType": "ParameterList", "parameters": [], "src": "9078:2:10" }, "payable": false, "returnParameters": { "id": 3237, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3236, "name": "", "nodeType": "VariableDeclaration", "scope": 3242, "src": "9102:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3235, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9102:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "9101:6:10" }, "scope": 3928, "src": "9051:104:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3262, "nodeType": "Block", "src": "9258:147:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3253, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3250, "name": "iterator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3244, "src": "9277:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3251, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "9288:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3252, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "9288:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9277:32:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "496e76616c6964206974657261746f7220737570706c6965642e", "id": 3254, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9311:28:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f", "typeString": "literal_string \"Invalid iterator supplied.\"" }, "value": "Invalid iterator supplied." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f", "typeString": "literal_string \"Invalid iterator supplied.\"" } ], "id": 3249, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "9269:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3255, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9269:71:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3256, "nodeType": "ExpressionStatement", "src": "9269:71:10" }, { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3257, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "9358:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3259, "indexExpression": { "argumentTypes": null, "id": 3258, "name": "iterator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3244, "src": "9373:8:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "9358:24:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "id": 3260, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "subscriptionId", "nodeType": "MemberAccess", "referencedDeclaration": 2558, "src": "9358:39:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 3248, "id": 3261, "nodeType": "Return", "src": "9351:46:10" } ] }, "documentation": null, "id": 3263, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getInvitationSubscriptionIdAtIndex", "nodeType": "FunctionDefinition", "parameters": { "id": 3245, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3244, "name": "iterator", "nodeType": "VariableDeclaration", "scope": 3263, "src": "9207:13:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3243, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9207:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "9206:15:10" }, "payable": false, "returnParameters": { "id": 3248, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3247, "name": "", "nodeType": "VariableDeclaration", "scope": 3263, "src": "9243:6:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3246, "name": "string", "nodeType": "ElementaryTypeName", "src": "9243:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "9242:15:10" }, "scope": 3928, "src": "9163:242:10", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 3342, "nodeType": "Block", "src": "9658:706:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "9677:24:10", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3280, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3265, "src": "9695:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3279, "name": "existsMemberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3606, "src": "9678:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 3281, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9678:23:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220776974682073756368206e616d6520616c7265616479206578697374732e", "id": 3283, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9703:41:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_0efc8d31d976338270ce31c3bf860baa2ed4cc8fc5867cd70bb7d52da8f14092", "typeString": "literal_string \"A member with such name already exists.\"" }, "value": "A member with such name already exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_0efc8d31d976338270ce31c3bf860baa2ed4cc8fc5867cd70bb7d52da8f14092", "typeString": "literal_string \"A member with such name already exists.\"" } ], "id": 3278, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "9669:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3284, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9669:76:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3285, "nodeType": "ExpressionStatement", "src": "9669:76:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3290, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "9764:30:10", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3288, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3273, "src": "9785:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 3287, "name": "existsMemberAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3620, "src": "9765:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 3289, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9765:29:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220776974682073756368206164647265737320616c7265616479206578697374732e", "id": 3291, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9796:44:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab", "typeString": "literal_string \"A member with such address already exists.\"" }, "value": "A member with such address already exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab", "typeString": "literal_string \"A member with such address already exists.\"" } ], "id": 3286, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "9756:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3292, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9756:85:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3293, "nodeType": "ExpressionStatement", "src": "9756:85:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3295, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3273, "src": "9860:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3297, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "9880:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 3296, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "9872:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3298, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9872:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "9860:22:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41737369676e696e672061207a65726f2061646472657373206973206e6f7420616c6c6f7765642e", "id": 3300, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9884:42:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250", "typeString": "literal_string \"Assigning a zero address is not allowed.\"" }, "value": "Assigning a zero address is not allowed." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250", "typeString": "literal_string \"Assigning a zero address is not allowed.\"" } ], "id": 3294, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "9852:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3301, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9852:75:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3302, "nodeType": "ExpressionStatement", "src": "9852:75:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3307, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3265, "src": "9977:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3308, "name": "_displayName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3267, "src": "9997:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3309, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3269, "src": "10024:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3310, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3271, "src": "10054:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3311, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3273, "src": "10074:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 3312, "name": "_correlationId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3275, "src": "10097:14:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 3306, "name": "Member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2556, "src": "9956:6:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_Member_$2556_storage_ptr_$", "typeString": "type(struct Members.Member storage pointer)" } }, "id": 3313, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9956:166:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_memory", "typeString": "struct Members.Member memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Member_$2556_memory", "typeString": "struct Members.Member memory" } ], "expression": { "argumentTypes": null, "id": 3303, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "9940:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "9940:15:10", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Member_$2556_storage_$returns$_t_uint256_$", "typeString": "function (struct Members.Member storage ref) returns (uint256)" } }, "id": 3314, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "9940:183:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3315, "nodeType": "ExpressionStatement", "src": "9940:183:10" }, { "expression": { "argumentTypes": null, "id": 3321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3316, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "10134:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3318, "indexExpression": { "argumentTypes": null, "id": 3317, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3265, "src": "10152:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "10134:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3319, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10161:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3320, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "10161:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10134:44:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3322, "nodeType": "ExpressionStatement", "src": "10134:44:10" }, { "expression": { "argumentTypes": null, "id": 3328, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3323, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "10189:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3325, "indexExpression": { "argumentTypes": null, "id": 3324, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3273, "src": "10210:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "10189:30:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3326, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10222:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3327, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "10222:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10189:50:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3329, "nodeType": "ExpressionStatement", "src": "10189:50:10" }, { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3331, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3271, "src": "10268:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3330, "name": "isAdminRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3903, "src": "10256:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) pure returns (bool)" } }, "id": 3332, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10256:18:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3337, "nodeType": "IfStatement", "src": "10252:63:10", "trueBody": { "id": 3336, "nodeType": "Block", "src": "10276:39:10", "statements": [ { "expression": { "argumentTypes": null, "id": 3334, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "10291:12:10", "subExpression": { "argumentTypes": null, "id": 3333, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "10291:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3335, "nodeType": "ExpressionStatement", "src": "10291:12:10" } ] } }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3339, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3265, "src": "10350:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3338, "name": "MemberJoinedEvent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2570, "src": "10332:17:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 3340, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10332:24:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3341, "nodeType": "EmitStatement", "src": "10327:29:10" } ] }, "documentation": null, "id": 3343, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "_addMember", "nodeType": "FunctionDefinition", "parameters": { "id": 3276, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3265, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9445:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3264, "name": "string", "nodeType": "ElementaryTypeName", "src": "9445:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3267, "name": "_displayName", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9475:26:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3266, "name": "string", "nodeType": "ElementaryTypeName", "src": "9475:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3269, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9512:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3268, "name": "string", "nodeType": "ElementaryTypeName", "src": "9512:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3271, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9552:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3270, "name": "string", "nodeType": "ElementaryTypeName", "src": "9552:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3273, "name": "_account", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9582:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3272, "name": "address", "nodeType": "ElementaryTypeName", "src": "9582:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3275, "name": "_correlationId", "nodeType": "VariableDeclaration", "scope": 3343, "src": "9609:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3274, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9609:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "9434:201:10" }, "payable": false, "returnParameters": { "id": 3277, "nodeType": "ParameterList", "parameters": [], "src": "9658:0:10" }, "scope": 3928, "src": "9415:949:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3450, "nodeType": "Block", "src": "10447:936:10", "statements": [ { "assignments": [ 3352 ], "declarations": [ { "constant": false, "id": 3352, "name": "memberIndexBaseZero", "nodeType": "VariableDeclaration", "scope": 3451, "src": "10458:24:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3351, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10458:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 3358, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3353, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "10485:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3355, "indexExpression": { "argumentTypes": null, "id": 3354, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3345, "src": "10503:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "10485:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3356, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10512:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "10485:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "10458:55:10" }, { "assignments": [ 3360 ], "declarations": [ { "constant": false, "id": 3360, "name": "memberToRemove", "nodeType": "VariableDeclaration", "scope": 3451, "src": "10524:29:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" }, "typeName": { "contractScope": null, "id": 3359, "name": "Member", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2556, "src": "10524:6:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" } }, "value": null, "visibility": "internal" } ], "id": 3364, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3361, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10556:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3363, "indexExpression": { "argumentTypes": null, "id": 3362, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3352, "src": "10567:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "10556:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "10524:63:10" }, { "assignments": [ 3366 ], "declarations": [ { "constant": false, "id": 3366, "name": "memberToRemoveAddress", "nodeType": "VariableDeclaration", "scope": 3451, "src": "10598:29:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3365, "name": "address", "nodeType": "ElementaryTypeName", "src": "10598:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 3369, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3367, "name": "memberToRemove", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3360, "src": "10630:14:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } }, "id": 3368, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "10630:22:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "10598:54:10" }, { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3371, "name": "memberToRemove", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3360, "src": "10677:14:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } ], "id": 3370, "name": "isAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3638, "src": "10669:7:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Members.Member memory) view returns (bool)" } }, "id": 3372, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10669:23:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3389, "nodeType": "IfStatement", "src": "10665:188:10", "trueBody": { "id": 3388, "nodeType": "Block", "src": "10694:159:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3376, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3374, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "10716:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3375, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10729:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "10716:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 3373, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4085, "src": "10709:6:10", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 3377, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10709:22:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3378, "nodeType": "ExpressionStatement", "src": "10709:22:10" }, { "expression": { "argumentTypes": null, "id": 3380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "10746:12:10", "subExpression": { "argumentTypes": null, "id": 3379, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "10746:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3381, "nodeType": "ExpressionStatement", "src": "10746:12:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 3383, "name": "existAdmins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3592, "src": "10781:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, "id": 3384, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10781:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "436f6e736f727469756d2073686f756c642068617665206174206c65617374206f6e652061646d696e2e", "id": 3385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10796:44:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6", "typeString": "literal_string \"Consortium should have at least one admin.\"" }, "value": "Consortium should have at least one admin." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6", "typeString": "literal_string \"Consortium should have at least one admin.\"" } ], "id": 3382, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "10773:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3386, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "10773:68:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3387, "nodeType": "ExpressionStatement", "src": "10773:68:10" } ] } }, { "assignments": [ 3391 ], "declarations": [ { "constant": false, "id": 3391, "name": "memberToBeMoved", "nodeType": "VariableDeclaration", "scope": 3451, "src": "10865:30:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" }, "typeName": { "contractScope": null, "id": 3390, "name": "Member", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2556, "src": "10865:6:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" } }, "value": null, "visibility": "internal" } ], "id": 3398, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3392, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10898:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3397, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3396, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3393, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10909:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3394, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "10909:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3395, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "10929:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "10909:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "10898:33:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "10865:66:10" }, { "expression": { "argumentTypes": null, "id": 3403, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3399, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "10942:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3401, "indexExpression": { "argumentTypes": null, "id": 3400, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3352, "src": "10953:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "10942:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3402, "name": "memberToBeMoved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3391, "src": "10976:15:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } }, "src": "10942:49:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3404, "nodeType": "ExpressionStatement", "src": "10942:49:10" }, { "expression": { "argumentTypes": null, "id": 3412, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3405, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "11002:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3408, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3406, "name": "memberToBeMoved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3391, "src": "11020:15:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } }, "id": 3407, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", "referencedDeclaration": 2545, "src": "11020:20:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11002:39:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3411, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3409, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3352, "src": "11044:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3410, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11066:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11044:23:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11002:65:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3413, "nodeType": "ExpressionStatement", "src": "11002:65:10" }, { "expression": { "argumentTypes": null, "id": 3421, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3414, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "11078:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3417, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3415, "name": "memberToBeMoved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3391, "src": "11099:15:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member storage pointer" } }, "id": 3416, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "11099:23:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11078:45:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3420, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3418, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3352, "src": "11126:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11148:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11126:23:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11078:71:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3422, "nodeType": "ExpressionStatement", "src": "11078:71:10" }, { "expression": { "argumentTypes": null, "id": 3426, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "11162:50:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3423, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "11169:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3425, "indexExpression": { "argumentTypes": null, "id": 3424, "name": "memberToRemoveAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3366, "src": "11190:21:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11169:43:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3427, "nodeType": "ExpressionStatement", "src": "11162:50:10" }, { "expression": { "argumentTypes": null, "id": 3431, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "11223:31:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3428, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "11230:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3430, "indexExpression": { "argumentTypes": null, "id": 3429, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3345, "src": "11248:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11230:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3432, "nodeType": "ExpressionStatement", "src": "11223:31:10" }, { "expression": { "argumentTypes": null, "id": 3439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "11265:40:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3433, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "11272:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3438, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3437, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3434, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "11283:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3435, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "11283:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3436, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11303:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11283:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11272:33:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3440, "nodeType": "ExpressionStatement", "src": "11265:40:10" }, { "expression": { "argumentTypes": null, "id": 3444, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "11316:19:10", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3441, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "11316:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3443, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "11316:17:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3445, "nodeType": "ExpressionStatement", "src": "11316:19:10" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3447, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3345, "src": "11369:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3446, "name": "MemberLeftEvent", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2574, "src": "11353:15:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 3448, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11353:22:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3449, "nodeType": "EmitStatement", "src": "11348:27:10" } ] }, "documentation": null, "id": 3451, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3348, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3345, "src": "10440:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3349, "modifierName": { "argumentTypes": null, "id": 3347, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "10424:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "10424:22:10" } ], "name": "_removeMember", "nodeType": "FunctionDefinition", "parameters": { "id": 3346, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3345, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3451, "src": "10395:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3344, "name": "string", "nodeType": "ElementaryTypeName", "src": "10395:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "10394:21:10" }, "payable": false, "returnParameters": { "id": 3350, "nodeType": "ParameterList", "parameters": [], "src": "10447:0:10" }, "scope": 3928, "src": "10372:1011:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3513, "nodeType": "Block", "src": "11488:521:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3465, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "11507:30:10", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3463, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3455, "src": "11528:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 3462, "name": "existsMemberAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3620, "src": "11508:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 3464, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11508:29:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220776974682073756368206164647265737320616c7265616479206578697374732e", "id": 3466, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11539:44:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab", "typeString": "literal_string \"A member with such address already exists.\"" }, "value": "A member with such address already exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab", "typeString": "literal_string \"A member with such address already exists.\"" } ], "id": 3461, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "11499:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3467, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11499:85:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3468, "nodeType": "ExpressionStatement", "src": "11499:85:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3474, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3470, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3455, "src": "11603:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3472, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11623:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 3471, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "11615:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3473, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11615:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "11603:22:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41737369676e696e672061207a65726f2061646472657373206973206e6f7420616c6c6f7765642e", "id": 3475, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11627:42:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250", "typeString": "literal_string \"Assigning a zero address is not allowed.\"" }, "value": "Assigning a zero address is not allowed." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250", "typeString": "literal_string \"Assigning a zero address is not allowed.\"" } ], "id": 3469, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "11595:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3476, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "11595:75:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3477, "nodeType": "ExpressionStatement", "src": "11595:75:10" }, { "assignments": [ 3479 ], "declarations": [ { "constant": false, "id": 3479, "name": "memberIndexBaseZero", "nodeType": "VariableDeclaration", "scope": 3514, "src": "11683:24:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3478, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11683:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 3485, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3484, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3480, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "11710:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3482, "indexExpression": { "argumentTypes": null, "id": 3481, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3453, "src": "11728:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "11710:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3483, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "11737:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11710:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "11683:55:10" }, { "assignments": [ 3487 ], "declarations": [ { "constant": false, "id": 3487, "name": "originalAccount", "nodeType": "VariableDeclaration", "scope": 3514, "src": "11751:23:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3486, "name": "address", "nodeType": "ElementaryTypeName", "src": "11751:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 3492, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3488, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "11777:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3490, "indexExpression": { "argumentTypes": null, "id": 3489, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3479, "src": "11788:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "11777:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3491, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "11777:39:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "11751:65:10" }, { "expression": { "argumentTypes": null, "id": 3496, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "11827:44:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3493, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "11834:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3495, "indexExpression": { "argumentTypes": null, "id": 3494, "name": "originalAccount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3487, "src": "11855:15:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11834:37:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3497, "nodeType": "ExpressionStatement", "src": "11827:44:10" }, { "expression": { "argumentTypes": null, "id": 3503, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3498, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "11884:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3500, "indexExpression": { "argumentTypes": null, "id": 3499, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3479, "src": "11895:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "11884:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3501, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "11884:39:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3502, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3455, "src": "11926:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "11884:50:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3504, "nodeType": "ExpressionStatement", "src": "11884:50:10" }, { "expression": { "argumentTypes": null, "id": 3511, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3505, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "11945:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3507, "indexExpression": { "argumentTypes": null, "id": 3506, "name": "_account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3455, "src": "11966:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "11945:30:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3510, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3508, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3479, "src": "11978:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12000:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "11978:23:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11945:56:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3512, "nodeType": "ExpressionStatement", "src": "11945:56:10" } ] }, "documentation": null, "id": 3514, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3458, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3453, "src": "11481:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3459, "modifierName": { "argumentTypes": null, "id": 3457, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "11465:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "11465:22:10" } ], "name": "_setMemberAccount", "nodeType": "FunctionDefinition", "parameters": { "id": 3456, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3453, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3514, "src": "11418:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3452, "name": "string", "nodeType": "ElementaryTypeName", "src": "11418:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3455, "name": "_account", "nodeType": "VariableDeclaration", "scope": 3514, "src": "11439:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3454, "name": "address", "nodeType": "ElementaryTypeName", "src": "11439:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "11417:39:10" }, "payable": false, "returnParameters": { "id": 3460, "nodeType": "ParameterList", "parameters": [], "src": "11488:0:10" }, "scope": 3928, "src": "11391:618:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3581, "nodeType": "Block", "src": "12114:554:10", "statements": [ { "assignments": [ 3525 ], "declarations": [ { "constant": false, "id": 3525, "name": "memberIndexBaseZero", "nodeType": "VariableDeclaration", "scope": 3582, "src": "12125:24:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3524, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12125:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 3531, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3530, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3526, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "12152:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3528, "indexExpression": { "argumentTypes": null, "id": 3527, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3516, "src": "12170:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12152:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3529, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12179:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "12152:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "12125:55:10" }, { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3533, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "12211:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3535, "indexExpression": { "argumentTypes": null, "id": 3534, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3525, "src": "12222:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12211:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3536, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2551, "src": "12211:36:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, { "argumentTypes": null, "id": 3537, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3518, "src": "12249:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3532, "name": "areStringsEqual", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3927, "src": "12195:15:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) pure returns (bool)" } }, "id": 3538, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12195:60:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3541, "nodeType": "IfStatement", "src": "12191:99:10", "trueBody": { "id": 3540, "nodeType": "Block", "src": "12257:33:10", "statements": [ { "expression": null, "functionReturnParameters": 3523, "id": 3539, "nodeType": "Return", "src": "12272:7:10" } ] } }, { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3543, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "12314:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3545, "indexExpression": { "argumentTypes": null, "id": 3544, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3525, "src": "12325:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12314:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } ], "id": 3542, "name": "isAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3638, "src": "12306:7:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Members.Member memory) view returns (bool)" } }, "id": 3546, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12306:40:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3563, "nodeType": "IfStatement", "src": "12302:205:10", "trueBody": { "id": 3562, "nodeType": "Block", "src": "12348:159:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3550, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3548, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "12370:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3549, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12383:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "12370:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 3547, "name": "assert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4085, "src": "12363:6:10", "typeDescriptions": { "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 3551, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12363:22:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3552, "nodeType": "ExpressionStatement", "src": "12363:22:10" }, { "expression": { "argumentTypes": null, "id": 3554, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "12400:12:10", "subExpression": { "argumentTypes": null, "id": 3553, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "12400:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3555, "nodeType": "ExpressionStatement", "src": "12400:12:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 3557, "name": "existAdmins", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3592, "src": "12435:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, "id": 3558, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12435:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "436f6e736f727469756d2073686f756c642068617665206174206c65617374206f6e652061646d696e2e", "id": 3559, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12450:44:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6", "typeString": "literal_string \"Consortium should have at least one admin.\"" }, "value": "Consortium should have at least one admin." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6", "typeString": "literal_string \"Consortium should have at least one admin.\"" } ], "id": 3556, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "12427:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3560, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12427:68:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3561, "nodeType": "ExpressionStatement", "src": "12427:68:10" } ] } }, { "expression": { "argumentTypes": null, "id": 3569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3564, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "12519:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3566, "indexExpression": { "argumentTypes": null, "id": 3565, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3525, "src": "12530:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12519:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3567, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2551, "src": "12519:36:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3568, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3518, "src": "12558:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "12519:44:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 3570, "nodeType": "ExpressionStatement", "src": "12519:44:10" }, { "condition": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3572, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "12588:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3574, "indexExpression": { "argumentTypes": null, "id": 3573, "name": "memberIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3525, "src": "12599:19:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12588:31:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } ], "id": 3571, "name": "isAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3638, "src": "12580:7:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Members.Member memory) view returns (bool)" } }, "id": 3575, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "12580:40:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 3580, "nodeType": "IfStatement", "src": "12576:85:10", "trueBody": { "id": 3579, "nodeType": "Block", "src": "12622:39:10", "statements": [ { "expression": { "argumentTypes": null, "id": 3577, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "12637:12:10", "subExpression": { "argumentTypes": null, "id": 3576, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "12637:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3578, "nodeType": "ExpressionStatement", "src": "12637:12:10" } ] } } ] }, "documentation": null, "id": 3582, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3521, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3516, "src": "12107:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3522, "modifierName": { "argumentTypes": null, "id": 3520, "name": "isMemberExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2648, "src": "12091:15:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "12091:22:10" } ], "name": "_setMemberRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3519, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3516, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3582, "src": "12041:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3515, "name": "string", "nodeType": "ElementaryTypeName", "src": "12041:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3518, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3582, "src": "12062:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3517, "name": "string", "nodeType": "ElementaryTypeName", "src": "12062:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "12040:42:10" }, "payable": false, "returnParameters": { "id": 3523, "nodeType": "ParameterList", "parameters": [], "src": "12114:0:10" }, "scope": 3928, "src": "12017:651:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3591, "nodeType": "Block", "src": "12727:40:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3589, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3587, "name": "adminCount", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2587, "src": "12745:10:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3588, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12758:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "12745:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3586, "id": 3590, "nodeType": "Return", "src": "12738:21:10" } ] }, "documentation": null, "id": 3592, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "existAdmins", "nodeType": "FunctionDefinition", "parameters": { "id": 3583, "nodeType": "ParameterList", "parameters": [], "src": "12696:2:10" }, "payable": false, "returnParameters": { "id": 3586, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3585, "name": "", "nodeType": "VariableDeclaration", "scope": 3592, "src": "12721:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3584, "name": "bool", "nodeType": "ElementaryTypeName", "src": "12721:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "12720:6:10" }, "scope": 3928, "src": "12676:91:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3605, "nodeType": "Block", "src": "12850:54:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3599, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "12868:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3601, "indexExpression": { "argumentTypes": null, "id": 3600, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3594, "src": "12886:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "12868:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3602, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "12895:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "12868:28:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3598, "id": 3604, "nodeType": "Return", "src": "12861:35:10" } ] }, "documentation": null, "id": 3606, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "existsMemberName", "nodeType": "FunctionDefinition", "parameters": { "id": 3595, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3594, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3606, "src": "12801:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3593, "name": "string", "nodeType": "ElementaryTypeName", "src": "12801:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "12800:21:10" }, "payable": false, "returnParameters": { "id": 3598, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3597, "name": "", "nodeType": "VariableDeclaration", "scope": 3606, "src": "12844:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3596, "name": "bool", "nodeType": "ElementaryTypeName", "src": "12844:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "12843:6:10" }, "scope": 3928, "src": "12775:129:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3619, "nodeType": "Block", "src": "12987:60:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3617, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3613, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "13005:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3615, "indexExpression": { "argumentTypes": null, "id": 3614, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3608, "src": "13026:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13005:30:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3616, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13038:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "13005:34:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3612, "id": 3618, "nodeType": "Return", "src": "12998:41:10" } ] }, "documentation": null, "id": 3620, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "existsMemberAddress", "nodeType": "FunctionDefinition", "parameters": { "id": 3609, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3608, "name": "_address", "nodeType": "VariableDeclaration", "scope": 3620, "src": "12941:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3607, "name": "address", "nodeType": "ElementaryTypeName", "src": "12941:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "12940:18:10" }, "payable": false, "returnParameters": { "id": 3612, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3611, "name": "", "nodeType": "VariableDeclaration", "scope": 3620, "src": "12981:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3610, "name": "bool", "nodeType": "ElementaryTypeName", "src": "12981:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "12980:6:10" }, "scope": 3928, "src": "12912:135:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3637, "nodeType": "Block", "src": "13116:85:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 3635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3628, "name": "_member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3622, "src": "13151:7:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_memory_ptr", "typeString": "struct Members.Member memory" } }, "id": 3629, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "name", "nodeType": "MemberAccess", "referencedDeclaration": 2545, "src": "13151:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory", "typeString": "string memory" } ], "id": 3627, "name": "existsMemberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3606, "src": "13134:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 3630, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13134:30:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3632, "name": "_member", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3622, "src": "13180:7:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_memory_ptr", "typeString": "struct Members.Member memory" } }, "id": 3633, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2551, "src": "13180:12:10", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory", "typeString": "string memory" } ], "id": 3631, "name": "isAdminRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3903, "src": "13168:11:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) pure returns (bool)" } }, "id": 3634, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13168:25:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13134:59:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3626, "id": 3636, "nodeType": "Return", "src": "13127:66:10" } ] }, "documentation": null, "id": 3638, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isAdmin", "nodeType": "FunctionDefinition", "parameters": { "id": 3623, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3622, "name": "_member", "nodeType": "VariableDeclaration", "scope": 3638, "src": "13072:14:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_memory_ptr", "typeString": "struct Members.Member" }, "typeName": { "contractScope": null, "id": 3621, "name": "Member", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2556, "src": "13072:6:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage_ptr", "typeString": "struct Members.Member" } }, "value": null, "visibility": "internal" } ], "src": "13071:16:10" }, "payable": false, "returnParameters": { "id": 3626, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3625, "name": "", "nodeType": "VariableDeclaration", "scope": 3638, "src": "13110:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3624, "name": "bool", "nodeType": "ElementaryTypeName", "src": "13110:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "13109:6:10" }, "scope": 3928, "src": "13055:146:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3659, "nodeType": "Block", "src": "13279:114:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 3657, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3646, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3640, "src": "13317:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 3645, "name": "existsMemberAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3620, "src": "13297:19:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 3647, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13297:29:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3649, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "13338:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3655, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3654, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3650, "name": "memberIndexByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2582, "src": "13349:20:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 3652, "indexExpression": { "argumentTypes": null, "id": 3651, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3640, "src": "13370:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13349:30:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3653, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13382:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "13349:34:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13338:46:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } ], "id": 3648, "name": "isAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3638, "src": "13330:7:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Members.Member memory) view returns (bool)" } }, "id": 3656, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13330:55:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13297:88:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3644, "id": 3658, "nodeType": "Return", "src": "13290:95:10" } ] }, "documentation": null, "id": 3660, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isAdminAddress", "nodeType": "FunctionDefinition", "parameters": { "id": 3641, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3640, "name": "_address", "nodeType": "VariableDeclaration", "scope": 3660, "src": "13233:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3639, "name": "address", "nodeType": "ElementaryTypeName", "src": "13233:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "13232:18:10" }, "payable": false, "returnParameters": { "id": 3644, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3643, "name": "", "nodeType": "VariableDeclaration", "scope": 3660, "src": "13273:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3642, "name": "bool", "nodeType": "ElementaryTypeName", "src": "13273:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "13272:6:10" }, "scope": 3928, "src": "13209:184:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3684, "nodeType": "Block", "src": "13495:113:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 3682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3670, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3664, "src": "13530:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3669, "name": "existsMemberName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3606, "src": "13513:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 3671, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13513:23:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3681, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3672, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3662, "src": "13540:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3673, "name": "memberList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2585, "src": "13552:10:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage", "typeString": "struct Members.Member storage ref[] storage ref" } }, "id": 3679, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3678, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3674, "name": "memberIndexByName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2578, "src": "13563:17:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3676, "indexExpression": { "argumentTypes": null, "id": 3675, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3664, "src": "13581:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13563:24:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3677, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "13590:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "13563:28:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "13552:40:10", "typeDescriptions": { "typeIdentifier": "t_struct$_Member_$2556_storage", "typeString": "struct Members.Member storage ref" } }, "id": 3680, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "account", "nodeType": "MemberAccess", "referencedDeclaration": 2553, "src": "13552:48:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "13540:60:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "13513:87:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3668, "id": 3683, "nodeType": "Return", "src": "13506:94:10" } ] }, "documentation": null, "id": 3685, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isAddressOfMember", "nodeType": "FunctionDefinition", "parameters": { "id": 3665, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3662, "name": "_address", "nodeType": "VariableDeclaration", "scope": 3685, "src": "13428:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3661, "name": "address", "nodeType": "ElementaryTypeName", "src": "13428:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3664, "name": "_name", "nodeType": "VariableDeclaration", "scope": 3685, "src": "13446:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3663, "name": "string", "nodeType": "ElementaryTypeName", "src": "13446:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "13427:39:10" }, "payable": false, "returnParameters": { "id": 3668, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3667, "name": "", "nodeType": "VariableDeclaration", "scope": 3685, "src": "13489:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3666, "name": "bool", "nodeType": "ElementaryTypeName", "src": "13489:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "13488:6:10" }, "scope": 3928, "src": "13401:207:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3719, "nodeType": "Block", "src": "13728:300:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3698, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "13747:34:10", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3696, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3687, "src": "13765:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 3695, "name": "existsInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3815, "src": "13748:16:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view returns (bool)" } }, "id": 3697, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13748:33:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "41206d656d62657220696e7669746174696f6e2077697468207375636820737562736372697074696f6e20696420616c7265616479206578697374732e", "id": 3699, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13783:63:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c96d74d4e74a0fe1b416ce176a11826cfdaae3d9b49737cb53f874bed95645ec", "typeString": "literal_string \"A member invitation with such subscription id already exists.\"" }, "value": "A member invitation with such subscription id already exists." } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_c96d74d4e74a0fe1b416ce176a11826cfdaae3d9b49737cb53f874bed95645ec", "typeString": "literal_string \"A member invitation with such subscription id already exists.\"" } ], "id": 3694, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4099, 4100 ], "referencedDeclaration": 4100, "src": "13739:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 3700, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13739:108:10", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3701, "nodeType": "ExpressionStatement", "src": "13739:108:10" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3706, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3687, "src": "13897:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3707, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3689, "src": "13914:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3708, "name": "_correlationId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3691, "src": "13921:14:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 3705, "name": "MemberInvitation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2563, "src": "13880:16:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_struct$_MemberInvitation_$2563_storage_ptr_$", "typeString": "type(struct Members.MemberInvitation storage pointer)" } }, "id": 3709, "isConstant": false, "isLValue": false, "isPure": false, "kind": "structConstructorCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13880:56:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_memory", "typeString": "struct Members.MemberInvitation memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_struct$_MemberInvitation_$2563_memory", "typeString": "struct Members.MemberInvitation memory" } ], "expression": { "argumentTypes": null, "id": 3702, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "13860:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "13860:19:10", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MemberInvitation_$2563_storage_$returns$_t_uint256_$", "typeString": "function (struct Members.MemberInvitation storage ref) returns (uint256)" } }, "id": 3710, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "13860:77:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3711, "nodeType": "ExpressionStatement", "src": "13860:77:10" }, { "expression": { "argumentTypes": null, "id": 3717, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3712, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "13948:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3714, "indexExpression": { "argumentTypes": null, "id": 3713, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3687, "src": "13980:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "13948:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3715, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "13999:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3716, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "13999:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "13948:72:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3718, "nodeType": "ExpressionStatement", "src": "13948:72:10" } ] }, "documentation": null, "id": 3720, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "_addInvitation", "nodeType": "FunctionDefinition", "parameters": { "id": 3692, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3687, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3720, "src": "13642:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3686, "name": "string", "nodeType": "ElementaryTypeName", "src": "13642:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3689, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3720, "src": "13673:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3688, "name": "string", "nodeType": "ElementaryTypeName", "src": "13673:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3691, "name": "_correlationId", "nodeType": "VariableDeclaration", "scope": 3720, "src": "13694:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3690, "name": "uint", "nodeType": "ElementaryTypeName", "src": "13694:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "13641:73:10" }, "payable": false, "returnParameters": { "id": 3693, "nodeType": "ParameterList", "parameters": [], "src": "13728:0:10" }, "scope": 3928, "src": "13618:410:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3778, "nodeType": "Block", "src": "14144:543:10", "statements": [ { "assignments": [ 3729 ], "declarations": [ { "constant": false, "id": 3729, "name": "invitationIndexBaseZero", "nodeType": "VariableDeclaration", "scope": 3779, "src": "14155:28:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3728, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14155:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 3735, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3734, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3730, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "14186:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3732, "indexExpression": { "argumentTypes": null, "id": 3731, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3722, "src": "14218:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14186:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3733, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14237:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14186:52:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "14155:83:10" }, { "assignments": [ 3737 ], "declarations": [ { "constant": false, "id": 3737, "name": "invitationToMove", "nodeType": "VariableDeclaration", "scope": 3779, "src": "14259:41:10", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr", "typeString": "struct Members.MemberInvitation" }, "typeName": { "contractScope": null, "id": 3736, "name": "MemberInvitation", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2563, "src": "14259:16:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr", "typeString": "struct Members.MemberInvitation" } }, "value": null, "visibility": "internal" } ], "id": 3744, "initialValue": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3738, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14303:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3743, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3742, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3739, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14318:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3740, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14318:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3741, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14342:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14318:25:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14303:41:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "nodeType": "VariableDeclarationStatement", "src": "14259:85:10" }, { "expression": { "argumentTypes": null, "id": 3749, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3745, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14355:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3747, "indexExpression": { "argumentTypes": null, "id": 3746, "name": "invitationIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3729, "src": "14370:23:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "14355:39:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3748, "name": "invitationToMove", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3737, "src": "14397:16:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr", "typeString": "struct Members.MemberInvitation storage pointer" } }, "src": "14355:58:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "id": 3750, "nodeType": "ExpressionStatement", "src": "14355:58:10" }, { "expression": { "argumentTypes": null, "id": 3758, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3751, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "14424:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3754, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3752, "name": "invitationToMove", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3737, "src": "14456:16:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr", "typeString": "struct Members.MemberInvitation storage pointer" } }, "id": 3753, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "subscriptionId", "nodeType": "MemberAccess", "referencedDeclaration": 2558, "src": "14456:31:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "14424:64:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3757, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3755, "name": "invitationIndexBaseZero", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3729, "src": "14491:23:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3756, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14517:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14491:27:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "14424:94:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3759, "nodeType": "ExpressionStatement", "src": "14424:94:10" }, { "expression": { "argumentTypes": null, "id": 3763, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "14531:55:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3760, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "14538:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3762, "indexExpression": { "argumentTypes": null, "id": 3761, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3722, "src": "14570:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "14538:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3764, "nodeType": "ExpressionStatement", "src": "14531:55:10" }, { "expression": { "argumentTypes": null, "id": 3771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, "src": "14597:48:10", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3765, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14604:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3770, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3769, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3766, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14619:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3767, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14619:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3768, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14643:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14619:25:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "14604:41:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 3772, "nodeType": "ExpressionStatement", "src": "14597:48:10" }, { "expression": { "argumentTypes": null, "id": 3776, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "--", "prefix": false, "src": "14656:23:10", "subExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 3773, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14656:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3775, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "14656:21:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 3777, "nodeType": "ExpressionStatement", "src": "14656:23:10" } ] }, "documentation": null, "id": 3779, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3725, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3722, "src": "14122:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3726, "modifierName": { "argumentTypes": null, "id": 3724, "name": "isInvitationExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "14102:19:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "14102:36:10" } ], "name": "_removeInvitation", "nodeType": "FunctionDefinition", "parameters": { "id": 3723, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3722, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3779, "src": "14063:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3721, "name": "string", "nodeType": "ElementaryTypeName", "src": "14063:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "14062:31:10" }, "payable": false, "returnParameters": { "id": 3727, "nodeType": "ParameterList", "parameters": [], "src": "14144:0:10" }, "scope": 3928, "src": "14036:651:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3800, "nodeType": "Block", "src": "14820:100:10", "statements": [ { "expression": { "argumentTypes": null, "id": 3798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3789, "name": "invitationList", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2596, "src": "14831:14:10", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage", "typeString": "struct Members.MemberInvitation storage ref[] storage ref" } }, "id": 3795, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3790, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "14846:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3792, "indexExpression": { "argumentTypes": null, "id": 3791, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3781, "src": "14878:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14846:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "argumentTypes": null, "hexValue": "31", "id": 3793, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "14897:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "14846:52:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "14831:68:10", "typeDescriptions": { "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage", "typeString": "struct Members.MemberInvitation storage ref" } }, "id": 3796, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "role", "nodeType": "MemberAccess", "referencedDeclaration": 2560, "src": "14831:73:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3797, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3783, "src": "14907:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "14831:81:10", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 3799, "nodeType": "ExpressionStatement", "src": "14831:81:10" } ] }, "documentation": null, "id": 3801, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 3786, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3781, "src": "14803:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "id": 3787, "modifierName": { "argumentTypes": null, "id": 3785, "name": "isInvitationExisted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2661, "src": "14783:19:10", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$", "typeString": "modifier (string memory)" } }, "nodeType": "ModifierInvocation", "src": "14783:36:10" } ], "name": "_setInvitationRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3784, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3781, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3801, "src": "14723:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3780, "name": "string", "nodeType": "ElementaryTypeName", "src": "14723:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3783, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3801, "src": "14754:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3782, "name": "string", "nodeType": "ElementaryTypeName", "src": "14754:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "14722:52:10" }, "payable": false, "returnParameters": { "id": 3788, "nodeType": "ParameterList", "parameters": [], "src": "14820:0:10" }, "scope": 3928, "src": "14695:225:10", "stateMutability": "nonpayable", "superFunction": null, "visibility": "private" }, { "body": { "id": 3814, "nodeType": "Block", "src": "15013:78:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 3812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 3808, "name": "invitationIndexBySubscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2593, "src": "15031:31:10", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$", "typeString": "mapping(string memory => uint256)" } }, "id": 3810, "indexExpression": { "argumentTypes": null, "id": 3809, "name": "_subscriptionId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3803, "src": "15063:15:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15031:48:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 3811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15082:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "15031:52:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3807, "id": 3813, "nodeType": "Return", "src": "15024:59:10" } ] }, "documentation": null, "id": 3815, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "existsInvitation", "nodeType": "FunctionDefinition", "parameters": { "id": 3804, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3803, "name": "_subscriptionId", "nodeType": "VariableDeclaration", "scope": 3815, "src": "14954:29:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3802, "name": "string", "nodeType": "ElementaryTypeName", "src": "14954:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "14953:31:10" }, "payable": false, "returnParameters": { "id": 3807, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3806, "name": "", "nodeType": "VariableDeclaration", "scope": 3815, "src": "15007:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3805, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15007:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "15006:6:10" }, "scope": 3928, "src": "14928:163:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3828, "nodeType": "Block", "src": "15178:59:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3826, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3822, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3817, "src": "15196:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3824, "name": "rootContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "15216:12:10", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } ], "id": 3823, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15208:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3825, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15208:21:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "15196:33:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3821, "id": 3827, "nodeType": "Return", "src": "15189:40:10" } ] }, "documentation": null, "id": 3829, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isRootContractAddress", "nodeType": "FunctionDefinition", "parameters": { "id": 3818, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3817, "name": "_address", "nodeType": "VariableDeclaration", "scope": 3829, "src": "15132:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3816, "name": "address", "nodeType": "ElementaryTypeName", "src": "15132:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "15131:18:10" }, "payable": false, "returnParameters": { "id": 3821, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3820, "name": "", "nodeType": "VariableDeclaration", "scope": 3829, "src": "15172:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3819, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15172:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "15171:6:10" }, "scope": 3928, "src": "15101:136:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3842, "nodeType": "Block", "src": "15318:61:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3840, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3836, "name": "_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3831, "src": "15336:8:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 3837, "name": "rootContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "15348:12:10", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } }, "id": 3838, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "operator", "nodeType": "MemberAccess", "referencedDeclaration": 3995, "src": "15348:21:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, "id": 3839, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15348:23:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "15336:35:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3835, "id": 3841, "nodeType": "Return", "src": "15329:42:10" } ] }, "documentation": null, "id": 3843, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isOperatorAddress", "nodeType": "FunctionDefinition", "parameters": { "id": 3832, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3831, "name": "_address", "nodeType": "VariableDeclaration", "scope": 3843, "src": "15272:16:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3830, "name": "address", "nodeType": "ElementaryTypeName", "src": "15272:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "15271:18:10" }, "payable": false, "returnParameters": { "id": 3835, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3834, "name": "", "nodeType": "VariableDeclaration", "scope": 3843, "src": "15312:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3833, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15312:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "15311:6:10" }, "scope": 3928, "src": "15245:134:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3889, "nodeType": "Block", "src": "15473:439:10", "statements": [ { "assignments": [ 3853 ], "declarations": [ { "constant": false, "id": 3853, "name": "versionContractAddress", "nodeType": "VariableDeclaration", "scope": 3890, "src": "15484:30:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3852, "name": "address", "nodeType": "ElementaryTypeName", "src": "15484:7:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 3858, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "436f6e736f727469756d4d616e6167656d656e74436f6e747261637456657273696f6e", "id": 3856, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "15542:37:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_69033be35e640bd5d159d71b0b0228ac59a9d2d36e79ed81e0d7b2a7c8ff9c11", "typeString": "literal_string \"ConsortiumManagementContractVersion\"" }, "value": "ConsortiumManagementContractVersion" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_69033be35e640bd5d159d71b0b0228ac59a9d2d36e79ed81e0d7b2a7c8ff9c11", "typeString": "literal_string \"ConsortiumManagementContractVersion\"" } ], "expression": { "argumentTypes": null, "id": 3854, "name": "rootContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, "src": "15517:12:10", "typeDescriptions": { "typeIdentifier": "t_contract$_RootContract_$4081", "typeString": "contract RootContract" } }, "id": 3855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getContract", "nodeType": "MemberAccess", "referencedDeclaration": 4038, "src": "15517:24:10", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", "typeString": "function (string memory) view external returns (address)" } }, "id": 3857, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15517:63:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "15484:96:10" }, { "condition": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 3863, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 3859, "name": "versionContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3853, "src": "15595:22:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 3861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15629:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 3860, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "15621:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 3862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15621:10:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "15595:36:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 3887, "nodeType": "Block", "src": "15691:214:10", "statements": [ { "assignments": [ 3871 ], "declarations": [ { "constant": false, "id": 3871, "name": "version", "nodeType": "VariableDeclaration", "scope": 3890, "src": "15706:43:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" }, "typeName": { "contractScope": null, "id": 3870, "name": "ConsortiumManagementContractVersion", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 106, "src": "15706:35:10", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" } }, "value": null, "visibility": "internal" } ], "id": 3875, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3873, "name": "versionContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3853, "src": "15788:22:10", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 3872, "name": "ConsortiumManagementContractVersion", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 106, "src": "15752:35:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ConsortiumManagementContractVersion_$106_$", "typeString": "type(contract ConsortiumManagementContractVersion)" } }, "id": 3874, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15752:59:10", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" } }, "nodeType": "VariableDeclarationStatement", "src": "15706:105:10" }, { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 3876, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3871, "src": "15834:7:10", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" } }, "id": 3877, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMajor", "nodeType": "MemberAccess", "referencedDeclaration": 89, "src": "15834:16:10", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$", "typeString": "function () pure external returns (uint256)" } }, "id": 3878, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15834:18:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 3879, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3871, "src": "15854:7:10", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" } }, "id": 3880, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMinor", "nodeType": "MemberAccess", "referencedDeclaration": 97, "src": "15854:16:10", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$", "typeString": "function () pure external returns (uint256)" } }, "id": 3881, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15854:18:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 3882, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3871, "src": "15874:7:10", "typeDescriptions": { "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106", "typeString": "contract ConsortiumManagementContractVersion" } }, "id": 3883, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getPatch", "nodeType": "MemberAccess", "referencedDeclaration": 105, "src": "15874:16:10", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$", "typeString": "function () pure external returns (uint256)" } }, "id": 3884, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "15874:18:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 3885, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "15833:60:10", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256)" } }, "functionReturnParameters": 3851, "id": 3886, "nodeType": "Return", "src": "15826:67:10" } ] }, "id": 3888, "nodeType": "IfStatement", "src": "15591:314:10", "trueBody": { "id": 3869, "nodeType": "Block", "src": "15633:43:10", "statements": [ { "expression": { "argumentTypes": null, "components": [ { "argumentTypes": null, "hexValue": "30", "id": 3864, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15656:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, { "argumentTypes": null, "hexValue": "30", "id": 3865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15659:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, { "argumentTypes": null, "hexValue": "30", "id": 3866, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15662:1:10", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "id": 3867, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "15655:9:10", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$", "typeString": "tuple(int_const 0,int_const 0,int_const 0)" } }, "functionReturnParameters": 3851, "id": 3868, "nodeType": "Return", "src": "15648:16:10" } ] } } ] }, "documentation": null, "id": 3890, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getActiveVersion", "nodeType": "FunctionDefinition", "parameters": { "id": 3844, "nodeType": "ParameterList", "parameters": [], "src": "15412:2:10" }, "payable": false, "returnParameters": { "id": 3851, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3846, "name": "major", "nodeType": "VariableDeclaration", "scope": 3890, "src": "15437:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3845, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15437:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3848, "name": "minor", "nodeType": "VariableDeclaration", "scope": 3890, "src": "15449:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3847, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15449:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3850, "name": "patch", "nodeType": "VariableDeclaration", "scope": 3890, "src": "15461:10:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 3849, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15461:4:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "15436:36:10" }, "scope": 3928, "src": "15387:525:10", "stateMutability": "view", "superFunction": null, "visibility": "private" }, { "body": { "id": 3902, "nodeType": "Block", "src": "15990:60:10", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3898, "name": "_role", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3892, "src": "16024:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 3899, "name": "ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2566, "src": "16031:10:10", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory", "typeString": "string memory" } ], "id": 3897, "name": "areStringsEqual", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3927, "src": "16008:15:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory,string memory) pure returns (bool)" } }, "id": 3900, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16008:34:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3896, "id": 3901, "nodeType": "Return", "src": "16001:41:10" } ] }, "documentation": null, "id": 3903, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "isAdminRole", "nodeType": "FunctionDefinition", "parameters": { "id": 3893, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3892, "name": "_role", "nodeType": "VariableDeclaration", "scope": 3903, "src": "15941:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3891, "name": "string", "nodeType": "ElementaryTypeName", "src": "15941:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "15940:21:10" }, "payable": false, "returnParameters": { "id": 3896, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3895, "name": "", "nodeType": "VariableDeclaration", "scope": 3903, "src": "15984:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3894, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15984:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "15983:6:10" }, "scope": 3928, "src": "15920:130:10", "stateMutability": "pure", "superFunction": null, "visibility": "private" }, { "body": { "id": 3926, "nodeType": "Block", "src": "16153:98:10", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 3924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3915, "name": "_str1", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3905, "src": "16198:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 3913, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4083, "src": "16181:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 3914, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "16181:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 3916, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16181:23:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 3912, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4090, "src": "16171:9:10", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, "id": 3917, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16171:34:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 3921, "name": "_str2", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3907, "src": "16236:5:10", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "argumentTypes": null, "id": 3919, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4083, "src": "16219:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 3920, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "16219:16:10", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 3922, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16219:23:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 3918, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4090, "src": "16209:9:10", "typeDescriptions": { "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, "id": 3923, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "16209:34:10", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "16171:72:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 3911, "id": 3925, "nodeType": "Return", "src": "16164:79:10" } ] }, "documentation": null, "id": 3927, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "areStringsEqual", "nodeType": "FunctionDefinition", "parameters": { "id": 3908, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3905, "name": "_str1", "nodeType": "VariableDeclaration", "scope": 3927, "src": "16083:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3904, "name": "string", "nodeType": "ElementaryTypeName", "src": "16083:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 3907, "name": "_str2", "nodeType": "VariableDeclaration", "scope": 3927, "src": "16104:19:10", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 3906, "name": "string", "nodeType": "ElementaryTypeName", "src": "16104:6:10", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "16082:42:10" }, "payable": false, "returnParameters": { "id": 3911, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3910, "name": "", "nodeType": "VariableDeclaration", "scope": 3927, "src": "16147:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 3909, "name": "bool", "nodeType": "ElementaryTypeName", "src": "16147:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "16146:6:10" }, "scope": 3928, "src": "16058:193:10", "stateMutability": "pure", "superFunction": null, "visibility": "private" } ], "scope": 3929, "src": "292:15962:10" } ], "src": "0:16254:10" }, "compiler": { "name": "solc", "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, "networks": { "1554487835301": { "events": {}, "links": {}, "address": "0x816C910f26557aDEaD56CeF4336B219c1cA711fd", "transactionHash": "0x1ea75f861a0a8173940abd29c4c515dd9f4598df1e54ccc473d82c9ecc4fdf55" } }, "schemaVersion": "3.0.6", "updatedAt": "2019-04-05T18:10:58.808Z", "devdoc": { "methods": {} }, "userdoc": { "methods": {} } } |